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:

    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