Aave transfers

This commit is contained in:
Gui Heise 2021-10-13 00:38:05 -04:00
parent f5b4e87c4c
commit fc5ccc9b9b
2 changed files with 25 additions and 9 deletions

View File

@ -11,6 +11,10 @@ from mev_inspect.schemas.classified_traces import (
Protocol,
)
<<<<<<< HEAD
=======
from mev_inspect.schemas.transfers import ERC20Transfer, aTokenTransfer, Transfer
>>>>>>> Aave transfers
from mev_inspect.schemas.liquidations import Liquidation
from mev_inspect.transfers import get_transfer
@ -84,15 +88,29 @@ def _get_payback_token_and_amount(
) -> Tuple[str, int]:
"""Look for and return liquidator payback from liquidation"""
child: ClassifiedTrace
child_transfer: Transfer
for child in child_traces:
if child.classification == Classification.transfer:
if child.classification == Classification.transfer and isinstance(
child, DecodedCallTrace
):
if liquidation.inputs["_receiveAToken"]:
child_transfer = ERC20Transfer.from_trace(child)
if (
child_transfer.to_address == liquidator
) and child.from_address in AAVE_CONTRACT_ADDRESSES:
return child_transfer.token_address, child_transfer.amount
child_transfer = aTokenTransfer.from_trace(child)
if (
child_transfer.to_address == liquidator
) and child.from_address in AAVE_CONTRACT_ADDRESSES:
return child_transfer.token_address, child_transfer.amount
else:
child_transfer = ERC20Transfer.from_trace(child)
if (
child_transfer.to_address == liquidator
) and child.from_address in AAVE_CONTRACT_ADDRESSES:
return liquidation.inputs["_collateral"], 0

View File

@ -2,10 +2,8 @@ from typing import List
from pydantic import BaseModel
ETH_TOKEN_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
class Transfer(BaseModel):
block_number: int
transaction_hash: str