Fix UniV3 Classifier

This commit is contained in:
Gui Heise 2021-11-17 10:19:10 -05:00
parent 94c5691f01
commit ff9337eb4b
4 changed files with 27 additions and 9 deletions

View File

@ -22,7 +22,11 @@ class BalancerSwapClassifier(SwapClassifier):
child_transfers: List[Transfer],
) -> Optional[Swap]:
swap = create_swap_from_transfers(trace, prior_transfers, child_transfers)
recipient_address = trace.from_address
swap = create_swap_from_transfers(
trace, recipient_address, prior_transfers, child_transfers
)
return swap

View File

@ -21,7 +21,11 @@ class CurveSwapClassifier(SwapClassifier):
child_transfers: List[Transfer],
) -> Optional[Swap]:
swap = create_swap_from_transfers(trace, prior_transfers, child_transfers)
recipient_address = trace.from_address
swap = create_swap_from_transfers(
trace, recipient_address, prior_transfers, child_transfers
)
return swap

View File

@ -24,7 +24,14 @@ class UniswapV3SwapClassifier(SwapClassifier):
child_transfers: List[Transfer],
) -> Optional[Swap]:
swap = create_swap_from_transfers(trace, prior_transfers, child_transfers)
if trace.inputs is not None and "recipient" in trace.inputs:
recipient_address = trace.inputs["recipient"]
else:
recipient_address = trace.from_address
swap = create_swap_from_transfers(
trace, recipient_address, prior_transfers, child_transfers
)
return swap
@ -36,7 +43,14 @@ class UniswapV2SwapClassifier(SwapClassifier):
child_transfers: List[Transfer],
) -> Optional[Swap]:
swap = create_swap_from_transfers(trace, prior_transfers, child_transfers)
if trace.inputs is not None and "to" in trace.inputs:
recipient_address = trace.inputs["to"]
else:
recipient_address = trace.from_address
swap = create_swap_from_transfers(
trace, recipient_address, prior_transfers, child_transfers
)
return swap

View File

@ -8,16 +8,12 @@ from mev_inspect.schemas.traces import DecodedCallTrace, ClassifiedTrace
def create_swap_from_transfers(
trace: DecodedCallTrace,
recipient_address: str,
prior_transfers: List[Transfer],
child_transfers: List[Transfer],
) -> Optional[Swap]:
pool_address = trace.to_address
if trace.inputs is not None and "to" in trace.inputs:
recipient_address = trace.inputs["to"]
else:
recipient_address = trace.from_address
if recipient_address is None:
return None