Skip to content

2.0.0

Compare
Choose a tag to compare
@achow101 achow101 released this 15 Mar 18:00
· 444 commits to master since this release

Also available on PyPi and can be installed with pip install -U hwi

Added

  • BitBox02 multisig signing.
  • Documentation automatically generated with sphinx and hosted on https://hwi.readthedocs.io.
  • Support for Python 3.9.
  • Trezor allows transactions with OP_RETURN outputs.
  • Full type annotations within hwilib and type checking.
  • Updated documentation for Bitcoin Core descriptor wallets.
  • Device support policy
  • Enforce that the Ledger is in either the Bitcoin or Bitcoin Testnet apps.

Changed

  • --sh_wpkh and --wpkh options have been replaced with --addr-type with the options legacy, sh_wit, and wit.
  • --testnet option replaced with --chain with the options main, test, signet, and regtest.
  • Overhauled descriptors implementation to be similar to Bitcoin Core's descriptors implementation.
  • Replaced HardwareWalletClient.display_address with display_singlesig_address and display_multisig_address.
  • Overhauled HardwareWalletClient functions to return the correct objects rather than string dictionaries.
  • Raise errors and exceptions instead of returning string dictionary containing error.
  • bech32.py, base58.py, cli.py, and gui.py are made internal modules.
  • serializations.py is split into tx.py, psbt.py with some functions made internal with _script.py and _serialize.py.
  • getmasterxpub takes options for chain type, address type, and BIP 44 account in order to provide the master xpub accordingly.

Removed

  • Removed option to provide redeem script to displayaddress.

Fixed

  • Fixed Ledger change path detection.
  • Fixed Ledger message signing when the signature is shorter than expected.
  • Fixed Trezor One pin sending when a passphrase is expected.
  • Fixed handling of sortedmulti() descriptors. Some devices which only supported key sorting will be no longer allow multi() descriptors. The multisigs that devices use when given a sortedmulti() descriptor will now match what Bitcoin Core derives for those descriptors.
  • Several fixes to device enumeration.
  • installudevrules will search for the correct binaries in the PATH rather than assuming their locations.