From efcd1ebedca6c277cd897ff4bf7d56dc70363e08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Duchesneau?= Date: Thu, 21 Jul 2022 16:00:30 -0400 Subject: [PATCH 1/3] fix firehose eth CallHandler triggering on reverted calls --- chain/ethereum/src/codec.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/chain/ethereum/src/codec.rs b/chain/ethereum/src/codec.rs index 66469709657..c8debea71b9 100644 --- a/chain/ethereum/src/codec.rs +++ b/chain/ethereum/src/codec.rs @@ -364,6 +364,7 @@ impl TryInto for &Block { trace .calls .iter() + .filter(|call| !call.status_reverted) .map(|call| CallAt::new(call, self, trace).try_into()) .collect::>>() }) From 31a07ebe533ff6c85b1c75b4c44162f2a16cd4b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Duchesneau?= Date: Thu, 21 Jul 2022 19:36:46 -0400 Subject: [PATCH 2/3] call handlers in firehose: use state_reverted, not status_reverted, to also catch issue #3701 --- chain/ethereum/src/codec.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chain/ethereum/src/codec.rs b/chain/ethereum/src/codec.rs index c8debea71b9..62f70b09cb7 100644 --- a/chain/ethereum/src/codec.rs +++ b/chain/ethereum/src/codec.rs @@ -364,7 +364,7 @@ impl TryInto for &Block { trace .calls .iter() - .filter(|call| !call.status_reverted) + .filter(|call| !call.state_reverted) .map(|call| CallAt::new(call, self, trace).try_into()) .collect::>>() }) From 931093d7099536de83a6568640d28110e7569228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Duchesneau?= Date: Fri, 22 Jul 2022 15:59:39 -0400 Subject: [PATCH 3/3] align firehose with RPC behavior using status_reverted and status_failed --- chain/ethereum/src/codec.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chain/ethereum/src/codec.rs b/chain/ethereum/src/codec.rs index 62f70b09cb7..17824769849 100644 --- a/chain/ethereum/src/codec.rs +++ b/chain/ethereum/src/codec.rs @@ -364,7 +364,7 @@ impl TryInto for &Block { trace .calls .iter() - .filter(|call| !call.state_reverted) + .filter(|call| !call.status_reverted && !call.status_failed) .map(|call| CallAt::new(call, self, trace).try_into()) .collect::>>() })