mev-inspect-py/mev_inspect/schemas/classifier_specs.py
2021-09-28 12:55:03 -04:00

21 lines
573 B
Python

from typing import Callable, Dict, List, Optional
from pydantic import BaseModel
from .classified_traces import Classification, DecodedCallTrace, Protocol
from .transfers import Transfer
TransferClassifier = Callable[
[DecodedCallTrace, List[DecodedCallTrace], List[DecodedCallTrace]],
Transfer,
]
class ClassifierSpec(BaseModel):
abi_name: str
protocol: Optional[Protocol] = None
valid_contract_addresses: Optional[List[str]] = None
classifications: Dict[str, Classification] = {}
transfer_classifiers: Dict[str, TransferClassifier] = {}