Rename classified_traces file to traces. Move Trace to traces
This commit is contained in:
parent
a5e4a2d1d4
commit
01a27f84c0
@ -4,7 +4,7 @@ from mev_inspect.traces import (
|
|||||||
get_child_traces,
|
get_child_traces,
|
||||||
is_child_of_any_address,
|
is_child_of_any_address,
|
||||||
)
|
)
|
||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
Classification,
|
Classification,
|
||||||
|
@ -4,8 +4,8 @@ from typing import Optional
|
|||||||
|
|
||||||
from pydantic import parse_obj_as
|
from pydantic import parse_obj_as
|
||||||
|
|
||||||
from mev_inspect.schemas import ABI
|
from mev_inspect.schemas.abi import ABI
|
||||||
from mev_inspect.schemas.classified_traces import Protocol
|
from mev_inspect.schemas.traces import Protocol
|
||||||
|
|
||||||
|
|
||||||
THIS_FILE_DIRECTORY = Path(__file__).parents[0]
|
THIS_FILE_DIRECTORY = Path(__file__).parents[0]
|
||||||
|
@ -5,8 +5,9 @@ from sqlalchemy import orm
|
|||||||
from web3 import Web3
|
from web3 import Web3
|
||||||
|
|
||||||
from mev_inspect.fees import fetch_base_fee_per_gas
|
from mev_inspect.fees import fetch_base_fee_per_gas
|
||||||
from mev_inspect.schemas import Block, Trace, TraceType
|
from mev_inspect.schemas.blocks import Block
|
||||||
from mev_inspect.schemas.receipts import Receipt
|
from mev_inspect.schemas.receipts import Receipt
|
||||||
|
from mev_inspect.schemas.traces import Trace, TraceType
|
||||||
|
|
||||||
|
|
||||||
cache_directory = "./cache"
|
cache_directory = "./cache"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from typing import Dict, Optional, Tuple, Type
|
from typing import Dict, Optional, Tuple, Type
|
||||||
|
|
||||||
from mev_inspect.schemas.classified_traces import DecodedCallTrace, Protocol
|
from mev_inspect.schemas.traces import DecodedCallTrace, Protocol
|
||||||
from mev_inspect.schemas.classifiers import ClassifierSpec, Classifier
|
from mev_inspect.schemas.classifiers import ClassifierSpec, Classifier
|
||||||
|
|
||||||
from .aave import AAVE_CLASSIFIER_SPECS
|
from .aave import AAVE_CLASSIFIER_SPECS
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
|
||||||
Protocol,
|
|
||||||
)
|
|
||||||
|
|
||||||
from mev_inspect.schemas.classifiers import (
|
from mev_inspect.schemas.classifiers import (
|
||||||
ClassifierSpec,
|
ClassifierSpec,
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
TransferClassifier,
|
TransferClassifier,
|
||||||
LiquidationClassifier,
|
LiquidationClassifier,
|
||||||
)
|
)
|
||||||
|
from mev_inspect.schemas.traces import Protocol
|
||||||
from mev_inspect.schemas.transfers import Transfer
|
from mev_inspect.schemas.transfers import Transfer
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
Protocol,
|
Protocol,
|
||||||
)
|
)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
Protocol,
|
Protocol,
|
||||||
)
|
)
|
||||||
from mev_inspect.schemas.classifiers import (
|
from mev_inspect.schemas.classifiers import (
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
Protocol,
|
Protocol,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import DecodedCallTrace
|
from mev_inspect.schemas.traces import DecodedCallTrace
|
||||||
from mev_inspect.schemas.classifiers import (
|
from mev_inspect.schemas.classifiers import (
|
||||||
ClassifierSpec,
|
ClassifierSpec,
|
||||||
TransferClassifier,
|
TransferClassifier,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
Protocol,
|
Protocol,
|
||||||
)
|
)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
Protocol,
|
Protocol,
|
||||||
)
|
)
|
||||||
from mev_inspect.schemas.classifiers import (
|
from mev_inspect.schemas.classifiers import (
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
Protocol,
|
Protocol,
|
||||||
)
|
)
|
||||||
from mev_inspect.schemas.classifiers import (
|
from mev_inspect.schemas.classifiers import (
|
||||||
|
@ -2,13 +2,14 @@ from typing import Dict, List, Optional
|
|||||||
|
|
||||||
from mev_inspect.abi import get_abi
|
from mev_inspect.abi import get_abi
|
||||||
from mev_inspect.decode import ABIDecoder
|
from mev_inspect.decode import ABIDecoder
|
||||||
from mev_inspect.schemas.blocks import CallAction, CallResult, Trace, TraceType
|
from mev_inspect.schemas.blocks import CallAction, CallResult
|
||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
Classification,
|
Classification,
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
CallTrace,
|
CallTrace,
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
)
|
)
|
||||||
|
from mev_inspect.schemas.traces import Trace, TraceType
|
||||||
|
|
||||||
from .specs import ALL_CLASSIFIER_SPECS
|
from .specs import ALL_CLASSIFIER_SPECS
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ from typing import Dict, List, Optional
|
|||||||
from web3 import Web3
|
from web3 import Web3
|
||||||
|
|
||||||
from mev_inspect.traces import get_child_traces
|
from mev_inspect.traces import get_child_traces
|
||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
Classification,
|
Classification,
|
||||||
Protocol,
|
Protocol,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import json
|
import json
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from mev_inspect.models.classified_traces import ClassifiedTraceModel
|
from mev_inspect.models.traces import ClassifiedTraceModel
|
||||||
from mev_inspect.schemas.classified_traces import ClassifiedTrace
|
from mev_inspect.schemas.traces import ClassifiedTrace
|
||||||
|
|
||||||
|
|
||||||
def delete_classified_traces_for_block(
|
def delete_classified_traces_for_block(
|
@ -11,7 +11,7 @@ from mev_inspect.crud.arbitrages import (
|
|||||||
delete_arbitrages_for_block,
|
delete_arbitrages_for_block,
|
||||||
write_arbitrages,
|
write_arbitrages,
|
||||||
)
|
)
|
||||||
from mev_inspect.crud.classified_traces import (
|
from mev_inspect.crud.traces import (
|
||||||
delete_classified_traces_for_block,
|
delete_classified_traces_for_block,
|
||||||
write_classified_traces,
|
write_classified_traces,
|
||||||
)
|
)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from mev_inspect.aave_liquidations import get_aave_liquidations
|
from mev_inspect.aave_liquidations import get_aave_liquidations
|
||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
Classification,
|
Classification,
|
||||||
)
|
)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from mev_inspect.schemas.classified_traces import ClassifiedTrace
|
from mev_inspect.schemas.traces import ClassifiedTrace
|
||||||
from mev_inspect.schemas.miner_payments import MinerPayment
|
from mev_inspect.schemas.miner_payments import MinerPayment
|
||||||
from mev_inspect.schemas.receipts import Receipt
|
from mev_inspect.schemas.receipts import Receipt
|
||||||
from mev_inspect.traces import get_traces_by_transaction_hash
|
from mev_inspect.traces import get_traces_by_transaction_hash
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
from .abi import ABI
|
|
||||||
from .blocks import Block, Trace, TraceType
|
|
@ -1,11 +1,11 @@
|
|||||||
from enum import Enum
|
from typing import List
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from pydantic import validator
|
from pydantic import validator
|
||||||
|
|
||||||
from mev_inspect.utils import hex_to_int
|
from mev_inspect.utils import hex_to_int
|
||||||
|
|
||||||
from .receipts import Receipt
|
from .receipts import Receipt
|
||||||
|
from .traces import Trace
|
||||||
from .utils import CamelModel, Web3Model
|
from .utils import CamelModel, Web3Model
|
||||||
|
|
||||||
|
|
||||||
@ -36,27 +36,6 @@ class CallAction(Web3Model):
|
|||||||
fields = {"from_": "from"}
|
fields = {"from_": "from"}
|
||||||
|
|
||||||
|
|
||||||
class TraceType(Enum):
|
|
||||||
call = "call"
|
|
||||||
create = "create"
|
|
||||||
delegate_call = "delegateCall"
|
|
||||||
reward = "reward"
|
|
||||||
suicide = "suicide"
|
|
||||||
|
|
||||||
|
|
||||||
class Trace(CamelModel):
|
|
||||||
action: dict
|
|
||||||
block_hash: str
|
|
||||||
block_number: int
|
|
||||||
result: Optional[dict]
|
|
||||||
subtraces: int
|
|
||||||
trace_address: List[int]
|
|
||||||
transaction_hash: Optional[str]
|
|
||||||
transaction_position: Optional[int]
|
|
||||||
type: TraceType
|
|
||||||
error: Optional[str]
|
|
||||||
|
|
||||||
|
|
||||||
class Block(Web3Model):
|
class Block(Web3Model):
|
||||||
block_number: int
|
block_number: int
|
||||||
miner: str
|
miner: str
|
||||||
|
@ -3,7 +3,7 @@ from typing import Dict, List, Optional, Type
|
|||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from .classified_traces import Classification, DecodedCallTrace, Protocol
|
from .traces import Classification, DecodedCallTrace, Protocol
|
||||||
from .transfers import Transfer
|
from .transfers import Transfer
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from mev_inspect.schemas.classified_traces import Protocol
|
from mev_inspect.schemas.traces import Protocol
|
||||||
|
|
||||||
|
|
||||||
class Liquidation(BaseModel):
|
class Liquidation(BaseModel):
|
||||||
|
@ -2,7 +2,7 @@ from typing import List, Optional
|
|||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from mev_inspect.schemas.classified_traces import Protocol
|
from mev_inspect.schemas.traces import Protocol
|
||||||
|
|
||||||
|
|
||||||
class Swap(BaseModel):
|
class Swap(BaseModel):
|
||||||
|
@ -1,7 +1,28 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
from .blocks import Trace
|
from .utils import CamelModel
|
||||||
|
|
||||||
|
|
||||||
|
class TraceType(Enum):
|
||||||
|
call = "call"
|
||||||
|
create = "create"
|
||||||
|
delegate_call = "delegateCall"
|
||||||
|
reward = "reward"
|
||||||
|
suicide = "suicide"
|
||||||
|
|
||||||
|
|
||||||
|
class Trace(CamelModel):
|
||||||
|
action: dict
|
||||||
|
block_hash: str
|
||||||
|
block_number: int
|
||||||
|
result: Optional[dict]
|
||||||
|
subtraces: int
|
||||||
|
trace_address: List[int]
|
||||||
|
transaction_hash: Optional[str]
|
||||||
|
transaction_position: Optional[int]
|
||||||
|
type: TraceType
|
||||||
|
error: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
class Classification(Enum):
|
class Classification(Enum):
|
@ -1,7 +1,7 @@
|
|||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from mev_inspect.classifiers.specs import get_classifier
|
from mev_inspect.classifiers.specs import get_classifier
|
||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
Classification,
|
Classification,
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from mev_inspect.schemas import Block, Trace, TraceType
|
from mev_inspect.schemas.blocks import Block
|
||||||
|
from mev_inspect.schemas.traces import Trace, TraceType
|
||||||
|
|
||||||
weth_address = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
|
weth_address = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
from typing import Dict, List
|
from typing import Dict, List
|
||||||
|
|
||||||
from mev_inspect.schemas.classified_traces import ClassifiedTrace
|
from mev_inspect.schemas.traces import ClassifiedTrace
|
||||||
|
|
||||||
|
|
||||||
def is_child_trace_address(
|
def is_child_trace_address(
|
||||||
|
@ -2,7 +2,7 @@ from typing import Dict, List, Optional, Sequence
|
|||||||
|
|
||||||
from mev_inspect.classifiers.specs import get_classifier
|
from mev_inspect.classifiers.specs import get_classifier
|
||||||
from mev_inspect.schemas.classifiers import TransferClassifier
|
from mev_inspect.schemas.classifiers import TransferClassifier
|
||||||
from mev_inspect.schemas.classified_traces import (
|
from mev_inspect.schemas.traces import (
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
)
|
)
|
||||||
|
1
tests/blocks/12412732.json
Normal file
1
tests/blocks/12412732.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,11 +1,11 @@
|
|||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from mev_inspect.schemas.blocks import TraceType
|
from mev_inspect.schemas.traces import (
|
||||||
from mev_inspect.schemas.classified_traces import (
|
|
||||||
Classification,
|
Classification,
|
||||||
ClassifiedTrace,
|
ClassifiedTrace,
|
||||||
DecodedCallTrace,
|
DecodedCallTrace,
|
||||||
Protocol,
|
Protocol,
|
||||||
|
TraceType,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ from typing import List
|
|||||||
|
|
||||||
from mev_inspect.aave_liquidations import get_aave_liquidations
|
from mev_inspect.aave_liquidations import get_aave_liquidations
|
||||||
from mev_inspect.schemas.liquidations import Liquidation
|
from mev_inspect.schemas.liquidations import Liquidation
|
||||||
from mev_inspect.schemas.classified_traces import Protocol
|
from mev_inspect.schemas.traces import Protocol
|
||||||
from mev_inspect.classifiers.trace import TraceClassifier
|
from mev_inspect.classifiers.trace import TraceClassifier
|
||||||
from tests.utils import load_test_block
|
from tests.utils import load_test_block
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from mev_inspect.compound_liquidations import get_compound_liquidations
|
from mev_inspect.compound_liquidations import get_compound_liquidations
|
||||||
from mev_inspect.schemas.liquidations import Liquidation
|
from mev_inspect.schemas.liquidations import Liquidation
|
||||||
from mev_inspect.schemas.classified_traces import Protocol
|
from mev_inspect.schemas.traces import Protocol
|
||||||
from mev_inspect.classifiers.trace import TraceClassifier
|
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_test_block, load_comp_markets, load_cream_markets
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ from mev_inspect.classifiers.specs.uniswap import (
|
|||||||
UNISWAP_V2_PAIR_ABI_NAME,
|
UNISWAP_V2_PAIR_ABI_NAME,
|
||||||
UNISWAP_V3_POOL_ABI_NAME,
|
UNISWAP_V3_POOL_ABI_NAME,
|
||||||
)
|
)
|
||||||
from mev_inspect.schemas.classified_traces import Protocol
|
from mev_inspect.schemas.traces import Protocol
|
||||||
|
|
||||||
from .helpers import (
|
from .helpers import (
|
||||||
make_unknown_trace,
|
make_unknown_trace,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from mev_inspect.schemas.classified_traces import ClassifiedTrace
|
from mev_inspect.schemas.traces import ClassifiedTrace
|
||||||
from mev_inspect.traces import is_child_trace_address, get_child_traces
|
from mev_inspect.traces import is_child_trace_address, get_child_traces
|
||||||
|
|
||||||
from .helpers import make_many_unknown_traces
|
from .helpers import make_many_unknown_traces
|
||||||
|
Loading…
x
Reference in New Issue
Block a user