Use get_traces_by_transaction_hash in swaps too

This commit is contained in:
Luke Van Seters 2021-08-25 11:25:22 -04:00
parent 4a35a07a1c
commit 919bdeb7a2

View File

@ -1,4 +1,3 @@
from itertools import groupby
from typing import List, Optional
from mev_inspect.schemas.classified_traces import (
@ -7,6 +6,7 @@ from mev_inspect.schemas.classified_traces import (
)
from mev_inspect.schemas.swaps import Swap
from mev_inspect.schemas.transfers import ERC20Transfer
from mev_inspect.traces import get_traces_by_transaction_hash
from mev_inspect.transfers import (
get_child_transfers,
filter_transfers,
@ -19,15 +19,9 @@ UNISWAP_V3_POOL_ABI_NAME = "UniswapV3Pool"
def get_swaps(traces: List[ClassifiedTrace]) -> List[Swap]:
get_transaction_hash = lambda t: t.transaction_hash
traces_by_transaction = groupby(
sorted(traces, key=get_transaction_hash),
key=get_transaction_hash,
)
swaps = []
for _, transaction_traces in traces_by_transaction:
for _, transaction_traces in get_traces_by_transaction_hash(traces).items():
swaps += _get_swaps_for_transaction(list(transaction_traces))
return swaps