From 2a852746feb34829f8f5b6011617e08d6622cf2b Mon Sep 17 00:00:00 2001 From: Luke Van Seters Date: Tue, 12 Oct 2021 20:17:50 -0400 Subject: [PATCH] Only get eth transfer if only transfering eth --- mev_inspect/transfers.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mev_inspect/transfers.py b/mev_inspect/transfers.py index a99cabf..14c353e 100644 --- a/mev_inspect/transfers.py +++ b/mev_inspect/transfers.py @@ -32,7 +32,7 @@ def get_eth_transfers(traces: List[ClassifiedTrace]) -> List[Transfer]: def get_transfer(trace: ClassifiedTrace) -> Optional[Transfer]: - if trace.value is not None and trace.value > 0: + if _is_simple_eth_transfer(trace): return build_eth_transfer(trace) if isinstance(trace, DecodedCallTrace): @@ -41,6 +41,15 @@ def get_transfer(trace: ClassifiedTrace) -> Optional[Transfer]: return None +def _is_simple_eth_transfer(trace: ClassifiedTrace) -> bool: + return ( + trace.value is not None + and trace.value > 0 + and "input" in trace.action + and trace.action["input"] == "0x" + ) + + def build_eth_transfer(trace: ClassifiedTrace) -> Transfer: return Transfer( block_number=trace.block_number,