Trace classifier imp
This commit is contained in:
parent
2e1ae27744
commit
ae20953c23
@ -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,
|
||||||
|
@ -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 ------------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user