diff --git a/mev_inspect/processor.py b/mev_inspect/processor.py index 7e6bba8..b9fa72f 100644 --- a/mev_inspect/processor.py +++ b/mev_inspect/processor.py @@ -5,7 +5,7 @@ from mev_inspect.decode import ABIDecoder from mev_inspect.schemas.blocks import Block, Trace, TraceType from mev_inspect.schemas.classifications import ( Classification, - ClassificationType, + ClassifiedTrace, DecodeSpec, ) @@ -28,22 +28,22 @@ class Processor: def process( self, block: Block, - ) -> List[Classification]: + ) -> List[ClassifiedTrace]: return [ self._classify(trace) for trace in block.traces if trace.type != TraceType.reward ] - def _classify(self, trace: Trace) -> Classification: + def _classify(self, trace: Trace) -> ClassifiedTrace: if trace.type == TraceType.call: - classification = self._classify_call(trace) - if classification is not None: - return classification + classified_trace = self._classify_call(trace) + if classified_trace is not None: + return classified_trace - return self._build_unknown_classification(trace) + return self._build_unknown_classified_trace(trace) - def _classify_call(self, trace) -> Optional[Classification]: + def _classify_call(self, trace) -> Optional[ClassifiedTrace]: to_address = trace.action["to"] for spec in self._decode_specs: @@ -58,12 +58,12 @@ class Processor: call_data = decoder.decode(trace.action["input"]) if call_data is not None: - return Classification( + return ClassifiedTrace( transaction_hash=trace.transaction_hash, block_number=trace.block_number, trace_type=trace.type, trace_address=trace.trace_address, - classification_type=ClassificationType.unknown, + classification=Classification.unknown, protocol=spec.protocol, function_name=call_data.function_name, function_signature=call_data.function_signature, @@ -73,13 +73,13 @@ class Processor: return None @staticmethod - def _build_unknown_classification(trace): - return Classification( + def _build_unknown_classified_trace(trace): + return ClassifiedTrace( transaction_hash=trace.transaction_hash, block_number=trace.block_number, trace_type=trace.type, trace_address=trace.trace_address, - classification_type=ClassificationType.unknown, + classification=Classification.unknown, protocol=None, function_name=None, function_signature=None, diff --git a/mev_inspect/schemas/classifications.py b/mev_inspect/schemas/classifications.py index 8e92881..6b5d4d4 100644 --- a/mev_inspect/schemas/classifications.py +++ b/mev_inspect/schemas/classifications.py @@ -6,7 +6,7 @@ from pydantic import BaseModel from .blocks import TraceType -class ClassificationType(Enum): +class Classification(Enum): unknown = "unknown" swap = "swap" @@ -16,12 +16,12 @@ class Protocol(Enum): sushiswap = "sushiswap" -class Classification(BaseModel): +class ClassifiedTrace(BaseModel): transaction_hash: str block_number: int trace_type: TraceType trace_address: List[int] - classification_type: ClassificationType + classification: Classification protocol: Optional[Protocol] function_name: Optional[str] function_signature: Optional[str]