21 lines
573 B
Python
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] = {}
|