From 8ad5ea525d19b63b4e0c4556619812fb9be52613 Mon Sep 17 00:00:00 2001 From: Gui Heise Date: Wed, 19 Jan 2022 11:18:04 -0500 Subject: [PATCH] Fix token address circular import --- mev_inspect/classifiers/helpers.py | 5 ++--- mev_inspect/classifiers/specs/__init__.py | 2 +- mev_inspect/classifiers/specs/compound.py | 7 ++----- mev_inspect/classifiers/specs/weth.py | 5 ++--- mev_inspect/schemas/prices.py | 9 ++++----- mev_inspect/schemas/transfers.py | 2 -- mev_inspect/transfers.py | 3 ++- tests/test_aave.py | 2 +- 8 files changed, 14 insertions(+), 21 deletions(-) diff --git a/mev_inspect/classifiers/helpers.py b/mev_inspect/classifiers/helpers.py index b09bee3..080eca3 100644 --- a/mev_inspect/classifiers/helpers.py +++ b/mev_inspect/classifiers/helpers.py @@ -1,11 +1,10 @@ from typing import List, Optional, Sequence from mev_inspect.schemas.nft_trades import NftTrade +from mev_inspect.schemas.prices import ETH_TOKEN_ADDRESS from mev_inspect.schemas.swaps import Swap from mev_inspect.schemas.traces import ClassifiedTrace, DecodedCallTrace -from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS, Transfer - -CETH_TOKEN_ADDRESS = "0x4ddc2d193948926d02f9b1fe9e1daa0718270ed5" +from mev_inspect.schemas.transfers import Transfer def create_nft_trade_from_transfers( diff --git a/mev_inspect/classifiers/specs/__init__.py b/mev_inspect/classifiers/specs/__init__.py index 8473964..dd7f192 100644 --- a/mev_inspect/classifiers/specs/__init__.py +++ b/mev_inspect/classifiers/specs/__init__.py @@ -12,7 +12,7 @@ from .curve import CURVE_CLASSIFIER_SPECS from .erc20 import ERC20_CLASSIFIER_SPECS from .opensea import OPENSEA_CLASSIFIER_SPECS from .uniswap import UNISWAP_CLASSIFIER_SPECS -from .weth import WETH_ADDRESS, WETH_CLASSIFIER_SPECS +from .weth import WETH_CLASSIFIER_SPECS from .zero_ex import ZEROX_CLASSIFIER_SPECS ALL_CLASSIFIER_SPECS = ( diff --git a/mev_inspect/classifiers/specs/compound.py b/mev_inspect/classifiers/specs/compound.py index 7716869..bbe816b 100644 --- a/mev_inspect/classifiers/specs/compound.py +++ b/mev_inspect/classifiers/specs/compound.py @@ -1,10 +1,6 @@ from typing import List, Optional -from mev_inspect.classifiers.helpers import ( - CETH_TOKEN_ADDRESS, - get_debt_transfer, - get_received_transfer, -) +from mev_inspect.classifiers.helpers import get_debt_transfer, get_received_transfer from mev_inspect.schemas.classifiers import ( Classification, ClassifiedTrace, @@ -14,6 +10,7 @@ from mev_inspect.schemas.classifiers import ( SeizeClassifier, ) from mev_inspect.schemas.liquidations import Liquidation +from mev_inspect.schemas.prices import CETH_TOKEN_ADDRESS from mev_inspect.schemas.traces import Protocol from mev_inspect.schemas.transfers import Transfer diff --git a/mev_inspect/classifiers/specs/weth.py b/mev_inspect/classifiers/specs/weth.py index 1360f0c..0c7a205 100644 --- a/mev_inspect/classifiers/specs/weth.py +++ b/mev_inspect/classifiers/specs/weth.py @@ -3,6 +3,7 @@ from mev_inspect.schemas.classifiers import ( DecodedCallTrace, TransferClassifier, ) +from mev_inspect.schemas.prices import WETH_TOKEN_ADDRESS from mev_inspect.schemas.traces import Protocol from mev_inspect.schemas.transfers import Transfer @@ -21,12 +22,10 @@ class WethTransferClassifier(TransferClassifier): ) -WETH_ADDRESS = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" - WETH_SPEC = ClassifierSpec( abi_name="WETH9", protocol=Protocol.weth, - valid_contract_addresses=[WETH_ADDRESS], + valid_contract_addresses=[WETH_TOKEN_ADDRESS], classifiers={ "transferFrom(address,address,uint256)": WethTransferClassifier, "transfer(address,uint256)": WethTransferClassifier, diff --git a/mev_inspect/schemas/prices.py b/mev_inspect/schemas/prices.py index b04000f..17943b5 100644 --- a/mev_inspect/schemas/prices.py +++ b/mev_inspect/schemas/prices.py @@ -2,9 +2,8 @@ from datetime import datetime from pydantic import BaseModel, validator -from mev_inspect.classifiers.specs.weth import WETH_ADDRESS -from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS - +ETH_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" +WETH_TOKEN_ADDRESS = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" WBTC_TOKEN_ADDRESS = "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" LINK_TOKEN_ADDRESS = "0x514910771af9ca656af840dff83e8264ecf986ca" YEARN_TOKEN_ADDRESS = "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e" @@ -20,7 +19,7 @@ CWBTC_TOKEN_ADDRESS = "0xc11b1268c1a384e55c48c2391d8d480264a3a7f4" TOKEN_ADDRESSES = [ ETH_TOKEN_ADDRESS, - WETH_ADDRESS, + WETH_TOKEN_ADDRESS, WBTC_TOKEN_ADDRESS, LINK_TOKEN_ADDRESS, YEARN_TOKEN_ADDRESS, @@ -36,7 +35,7 @@ TOKEN_ADDRESSES = [ ] COINGECKO_ID_BY_ADDRESS = { - WETH_ADDRESS: "weth", + WETH_TOKEN_ADDRESS: "weth", ETH_TOKEN_ADDRESS: "ethereum", WBTC_TOKEN_ADDRESS: "wrapped-bitcoin", LINK_TOKEN_ADDRESS: "chainlink", diff --git a/mev_inspect/schemas/transfers.py b/mev_inspect/schemas/transfers.py index d8e468d..b76ce1b 100644 --- a/mev_inspect/schemas/transfers.py +++ b/mev_inspect/schemas/transfers.py @@ -2,8 +2,6 @@ from typing import List from pydantic import BaseModel -ETH_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" - class Transfer(BaseModel): block_number: int diff --git a/mev_inspect/transfers.py b/mev_inspect/transfers.py index bac70ba..5f85ad4 100644 --- a/mev_inspect/transfers.py +++ b/mev_inspect/transfers.py @@ -2,8 +2,9 @@ from typing import Dict, List, Optional, Sequence from mev_inspect.classifiers.specs import get_classifier from mev_inspect.schemas.classifiers import TransferClassifier +from mev_inspect.schemas.prices import ETH_TOKEN_ADDRESS from mev_inspect.schemas.traces import ClassifiedTrace, DecodedCallTrace -from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS, Transfer +from mev_inspect.schemas.transfers import Transfer from mev_inspect.traces import get_child_traces, is_child_trace_address diff --git a/tests/test_aave.py b/tests/test_aave.py index 2250ce7..2e5d899 100644 --- a/tests/test_aave.py +++ b/tests/test_aave.py @@ -3,8 +3,8 @@ from typing import List from mev_inspect.classifiers.trace import TraceClassifier from mev_inspect.liquidations import get_liquidations from mev_inspect.schemas.liquidations import Liquidation +from mev_inspect.schemas.prices import ETH_TOKEN_ADDRESS from mev_inspect.schemas.traces import Protocol -from mev_inspect.transfers import ETH_TOKEN_ADDRESS from tests.utils import load_test_block