diff --git a/mev_inspect/abis/AaveLendingPool.json b/mev_inspect/abis/aave/AaveLendingPool.json similarity index 100% rename from mev_inspect/abis/AaveLendingPool.json rename to mev_inspect/abis/aave/AaveLendingPool.json diff --git a/mev_inspect/classifier_specs.py b/mev_inspect/classifier_specs.py index e677d3d..866e730 100644 --- a/mev_inspect/classifier_specs.py +++ b/mev_inspect/classifier_specs.py @@ -99,10 +99,19 @@ ERC20_SPEC = ClassifierSpec( }, ) +AAVE_SPEC = ClassifierSpec( + abi_name="AaveLendingPool", + protocol= Protocol.aave, + classifications={ + "liquidationCall(address,address,address,uint256,bool)": Classification.liquidate, + }, +) + CLASSIFIER_SPECS = [ *UNISWAP_V3_CONTRACT_SPECS, *UNISWAPPY_V2_CONTRACT_SPECS, + AAVE_SPEC, ERC20_SPEC, UNISWAP_V3_POOL_SPEC, UNISWAPPY_V2_PAIR_SPEC, diff --git a/mev_inspect/schemas/classified_traces.py b/mev_inspect/schemas/classified_traces.py index 3394550..96f16bc 100644 --- a/mev_inspect/schemas/classified_traces.py +++ b/mev_inspect/schemas/classified_traces.py @@ -11,12 +11,14 @@ class Classification(Enum): swap = "swap" burn = "burn" transfer = "transfer" + liquidate = "liquidate" class Protocol(Enum): uniswap_v2 = "uniswap_v2" uniswap_v3 = "uniswap_v3" sushiswap = "sushiswap" + aave = "aave" class ClassifiedTrace(BaseModel):