diff --git a/docs/conf.py b/docs/conf.py index d9df074d86..144a8ebe4a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -78,6 +78,7 @@ '_build', 'web3.rst', 'modules.rst', + 'web3.auto.rst', 'web3.middleware.rst', 'web3.providers.rst', 'web3.providers.eth_tester.rst', diff --git a/docs/overview.rst b/docs/overview.rst index 540786dd67..30563c4d08 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -244,11 +244,12 @@ Cryptographic Hashing .. code-block:: python - Web3.sha3(0x747874) - Web3.sha3(b'\x74\x78\x74') - Web3.sha3(hexstr='0x747874') - Web3.sha3(hexstr='747874') - Web3.sha3(text='txt') + >>> Web3.sha3(0x747874) + >>> Web3.sha3(b'\x74\x78\x74') + >>> Web3.sha3(hexstr='0x747874') + >>> Web3.sha3(hexstr='747874') + >>> Web3.sha3(text='txt') + HexBytes('0xd7278090a36507640ea6b7a0034b69b0d240766fa3f98e3722be93c613b29d2e') .. py:classmethod:: Web3.soliditySha3(abi_types, value) @@ -261,14 +262,19 @@ Cryptographic Hashing .. code-block:: python >>> Web3.soliditySha3(['bool'], True) - "0x5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2" + HexBytes("0x5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2") + >>> Web3.soliditySha3(['uint8', 'uint8', 'uint8'], [97, 98, 99]) - "0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45" + HexBytes("0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45") + >>> Web3.soliditySha3(['uint8[]'], [[97, 98, 99]]) - "0x233002c671295529bcc50b76a2ef2b0de2dac2d93945fca745255de1a9e4017e" + HexBytes("0x233002c671295529bcc50b76a2ef2b0de2dac2d93945fca745255de1a9e4017e") + >>> Web3.soliditySha3(['address'], ["0x49eddd3769c0712032808d86597b84ac5c2f5614"]) - "0x2ff37b5607484cd4eecf6d13292e22bd6e5401eaffcc07e279583bc742c68882" + HexBytes("0x2ff37b5607484cd4eecf6d13292e22bd6e5401eaffcc07e279583bc742c68882") + >>> Web3.soliditySha3(['address'], ["ethereumfoundation.eth"]) + HexBytes("0x913c99ea930c78868f1535d34cd705ab85929b2eaaf70fcd09677ecd6e5d75e9") Modules ------- diff --git a/docs/releases.rst b/docs/releases.rst index f1077f7d16..b37306508f 100644 --- a/docs/releases.rst +++ b/docs/releases.rst @@ -4,8 +4,22 @@ Release Notes 4.0.0 (beta) ------------ -* TODO - +* Python 3 is now required +* ENS names can be used anywhere that a hex address can +* Sign transactions and messages with local private keys +* New filter mechanism: :meth:`~web3.utils.filters.Filter.get_all_entries` and :meth:`~web3.utils.filters.Filter.get_new_entries` +* Quick automatic initialization with ``from web3.auto import w3`` +* All addresses must be supplied with an EIP-55 checksum +* All addresses are returned with a checksum +* Renamed ``Web3.toDecimal()`` to ``toInt()``, see: :ref:`overview_type_conversions` +* All filter calls are synchronous, gevent integration dropped +* Contract :meth:`~web3.contract.Contract.eventFilter` has replaced both ``Contract.on()`` and ``Contract.pastEvents()`` +* Contract arguments of ``bytes`` ABI type now accept hex strings. +* Contract arguments of ``string`` ABI type now accept python ``str``. +* Contract return values of ``string`` ABI type now return python ``str``. +* Many methods now return a ``bytes``-like object where they used to return a hex string, like in ``Web3.sha3()``. See: :ref:`overview_hashing` +* IPC connection left open and reused, rather than opened and closed on each call +* A number of deprecated methods from v3 were removed 3.16.1 ------