- Upgraded to protocol version 3.
is_valid_signature()
now returns just a boolean. (Formerly, it returned a tuple consisting of the boolean and a reason string.)- Allow
sign_hash()
to be called with EITHER a Web3.pyBaseProvider
OR an already-instantiatedWeb3
client object. - Migrated to new version of
0x-contract-addresses
.
- Fixed dependencies: changed
deprecated
from being an extras_require["dev"] dependency to being an install_requires dependency, since it's required not just for doc generation but also just to import the package.
- Major breaking changes: removal of definitions for Order, OrderInfo, order_to_jsdict, jsdict_to_order, all of which have been moved to contract_wrappers.exchange.types; removal of signature validation; migration from v4 to v5 of Web3.py
- Changed
ERC20AssetData
andERC721AssetData
to inherit fromNamedTuple
rather thanTypedDict
. - Deprecated methods
encode_erc20_asset_data()
andencode_erc721_asset_data()
, in favor of new methodsencode_erc20()
andencode_erc721()
. The old methods return a string, which is less than convenient for building orders using the providedOrder
type, which expects asset data to bebytes
. The new methods returnbytes
. - Expanded documentation.
- Stopped using deprecated web3.py interface
contract.call()
in favor ofcontract.functions.X.call()
. This provides compatibility with the upcoming 5.x release of web3.py, and it also eliminates some runtime warning messages.
- Replaced dependency on web3 with dependency on 0x-web3, to ease coexistence of those two packages.