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:
Destinationamounts are stored internally as integer sats or wei, and you can now pass raw units by settingin_standard_units=Falsewhen constructing them.Floating-point arithmetic before you construct the
Destinationcan 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’sDecimalclass 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.