From d7be215bb98681029c28d708cc45bf51a4970f7e Mon Sep 17 00:00:00 2001 From: Gui Heise Date: Tue, 5 Oct 2021 16:27:50 -0400 Subject: [PATCH] Adjust liquidator payback logic --- mev_inspect/aave_liquidations.py | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/mev_inspect/aave_liquidations.py b/mev_inspect/aave_liquidations.py index 400d7ad..29116d6 100644 --- a/mev_inspect/aave_liquidations.py +++ b/mev_inspect/aave_liquidations.py @@ -1,4 +1,4 @@ -from typing import List, Optional +from typing import List, Tuple from mev_inspect.traces import ( get_child_traces, @@ -51,17 +51,9 @@ def get_aave_liquidations( trace.transaction_hash, trace.trace_address, traces ) - payback_transfer = _get_liquidator_payback(child_traces, liquidator) - - if payback_transfer: - assert isinstance(payback_transfer, ERC20Transfer) - received_amount = payback_transfer.amount - received_token_address = payback_transfer.token_address - else: - received_amount = 0 - received_token_address = trace.inputs["_collateral"] - - print(received_token_address) + received_amount, received_token_address = _get_liquidator_payback( + trace, child_traces, liquidator + ) liquidations.append( Liquidation( @@ -78,13 +70,13 @@ def get_aave_liquidations( block_number=trace.block_number, ) ) - print(liquidations) + return liquidations def _get_liquidator_payback( - child_traces: List[ClassifiedTrace], liquidator: str -) -> Optional[ERC20Transfer]: + liquidation: DecodedCallTrace, child_traces: List[ClassifiedTrace], liquidator: str +) -> Tuple[int, str]: """Look for and return liquidator payback from liquidation""" for child in child_traces: @@ -95,6 +87,6 @@ def _get_liquidator_payback( if (child_transfer.to_address == liquidator) and ( child.from_address in AAVE_CONTRACT_ADDRESSES ): - return child_transfer + return child_transfer.amount, child_transfer.token_address - return None + return 0, liquidation.inputs["_collateral"]