From d5f73b5e3a4c78a0eadc0564b1ba322744a61f25 Mon Sep 17 00:00:00 2001 From: Luke Van Seters Date: Mon, 13 Dec 2021 18:46:39 -0500 Subject: [PATCH] Run isort on all files --- alembic/env.py | 5 +- ...af_change_blocks_timestamp_to_timestamp.py | 1 + ...60432b9840_create_classifications_table.py | 2 + .../070819d86587_create_punk_snipe.py | 1 + ...83978d6e455_create_miner_payments_table.py | 1 + ...ived_collateral_address_to_liquidations.py | 1 + .../2116e2f36a19_create_swaps_table.py | 2 + .../versions/2c90b2b8a80b_add_blocks_table.py | 1 + .../52d75a7e0533_add_punk_bid_acceptances.py | 1 + ...change_transfers_trace_address_to_array.py | 1 + .../versions/7cf0eeb41da0_add_punk_bids.py | 1 + ...e_change_trace_addresses_to_array_types.py | 1 + .../92f28a2b4f52_add_error_column_to_swaps.py | 1 + ...ae51c5d56_add_swap_arbitrage_join_table.py | 1 + ...dccb_add_arbitrages_and_swap_join_table.py | 1 + .../a02f3f2c469f_create_latest_block_table.py | 1 + .../b9fa1ecc9929_remove_liq_column.py | 1 + .../c8363617aa07_create_liquidations_table.py | 1 + .../cd96af55108e_add_transfers_table.py | 1 + .../d540242ae368_create_usd_prices_table.py | 1 + ...b6f_add_to_address_and_from_address_to_.py | 1 + backfill.py | 1 + cli.py | 1 + mev_inspect/aave_liquidations.py | 18 +++---- mev_inspect/abi.py | 1 + mev_inspect/block.py | 1 + mev_inspect/classifiers/helpers.py | 7 ++- mev_inspect/classifiers/specs/__init__.py | 13 ++--- mev_inspect/classifiers/specs/aave.py | 2 +- mev_inspect/classifiers/specs/balancer.py | 18 +++---- mev_inspect/classifiers/specs/bancor.py | 20 +++----- mev_inspect/classifiers/specs/compound.py | 5 +- mev_inspect/classifiers/specs/cryptopunks.py | 8 +--- mev_inspect/classifiers/specs/curve.py | 16 ++----- mev_inspect/classifiers/specs/erc20.py | 5 +- mev_inspect/classifiers/specs/uniswap.py | 17 +++---- mev_inspect/classifiers/specs/weth.py | 4 +- mev_inspect/classifiers/specs/zero_ex.py | 16 +++---- mev_inspect/classifiers/trace.py | 5 +- mev_inspect/coinbase.py | 11 +++-- mev_inspect/compound_liquidations.py | 10 ++-- mev_inspect/concurrency.py | 1 + mev_inspect/crud/liquidations.py | 1 + mev_inspect/crud/miner_payments.py | 1 + mev_inspect/crud/punks.py | 9 ++-- mev_inspect/crud/swaps.py | 1 + mev_inspect/crud/traces.py | 1 + mev_inspect/crud/transfers.py | 1 + mev_inspect/db.py | 1 + mev_inspect/inspect_block.py | 48 ++++++++----------- mev_inspect/inspector.py | 2 + mev_inspect/liquidations.py | 5 +- mev_inspect/miner_payments.py | 7 +-- mev_inspect/models/base.py | 1 + mev_inspect/models/liquidations.py | 2 +- mev_inspect/models/prices.py | 2 +- mev_inspect/models/punk_snipes.py | 2 +- mev_inspect/models/punks.py | 2 +- mev_inspect/models/swaps.py | 2 +- mev_inspect/models/traces.py | 2 +- mev_inspect/models/transfers.py | 2 +- mev_inspect/prices.py | 10 ++-- mev_inspect/provider.py | 2 +- mev_inspect/punks.py | 9 ++-- mev_inspect/retry.py | 23 ++------- mev_inspect/schemas/abi.py | 3 +- mev_inspect/schemas/classifiers.py | 2 +- mev_inspect/schemas/liquidations.py | 2 + mev_inspect/schemas/prices.py | 1 + mev_inspect/signal_handler.py | 1 + mev_inspect/swaps.py | 6 +-- mev_inspect/tokenflow.py | 1 + mev_inspect/transfers.py | 7 +-- tests/liquidation_test.py | 2 +- tests/test_0x.py | 6 +-- tests/test_arbitrages.py | 4 +- tests/test_compound.py | 5 +- tests/test_swaps.py | 18 +++---- tests/test_traces.py | 2 +- tests/utils.py | 1 + 80 files changed, 183 insertions(+), 221 deletions(-) diff --git a/alembic/env.py b/alembic/env.py index 7e5e6cd..6aee57c 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -1,12 +1,11 @@ from logging.config import fileConfig -from sqlalchemy import engine_from_config -from sqlalchemy import pool +from sqlalchemy import engine_from_config, pool from alembic import context - from mev_inspect.db import get_inspect_database_uri + # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config diff --git a/alembic/versions/04b76ab1d2af_change_blocks_timestamp_to_timestamp.py b/alembic/versions/04b76ab1d2af_change_blocks_timestamp_to_timestamp.py index 8ba541d..0895607 100644 --- a/alembic/versions/04b76ab1d2af_change_blocks_timestamp_to_timestamp.py +++ b/alembic/versions/04b76ab1d2af_change_blocks_timestamp_to_timestamp.py @@ -6,6 +6,7 @@ Create Date: 2021-11-26 15:31:21.111693 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/0660432b9840_create_classifications_table.py b/alembic/versions/0660432b9840_create_classifications_table.py index 86dbf42..1feb611 100644 --- a/alembic/versions/0660432b9840_create_classifications_table.py +++ b/alembic/versions/0660432b9840_create_classifications_table.py @@ -6,8 +6,10 @@ Create Date: 2021-07-23 20:08:42.016711 """ import sqlalchemy as sa + from alembic import op + # revision identifiers, used by Alembic. revision = "0660432b9840" down_revision = None diff --git a/alembic/versions/070819d86587_create_punk_snipe.py b/alembic/versions/070819d86587_create_punk_snipe.py index 1f9bcc4..968be51 100644 --- a/alembic/versions/070819d86587_create_punk_snipe.py +++ b/alembic/versions/070819d86587_create_punk_snipe.py @@ -6,6 +6,7 @@ Create Date: 2021-11-26 18:25:13.402822 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/083978d6e455_create_miner_payments_table.py b/alembic/versions/083978d6e455_create_miner_payments_table.py index e55d3a8..cc36cc9 100644 --- a/alembic/versions/083978d6e455_create_miner_payments_table.py +++ b/alembic/versions/083978d6e455_create_miner_payments_table.py @@ -6,6 +6,7 @@ Create Date: 2021-08-30 17:42:25.548130 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py b/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py index 1a82a2c..38ecaa2 100644 --- a/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py +++ b/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py @@ -6,6 +6,7 @@ Create Date: 2021-10-04 19:52:40.017084 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/2116e2f36a19_create_swaps_table.py b/alembic/versions/2116e2f36a19_create_swaps_table.py index 8f4b677..def9f91 100644 --- a/alembic/versions/2116e2f36a19_create_swaps_table.py +++ b/alembic/versions/2116e2f36a19_create_swaps_table.py @@ -6,8 +6,10 @@ Create Date: 2021-08-05 21:06:33.340456 """ import sqlalchemy as sa + from alembic import op + # revision identifiers, used by Alembic. revision = "2116e2f36a19" down_revision = "c5da44eb072c" diff --git a/alembic/versions/2c90b2b8a80b_add_blocks_table.py b/alembic/versions/2c90b2b8a80b_add_blocks_table.py index a50544b..bba92b3 100644 --- a/alembic/versions/2c90b2b8a80b_add_blocks_table.py +++ b/alembic/versions/2c90b2b8a80b_add_blocks_table.py @@ -6,6 +6,7 @@ Create Date: 2021-11-17 18:29:13.065944 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/52d75a7e0533_add_punk_bid_acceptances.py b/alembic/versions/52d75a7e0533_add_punk_bid_acceptances.py index 8918bde..8a4056e 100644 --- a/alembic/versions/52d75a7e0533_add_punk_bid_acceptances.py +++ b/alembic/versions/52d75a7e0533_add_punk_bid_acceptances.py @@ -6,6 +6,7 @@ Create Date: 2021-11-26 20:35:58.954138 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/5427d62a2cc0_change_transfers_trace_address_to_array.py b/alembic/versions/5427d62a2cc0_change_transfers_trace_address_to_array.py index 7ec3d78..e35c87e 100644 --- a/alembic/versions/5427d62a2cc0_change_transfers_trace_address_to_array.py +++ b/alembic/versions/5427d62a2cc0_change_transfers_trace_address_to_array.py @@ -6,6 +6,7 @@ Create Date: 2021-11-19 13:25:11.252774 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/7cf0eeb41da0_add_punk_bids.py b/alembic/versions/7cf0eeb41da0_add_punk_bids.py index 0e93350..d8e35c9 100644 --- a/alembic/versions/7cf0eeb41da0_add_punk_bids.py +++ b/alembic/versions/7cf0eeb41da0_add_punk_bids.py @@ -6,6 +6,7 @@ Create Date: 2021-11-26 20:27:28.936516 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/7eec417a4f3e_change_trace_addresses_to_array_types.py b/alembic/versions/7eec417a4f3e_change_trace_addresses_to_array_types.py index b3d4f29..b3a6b9f 100644 --- a/alembic/versions/7eec417a4f3e_change_trace_addresses_to_array_types.py +++ b/alembic/versions/7eec417a4f3e_change_trace_addresses_to_array_types.py @@ -6,6 +6,7 @@ Create Date: 2021-08-06 15:58:04.556762 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/92f28a2b4f52_add_error_column_to_swaps.py b/alembic/versions/92f28a2b4f52_add_error_column_to_swaps.py index 2192469..ec06b83 100644 --- a/alembic/versions/92f28a2b4f52_add_error_column_to_swaps.py +++ b/alembic/versions/92f28a2b4f52_add_error_column_to_swaps.py @@ -6,6 +6,7 @@ Create Date: 2021-08-17 03:46:21.498821 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/9b8ae51c5d56_add_swap_arbitrage_join_table.py b/alembic/versions/9b8ae51c5d56_add_swap_arbitrage_join_table.py index 390c7a7..645324a 100644 --- a/alembic/versions/9b8ae51c5d56_add_swap_arbitrage_join_table.py +++ b/alembic/versions/9b8ae51c5d56_add_swap_arbitrage_join_table.py @@ -6,6 +6,7 @@ Create Date: 2021-08-06 17:06:55.364516 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/9d8c69b3dccb_add_arbitrages_and_swap_join_table.py b/alembic/versions/9d8c69b3dccb_add_arbitrages_and_swap_join_table.py index 69d42a1..8f88970 100644 --- a/alembic/versions/9d8c69b3dccb_add_arbitrages_and_swap_join_table.py +++ b/alembic/versions/9d8c69b3dccb_add_arbitrages_and_swap_join_table.py @@ -6,6 +6,7 @@ Create Date: 2021-08-05 21:46:35.209199 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/a02f3f2c469f_create_latest_block_table.py b/alembic/versions/a02f3f2c469f_create_latest_block_table.py index 8b2aa93..20574b3 100644 --- a/alembic/versions/a02f3f2c469f_create_latest_block_table.py +++ b/alembic/versions/a02f3f2c469f_create_latest_block_table.py @@ -6,6 +6,7 @@ Create Date: 2021-09-13 21:32:27.181344 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/b9fa1ecc9929_remove_liq_column.py b/alembic/versions/b9fa1ecc9929_remove_liq_column.py index 7fb1a08..873885b 100644 --- a/alembic/versions/b9fa1ecc9929_remove_liq_column.py +++ b/alembic/versions/b9fa1ecc9929_remove_liq_column.py @@ -6,6 +6,7 @@ Create Date: 2021-12-01 23:32:40.574108 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/c8363617aa07_create_liquidations_table.py b/alembic/versions/c8363617aa07_create_liquidations_table.py index 818858d..6910dd1 100644 --- a/alembic/versions/c8363617aa07_create_liquidations_table.py +++ b/alembic/versions/c8363617aa07_create_liquidations_table.py @@ -6,6 +6,7 @@ Create Date: 2021-09-29 14:00:06.857103 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/cd96af55108e_add_transfers_table.py b/alembic/versions/cd96af55108e_add_transfers_table.py index c540a01..caa5da4 100644 --- a/alembic/versions/cd96af55108e_add_transfers_table.py +++ b/alembic/versions/cd96af55108e_add_transfers_table.py @@ -6,6 +6,7 @@ Create Date: 2021-09-17 12:44:45.245137 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/d540242ae368_create_usd_prices_table.py b/alembic/versions/d540242ae368_create_usd_prices_table.py index d97a2f9..a3a03fc 100644 --- a/alembic/versions/d540242ae368_create_usd_prices_table.py +++ b/alembic/versions/d540242ae368_create_usd_prices_table.py @@ -6,6 +6,7 @@ Create Date: 2021-11-18 04:30:06.802857 """ import sqlalchemy as sa + from alembic import op diff --git a/alembic/versions/d70c08b4db6f_add_to_address_and_from_address_to_.py b/alembic/versions/d70c08b4db6f_add_to_address_and_from_address_to_.py index 01f075c..6e12a26 100644 --- a/alembic/versions/d70c08b4db6f_add_to_address_and_from_address_to_.py +++ b/alembic/versions/d70c08b4db6f_add_to_address_and_from_address_to_.py @@ -6,6 +6,7 @@ Create Date: 2021-08-30 22:10:04.186251 """ import sqlalchemy as sa + from alembic import op diff --git a/backfill.py b/backfill.py index 4c2dc2a..97c4c10 100644 --- a/backfill.py +++ b/backfill.py @@ -1,5 +1,6 @@ import subprocess import sys + from typing import Iterator, Tuple diff --git a/cli.py b/cli.py index 2a78b75..0b573df 100644 --- a/cli.py +++ b/cli.py @@ -10,6 +10,7 @@ from mev_inspect.db import get_inspect_session, get_trace_session from mev_inspect.inspector import MEVInspector from mev_inspect.prices import fetch_all_supported_prices + RPC_URL_ENV = "RPC_URL" logging.basicConfig(stream=sys.stdout, level=logging.INFO) diff --git a/mev_inspect/aave_liquidations.py b/mev_inspect/aave_liquidations.py index d90a355..5fd8fea 100644 --- a/mev_inspect/aave_liquidations.py +++ b/mev_inspect/aave_liquidations.py @@ -1,21 +1,17 @@ -from typing import List, Tuple, Optional +from typing import List, Optional, Tuple -from mev_inspect.traces import ( - get_child_traces, - is_child_of_any_address, -) +from mev_inspect.schemas.liquidations import Liquidation from mev_inspect.schemas.traces import ( - ClassifiedTrace, CallTrace, - DecodedCallTrace, Classification, + ClassifiedTrace, + DecodedCallTrace, Protocol, ) - - -from mev_inspect.transfers import get_transfer from mev_inspect.schemas.transfers import Transfer -from mev_inspect.schemas.liquidations import Liquidation +from mev_inspect.traces import get_child_traces, is_child_of_any_address +from mev_inspect.transfers import get_transfer + AAVE_CONTRACT_ADDRESSES: List[str] = [ # AAVE Proxy diff --git a/mev_inspect/abi.py b/mev_inspect/abi.py index 8043c34..281c74e 100644 --- a/mev_inspect/abi.py +++ b/mev_inspect/abi.py @@ -1,4 +1,5 @@ import json + from pathlib import Path from typing import Optional diff --git a/mev_inspect/block.py b/mev_inspect/block.py index ab61919..15c0739 100644 --- a/mev_inspect/block.py +++ b/mev_inspect/block.py @@ -1,5 +1,6 @@ import asyncio import logging + from typing import List, Optional from sqlalchemy import orm diff --git a/mev_inspect/classifiers/helpers.py b/mev_inspect/classifiers/helpers.py index 064267c..c021809 100644 --- a/mev_inspect/classifiers/helpers.py +++ b/mev_inspect/classifiers/helpers.py @@ -1,9 +1,8 @@ -from typing import Optional, List, Sequence +from typing import List, Optional, Sequence from mev_inspect.schemas.swaps import Swap -from mev_inspect.schemas.transfers import Transfer, ETH_TOKEN_ADDRESS - -from mev_inspect.schemas.traces import DecodedCallTrace, ClassifiedTrace +from mev_inspect.schemas.traces import ClassifiedTrace, DecodedCallTrace +from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS, Transfer def create_swap_from_pool_transfers( diff --git a/mev_inspect/classifiers/specs/__init__.py b/mev_inspect/classifiers/specs/__init__.py index aa5b28a..b2b8fcb 100644 --- a/mev_inspect/classifiers/specs/__init__.py +++ b/mev_inspect/classifiers/specs/__init__.py @@ -1,18 +1,19 @@ from typing import Dict, Optional, Tuple, Type +from mev_inspect.schemas.classifiers import Classifier, ClassifierSpec from mev_inspect.schemas.traces import DecodedCallTrace, Protocol -from mev_inspect.schemas.classifiers import ClassifierSpec, Classifier from .aave import AAVE_CLASSIFIER_SPECS +from .balancer import BALANCER_CLASSIFIER_SPECS +from .bancor import BANCOR_CLASSIFIER_SPECS +from .compound import COMPOUND_CLASSIFIER_SPECS +from .cryptopunks import CRYPTOPUNKS_CLASSIFIER_SPECS from .curve import CURVE_CLASSIFIER_SPECS from .erc20 import ERC20_CLASSIFIER_SPECS from .uniswap import UNISWAP_CLASSIFIER_SPECS -from .weth import WETH_CLASSIFIER_SPECS, WETH_ADDRESS +from .weth import WETH_ADDRESS, WETH_CLASSIFIER_SPECS from .zero_ex import ZEROX_CLASSIFIER_SPECS -from .balancer import BALANCER_CLASSIFIER_SPECS -from .compound import COMPOUND_CLASSIFIER_SPECS -from .cryptopunks import CRYPTOPUNKS_CLASSIFIER_SPECS -from .bancor import BANCOR_CLASSIFIER_SPECS + ALL_CLASSIFIER_SPECS = ( ERC20_CLASSIFIER_SPECS diff --git a/mev_inspect/classifiers/specs/aave.py b/mev_inspect/classifiers/specs/aave.py index 01c498b..854f057 100644 --- a/mev_inspect/classifiers/specs/aave.py +++ b/mev_inspect/classifiers/specs/aave.py @@ -1,8 +1,8 @@ from mev_inspect.schemas.classifiers import ( ClassifierSpec, DecodedCallTrace, - TransferClassifier, LiquidationClassifier, + TransferClassifier, ) from mev_inspect.schemas.traces import Protocol from mev_inspect.schemas.transfers import Transfer diff --git a/mev_inspect/classifiers/specs/balancer.py b/mev_inspect/classifiers/specs/balancer.py index c3ad21a..79f619b 100644 --- a/mev_inspect/classifiers/specs/balancer.py +++ b/mev_inspect/classifiers/specs/balancer.py @@ -1,15 +1,11 @@ -from typing import Optional, List -from mev_inspect.schemas.transfers import Transfer -from mev_inspect.schemas.swaps import Swap -from mev_inspect.schemas.traces import ( - DecodedCallTrace, - Protocol, -) -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - SwapClassifier, -) +from typing import List, Optional + from mev_inspect.classifiers.helpers import create_swap_from_pool_transfers +from mev_inspect.schemas.classifiers import ClassifierSpec, SwapClassifier +from mev_inspect.schemas.swaps import Swap +from mev_inspect.schemas.traces import DecodedCallTrace, Protocol +from mev_inspect.schemas.transfers import Transfer + BALANCER_V1_POOL_ABI_NAME = "BPool" diff --git a/mev_inspect/classifiers/specs/bancor.py b/mev_inspect/classifiers/specs/bancor.py index f4a8663..90fc1d9 100644 --- a/mev_inspect/classifiers/specs/bancor.py +++ b/mev_inspect/classifiers/specs/bancor.py @@ -1,17 +1,11 @@ -from typing import Optional, List -from mev_inspect.schemas.transfers import Transfer +from typing import List, Optional + +from mev_inspect.classifiers.helpers import create_swap_from_recipient_transfers +from mev_inspect.schemas.classifiers import ClassifierSpec, SwapClassifier from mev_inspect.schemas.swaps import Swap -from mev_inspect.schemas.traces import ( - DecodedCallTrace, - Protocol, -) -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - SwapClassifier, -) -from mev_inspect.classifiers.helpers import ( - create_swap_from_recipient_transfers, -) +from mev_inspect.schemas.traces import DecodedCallTrace, Protocol +from mev_inspect.schemas.transfers import Transfer + BANCOR_NETWORK_ABI_NAME = "BancorNetwork" BANCOR_NETWORK_CONTRACT_ADDRESS = "0x2F9EC37d6CcFFf1caB21733BdaDEdE11c823cCB0" diff --git a/mev_inspect/classifiers/specs/compound.py b/mev_inspect/classifiers/specs/compound.py index 63fed2e..fc09905 100644 --- a/mev_inspect/classifiers/specs/compound.py +++ b/mev_inspect/classifiers/specs/compound.py @@ -1,11 +1,10 @@ -from mev_inspect.schemas.traces import ( - Protocol, -) from mev_inspect.schemas.classifiers import ( ClassifierSpec, LiquidationClassifier, SeizeClassifier, ) +from mev_inspect.schemas.traces import Protocol + COMPOUND_V2_CETH_SPEC = ClassifierSpec( abi_name="CEther", diff --git a/mev_inspect/classifiers/specs/cryptopunks.py b/mev_inspect/classifiers/specs/cryptopunks.py index a482b1f..632a694 100644 --- a/mev_inspect/classifiers/specs/cryptopunks.py +++ b/mev_inspect/classifiers/specs/cryptopunks.py @@ -1,9 +1,5 @@ -from mev_inspect.schemas.traces import Protocol, Classification - -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - Classifier, -) +from mev_inspect.schemas.classifiers import Classifier, ClassifierSpec +from mev_inspect.schemas.traces import Classification, Protocol class PunkBidAcceptanceClassifier(Classifier): diff --git a/mev_inspect/classifiers/specs/curve.py b/mev_inspect/classifiers/specs/curve.py index a395757..50690fe 100644 --- a/mev_inspect/classifiers/specs/curve.py +++ b/mev_inspect/classifiers/specs/curve.py @@ -1,16 +1,10 @@ -from typing import Optional, List -from mev_inspect.schemas.transfers import Transfer -from mev_inspect.schemas.swaps import Swap -from mev_inspect.schemas.traces import ( - Protocol, - DecodedCallTrace, -) +from typing import List, Optional -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - SwapClassifier, -) from mev_inspect.classifiers.helpers import create_swap_from_pool_transfers +from mev_inspect.schemas.classifiers import ClassifierSpec, SwapClassifier +from mev_inspect.schemas.swaps import Swap +from mev_inspect.schemas.traces import DecodedCallTrace, Protocol +from mev_inspect.schemas.transfers import Transfer class CurveSwapClassifier(SwapClassifier): diff --git a/mev_inspect/classifiers/specs/erc20.py b/mev_inspect/classifiers/specs/erc20.py index b208924..85148ec 100644 --- a/mev_inspect/classifiers/specs/erc20.py +++ b/mev_inspect/classifiers/specs/erc20.py @@ -1,8 +1,5 @@ +from mev_inspect.schemas.classifiers import ClassifierSpec, TransferClassifier from mev_inspect.schemas.traces import DecodedCallTrace -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - TransferClassifier, -) from mev_inspect.schemas.transfers import Transfer diff --git a/mev_inspect/classifiers/specs/uniswap.py b/mev_inspect/classifiers/specs/uniswap.py index 489078c..7d9b7e6 100644 --- a/mev_inspect/classifiers/specs/uniswap.py +++ b/mev_inspect/classifiers/specs/uniswap.py @@ -1,15 +1,10 @@ -from typing import Optional, List -from mev_inspect.schemas.transfers import Transfer -from mev_inspect.schemas.swaps import Swap -from mev_inspect.schemas.traces import ( - DecodedCallTrace, - Protocol, -) -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - SwapClassifier, -) +from typing import List, Optional + from mev_inspect.classifiers.helpers import create_swap_from_pool_transfers +from mev_inspect.schemas.classifiers import ClassifierSpec, SwapClassifier +from mev_inspect.schemas.swaps import Swap +from mev_inspect.schemas.traces import DecodedCallTrace, Protocol +from mev_inspect.schemas.transfers import Transfer UNISWAP_V2_PAIR_ABI_NAME = "UniswapV2Pair" diff --git a/mev_inspect/classifiers/specs/weth.py b/mev_inspect/classifiers/specs/weth.py index 14c1985..1360f0c 100644 --- a/mev_inspect/classifiers/specs/weth.py +++ b/mev_inspect/classifiers/specs/weth.py @@ -1,11 +1,9 @@ -from mev_inspect.schemas.traces import ( - Protocol, -) from mev_inspect.schemas.classifiers import ( ClassifierSpec, DecodedCallTrace, TransferClassifier, ) +from mev_inspect.schemas.traces import Protocol from mev_inspect.schemas.transfers import Transfer diff --git a/mev_inspect/classifiers/specs/zero_ex.py b/mev_inspect/classifiers/specs/zero_ex.py index 9cd5035..bc3edfb 100644 --- a/mev_inspect/classifiers/specs/zero_ex.py +++ b/mev_inspect/classifiers/specs/zero_ex.py @@ -1,14 +1,10 @@ -from typing import Optional, List, Tuple -from mev_inspect.schemas.transfers import Transfer +from typing import List, Optional, Tuple + +from mev_inspect.schemas.classifiers import ClassifierSpec, SwapClassifier from mev_inspect.schemas.swaps import Swap -from mev_inspect.schemas.traces import ( - DecodedCallTrace, - Protocol, -) -from mev_inspect.schemas.classifiers import ( - ClassifierSpec, - SwapClassifier, -) +from mev_inspect.schemas.traces import DecodedCallTrace, Protocol +from mev_inspect.schemas.transfers import Transfer + ANY_TAKER_ADDRESS = "0x0000000000000000000000000000000000000000" diff --git a/mev_inspect/classifiers/trace.py b/mev_inspect/classifiers/trace.py index 8839731..1c2d915 100644 --- a/mev_inspect/classifiers/trace.py +++ b/mev_inspect/classifiers/trace.py @@ -4,12 +4,13 @@ from mev_inspect.abi import get_abi from mev_inspect.decode import ABIDecoder from mev_inspect.schemas.blocks import CallAction, CallResult from mev_inspect.schemas.traces import ( + CallTrace, Classification, ClassifiedTrace, - CallTrace, DecodedCallTrace, + Trace, + TraceType, ) -from mev_inspect.schemas.traces import Trace, TraceType from .specs import ALL_CLASSIFIER_SPECS diff --git a/mev_inspect/coinbase.py b/mev_inspect/coinbase.py index c2bcaaf..359b94d 100644 --- a/mev_inspect/coinbase.py +++ b/mev_inspect/coinbase.py @@ -1,17 +1,18 @@ import aiohttp from mev_inspect.classifiers.specs.weth import WETH_ADDRESS -from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS from mev_inspect.schemas.coinbase import CoinbasePrices, CoinbasePricesResponse from mev_inspect.schemas.prices import ( - WBTC_TOKEN_ADDRESS, - LINK_TOKEN_ADDRESS, - YEARN_TOKEN_ADDRESS, AAVE_TOKEN_ADDRESS, + LINK_TOKEN_ADDRESS, + REN_TOKEN_ADDRESS, UNI_TOKEN_ADDRESS, USDC_TOKEN_ADDRESS_ADDRESS, - REN_TOKEN_ADDRESS, + WBTC_TOKEN_ADDRESS, + YEARN_TOKEN_ADDRESS, ) +from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS + COINBASE_API_BASE = "https://www.coinbase.com/api/v2" COINBASE_TOKEN_NAME_BY_ADDRESS = { diff --git a/mev_inspect/compound_liquidations.py b/mev_inspect/compound_liquidations.py index bc13252..c04429c 100644 --- a/mev_inspect/compound_liquidations.py +++ b/mev_inspect/compound_liquidations.py @@ -1,13 +1,9 @@ from typing import List, Optional -from mev_inspect.traces import get_child_traces -from mev_inspect.schemas.traces import ( - ClassifiedTrace, - Classification, - Protocol, -) - from mev_inspect.schemas.liquidations import Liquidation +from mev_inspect.schemas.traces import Classification, ClassifiedTrace, Protocol +from mev_inspect.traces import get_child_traces + V2_COMPTROLLER_ADDRESS = "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B" V2_C_ETHER = "0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5" diff --git a/mev_inspect/concurrency.py b/mev_inspect/concurrency.py index 46ac147..51542f5 100644 --- a/mev_inspect/concurrency.py +++ b/mev_inspect/concurrency.py @@ -1,5 +1,6 @@ import asyncio import signal + from functools import wraps diff --git a/mev_inspect/crud/liquidations.py b/mev_inspect/crud/liquidations.py index 2a58ead..deb3d35 100644 --- a/mev_inspect/crud/liquidations.py +++ b/mev_inspect/crud/liquidations.py @@ -1,4 +1,5 @@ import json + from typing import List from mev_inspect.models.liquidations import LiquidationModel diff --git a/mev_inspect/crud/miner_payments.py b/mev_inspect/crud/miner_payments.py index e82bf96..f31958e 100644 --- a/mev_inspect/crud/miner_payments.py +++ b/mev_inspect/crud/miner_payments.py @@ -1,4 +1,5 @@ import json + from typing import List from mev_inspect.models.miner_payments import MinerPaymentModel diff --git a/mev_inspect/crud/punks.py b/mev_inspect/crud/punks.py index 7f4c819..3423d61 100644 --- a/mev_inspect/crud/punks.py +++ b/mev_inspect/crud/punks.py @@ -1,14 +1,15 @@ import json + from typing import List from mev_inspect.models.punks import ( - PunkSnipeModel, - PunkBidModel, PunkBidAcceptanceModel, + PunkBidModel, + PunkSnipeModel, ) -from mev_inspect.schemas.punk_snipe import PunkSnipe -from mev_inspect.schemas.punk_bid import PunkBid from mev_inspect.schemas.punk_accept_bid import PunkBidAcceptance +from mev_inspect.schemas.punk_bid import PunkBid +from mev_inspect.schemas.punk_snipe import PunkSnipe def delete_punk_bid_acceptances_for_block( diff --git a/mev_inspect/crud/swaps.py b/mev_inspect/crud/swaps.py index 4c51cd1..c02b97a 100644 --- a/mev_inspect/crud/swaps.py +++ b/mev_inspect/crud/swaps.py @@ -1,4 +1,5 @@ import json + from typing import List from mev_inspect.models.swaps import SwapModel diff --git a/mev_inspect/crud/traces.py b/mev_inspect/crud/traces.py index aa6f32c..91e95b0 100644 --- a/mev_inspect/crud/traces.py +++ b/mev_inspect/crud/traces.py @@ -1,4 +1,5 @@ import json + from typing import List from mev_inspect.models.traces import ClassifiedTraceModel diff --git a/mev_inspect/crud/transfers.py b/mev_inspect/crud/transfers.py index 7aa5adb..8ed2a7b 100644 --- a/mev_inspect/crud/transfers.py +++ b/mev_inspect/crud/transfers.py @@ -1,4 +1,5 @@ import json + from typing import List from mev_inspect.models.transfers import TransferModel diff --git a/mev_inspect/db.py b/mev_inspect/db.py index 9cdaa48..c1beb25 100644 --- a/mev_inspect/db.py +++ b/mev_inspect/db.py @@ -1,4 +1,5 @@ import os + from typing import Optional from sqlalchemy import create_engine, orm diff --git a/mev_inspect/inspect_block.py b/mev_inspect/inspect_block.py index 3c8fffe..fc7aa52 100644 --- a/mev_inspect/inspect_block.py +++ b/mev_inspect/inspect_block.py @@ -1,4 +1,5 @@ import logging + from typing import Optional from sqlalchemy import orm @@ -7,44 +8,35 @@ from web3 import Web3 from mev_inspect.arbitrages import get_arbitrages from mev_inspect.block import create_from_block_number from mev_inspect.classifiers.trace import TraceClassifier -from mev_inspect.crud.arbitrages import ( - delete_arbitrages_for_block, - write_arbitrages, -) - -from mev_inspect.crud.punks import ( - delete_punk_snipes_for_block, - write_punk_snipes, - delete_punk_bids_for_block, - write_punk_bids, - delete_punk_bid_acceptances_for_block, - write_punk_bid_acceptances, -) - -from mev_inspect.crud.blocks import ( - delete_block, - write_block, -) -from mev_inspect.crud.traces import ( - delete_classified_traces_for_block, - write_classified_traces, +from mev_inspect.crud.arbitrages import delete_arbitrages_for_block, write_arbitrages +from mev_inspect.crud.blocks import delete_block, write_block +from mev_inspect.crud.liquidations import ( + delete_liquidations_for_block, + write_liquidations, ) from mev_inspect.crud.miner_payments import ( delete_miner_payments_for_block, write_miner_payments, ) - -from mev_inspect.crud.swaps import delete_swaps_for_block, write_swaps -from mev_inspect.crud.transfers import delete_transfers_for_block, write_transfers -from mev_inspect.crud.liquidations import ( - delete_liquidations_for_block, - write_liquidations, +from mev_inspect.crud.punks import ( + delete_punk_bid_acceptances_for_block, + delete_punk_bids_for_block, + delete_punk_snipes_for_block, + write_punk_bid_acceptances, + write_punk_bids, + write_punk_snipes, ) +from mev_inspect.crud.swaps import delete_swaps_for_block, write_swaps +from mev_inspect.crud.traces import ( + delete_classified_traces_for_block, + write_classified_traces, +) +from mev_inspect.crud.transfers import delete_transfers_for_block, write_transfers +from mev_inspect.liquidations import get_liquidations from mev_inspect.miner_payments import get_miner_payments from mev_inspect.punks import get_punk_bid_acceptances, get_punk_bids, get_punk_snipes from mev_inspect.swaps import get_swaps from mev_inspect.transfers import get_transfers -from mev_inspect.liquidations import get_liquidations logger = logging.getLogger(__name__) diff --git a/mev_inspect/inspector.py b/mev_inspect/inspector.py index 4fb8160..de98b75 100644 --- a/mev_inspect/inspector.py +++ b/mev_inspect/inspector.py @@ -1,6 +1,7 @@ import asyncio import logging import traceback + from asyncio import CancelledError from typing import Optional @@ -13,6 +14,7 @@ from mev_inspect.classifiers.trace import TraceClassifier from mev_inspect.inspect_block import inspect_block from mev_inspect.provider import get_base_provider + logger = logging.getLogger(__name__) diff --git a/mev_inspect/liquidations.py b/mev_inspect/liquidations.py index 37f282a..88961f1 100644 --- a/mev_inspect/liquidations.py +++ b/mev_inspect/liquidations.py @@ -2,11 +2,8 @@ from typing import List from mev_inspect.aave_liquidations import get_aave_liquidations from mev_inspect.compound_liquidations import get_compound_liquidations -from mev_inspect.schemas.traces import ( - ClassifiedTrace, - Classification, -) from mev_inspect.schemas.liquidations import Liquidation +from mev_inspect.schemas.traces import Classification, ClassifiedTrace def has_liquidations(classified_traces: List[ClassifiedTrace]) -> bool: diff --git a/mev_inspect/miner_payments.py b/mev_inspect/miner_payments.py index 2699ea2..b096d51 100644 --- a/mev_inspect/miner_payments.py +++ b/mev_inspect/miner_payments.py @@ -1,13 +1,10 @@ from typing import List -from mev_inspect.schemas.traces import ClassifiedTrace from mev_inspect.schemas.miner_payments import MinerPayment from mev_inspect.schemas.receipts import Receipt +from mev_inspect.schemas.traces import ClassifiedTrace from mev_inspect.traces import get_traces_by_transaction_hash -from mev_inspect.transfers import ( - filter_transfers, - get_eth_transfers, -) +from mev_inspect.transfers import filter_transfers, get_eth_transfers def get_miner_payments( diff --git a/mev_inspect/models/base.py b/mev_inspect/models/base.py index 860e542..00ea8e1 100644 --- a/mev_inspect/models/base.py +++ b/mev_inspect/models/base.py @@ -1,3 +1,4 @@ from sqlalchemy.ext.declarative import declarative_base + Base = declarative_base() diff --git a/mev_inspect/models/liquidations.py b/mev_inspect/models/liquidations.py index b1e8c8d..8cd2338 100644 --- a/mev_inspect/models/liquidations.py +++ b/mev_inspect/models/liquidations.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String, ARRAY, Integer +from sqlalchemy import ARRAY, Column, Integer, Numeric, String from .base import Base diff --git a/mev_inspect/models/prices.py b/mev_inspect/models/prices.py index 86bf3e0..b2c0d95 100644 --- a/mev_inspect/models/prices.py +++ b/mev_inspect/models/prices.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String, TIMESTAMP +from sqlalchemy import TIMESTAMP, Column, Numeric, String from .base import Base diff --git a/mev_inspect/models/punk_snipes.py b/mev_inspect/models/punk_snipes.py index 71cabac..b1e5f24 100644 --- a/mev_inspect/models/punk_snipes.py +++ b/mev_inspect/models/punk_snipes.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String, ARRAY, Integer +from sqlalchemy import ARRAY, Column, Integer, Numeric, String from .base import Base diff --git a/mev_inspect/models/punks.py b/mev_inspect/models/punks.py index 4f1560f..2139fcc 100644 --- a/mev_inspect/models/punks.py +++ b/mev_inspect/models/punks.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String, ARRAY, Integer +from sqlalchemy import ARRAY, Column, Integer, Numeric, String from .base import Base diff --git a/mev_inspect/models/swaps.py b/mev_inspect/models/swaps.py index 132c014..b50f4f4 100644 --- a/mev_inspect/models/swaps.py +++ b/mev_inspect/models/swaps.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String, ARRAY, Integer +from sqlalchemy import ARRAY, Column, Integer, Numeric, String from .base import Base diff --git a/mev_inspect/models/traces.py b/mev_inspect/models/traces.py index 529bf25..11117fc 100644 --- a/mev_inspect/models/traces.py +++ b/mev_inspect/models/traces.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, JSON, Numeric, String, ARRAY, Integer +from sqlalchemy import ARRAY, JSON, Column, Integer, Numeric, String from .base import Base diff --git a/mev_inspect/models/transfers.py b/mev_inspect/models/transfers.py index 7e23bfe..9fd651e 100644 --- a/mev_inspect/models/transfers.py +++ b/mev_inspect/models/transfers.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Numeric, String, ARRAY, Integer +from sqlalchemy import ARRAY, Column, Integer, Numeric, String from .base import Base diff --git a/mev_inspect/prices.py b/mev_inspect/prices.py index dd895b7..a3a436b 100644 --- a/mev_inspect/prices.py +++ b/mev_inspect/prices.py @@ -3,14 +3,14 @@ from typing import List from mev_inspect.classifiers.specs.weth import WETH_ADDRESS from mev_inspect.coinbase import fetch_coinbase_prices from mev_inspect.schemas.prices import ( - Price, - WBTC_TOKEN_ADDRESS, - LINK_TOKEN_ADDRESS, - YEARN_TOKEN_ADDRESS, AAVE_TOKEN_ADDRESS, + LINK_TOKEN_ADDRESS, + REN_TOKEN_ADDRESS, UNI_TOKEN_ADDRESS, USDC_TOKEN_ADDRESS_ADDRESS, - REN_TOKEN_ADDRESS, + WBTC_TOKEN_ADDRESS, + YEARN_TOKEN_ADDRESS, + Price, ) from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS diff --git a/mev_inspect/provider.py b/mev_inspect/provider.py index 3b930ea..1d59b79 100644 --- a/mev_inspect/provider.py +++ b/mev_inspect/provider.py @@ -1,4 +1,4 @@ -from web3 import Web3, AsyncHTTPProvider +from web3 import AsyncHTTPProvider, Web3 from mev_inspect.retry import http_retry_with_backoff_request_middleware diff --git a/mev_inspect/punks.py b/mev_inspect/punks.py index ecef500..b163b3a 100644 --- a/mev_inspect/punks.py +++ b/mev_inspect/punks.py @@ -1,12 +1,9 @@ from typing import List, Optional -from mev_inspect.schemas.traces import ( - ClassifiedTrace, - Classification, - DecodedCallTrace, -) -from mev_inspect.schemas.punk_bid import PunkBid + from mev_inspect.schemas.punk_accept_bid import PunkBidAcceptance +from mev_inspect.schemas.punk_bid import PunkBid from mev_inspect.schemas.punk_snipe import PunkSnipe +from mev_inspect.schemas.traces import Classification, ClassifiedTrace, DecodedCallTrace from mev_inspect.traces import get_traces_by_transaction_hash diff --git a/mev_inspect/retry.py b/mev_inspect/retry.py index 14fcf66..1cacb44 100644 --- a/mev_inspect/retry.py +++ b/mev_inspect/retry.py @@ -1,33 +1,20 @@ import asyncio import logging import random -from typing import ( - Any, - Callable, - Collection, - Type, - Coroutine, -) + from asyncio.exceptions import TimeoutError +from typing import Any, Callable, Collection, Coroutine, Type from aiohttp.client_exceptions import ( ClientOSError, + ClientResponseError, ServerDisconnectedError, ServerTimeoutError, - ClientResponseError, -) -from requests.exceptions import ( - ConnectionError, - HTTPError, - Timeout, - TooManyRedirects, ) +from requests.exceptions import ConnectionError, HTTPError, Timeout, TooManyRedirects from web3 import Web3 from web3.middleware.exception_retry_request import check_if_retry_on_failure -from web3.types import ( - RPCEndpoint, - RPCResponse, -) +from web3.types import RPCEndpoint, RPCResponse request_exceptions = (ConnectionError, HTTPError, Timeout, TooManyRedirects) diff --git a/mev_inspect/schemas/abi.py b/mev_inspect/schemas/abi.py index a17b915..25886ca 100644 --- a/mev_inspect/schemas/abi.py +++ b/mev_inspect/schemas/abi.py @@ -1,9 +1,10 @@ from enum import Enum from typing import List, Optional, Union -from typing_extensions import Literal import eth_utils.abi + from pydantic import BaseModel +from typing_extensions import Literal from web3 import Web3 diff --git a/mev_inspect/schemas/classifiers.py b/mev_inspect/schemas/classifiers.py index 928ef1e..c4d48e8 100644 --- a/mev_inspect/schemas/classifiers.py +++ b/mev_inspect/schemas/classifiers.py @@ -3,9 +3,9 @@ from typing import Dict, List, Optional, Type from pydantic import BaseModel +from .swaps import Swap from .traces import Classification, DecodedCallTrace, Protocol from .transfers import Transfer -from .swaps import Swap class Classifier(ABC): diff --git a/mev_inspect/schemas/liquidations.py b/mev_inspect/schemas/liquidations.py index 970912f..5f49cc3 100644 --- a/mev_inspect/schemas/liquidations.py +++ b/mev_inspect/schemas/liquidations.py @@ -1,5 +1,7 @@ from typing import List, Optional + from pydantic import BaseModel + from mev_inspect.schemas.traces import Protocol diff --git a/mev_inspect/schemas/prices.py b/mev_inspect/schemas/prices.py index 3041ad8..20d9a16 100644 --- a/mev_inspect/schemas/prices.py +++ b/mev_inspect/schemas/prices.py @@ -2,6 +2,7 @@ from datetime import datetime from pydantic import BaseModel + WBTC_TOKEN_ADDRESS = "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" LINK_TOKEN_ADDRESS = "0x514910771af9ca656af840dff83e8264ecf986ca" YEARN_TOKEN_ADDRESS = "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e" diff --git a/mev_inspect/signal_handler.py b/mev_inspect/signal_handler.py index dc8fc45..aaa3286 100644 --- a/mev_inspect/signal_handler.py +++ b/mev_inspect/signal_handler.py @@ -1,6 +1,7 @@ import logging import signal + logger = logging.getLogger(__name__) diff --git a/mev_inspect/swaps.py b/mev_inspect/swaps.py index b710044..ada3c26 100644 --- a/mev_inspect/swaps.py +++ b/mev_inspect/swaps.py @@ -1,13 +1,9 @@ from typing import List, Optional from mev_inspect.classifiers.specs import get_classifier -from mev_inspect.schemas.traces import ( - ClassifiedTrace, - Classification, - DecodedCallTrace, -) from mev_inspect.schemas.classifiers import SwapClassifier from mev_inspect.schemas.swaps import Swap +from mev_inspect.schemas.traces import Classification, ClassifiedTrace, DecodedCallTrace from mev_inspect.schemas.transfers import Transfer from mev_inspect.traces import get_traces_by_transaction_hash from mev_inspect.transfers import ( diff --git a/mev_inspect/tokenflow.py b/mev_inspect/tokenflow.py index d3b147e..4b9c4bc 100644 --- a/mev_inspect/tokenflow.py +++ b/mev_inspect/tokenflow.py @@ -3,6 +3,7 @@ from typing import List, Optional from mev_inspect.schemas.blocks import Block from mev_inspect.schemas.traces import Trace, TraceType + weth_address = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" cache_directory = "./cache" diff --git a/mev_inspect/transfers.py b/mev_inspect/transfers.py index 8a833e5..bac70ba 100644 --- a/mev_inspect/transfers.py +++ b/mev_inspect/transfers.py @@ -2,12 +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.traces import ( - ClassifiedTrace, - DecodedCallTrace, -) +from mev_inspect.schemas.traces import ClassifiedTrace, DecodedCallTrace from mev_inspect.schemas.transfers import ETH_TOKEN_ADDRESS, Transfer -from mev_inspect.traces import is_child_trace_address, get_child_traces +from mev_inspect.traces import get_child_traces, is_child_trace_address def get_transfers(traces: List[ClassifiedTrace]) -> List[Transfer]: diff --git a/tests/liquidation_test.py b/tests/liquidation_test.py index 78bd2fa..2ebedee 100644 --- a/tests/liquidation_test.py +++ b/tests/liquidation_test.py @@ -1,9 +1,9 @@ from typing import List from mev_inspect.aave_liquidations import get_aave_liquidations +from mev_inspect.classifiers.trace import TraceClassifier from mev_inspect.schemas.liquidations import Liquidation from mev_inspect.schemas.traces import Protocol -from mev_inspect.classifiers.trace import TraceClassifier from mev_inspect.transfers import ETH_TOKEN_ADDRESS from tests.utils import load_test_block diff --git a/tests/test_0x.py b/tests/test_0x.py index 33af283..46bfd80 100644 --- a/tests/test_0x.py +++ b/tests/test_0x.py @@ -1,7 +1,7 @@ -from mev_inspect.schemas.swaps import Swap -from mev_inspect.swaps import get_swaps -from mev_inspect.schemas.traces import Protocol from mev_inspect.classifiers.trace import TraceClassifier +from mev_inspect.schemas.swaps import Swap +from mev_inspect.schemas.traces import Protocol +from mev_inspect.swaps import get_swaps from tests.utils import load_test_block diff --git a/tests/test_arbitrages.py b/tests/test_arbitrages.py index fb07e9d..40eda54 100644 --- a/tests/test_arbitrages.py +++ b/tests/test_arbitrages.py @@ -1,11 +1,11 @@ from typing import List -from mev_inspect.arbitrages import get_arbitrages, _get_all_routes -from mev_inspect.schemas.swaps import Swap +from mev_inspect.arbitrages import _get_all_routes, get_arbitrages from mev_inspect.classifiers.specs.uniswap import ( UNISWAP_V2_PAIR_ABI_NAME, UNISWAP_V3_POOL_ABI_NAME, ) +from mev_inspect.schemas.swaps import Swap def test_two_pool_arbitrage(get_transaction_hashes, get_addresses): diff --git a/tests/test_compound.py b/tests/test_compound.py index 1073b0e..94363a1 100644 --- a/tests/test_compound.py +++ b/tests/test_compound.py @@ -1,8 +1,9 @@ +from mev_inspect.classifiers.trace import TraceClassifier from mev_inspect.compound_liquidations import get_compound_liquidations from mev_inspect.schemas.liquidations import Liquidation from mev_inspect.schemas.traces import Protocol -from mev_inspect.classifiers.trace import TraceClassifier -from tests.utils import load_test_block, load_comp_markets, load_cream_markets +from tests.utils import load_comp_markets, load_cream_markets, load_test_block + comp_markets = load_comp_markets() cream_markets = load_cream_markets() diff --git a/tests/test_swaps.py b/tests/test_swaps.py index e51c9b6..d5d8a1b 100644 --- a/tests/test_swaps.py +++ b/tests/test_swaps.py @@ -1,20 +1,16 @@ -from mev_inspect.swaps import get_swaps from mev_inspect.classifiers.specs.balancer import BALANCER_V1_POOL_ABI_NAME -from mev_inspect.classifiers.specs.uniswap import ( - UNISWAP_V2_PAIR_ABI_NAME, - UNISWAP_V3_POOL_ABI_NAME, -) from mev_inspect.classifiers.specs.bancor import ( BANCOR_NETWORK_ABI_NAME, BANCOR_NETWORK_CONTRACT_ADDRESS, ) -from mev_inspect.schemas.traces import Protocol - -from .helpers import ( - make_unknown_trace, - make_transfer_trace, - make_swap_trace, +from mev_inspect.classifiers.specs.uniswap import ( + UNISWAP_V2_PAIR_ABI_NAME, + UNISWAP_V3_POOL_ABI_NAME, ) +from mev_inspect.schemas.traces import Protocol +from mev_inspect.swaps import get_swaps + +from .helpers import make_swap_trace, make_transfer_trace, make_unknown_trace def test_swaps( diff --git a/tests/test_traces.py b/tests/test_traces.py index de4b315..8e9af40 100644 --- a/tests/test_traces.py +++ b/tests/test_traces.py @@ -1,7 +1,7 @@ from typing import List from mev_inspect.schemas.traces import ClassifiedTrace -from mev_inspect.traces import is_child_trace_address, get_child_traces +from mev_inspect.traces import get_child_traces, is_child_trace_address from .helpers import make_many_unknown_traces diff --git a/tests/utils.py b/tests/utils.py index f4c2234..579a875 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,5 +1,6 @@ import json import os + from typing import Dict from mev_inspect.schemas.blocks import Block