Trace classifier imp

This commit is contained in:
Gui Heise 2021-08-27 13:34:34 -04:00
parent 2e1ae27744
commit ae20953c23
2 changed files with 8 additions and 14 deletions

View File

@ -6,6 +6,8 @@ from mev_inspect.schemas.blocks import CallAction, CallResult, Trace, TraceType
from mev_inspect.schemas.classified_traces import ( from mev_inspect.schemas.classified_traces import (
Classification, Classification,
ClassifiedTrace, ClassifiedTrace,
Call,
ClassifiedCall,
ClassifierSpec, ClassifierSpec,
) )
@ -69,7 +71,7 @@ class TraceClassifier:
signature, Classification.unknown signature, Classification.unknown
) )
return ClassifiedTrace( return ClassifiedCall(
**trace.dict(), **trace.dict(),
trace_type=trace.type, trace_type=trace.type,
classification=classification, classification=classification,
@ -85,7 +87,7 @@ class TraceClassifier:
gas_used=result.gas_used if result is not None else None, gas_used=result.gas_used if result is not None else None,
) )
return ClassifiedTrace( return Call(
**trace.dict(), **trace.dict(),
trace_type=trace.type, trace_type=trace.type,
classification=Classification.unknown, classification=Classification.unknown,

View File

@ -38,9 +38,6 @@ class ClassifiedTrace(Trace):
trace_address: List[int] trace_address: List[int]
classification: Classification classification: Classification
error: Optional[str] error: Optional[str]
block_hash: Optional[str]
subtraces: Optional[int]
action: Optional[dict]
to_address: Optional[str] to_address: Optional[str]
from_address: Optional[str] from_address: Optional[str]
gas: Optional[int] gas: Optional[int]
@ -64,22 +61,17 @@ class Call(ClassifiedTrace):
to_address: str to_address: str
from_address: str from_address: str
inputs: Dict[str, Any]
class ClassifiedCall(ClassifiedTrace): class ClassifiedCall(ClassifiedTrace):
inputs: Dict[str, Any]
abi_name: str
gas: Optional[int] gas: Optional[int]
gas_used: Optional[int] gas_used: Optional[int]
function_name: Optional[str] function_name: Optional[str]
function_signature: Optional[str] function_signature: Optional[str]
abi_name: str
class Config:
json_encoders = {
# a little lazy but fine for now
# this is used for bytes value inputs
bytes: lambda b: b.hex(),
}
# -------- Swaps ------------------------------------------------------------------------------ # -------- Swaps ------------------------------------------------------------------------------