A Python library for interacting with Ethereum blockchain
88
Pending
Does it follow best practices?
Impact
88%
1.01xAverage score across 10 eval scenarios
Pending
The risk profile of this skill
{
"context": "This evaluation assesses how effectively the engineer uses web3.py's event processing capabilities, specifically focusing on the contract event API and the configurable error handling modes for processing transaction receipt logs.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Contract instantiation",
"description": "Creates a Web3 contract instance using web3.eth.contract() with the provided ABI to access event processing capabilities",
"max_score": 15
},
{
"name": "Event processing method",
"description": "Uses contract.events.<EventName>().process_receipt() or contract.events.<EventName>().process_log() to decode events from the transaction receipt",
"max_score": 25
},
{
"name": "Strict mode implementation",
"description": "Correctly implements strict error handling mode by passing errors=STRICT (or equivalent) parameter, which raises exceptions on decode failures",
"max_score": 15
},
{
"name": "Warn mode implementation",
"description": "Correctly implements warn error handling mode by passing errors=WARN (or equivalent) parameter, which logs warnings for decode failures but continues processing",
"max_score": 15
},
{
"name": "Ignore mode implementation",
"description": "Correctly implements ignore error handling mode by passing errors=IGNORE (or equivalent) parameter, which silently skips decode failures",
"max_score": 10
},
{
"name": "Discard mode implementation",
"description": "Correctly implements discard error handling mode by passing errors=DISCARD (or equivalent) parameter, which filters out failed events and returns only successfully decoded ones",
"max_score": 10
},
{
"name": "Event data extraction",
"description": "Properly extracts and structures decoded event data including event names and arguments from the processed events, utilizing web3.py's decoded event format",
"max_score": 10
}
]
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10