tessl install tessl/pypi-web3@7.13.0A Python library for interacting with Ethereum blockchain
Agent Success
Agent success rate when using this tile
88%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.01x
Baseline
Agent success rate without this tile
87%
{
"context": "This criteria evaluates how well the engineer uses web3.py's middleware system to implement a request logging component. The focus is on proper middleware creation, integration with the Web3 instance, and correct usage of the middleware pipeline pattern.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Middleware function signature",
"description": "The middleware function follows the correct signature pattern: `make_request, web3` parameters and returns a callable that takes `method, params`.",
"max_score": 20
},
{
"name": "Web3.middleware_onion usage",
"description": "Uses `Web3.middleware_onion.inject()` or `Web3.middleware_onion.add()` to properly attach the middleware to the Web3 instance's middleware stack.",
"max_score": 25
},
{
"name": "Request interception",
"description": "Correctly intercepts requests by capturing `method` and `params` arguments before calling `make_request(method, params)` to pass the request down the middleware chain.",
"max_score": 20
},
{
"name": "Response handling",
"description": "Properly captures the response by storing the return value from `make_request(method, params)` before returning it to maintain the middleware pipeline flow.",
"max_score": 15
},
{
"name": "State management",
"description": "Maintains state across multiple requests using instance variables or closure variables to track call history and request count.",
"max_score": 10
},
{
"name": "Call history structure",
"description": "Returns call history as a list of dictionaries with the required keys: `method`, `params`, `response`, and `timestamp` in the correct format.",
"max_score": 10
}
]
}