Also save ABI name
This commit is contained in:
parent
8a0ead84de
commit
44712f0fc0
@ -70,6 +70,7 @@ class Processor:
|
||||
trace_address=trace.trace_address,
|
||||
classification=classification,
|
||||
protocol=spec.protocol,
|
||||
abi_name=spec.abi_name,
|
||||
function_name=call_data.function_name,
|
||||
function_signature=signature,
|
||||
intputs=call_data.inputs,
|
||||
@ -86,6 +87,7 @@ class Processor:
|
||||
trace_address=trace.trace_address,
|
||||
classification=Classification.unknown,
|
||||
protocol=None,
|
||||
abi_name=None,
|
||||
function_name=None,
|
||||
function_signature=None,
|
||||
intputs=None,
|
||||
|
@ -25,6 +25,7 @@ class ClassifiedTrace(BaseModel):
|
||||
trace_address: List[int]
|
||||
classification: Classification
|
||||
protocol: Optional[Protocol]
|
||||
abi_name: Optional[str]
|
||||
function_name: Optional[str]
|
||||
function_signature: Optional[str]
|
||||
inputs: Optional[Dict[str, Any]]
|
||||
|
@ -41,6 +41,11 @@ DECODE_SPECS = [
|
||||
|
||||
|
||||
def inspect_block(base_provider, block_number):
|
||||
print("Using decode specs:")
|
||||
|
||||
for spec in DECODE_SPECS:
|
||||
print(spec.json(indent=4, exclude_unset=True))
|
||||
|
||||
block_data = block.create_from_block_number(block_number, base_provider)
|
||||
print(f"Total traces: {len(block_data.traces)}")
|
||||
|
||||
@ -61,16 +66,16 @@ def inspect_block(base_provider, block_number):
|
||||
stats = {}
|
||||
|
||||
for trace in classified_traces:
|
||||
protocol = trace.protocol
|
||||
abi_name = trace.abi_name
|
||||
classification = trace.classification.value
|
||||
signature = trace.function_signature
|
||||
|
||||
protocol_stats = stats.get(protocol, {})
|
||||
class_stats = protocol_stats.get(classification, {})
|
||||
signature_count = protocol_stats.get(signature, 0)
|
||||
abi_name_stats = stats.get(abi_name, {})
|
||||
class_stats = abi_name_stats.get(classification, {})
|
||||
signature_count = abi_name_stats.get(signature, 0)
|
||||
class_stats[signature] = signature_count + 1
|
||||
protocol_stats[classification] = class_stats
|
||||
stats[protocol] = protocol_stats
|
||||
abi_name_stats[classification] = class_stats
|
||||
stats[abi_name] = abi_name_stats
|
||||
|
||||
print(json.dumps(dict(stats.items()), indent=4))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user