From 0a770511a421898c5f208b6484c83754ebe99c45 Mon Sep 17 00:00:00 2001 From: Gui Heise Date: Wed, 22 Sep 2021 15:25:12 -0400 Subject: [PATCH] Add event inputs --- mev_inspect/aave_liquidations.py | 20 +++++++++++++++----- mev_inspect/inspect_block.py | 4 ++-- mev_inspect/schemas/liquidations.py | 13 ++++++++++--- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/mev_inspect/aave_liquidations.py b/mev_inspect/aave_liquidations.py index e083e27..bf1caff 100644 --- a/mev_inspect/aave_liquidations.py +++ b/mev_inspect/aave_liquidations.py @@ -1,20 +1,22 @@ from typing import List + from mev_inspect.schemas.classified_traces import ( ClassifiedTrace, DecodedCallTrace, Classification, + Protocol, ) from mev_inspect.schemas.liquidations import Liquidation -def find_liquidations_from_traces( +def get_liquidations( traces: List[ClassifiedTrace], ) -> List[Liquidation]: """Inspect list of classified traces and identify liquidation""" - + # liquidation_traces: List[DecodedCallTrace] = [] liquidations: List[Liquidation] = [] for trace in traces: @@ -26,10 +28,18 @@ def find_liquidations_from_traces( liquidations.append( Liquidation( liquidated_user=trace.inputs["_user"], - collateral_address=trace.inputs["_collateral"], - collateral_amount=trace.inputs["_purchaseAmount"], - reserve=trace.inputs["_reserve"], + liquidator_user=trace.inputs["_liquidator"], + collateral_token_address=trace.inputs["_collateral"], + collateral_amount=trace.inputs["_liquidatedCollateralAmount"], + debt_token_address=trace.inputs["_reserve"], + debt_purchase_amount=trace.inputs["_purchaseAmount"], + # received_token_address=, + # received_amount=, + protocol=Protocol.aave, + transaction_hash=trace.transaction_hash, + block_number=trace.block_number, ) ) + print(liquidations) return liquidations diff --git a/mev_inspect/inspect_block.py b/mev_inspect/inspect_block.py index 30e8697..1fc6999 100644 --- a/mev_inspect/inspect_block.py +++ b/mev_inspect/inspect_block.py @@ -22,7 +22,7 @@ from mev_inspect.crud.transfers import delete_transfers_for_block, write_transfe from mev_inspect.miner_payments import get_miner_payments from mev_inspect.swaps import get_swaps from mev_inspect.transfers import get_transfers -from mev_inspect.aave_liquidations import find_liquidations_from_traces +from mev_inspect.aave_liquidations import get_liquidations logger = logging.getLogger(__name__) @@ -76,7 +76,7 @@ def inspect_block( delete_arbitrages_for_block(db_session, block_number) write_arbitrages(db_session, arbitrages) - liquidations = find_liquidations_from_traces(classified_traces) + liquidations = get_liquidations(classified_traces) logger.info(f"Found {len(liquidations)} liquidations") miner_payments = get_miner_payments( diff --git a/mev_inspect/schemas/liquidations.py b/mev_inspect/schemas/liquidations.py index 08313a4..849ef05 100644 --- a/mev_inspect/schemas/liquidations.py +++ b/mev_inspect/schemas/liquidations.py @@ -1,9 +1,16 @@ from pydantic import BaseModel +from mev_inspect.schemas.classified_traces import Protocol class Liquidation(BaseModel): liquidated_user: str - collateral_address: str + liquidator_user: str + collateral_token_address: str collateral_amount: int - collateral_source: str - reserve: str + debt_token_address: str + debt_purchase_amount: int + # received_token_address: str + # received_amount: int + protocol: Protocol + transaction_hash: str + block_number: str