diff --git a/mev_inspect/abis/UniswapV2Pair.json b/mev_inspect/abis/uniswap_v2/UniswapV2Pair.json similarity index 100% rename from mev_inspect/abis/UniswapV2Pair.json rename to mev_inspect/abis/uniswap_v2/UniswapV2Pair.json diff --git a/mev_inspect/abis/UniswapV3Pool.json b/mev_inspect/abis/uniswap_v3/UniswapV3Pool.json similarity index 100% rename from mev_inspect/abis/UniswapV3Pool.json rename to mev_inspect/abis/uniswap_v3/UniswapV3Pool.json diff --git a/mev_inspect/classifiers/specs/uniswap.py b/mev_inspect/classifiers/specs/uniswap.py index 57f7b38..2ead446 100644 --- a/mev_inspect/classifiers/specs/uniswap.py +++ b/mev_inspect/classifiers/specs/uniswap.py @@ -103,6 +103,7 @@ UNISWAP_V3_CONTRACT_SPECS = [ UNISWAP_V3_GENERAL_SPECS = [ ClassifierSpec( abi_name=UNISWAP_V3_POOL_ABI_NAME, + protocol=Protocol.uniswap_v3, classifiers={ "swap(address,bool,int256,uint160,bytes)": UniswapV3SwapClassifier, }, @@ -134,6 +135,7 @@ UNISWAPPY_V2_CONTRACT_SPECS = [ UNISWAPPY_V2_PAIR_SPEC = ClassifierSpec( abi_name=UNISWAP_V2_PAIR_ABI_NAME, + protocol=Protocol.uniswap_v2, classifiers={ "swap(uint256,uint256,address,bytes)": UniswapV2SwapClassifier, }, diff --git a/mev_inspect/crud/arbitrages.py b/mev_inspect/crud/arbitrages.py index 3fbe11d..e0eb180 100644 --- a/mev_inspect/crud/arbitrages.py +++ b/mev_inspect/crud/arbitrages.py @@ -41,6 +41,7 @@ def write_arbitrages( end_amount=arbitrage.end_amount, profit_amount=arbitrage.profit_amount, error=arbitrage.error, + protocols={swap.protocol.value for swap in arbitrage.swaps}, ) ) diff --git a/mev_inspect/models/arbitrages.py b/mev_inspect/models/arbitrages.py index bec5125..34c0434 100644 --- a/mev_inspect/models/arbitrages.py +++ b/mev_inspect/models/arbitrages.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String +from sqlalchemy import ARRAY, Column, Numeric, String from .base import Base @@ -15,3 +15,4 @@ class ArbitrageModel(Base): end_amount = Column(Numeric, nullable=False) profit_amount = Column(Numeric, nullable=False) error = Column(String, nullable=True) + protocols = Column(ARRAY(String)) diff --git a/mev_inspect/schemas/swaps.py b/mev_inspect/schemas/swaps.py index 7caec54..f15bc20 100644 --- a/mev_inspect/schemas/swaps.py +++ b/mev_inspect/schemas/swaps.py @@ -18,5 +18,5 @@ class Swap(BaseModel): token_in_amount: int token_out_address: str token_out_amount: int - protocol: Optional[Protocol] + protocol: Protocol error: Optional[str]