Change return type

This commit is contained in:
Gui Heise 2021-10-04 15:40:40 -04:00
parent 6bd1e1905b
commit 4ac4b2c601

View File

@ -1,5 +1,4 @@
from typing import List, Dict from typing import List, Optional
import json
from mev_inspect.traces import ( from mev_inspect.traces import (
get_child_traces, get_child_traces,
@ -52,7 +51,17 @@ def get_aave_liquidations(
trace.transaction_hash, trace.trace_address, traces trace.transaction_hash, trace.trace_address, traces
) )
received_amount = _get_liquidator_payback(child_traces, liquidator) 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)
liquidations.append( liquidations.append(
Liquidation( Liquidation(
@ -68,12 +77,13 @@ def get_aave_liquidations(
block_number=trace.block_number, block_number=trace.block_number,
) )
) )
print(liquidations)
return liquidations return liquidations
def _get_liquidator_payback( def _get_liquidator_payback(
child_traces: List[ClassifiedTrace], liquidator: str child_traces: List[ClassifiedTrace], liquidator: str
) -> int: ) -> Optional[ERC20Transfer]:
for child in child_traces: for child in child_traces:
if child.classification == Classification.transfer: if child.classification == Classification.transfer:
@ -82,20 +92,6 @@ def _get_liquidator_payback(
if (child_transfer.to_address == liquidator) and ( if (child_transfer.to_address == liquidator) and (
child.from_address in AAVE_CONTRACT_ADDRESSES child.from_address in AAVE_CONTRACT_ADDRESSES
): ):
return child_transfer.amount return child_transfer
return 0 return None
def _get_atoken_address(token_address: str) -> str:
# Dictionary, values are lists of dictionaries
atoken_address_json = open("atokens.json")
atoken_addresses: Dict = json.load(atoken_address_json)
for atoken_list in atoken_addresses.keys():
for atoken_index, atoken_dict in enumerate(atoken_list):
if token_address in atoken_dict.values():
return atoken_list[atoken_index]["aTokenAddress"]
return token_address