From 551932e31d60e04ff184653e0b437c517bd6ee5c Mon Sep 17 00:00:00 2001 From: elmattic Date: Tue, 1 Oct 2024 16:55:54 +0200 Subject: [PATCH] Fix emitter address filtering when address key is null --- src/rpc/methods/eth/filter/mod.rs | 7 +++++-- src/tool/subcommands/api_cmd.rs | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/rpc/methods/eth/filter/mod.rs b/src/rpc/methods/eth/filter/mod.rs index 48af0eaf76e3..7c50d5885dc0 100644 --- a/src/rpc/methods/eth/filter/mod.rs +++ b/src/rpc/methods/eth/filter/mod.rs @@ -275,8 +275,11 @@ impl EthEventHandler { msg_idx: i as u64, msg_cid: message.cid(), }; - let is_match = - spec.address.iter().any(|other| other == ð_emitter_addr); + let is_match = if spec.address.is_empty() { + true + } else { + spec.address.iter().any(|other| other == ð_emitter_addr) + }; if is_match { collected_events.push(ce); diff --git a/src/tool/subcommands/api_cmd.rs b/src/tool/subcommands/api_cmd.rs index 7612f0690864..f6a07b94d08c 100644 --- a/src/tool/subcommands/api_cmd.rs +++ b/src/tool/subcommands/api_cmd.rs @@ -1538,6 +1538,21 @@ fn eth_tests_with_tipset(store: &Arc, shared_tipset: &Tipset },)) .unwrap(), ), + RpcTest::identity( + EthGetLogs::request((EthFilterSpec { + from_block: None, + to_block: None, + address: vec![], + topics: None, + block_hash: Some( + EthHash::from_str( + "0xa158a536fe66e18b8cbf5c392384d840483f84732e2a2ed8d9fb68cedcffef54", + ) + .unwrap(), + ), + },)) + .unwrap(), + ), RpcTest::identity(EthGetTransactionHashByCid::request((block_cid,)).unwrap()), ];