Bugs and Limitations ==================== While we strive to keep ZPyWallet as bug-free as possible, sometimes errors do slip in. Here are a list of things that are currently not supported by ZPywallet: **Bugs:** - No reproducible library-wide bugs are currently documented here. Known limitations are listed below. **Limitations:** - ``Destination`` amounts are stored internally as integer sats or wei, and you can now pass raw units by setting ``in_standard_units=False`` when constructing them. Floating-point arithmetic before you construct the ``Destination`` can still introduce caller-side rounding errors. For example, if you calculate 0.1+0.2 in floating point, you will get 0.30000000000000004, not 0.3. This issue particularly affects Ethereum amounts since it uses 18 decimal places. In order to avoid this pitfall, use Python's ``Decimal`` class and convert the floating-point values to strings first before doing arithmetic, like this: .. code-block:: python from decimal import Decimal a = 0.1 b = 0.2 amount = float(Decimal(str(a)) + Decimal(str(b))) For more information about this error which is prevalent in most programming languages, see `Floating Point Math `_. - ZPyWallet cannot send coins from script hashes eg. P2SH, P2WSH addresses. - Multisig is not supported. - P2WPKH-P2SH is currently not supported. - Timelocks are currently not supported. - In the case of Ethereum, contract addresses are not officially supported. Interaction may not work. Indices and Tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search`