diff --git a/docs/providers.rst b/docs/providers.rst index 861baab9e4..406b58b9dd 100644 --- a/docs/providers.rst +++ b/docs/providers.rst @@ -418,6 +418,7 @@ Eth - :meth:`web3.eth.get_balance() ` - :meth:`web3.eth.get_block() ` - :meth:`web3.eth.get_code() ` +- :meth:`web3.eth.get_logs() ` - :meth:`web3.eth.get_raw_transaction() ` - :meth:`web3.eth.get_raw_transaction_by_block() ` - :meth:`web3.eth.get_transaction() ` diff --git a/newsfragments/2129.feature.rst b/newsfragments/2129.feature.rst new file mode 100644 index 0000000000..880ca36206 --- /dev/null +++ b/newsfragments/2129.feature.rst @@ -0,0 +1 @@ +* Add async `eth.get_logs` method diff --git a/web3/eth.py b/web3/eth.py index 7287903119..3ba6b0f63d 100644 --- a/web3/eth.py +++ b/web3/eth.py @@ -401,6 +401,17 @@ async def get_code( ) -> HexBytes: return await self._get_code(account, block_identifier) + _get_logs: Method[Callable[[FilterParams], Awaitable[List[LogReceipt]]]] = Method( + RPC.eth_getLogs, + mungers=[default_root_munger] + ) + + async def get_logs( + self, + filter_params: FilterParams, + ) -> List[LogReceipt]: + return await self._get_logs(filter_params) + _get_transaction_count: Method[Callable[..., Awaitable[Nonce]]] = Method( RPC.eth_getTransactionCount, mungers=[BaseEth.block_id_munger],