or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/web3@7.13.x
tile.json

tessl/pypi-web3

tessl install tessl/pypi-web3@7.13.0

A 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%

rubric.jsonevals/scenario-7/

{
  "context": "This criteria evaluates how effectively the engineer uses the web3.py library to estimate gas costs for ERC-20 token transfers. The focus is on proper usage of Web3 provider connection, contract instantiation, and the estimate_gas() method for transaction gas estimation.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Web3 instantiation",
      "description": "Uses Web3 class with an appropriate provider (e.g., Web3.HTTPProvider, Web3.WebsocketProvider) to establish connection to Ethereum node",
      "max_score": 15
    },
    {
      "name": "Connection verification",
      "description": "Uses web3.is_connected() method to check if the connection to the Ethereum node is active",
      "max_score": 10
    },
    {
      "name": "Contract object creation",
      "description": "Creates a contract instance using web3.eth.contract() with the token address and appropriate ERC-20 ABI",
      "max_score": 20
    },
    {
      "name": "Estimate gas method",
      "description": "Uses the estimate_gas() method on contract functions (specifically the transfer function) to estimate gas requirements for transactions",
      "max_score": 25
    },
    {
      "name": "Transaction parameters",
      "description": "Properly structures transaction parameters dictionary with 'from' address when calling estimate_gas(), passes correct arguments to the transfer function (to_address, amount)",
      "max_score": 15
    },
    {
      "name": "Multiple estimations",
      "description": "Correctly iterates through multiple amounts and performs separate estimate_gas() calls for each, collecting results in a dictionary structure",
      "max_score": 10
    },
    {
      "name": "Exception handling",
      "description": "Catches and handles exceptions that may be raised by estimate_gas() when estimation fails (e.g., ContractLogicError, BadFunctionCallOutput, or general exceptions from web3)",
      "max_score": 5
    }
  ]
}