diff --git a/index.html b/index.html index ce27c98421..15bf05cc99 100644 --- a/index.html +++ b/index.html @@ -2,4 +2,4 @@ Redirecting... - + diff --git a/latest/.doctrees/commands/networks.doctree b/latest/.doctrees/commands/networks.doctree index 8bf50e0607..163ad22fe7 100644 Binary files a/latest/.doctrees/commands/networks.doctree and b/latest/.doctrees/commands/networks.doctree differ diff --git a/latest/.doctrees/environment.pickle b/latest/.doctrees/environment.pickle index 1a0db5e327..f78aea9e50 100644 Binary files a/latest/.doctrees/environment.pickle and b/latest/.doctrees/environment.pickle differ diff --git a/latest/.doctrees/methoddocs/ape.doctree b/latest/.doctrees/methoddocs/ape.doctree index 9f3f86a9be..d97975c623 100644 Binary files a/latest/.doctrees/methoddocs/ape.doctree and b/latest/.doctrees/methoddocs/ape.doctree differ diff --git a/latest/.doctrees/methoddocs/ape_ethereum.doctree b/latest/.doctrees/methoddocs/ape_ethereum.doctree index 5f9d8f2050..76667cdab1 100644 Binary files a/latest/.doctrees/methoddocs/ape_ethereum.doctree and b/latest/.doctrees/methoddocs/ape_ethereum.doctree differ diff --git a/latest/.doctrees/methoddocs/ape_node.doctree b/latest/.doctrees/methoddocs/ape_node.doctree index 471c16ccf9..ca0eb576dc 100644 Binary files a/latest/.doctrees/methoddocs/ape_node.doctree and b/latest/.doctrees/methoddocs/ape_node.doctree differ diff --git a/latest/.doctrees/methoddocs/api.doctree b/latest/.doctrees/methoddocs/api.doctree index 1bfb17ba52..7723186fd7 100644 Binary files a/latest/.doctrees/methoddocs/api.doctree and b/latest/.doctrees/methoddocs/api.doctree differ diff --git a/latest/.doctrees/methoddocs/cli.doctree b/latest/.doctrees/methoddocs/cli.doctree index b875c377bc..69269cdf96 100644 Binary files a/latest/.doctrees/methoddocs/cli.doctree and b/latest/.doctrees/methoddocs/cli.doctree differ diff --git a/latest/.doctrees/methoddocs/contracts.doctree b/latest/.doctrees/methoddocs/contracts.doctree index 49d93f08ac..b591e01d00 100644 Binary files a/latest/.doctrees/methoddocs/contracts.doctree and b/latest/.doctrees/methoddocs/contracts.doctree differ diff --git a/latest/.doctrees/methoddocs/exceptions.doctree b/latest/.doctrees/methoddocs/exceptions.doctree index 6d386cde86..19d42cfc88 100644 Binary files a/latest/.doctrees/methoddocs/exceptions.doctree and b/latest/.doctrees/methoddocs/exceptions.doctree differ diff --git a/latest/.doctrees/methoddocs/managers.doctree b/latest/.doctrees/methoddocs/managers.doctree index 7b14cdd3f8..3cc5f10ffd 100644 Binary files a/latest/.doctrees/methoddocs/managers.doctree and b/latest/.doctrees/methoddocs/managers.doctree differ diff --git a/latest/.doctrees/methoddocs/plugins.doctree b/latest/.doctrees/methoddocs/plugins.doctree index 7d1b4c2edc..392766d2ee 100644 Binary files a/latest/.doctrees/methoddocs/plugins.doctree and b/latest/.doctrees/methoddocs/plugins.doctree differ diff --git a/latest/.doctrees/methoddocs/types.doctree b/latest/.doctrees/methoddocs/types.doctree index fd406c177b..46505dcd7e 100644 Binary files a/latest/.doctrees/methoddocs/types.doctree and b/latest/.doctrees/methoddocs/types.doctree differ diff --git a/latest/.doctrees/methoddocs/utils.doctree b/latest/.doctrees/methoddocs/utils.doctree index 0a2dea3f5d..9508961c39 100644 Binary files a/latest/.doctrees/methoddocs/utils.doctree and b/latest/.doctrees/methoddocs/utils.doctree differ diff --git a/latest/commands/networks.html b/latest/commands/networks.html index 38e63f25a7..cfe7e399ce 100644 --- a/latest/commands/networks.html +++ b/latest/commands/networks.html @@ -204,7 +204,7 @@

list

Filter the results by network

Options:
-

sepolia | mainnet-fork | goerli | holesky | sepolia-fork | local | mainnet | holesky-fork

+

holesky | mainnet | local | goerli | holesky-fork | mainnet-fork | sepolia-fork | sepolia

diff --git a/latest/methoddocs/ape_node.html b/latest/methoddocs/ape_node.html index 179bbf4264..f60d3f6e75 100644 --- a/latest/methoddocs/ape_node.html +++ b/latest/methoddocs/ape_node.html @@ -196,12 +196,12 @@

ape-node

-class ape_node.EthereumNetworkConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, mainnet: dict = {'uri': 'https://api.mycryptoapi.com/eth'}, holesky: dict = {'uri': 'https://rpc-holesky.rockx.com'}, sepolia: dict = {'uri': 'https://rpc.sepolia.org'}, local: dict = {'chain_id': 1337, 'uri': 'http://localhost:8545'}, **values: Any)
+class ape_node.EthereumNetworkConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, mainnet: dict = {'uri': 'https://cloudflare-eth.com'}, holesky: dict = {'uri': 'https://rpc.holesky.ethpandaops.io'}, sepolia: dict = {'uri': 'https://rpc.sepolia.ethpandaops.io'}, local: dict = {'chain_id': 1337, 'uri': 'http://localhost:8545'}, **values: Any)
-class ape_node.EthereumNodeConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, ethereum: EthereumNetworkConfig = EthereumNetworkConfig(mainnet={'uri': 'https://api.mycryptoapi.com/eth'}, holesky={'uri': 'https://rpc-holesky.rockx.com'}, sepolia={'uri': 'https://rpc.sepolia.org'}, local={'uri': 'http://localhost:8545', 'chain_id': 1337}), executable: str | None = None, data_dir: Path | None = None, ipc_path: Path | None = None, call_trace_approach: TraceApproach | None = None, request_headers: dict = {}, **values: Any)
+class ape_node.EthereumNodeConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, ethereum: EthereumNetworkConfig = EthereumNetworkConfig(mainnet={'uri': 'https://cloudflare-eth.com'}, holesky={'uri': 'https://rpc.holesky.ethpandaops.io'}, sepolia={'uri': 'https://rpc.sepolia.ethpandaops.io'}, local={'uri': 'http://localhost:8545', 'chain_id': 1337}), executable: str | None = None, data_dir: Path | None = None, ipc_path: Path | None = None, call_trace_approach: TraceApproach | None = None, request_headers: dict = {}, **values: Any)

Configure your node: in Ape, the default provider plugin for live-network nodes. Also, ape node can start-up a local development node for testing purposes.

diff --git a/latest/searchindex.js b/latest/searchindex.js index b26d916c07..b6cf070eda 100644 --- a/latest/searchindex.js +++ b/latest/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"%ape": [[29, "ape"]], "%bal": [[29, "bal"]], "ABI": [[24, "module-ape.utils.abi"]], "Access List Transactions": [[46, "access-list-transactions"]], "Account Tools": [[26, "account-tools"]], "Accounts": [[17, "module-ape.api.accounts"], [21, "module-ape.managers.accounts"], [22, "module-ape.plugins.account"], [25, null]], "Address": [[17, "module-ape.api.address"], [23, "module-ape.types.address"]], "Advanced Testing Tips": [[44, "advanced-testing-tips"]], "Ape Context Decorator": [[26, "ape-context-decorator"]], "Ape Namespace": [[29, "ape-namespace"]], "Ape testing commands": [[44, "ape-testing-commands"]], "Arguments": [[18, "module-ape.cli.arguments"]], "Automation": [[25, "automation"]], "Base": [[22, "module-ape.plugins.pluggy_patch"]], "Base Path": [[28, "base-path"]], "Basemodel": [[24, "module-ape.utils.basemodel"]], "Basic": [[23, "module-ape.types.basic"]], "Block time, transaction type, and more config": [[37, "block-time-transaction-type-and-more-config"]], "Built-in Errors": [[42, "built-in-errors"]], "CLI Logging": [[36, "cli-logging"]], "CLI Plugins": [[33, "cli-plugins"]], "CLI Reference": [[9, null]], "CLI Scripts": [[43, "cli-scripts"]], "CLIs": [[26, null]], "Calling Transactions and Transacting Calls": [[30, "calling-transactions-and-transacting-calls"]], "Calls": [[30, "calls"]], "Caveats": [[44, "caveats"]], "Chain": [[21, "chain"]], "Choices": [[18, "module-ape.cli.choices"]], "Commands": [[18, "module-ape.cli.commands"]], "Compilation": [[40, "compilation"]], "Compile": [[27, null]], "Compile Source Code": [[27, "compile-source-code"]], "Compiler": [[17, "module-ape.api.compiler"], [22, "module-ape.plugins.compiler"]], "Compilers": [[21, "module-ape.managers.compilers"]], "Compiling Dependencies": [[32, "compiling-dependencies"]], "Config": [[17, "module-ape.api.config"], [21, "module-ape.managers.config"], [22, "module-ape.plugins.config"]], "Config Override": [[32, "config-override"]], "Configure": [[29, "configure"]], "Configure Ape": [[28, null]], "Configure Default": [[34, "configure-default"]], "Configuring Networks": [[37, "configuring-networks"]], "Considerations for Installing": [[41, "considerations-for-installing"]], "Console": [[29, null]], "Contract Coverage": [[44, "contract-coverage"]], "Contract File Paths": [[26, "contract-file-paths"]], "Contract Interaction": [[30, "contract-interaction"]], "Contract Interface Introspection": [[30, "contract-interface-introspection"]], "Contract fixture": [[44, "contract-fixture"]], "Contracts": [[30, null]], "Contracts Folder": [[28, "contracts-folder"]], "Convert": [[17, "module-ape.api.convert"]], "Converter": [[22, "module-ape.plugins.converter"]], "Converters": [[21, "module-ape.managers.converters"]], "Core Plugins": [[35, "core-plugins"]], "Core Python Reference": [[9, null]], "Coverage": [[23, "module-ape.types.coverage"]], "Creating new test accounts": [[25, "creating-new-test-accounts"]], "Custom Contracts Folder": [[32, "custom-contracts-folder"]], "Custom Errors": [[42, "custom-errors"], [44, "custom-errors"]], "Custom Network Connection": [[37, "custom-network-connection"]], "Custom Networks By Config": [[37, "custom-networks-by-config"]], "Custom Networks by CLI": [[37, "custom-networks-by-cli"]], "Decoding and Encoding Inputs": [[30, "decoding-and-encoding-inputs"]], "Default Ecosystem": [[28, "default-ecosystem"]], "Default Sender Support": [[25, "default-sender-support"], [25, "id1"]], "Default, Fallback, and Direct Calls": [[30, "default-fallback-and-direct-calls"]], "Dependencies": [[27, "dependencies"], [28, "dependencies"], [32, null], [38, "dependencies"]], "Deploy Scripts": [[30, "deploy-scripts"]], "Deployment": [[46, "deployment"]], "Deployment Metadata": [[46, "deployment-metadata"]], "Deployment from Ape Console": [[46, "deployment-from-ape-console"]], "Deployments": [[28, "deployments"]], "Dev Messages": [[42, "dev-messages"]], "Developing Plugins": [[33, null]], "Developing Projects with Ape": [[38, null]], "Documentation": [[41, "documentation"]], "Dynamic-Fee Transactions": [[46, "dynamic-fee-transactions"]], "EIP-712": [[25, "eip-712"]], "Estimate Gas Cost": [[46, "estimate-gas-cost"]], "Events": [[23, "module-ape.types.events"]], "Exclude Files": [[27, "exclude-files"]], "Executing Code": [[29, "executing-code"]], "Explorer URL": [[37, "explorer-url"]], "Explorers": [[17, "module-ape.api.explorers"]], "Exporting Accounts": [[25, "exporting-accounts"]], "File Exclusions": [[32, "file-exclusions"]], "Fixtures": [[44, "fixtures"]], "Forked Context": [[34, "forked-context"], [37, "forked-context"]], "Forking Custom Networks": [[37, "forking-custom-networks"]], "Forking Networks": [[34, null]], "Forking Plugin Networks": [[34, "forking-plugin-networks"]], "From ABIs": [[30, "from-abis"]], "From Any Address": [[30, "from-any-address"]], "From Deploy": [[30, "from-deploy"]], "From Previous Deployment": [[30, "from-previous-deployment"]], "From Project Contract Address": [[30, "from-project-contract-address"]], "Gas": [[23, "module-ape.types.gas"]], "Gas Reporting": [[44, "gas-reporting"]], "Gas Reports": [[45, "gas-reports"]], "Generating New Accounts": [[25, "generating-new-accounts"]], "Getting Account Transaction Data": [[31, "getting-account-transaction-data"]], "Getting Block Data": [[31, "getting-block-data"]], "Getting Contract Event Data": [[31, "getting-contract-event-data"]], "GitHub": [[32, "github"]], "Global Extras": [[29, "global-extras"]], "Hardware Wallets": [[25, "hardware-wallets"]], "Implementing API Classes": [[33, "implementing-api-classes"]], "Import the logger from the logging module": [[33, "import-the-logger-from-the-logging-module"]], "Importing Existing Accounts": [[25, "importing-existing-accounts"]], "Init Function": [[29, "init-function"]], "Initialize a Plugin Project": [[33, "initialize-a-plugin-project"]], "Inlining": [[44, "inlining"]], "Installation": [[41, "installation"]], "Installed Python Projects": [[38, "installed-python-projects"]], "Installing Plugins": [[35, "installing-plugins"]], "Installing with docker": [[41, "installing-with-docker"]], "Installing with pipx or pip": [[41, "installing-with-pipx-or-pip"]], "Iterative Testing": [[44, "iterative-testing"]], "Keyfile Accounts": [[25, "keyfile-accounts"]], "L2 Networks": [[37, "l2-networks"]], "Language Support": [[44, "language-support"]], "Live Network Accounts": [[25, "live-network-accounts"]], "Live Networks": [[37, "live-networks"]], "Local": [[32, "local"]], "Local Network": [[37, "local-network"]], "Logging": [[33, "logging"], [36, null]], "Magic Commands": [[29, "magic-commands"]], "Main Method Scripts": [[43, "main-method-scripts"]], "Mining": [[44, "mining"]], "Misc": [[32, "misc"]], "Miscellaneous": [[24, "module-ape.utils.misc"]], "Multi-Call and Multi-Transaction": [[30, "multi-call-and-multi-transaction"]], "Multi-chain Testing": [[44, "multi-chain-testing"]], "Multi-network Scripting": [[43, "multi-network-scripting"]], "NPM": [[32, "npm"]], "Namespace Extras": [[29, "namespace-extras"]], "Network": [[22, "module-ape.plugins.network"]], "Network Config": [[37, "network-config"]], "Network Tools": [[26, "network-tools"]], "Networks": [[17, "module-ape.api.networks"], [21, "module-ape.managers.networks"], [28, "networks"], [37, null]], "Node": [[28, "node"]], "Non-plugin settings": [[28, "non-plugin-settings"]], "Non-reentrant Functions": [[44, "non-reentrant-functions"]], "OS": [[24, "module-ape.utils.os"]], "Options": [[18, "module-ape.cli.options"]], "Other Compiler Plugins": [[27, "other-compiler-plugins"]], "Other Projects": [[38, "other-projects"]], "Output Extra": [[27, "output-extra"]], "Overview": [[41, null]], "Package Management CLI": [[32, "package-management-cli"]], "Parameter Types": [[18, "module-ape.cli.paramtype"]], "Payable Transactions": [[46, "payable-transactions"]], "Plugin Python Reference": [[9, null]], "Plugin Settings": [[28, "plugin-settings"]], "Plugin System": [[41, "plugin-system"]], "Plugin Types": [[35, "plugin-types"]], "Plugin Versions": [[35, "plugin-versions"]], "Plugins": [[28, "plugins"], [35, null]], "Prerequisite": [[41, "prerequisite"]], "Private Transactions": [[30, "private-transactions"]], "Process": [[24, "module-ape.utils.process"]], "Project": [[21, "module-ape.managers.project"], [22, "module-ape.plugins.project"]], "Project Manifests": [[38, "project-manifests"]], "Projects": [[17, "module-ape.api.projects"]], "Provider Context Manager": [[37, "provider-context-manager"]], "Provider Interaction": [[37, "provider-interaction"]], "Providers": [[17, "module-ape.api.providers"]], "Proxy Contracts": [[39, null]], "Publishing": [[30, "publishing"], [40, null]], "Publishing to Explorer": [[40, "publishing-to-explorer"]], "PyPI": [[32, "pypi"]], "Pytest": [[44, "pytest"]], "Python Logging": [[36, "python-logging"]], "Query": [[17, "module-ape.api.query"], [21, "module-ape.managers.query"], [22, "module-ape.plugins.query"]], "Querying Data": [[31, null]], "Quickstart": [[41, "quickstart"]], "RPC": [[24, "module-ape.utils.rpc"]], "RPC URL": [[37, "rpc-url"]], "Registering API Classes": [[33, "registering-api-classes"]], "Request Headers": [[28, "request-headers"], [37, "request-headers"]], "Reverts": [[42, null]], "Running a Network Process": [[37, "running-a-network-process"]], "Scripting": [[43, null]], "Selecting a Network": [[37, "selecting-a-network"]], "Settings": [[27, "settings"]], "Signatures": [[23, "signatures"]], "Signing Messages": [[25, "signing-messages"]], "Solidity Import Remapping": [[32, "solidity-import-remapping"]], "Static-Fee Transactions": [[46, "static-fee-transactions"]], "Test Accounts": [[25, "test-accounts"]], "Test Pattern": [[44, "test-pattern"]], "Test Providers": [[44, "test-providers"]], "Test Structure": [[44, "test-structure"]], "Testing": [[24, "module-ape.utils.testing"], [28, "testing"], [44, null]], "Testing Transaction Reverts": [[44, "testing-transaction-reverts"]], "The JSON Compiler": [[27, "the-json-compiler"]], "The Local Project": [[38, "the-local-project"]], "Trace": [[23, "module-ape.types.trace"], [24, "module-ape.utils.trace"]], "Traces": [[45, null], [46, "traces"]], "Tracing Calls": [[45, "tracing-calls"]], "Tracking Deployments": [[40, "tracking-deployments"]], "Transaction Acceptance Timeout": [[46, "transaction-acceptance-timeout"]], "Transaction Logs": [[46, "transaction-logs"]], "Transactions": [[17, "transactions"], [30, "transactions"], [46, null]], "Transfer": [[46, "transfer"]], "Types of Dependencies": [[32, "types-of-dependencies"]], "Units": [[23, "module-ape.types.units"]], "Use test accounts in tests": [[25, "use-test-accounts-in-tests"]], "Use test accounts outside of tests": [[25, "use-test-accounts-outside-of-tests"]], "Use the logger from the @ape_cli_context": [[33, "use-the-logger-from-the-ape-cli-context"]], "User Guides": [[9, null]], "Using Plugins": [[33, "using-plugins"]], "Using the Cache": [[31, "using-the-cache"]], "VM": [[23, "module-ape.types.vm"]], "Verifying Signature": [[25, "verifying-signature"]], "accounts": [[0, null]], "accounts fixture": [[44, "accounts-fixture"]], "ape": [[10, null]], "ape-accounts": [[11, null]], "ape-compile": [[12, null]], "ape-ethereum": [[13, null]], "ape-ethereum.multicall": [[13, "module-ape_ethereum.multicall"]], "ape-node": [[14, null]], "ape-pm": [[15, null]], "ape-test": [[16, null]], "ape.api": [[17, null]], "ape.cli": [[18, null]], "ape.contracts": [[19, null]], "ape.exceptions": [[20, null]], "ape.managers": [[21, null]], "ape.plugins": [[22, null]], "ape.types": [[23, null]], "ape.utils": [[24, null]], "chain fixture": [[44, "chain-fixture"]], "change-password": [[0, "accounts-change-password"]], "change-version": [[5, "plugins-change-version"]], "compile": [[1, null], [6, "pm-compile"], [32, "compile"]], "console": [[2, null], [2, "console"]], "delete": [[0, "accounts-delete"]], "dev_message": [[44, "dev-message"]], "evmchains Networks": [[37, "evmchains-networks"]], "expected_message": [[44, "expected-message"]], "export": [[0, "accounts-export"]], "generate": [[0, "accounts-generate"]], "import": [[0, "accounts-import"]], "init": [[3, null]], "install": [[5, "plugins-install"], [6, "pm-install"], [32, "install"]], "list": [[0, "accounts-list"], [4, "networks-list"], [5, "plugins-list"], [6, "pm-list"], [32, "list"]], "networks": [[4, null]], "networks fixture": [[44, "networks-fixture"]], "plugins": [[5, null]], "pm": [[6, null]], "project fixture": [[44, "project-fixture"]], "run": [[4, "networks-run"], [7, null], [7, "run"]], "test": [[8, null]], "uninstall": [[5, "plugins-uninstall"], [6, "pm-uninstall"], [32, "uninstall"]], "update": [[5, "plugins-update"]]}, "docnames": ["commands/accounts", "commands/compile", "commands/console", "commands/init", "commands/networks", "commands/plugins", "commands/pm", "commands/run", "commands/test", "index", "methoddocs/ape", "methoddocs/ape_accounts", "methoddocs/ape_compile", "methoddocs/ape_ethereum", "methoddocs/ape_node", "methoddocs/ape_pm", "methoddocs/ape_test", "methoddocs/api", "methoddocs/cli", "methoddocs/contracts", "methoddocs/exceptions", "methoddocs/managers", "methoddocs/plugins", "methoddocs/types", "methoddocs/utils", "userguides/accounts", "userguides/clis", "userguides/compile", "userguides/config", "userguides/console", "userguides/contracts", "userguides/data", "userguides/dependencies", "userguides/developing_plugins", "userguides/forking_networks", "userguides/installing_plugins", "userguides/logging", "userguides/networks", "userguides/projects", "userguides/proxy", "userguides/publishing", "userguides/quickstart", "userguides/reverts", "userguides/scripts", "userguides/testing", "userguides/trace", "userguides/transactions"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["commands/accounts.rst", "commands/compile.rst", "commands/console.rst", "commands/init.rst", "commands/networks.rst", "commands/plugins.rst", "commands/pm.rst", "commands/run.rst", "commands/test.rst", "index.rst", "methoddocs/ape.md", "methoddocs/ape_accounts.md", "methoddocs/ape_compile.md", "methoddocs/ape_ethereum.md", "methoddocs/ape_node.md", "methoddocs/ape_pm.md", "methoddocs/ape_test.md", "methoddocs/api.md", "methoddocs/cli.md", "methoddocs/contracts.md", "methoddocs/exceptions.md", "methoddocs/managers.md", "methoddocs/plugins.md", "methoddocs/types.md", "methoddocs/utils.md", "userguides/accounts.md", "userguides/clis.md", "userguides/compile.md", "userguides/config.md", "userguides/console.md", "userguides/contracts.md", "userguides/data.md", "userguides/dependencies.md", "userguides/developing_plugins.md", "userguides/forking_networks.md", "userguides/installing_plugins.md", "userguides/logging.md", "userguides/networks.md", "userguides/projects.md", "userguides/proxy.md", "userguides/publishing.md", "userguides/quickstart.md", "userguides/reverts.md", "userguides/scripts.md", "userguides/testing.md", "userguides/trace.md", "userguides/transactions.md"], "indexentries": {"--all": [[0, "cmdoption-accounts-list-all", false], [5, "cmdoption-plugins-list-a", false], [6, "cmdoption-pm-list-all", false]], "--code": [[2, "cmdoption-console-c", false]], "--config-override": [[1, "cmdoption-compile-config-override", false], [6, "cmdoption-pm-compile-config-override", false], [6, "cmdoption-pm-install-config-override", false]], "--ecosystem": [[4, "cmdoption-networks-list-ecosystem", false]], "--force": [[1, "cmdoption-compile-f", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-install-f", false]], "--format": [[4, "cmdoption-networks-list-format", false]], "--github": [[3, "cmdoption-init-github", false]], "--hd-path": [[0, "cmdoption-accounts-generate-hd-path", false], [0, "cmdoption-accounts-import-hd-path", false]], "--hide-mnemonic": [[0, "cmdoption-accounts-generate-hide-mnemonic", false]], "--include-dependencies": [[1, "cmdoption-compile-include-dependencies", false]], "--interactive": [[7, "cmdoption-run-I", false]], "--name": [[3, "cmdoption-init-name", false], [6, "cmdoption-pm-install-name", false]], "--network": [[4, "cmdoption-networks-list-network", false], [4, "cmdoption-networks-run-network", false]], "--project": [[1, "cmdoption-compile-project", false]], "--provider": [[4, "cmdoption-networks-list-provider", false]], "--ref": [[6, "cmdoption-pm-install-ref", false]], "--size": [[1, "cmdoption-compile-s", false]], "--upgrade": [[5, "cmdoption-plugins-install-U", false]], "--use-mnemonic": [[0, "cmdoption-accounts-import-use-mnemonic", false]], "--verbosity": [[0, "cmdoption-accounts-change-password-v", false], [0, "cmdoption-accounts-delete-v", false], [0, "cmdoption-accounts-export-v", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-import-v", false], [0, "cmdoption-accounts-list-v", false], [1, "cmdoption-compile-v", false], [2, "cmdoption-console-v", false], [3, "cmdoption-init-v", false], [4, "cmdoption-networks-list-v", false], [4, "cmdoption-networks-run-v", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-list-v", false], [5, "cmdoption-plugins-uninstall-v", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-list-v", false], [6, "cmdoption-pm-uninstall-v", false], [8, "cmdoption-test-v", false]], "--version": [[6, "cmdoption-pm-compile-version", false], [6, "cmdoption-pm-install-version", false]], "--watch": [[8, "cmdoption-test-w", false]], "--watch-delay": [[8, "cmdoption-test-watch-delay", false]], "--watch-folders": [[8, "cmdoption-test-watch-folders", false]], "--word-count": [[0, "cmdoption-accounts-generate-word-count", false]], "--yes": [[5, "cmdoption-plugins-install-y", false], [5, "cmdoption-plugins-uninstall-y", false], [6, "cmdoption-pm-uninstall-y", false]], "-a": [[5, "cmdoption-plugins-list-a", false]], "-c": [[2, "cmdoption-console-c", false]], "-f": [[1, "cmdoption-compile-f", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-install-f", false]], "-i": [[7, "cmdoption-run-I", false]], "-s": [[1, "cmdoption-compile-s", false]], "-u": [[5, "cmdoption-plugins-install-U", false]], "-v": [[0, "cmdoption-accounts-change-password-v", false], [0, "cmdoption-accounts-delete-v", false], [0, "cmdoption-accounts-export-v", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-import-v", false], [0, "cmdoption-accounts-list-v", false], [1, "cmdoption-compile-v", false], [2, "cmdoption-console-v", false], [3, "cmdoption-init-v", false], [4, "cmdoption-networks-list-v", false], [4, "cmdoption-networks-run-v", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-list-v", false], [5, "cmdoption-plugins-uninstall-v", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-list-v", false], [6, "cmdoption-pm-uninstall-v", false], [8, "cmdoption-test-v", false]], "-w": [[8, "cmdoption-test-w", false]], "-y": [[5, "cmdoption-plugins-install-y", false], [5, "cmdoption-plugins-uninstall-y", false], [6, "cmdoption-pm-uninstall-y", false]], "__call__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__call__", false]], "__call__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__call__", false]], "__call__() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.__call__", false]], "__call__() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.__call__", false]], "__call__() (ape_ethereum.multicall.transaction method)": [[13, "ape_ethereum.multicall.Transaction.__call__", false]], "__contains__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__contains__", false]], "__contains__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__contains__", false]], "__contains__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__contains__", false]], "__contains__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__contains__", false]], "__delitem__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__delitem__", false]], "__delitem__() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.__delitem__", false]], "__eq__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__eq__", false]], "__eq__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__eq__", false]], "__getitem__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__getitem__", false]], "__getitem__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__getitem__", false]], "__getitem__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__getitem__", false]], "__getitem__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__getitem__", false]], "__hash__ (ape.contracts.base.contractcontainer attribute)": [[19, "ape.contracts.base.ContractContainer.__hash__", false]], "__hash__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__hash__", false]], "__iter__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__iter__", false]], "__iter__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__iter__", false]], "__iter__() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.__iter__", false]], "__iter__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__iter__", false]], "__iter__() (ape.managers.project.deploymentmanager method)": [[21, "ape.managers.project.DeploymentManager.__iter__", false]], "__len__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__len__", false]], "__len__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__len__", false]], "__len__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__len__", false]], "__len__() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.__len__", false]], "__len__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__len__", false]], "__pydantic_extra__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_extra__", false]], "__pydantic_fields_set__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_fields_set__", false]], "__pydantic_private__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_private__", false]], "__repr__() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.__repr__", false]], "__repr__() (ape.api.config.configenum method)": [[17, "ape.api.config.ConfigEnum.__repr__", false]], "__repr__() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.__repr__", false]], "__repr__() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.__repr__", false]], "__repr__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__repr__", false]], "__repr__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__repr__", false]], "__repr__() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.__repr__", false]], "__repr__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__repr__", false]], "__repr__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__repr__", false]], "__repr__() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.__repr__", false]], "__repr__() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.__repr__", false]], "__repr__() (ape.managers.project.contractmanager method)": [[21, "ape.managers.project.ContractManager.__repr__", false]], "__repr__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__repr__", false]], "__repr__() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.__repr__", false]], "__repr__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__repr__", false]], "__repr__() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.__repr__", false]], "__repr__() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.__repr__", false]], "__repr__() (ape.managers.project.projectmanager method)": [[21, "ape.managers.project.ProjectManager.__repr__", false]], "__repr__() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.__repr__", false]], "__setitem__() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.__setitem__", false]], "__signature__ (ape.api.accounts.accountapi attribute)": [[17, "ape.api.accounts.AccountAPI.__signature__", false]], "__signature__ (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.__signature__", false]], "__signature__ (ape.api.accounts.impersonatedaccount attribute)": [[17, "ape.api.accounts.ImpersonatedAccount.__signature__", false]], "__signature__ (ape.api.accounts.testaccountapi attribute)": [[17, "ape.api.accounts.TestAccountAPI.__signature__", false]], "__signature__ (ape.api.accounts.testaccountcontainerapi attribute)": [[17, "ape.api.accounts.TestAccountContainerAPI.__signature__", false]], "__signature__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__signature__", false]], "__signature__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__signature__", false]], "__signature__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__signature__", false]], "__signature__ (ape.api.convert.converterapi attribute)": [[17, "ape.api.convert.ConverterAPI.__signature__", false]], "__signature__ (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.__signature__", false]], "__signature__ (ape.api.networks.forkednetworkapi attribute)": [[17, "ape.api.networks.ForkedNetworkAPI.__signature__", false]], "__signature__ (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.__signature__", false]], "__signature__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__signature__", false]], "__signature__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__signature__", false]], "__signature__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__signature__", false]], "__signature__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__signature__", false]], "__signature__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__signature__", false]], "__signature__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__signature__", false]], "__signature__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__signature__", false]], "__signature__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__signature__", false]], "__signature__ (ape.contracts.base.contractevent attribute)": [[19, "ape.contracts.base.ContractEvent.__signature__", false]], "__signature__ (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.__signature__", false]], "__str__() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.__str__", false]], "__str__() (ape.api.config.configenum method)": [[17, "ape.api.config.ConfigEnum.__str__", false]], "__str__() (ape.api.config.pluginconfig method)": [[17, "ape.api.config.PluginConfig.__str__", false]], "__str__() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.__str__", false]], "abort": [[20, "ape.exceptions.Abort", false]], "abort() (ape.cli.options.apeclicontextobject static method)": [[18, "ape.cli.options.ApeCliContextObject.abort", false]], "account_option() (in module ape.cli.options)": [[18, "ape.cli.options.account_option", false]], "account_type (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.account_type", false]], "account_types() (ape.plugins.account.accountplugin method)": [[22, "ape.plugins.account.AccountPlugin.account_types", false]], "accountaliaspromptchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.AccountAliasPromptChoice", false]], "accountapi (class in ape.api.accounts)": [[17, "ape.api.accounts.AccountAPI", false]], "accountcontainerapi (class in ape.api.accounts)": [[17, "ape.api.accounts.AccountContainerAPI", false]], "accounthistory (class in ape.managers.chain)": [[21, "ape.managers.chain.AccountHistory", false]], "accountintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.AccountIntConverter", false]], "accountmanager (class in ape.managers.accounts)": [[21, "ape.managers.accounts.AccountManager", false]], "accountplugin (class in ape.plugins.account)": [[22, "ape.plugins.account.AccountPlugin", false]], "accounts (ape attribute)": [[10, "ape.accounts", false]], "accounts (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.accounts", false]], "accounts-change-password command line option": [[0, "cmdoption-accounts-change-password-arg-ALIAS", false], [0, "cmdoption-accounts-change-password-v", false]], "accounts-delete command line option": [[0, "cmdoption-accounts-delete-arg-ALIAS", false], [0, "cmdoption-accounts-delete-v", false]], "accounts-export command line option": [[0, "cmdoption-accounts-export-arg-ALIAS", false], [0, "cmdoption-accounts-export-v", false]], "accounts-generate command line option": [[0, "cmdoption-accounts-generate-arg-ALIAS", false], [0, "cmdoption-accounts-generate-hd-path", false], [0, "cmdoption-accounts-generate-hide-mnemonic", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-generate-word-count", false]], "accounts-import command line option": [[0, "cmdoption-accounts-import-arg-ALIAS", false], [0, "cmdoption-accounts-import-hd-path", false], [0, "cmdoption-accounts-import-use-mnemonic", false], [0, "cmdoption-accounts-import-v", false]], "accounts-list command line option": [[0, "cmdoption-accounts-list-all", false], [0, "cmdoption-accounts-list-v", false]], "accountserror": [[20, "ape.exceptions.AccountsError", false]], "accounttransactionquery (class in ape.api.query)": [[17, "ape.api.query.AccountTransactionQuery", false]], "active_provider (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.active_provider", false]], "add() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.add", false]], "add() (ape_ethereum.multicall.basemulticall method)": [[13, "ape_ethereum.multicall.BaseMulticall.add", false]], "add() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.add", false]], "add_builtin_jump() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.add_builtin_jump", false]], "add_compiler_data() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.add_compiler_data", false]], "add_jump() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.add_jump", false]], "add_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.add_network", false]], "additional_error_message (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.additional_error_message", false]], "address (ape.api.accounts.impersonatedaccount property)": [[17, "ape.api.accounts.ImpersonatedAccount.address", false]], "address (ape.api.address.address property)": [[17, "ape.api.address.Address.address", false]], "address (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.address", false]], "address (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.address", false]], "address (ape.contracts.base.contractinstance property)": [[19, "ape.contracts.base.ContractInstance.address", false]], "address (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.address", false]], "address (ape.utils.testing.generateddevaccount attribute)": [[24, "ape.utils.testing.GeneratedDevAccount.address", false]], "address (class in ape.api.address)": [[17, "ape.api.address.Address", false]], "addressapiconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.AddressAPIConverter", false]], "addresstype (in module ape.types.address)": [[23, "ape.types.address.AddressType", false]], "alias": [[0, "cmdoption-accounts-change-password-arg-ALIAS", false], [0, "cmdoption-accounts-delete-arg-ALIAS", false], [0, "cmdoption-accounts-export-arg-ALIAS", false], [0, "cmdoption-accounts-generate-arg-ALIAS", false], [0, "cmdoption-accounts-import-arg-ALIAS", false]], "alias (ape.api.accounts.accountapi property)": [[17, "ape.api.accounts.AccountAPI.alias", false]], "alias (class in ape.cli.choices)": [[18, "ape.cli.choices.Alias", false]], "aliasalreadyinuseerror": [[20, "ape.exceptions.AliasAlreadyInUseError", false]], "aliases (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.aliases", false]], "aliases (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.aliases", false]], "allow_disconnected() (in module ape.utils.rpc)": [[24, "ape.utils.rpc.allow_disconnected", false]], "ape.api.accounts": [[17, "module-ape.api.accounts", false]], "ape.api.address": [[17, "module-ape.api.address", false]], "ape.api.compiler": [[17, "module-ape.api.compiler", false]], "ape.api.config": [[17, "module-ape.api.config", false]], "ape.api.convert": [[17, "module-ape.api.convert", false]], "ape.api.explorers": [[17, "module-ape.api.explorers", false]], "ape.api.networks": [[17, "module-ape.api.networks", false]], "ape.api.projects": [[17, "module-ape.api.projects", false]], "ape.api.providers": [[17, "module-ape.api.providers", false]], "ape.api.query": [[17, "module-ape.api.query", false]], "ape.cli.arguments": [[18, "module-ape.cli.arguments", false]], "ape.cli.choices": [[18, "module-ape.cli.choices", false]], "ape.cli.commands": [[18, "module-ape.cli.commands", false]], "ape.cli.options": [[18, "module-ape.cli.options", false]], "ape.cli.paramtype": [[18, "module-ape.cli.paramtype", false]], "ape.contract()": [[10, "ape.Contract", false]], "ape.convert()": [[10, "ape.convert", false]], "ape.exceptions": [[20, "module-ape.exceptions", false]], "ape.managers.accounts": [[21, "module-ape.managers.accounts", false]], "ape.managers.compilers": [[21, "module-ape.managers.compilers", false]], "ape.managers.config": [[21, "module-ape.managers.config", false]], "ape.managers.converters": [[21, "module-ape.managers.converters", false]], "ape.managers.networks": [[21, "module-ape.managers.networks", false]], "ape.managers.project": [[21, "module-ape.managers.project", false]], "ape.managers.query": [[21, "module-ape.managers.query", false]], "ape.plugins": [[22, "module-ape.plugins", false]], "ape.plugins.account": [[22, "module-ape.plugins.account", false]], "ape.plugins.compiler": [[22, "module-ape.plugins.compiler", false]], "ape.plugins.config": [[22, "module-ape.plugins.config", false]], "ape.plugins.converter": [[22, "module-ape.plugins.converter", false]], "ape.plugins.network": [[22, "module-ape.plugins.network", false]], "ape.plugins.pluggy_patch": [[22, "module-ape.plugins.pluggy_patch", false]], "ape.plugins.project": [[22, "module-ape.plugins.project", false]], "ape.plugins.query": [[22, "module-ape.plugins.query", false]], "ape.project()": [[10, "ape.Project", false]], "ape.reverts()": [[10, "ape.reverts", false]], "ape.types.address": [[23, "module-ape.types.address", false]], "ape.types.basic": [[23, "module-ape.types.basic", false]], "ape.types.coverage": [[23, "module-ape.types.coverage", false]], "ape.types.events": [[23, "module-ape.types.events", false]], "ape.types.gas": [[23, "module-ape.types.gas", false]], "ape.types.trace": [[23, "module-ape.types.trace", false]], "ape.types.units": [[23, "module-ape.types.units", false]], "ape.types.vm": [[23, "module-ape.types.vm", false]], "ape.utils.abi": [[24, "module-ape.utils.abi", false]], "ape.utils.basemodel": [[24, "module-ape.utils.basemodel", false]], "ape.utils.misc": [[24, "module-ape.utils.misc", false]], "ape.utils.os": [[24, "module-ape.utils.os", false]], "ape.utils.process": [[24, "module-ape.utils.process", false]], "ape.utils.rpc": [[24, "module-ape.utils.rpc", false]], "ape.utils.testing": [[24, "module-ape.utils.testing", false]], "ape.utils.trace": [[24, "module-ape.utils.trace", false]], "ape_accounts": [[11, "module-ape_accounts", false]], "ape_cli_context() (in module ape.cli.options)": [[18, "ape.cli.options.ape_cli_context", false]], "ape_compile": [[12, "module-ape_compile", false]], "ape_ethereum": [[13, "module-ape_ethereum", false]], "ape_ethereum.multicall": [[13, "module-ape_ethereum.multicall", false]], "ape_node": [[14, "module-ape_node", false]], "ape_pm": [[15, "module-ape_pm", false]], "ape_test": [[16, "module-ape_test", false]], "apeattributeerror": [[20, "ape.exceptions.ApeAttributeError", false]], "apeclicontextobject (class in ape.cli.options)": [[18, "ape.cli.options.ApeCliContextObject", false]], "apeconfig (class in ape.api.config)": [[17, "ape.api.config.ApeConfig", false]], "apeexception": [[20, "ape.exceptions.ApeException", false]], "apeindexerror": [[20, "ape.exceptions.ApeIndexError", false]], "apeproject (class in ape.api.projects)": [[17, "ape.api.projects.ApeProject", false]], "api_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.api_path", false]], "apinotimplementederror": [[20, "ape.exceptions.APINotImplementedError", false]], "append() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.append", false]], "append() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.append", false]], "append() (ape.managers.chain.transactionhistory method)": [[21, "ape.managers.chain.TransactionHistory.append", false]], "append() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.append", false]], "argumentslengtherror": [[20, "ape.exceptions.ArgumentsLengthError", false]], "as_transaction() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.as_transaction", false]], "as_transaction() (ape_ethereum.multicall.transaction method)": [[13, "ape_ethereum.multicall.Transaction.as_transaction", false]], "at() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.at", false]], "attributes (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.attributes", false]], "auto_gas_multiplier (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.auto_gas_multiplier", false]], "auto_mine (ape.api.providers.testproviderapi property)": [[17, "ape.api.providers.TestProviderAPI.auto_mine", false]], "auto_mine (ape_node.gethdev property)": [[14, "ape_node.GethDev.auto_mine", false]], "autogaslimit (class in ape.types.gas)": [[23, "ape.types.gas.AutoGasLimit", false]], "await_confirmations() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.await_confirmations", false]], "balance (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.balance", false]], "base_fee (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.base_fee", false]], "base_fee (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.base_fee", false]], "base_fee_multiplier (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.base_fee_multiplier", false]], "base_path (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.base_path", false]], "baseaddress (class in ape.api.address)": [[17, "ape.api.address.BaseAddress", false]], "baseinterface (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseInterface", false]], "baseinterfacemodel (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseInterfaceModel", false]], "basemodel (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseModel", false]], "basemulticall (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.BaseMulticall", false]], "begin_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.begin_lineno", false]], "block (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.block", false]], "block_hash (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.block_hash", false]], "block_number (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.block_number", false]], "block_page_size (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.block_page_size", false]], "block_time (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.block_time", false]], "blockapi (class in ape.api.providers)": [[17, "ape.api.providers.BlockAPI", false]], "blockcontainer (class in ape.managers.chain)": [[21, "ape.managers.chain.BlockContainer", false]], "blockid (in module ape.types.vm)": [[23, "ape.types.vm.BlockID", false]], "blocknotfounderror": [[20, "ape.exceptions.BlockNotFoundError", false]], "blockquery (class in ape.api.query)": [[17, "ape.api.query.BlockQuery", false]], "blocks (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.blocks", false]], "blocktransactionquery (class in ape.api.query)": [[17, "ape.api.query.BlockTransactionQuery", false]], "body (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.body", false]], "build_command() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.build_command", false]], "build_command() (ape_node.gethdev method)": [[14, "ape_node.GethDev.build_command", false]], "built-in function": [[10, "ape.Contract", false], [10, "ape.Project", false], [10, "ape.convert", false], [10, "ape.reverts", false]], "bytesaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.BytesAddressConverter", false]], "cache_api() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.cache_api", false]], "cache_blueprint() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_blueprint", false]], "cache_deployment() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_deployment", false]], "cache_proxy_info() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_proxy_info", false]], "call (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.Call", false]], "call() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.call", false]], "call() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.call", false]], "call_trace_approach (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.call_trace_approach", false]], "call_view_method() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.call_view_method", false]], "can_trace_source() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.can_trace_source", false]], "chain (ape attribute)": [[10, "ape.chain", false]], "chain_id (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.chain_id", false]], "chain_id (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.chain_id", false]], "chain_id (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.chain_id", false]], "chain_id (ape_node.gethdev property)": [[14, "ape_node.GethDev.chain_id", false]], "chainerror": [[20, "ape.exceptions.ChainError", false]], "chainmanager (class in ape.managers.chain)": [[21, "ape.managers.chain.ChainManager", false]], "check_signature() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.check_signature", false]], "clean_path() (in module ape.utils.os)": [[24, "ape.utils.os.clean_path", false]], "clear_local_caches() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.clear_local_caches", false]], "closure (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.closure", false]], "code (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.code", false]], "codesize (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.codesize", false]], "compile command line option": [[1, "cmdoption-compile-arg-FILE_PATHS", false], [1, "cmdoption-compile-config-override", false], [1, "cmdoption-compile-f", false], [1, "cmdoption-compile-include-dependencies", false], [1, "cmdoption-compile-project", false], [1, "cmdoption-compile-s", false], [1, "cmdoption-compile-v", false]], "compile() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.compile", false]], "compile() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.compile", false]], "compile() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.compile", false]], "compile_code() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.compile_code", false]], "compile_source() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.compile_source", false]], "compiler_settings (ape.api.compiler.compilerapi attribute)": [[17, "ape.api.compiler.CompilerAPI.compiler_settings", false]], "compilerapi (class in ape.api.compiler)": [[17, "ape.api.compiler.CompilerAPI", false]], "compilererror": [[20, "ape.exceptions.CompilerError", false]], "compilermanager (class in ape.managers.compilers)": [[21, "ape.managers.compilers.CompilerManager", false]], "compilerplugin (class in ape.plugins.compiler)": [[22, "ape.plugins.compiler.CompilerPlugin", false]], "compilers (ape attribute)": [[10, "ape.compilers", false]], "concurrency (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.concurrency", false]], "config (ape attribute)": [[10, "ape.config", false]], "config (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.config", false]], "config (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.config", false]], "config (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.config", false]], "config (class in ape.plugins.config)": [[22, "ape.plugins.config.Config", false]], "config_class() (ape.plugins.config.config method)": [[22, "ape.plugins.config.Config.config_class", false]], "config_override (ape.api.projects.dependencyapi attribute)": [[17, "ape.api.projects.DependencyAPI.config_override", false]], "configenum (class in ape.api.config)": [[17, "ape.api.config.ConfigEnum", false]], "configerror": [[20, "ape.exceptions.ConfigError", false]], "configmanager (class in ape.managers.config)": [[21, "ape.managers.config.ConfigManager", false]], "confirmed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.confirmed", false]], "connect() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.connect", false]], "connect() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.connect", false]], "connect() (ape_node.gethdev method)": [[14, "ape_node.GethDev.connect", false]], "connect() (ape_node.node method)": [[14, "ape_node.Node.connect", false]], "connectedprovidercommand (class in ape.cli.commands)": [[18, "ape.cli.commands.ConnectedProviderCommand", false]], "connection_id (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.connection_id", false]], "connection_id (ape.api.providers.subprocessprovider property)": [[17, "ape.api.providers.SubprocessProvider.connection_id", false]], "connection_str (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.connection_str", false]], "console command line option": [[2, "cmdoption-console-c", false], [2, "cmdoption-console-v", false]], "containers (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.containers", false]], "contract_file_paths_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.contract_file_paths_argument", false]], "contract_option() (in module ape.cli.options)": [[18, "ape.cli.options.contract_option", false]], "contract_type (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.contract_type", false]], "contractcache (class in ape.managers.chain)": [[21, "ape.managers.chain.ContractCache", false]], "contractcontainer (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractContainer", false]], "contractcoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.ContractCoverage", false]], "contractcreation (class in ape.api.query)": [[17, "ape.api.query.ContractCreation", false]], "contractcreationquery (class in ape.api.query)": [[17, "ape.api.query.ContractCreationQuery", false]], "contractdataerror": [[20, "ape.exceptions.ContractDataError", false]], "contractevent (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractEvent", false]], "contracteventquery (class in ape.api.query)": [[17, "ape.api.query.ContractEventQuery", false]], "contractinstance (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractInstance", false]], "contractlog (class in ape.types.events)": [[23, "ape.types.events.ContractLog", false]], "contractlogcontainer (class in ape.types.events)": [[23, "ape.types.events.ContractLogContainer", false]], "contractlogicerror": [[20, "ape.exceptions.ContractLogicError", false]], "contractmanager (class in ape.managers.project)": [[21, "ape.managers.project.ContractManager", false]], "contractmethodquery (class in ape.api.query)": [[17, "ape.api.query.ContractMethodQuery", false]], "contractnotfounderror": [[20, "ape.exceptions.ContractNotFoundError", false]], "contracts (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.contracts", false]], "contracts (ape.types.coverage.contractsourcecoverage attribute)": [[23, "ape.types.coverage.ContractSourceCoverage.contracts", false]], "contracts (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.CONTRACTS", false]], "contracts_folder (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.contracts_folder", false]], "contracts_folder (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.contracts_folder", false]], "contractsourcecoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.ContractSourceCoverage", false]], "contracttypewrapper (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractTypeWrapper", false]], "controlflow (class in ape.types.trace)": [[23, "ape.types.trace.ControlFlow", false]], "conversionerror": [[20, "ape.exceptions.ConversionError", false]], "conversionmanager (class in ape.managers.converters)": [[21, "ape.managers.converters.ConversionManager", false]], "conversionplugin (class in ape.plugins.converter)": [[22, "ape.plugins.converter.ConversionPlugin", false]], "convert() (ape.api.convert.converterapi method)": [[17, "ape.api.convert.ConverterAPI.convert", false]], "convert() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.convert", false]], "convert() (ape.cli.choices.networkchoice method)": [[18, "ape.cli.choices.NetworkChoice.convert", false]], "convert() (ape.cli.choices.promptchoice method)": [[18, "ape.cli.choices.PromptChoice.convert", false]], "convert() (ape.cli.paramtype.json method)": [[18, "ape.cli.paramtype.JSON.convert", false]], "convert() (ape.cli.paramtype.noop method)": [[18, "ape.cli.paramtype.Noop.convert", false]], "convert() (ape.managers.converters.accountintconverter method)": [[21, "ape.managers.converters.AccountIntConverter.convert", false]], "convert() (ape.managers.converters.addressapiconverter method)": [[21, "ape.managers.converters.AddressAPIConverter.convert", false]], "convert() (ape.managers.converters.bytesaddressconverter method)": [[21, "ape.managers.converters.BytesAddressConverter.convert", false]], "convert() (ape.managers.converters.conversionmanager method)": [[21, "ape.managers.converters.ConversionManager.convert", false]], "convert() (ape.managers.converters.hexaddressconverter method)": [[21, "ape.managers.converters.HexAddressConverter.convert", false]], "convert() (ape.managers.converters.hexconverter method)": [[21, "ape.managers.converters.HexConverter.convert", false]], "convert() (ape.managers.converters.hexintconverter method)": [[21, "ape.managers.converters.HexIntConverter.convert", false]], "convert() (ape.managers.converters.hexiterableconverter method)": [[21, "ape.managers.converters.HexIterableConverter.convert", false]], "convert() (ape.managers.converters.intaddressconverter method)": [[21, "ape.managers.converters.IntAddressConverter.convert", false]], "convert() (ape.managers.converters.stringdecimalconverter method)": [[21, "ape.managers.converters.StringDecimalConverter.convert", false]], "convert() (ape.managers.converters.stringintconverter method)": [[21, "ape.managers.converters.StringIntConverter.convert", false]], "convert() (ape.managers.converters.timestampconverter method)": [[21, "ape.managers.converters.TimestampConverter.convert", false]], "converterapi (class in ape.api.convert)": [[17, "ape.api.convert.ConverterAPI", false]], "converters() (ape.plugins.converter.conversionplugin method)": [[22, "ape.plugins.converter.ConversionPlugin.converters", false]], "coverageproject (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageProject", false]], "coveragereport (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageReport", false]], "coveragestatement (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageStatement", false]], "create_custom_provider() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.create_custom_provider", false]], "create_network_type() (in module ape.api.networks)": [[17, "ape.api.networks.create_network_type", false]], "create_struct() (in module ape.utils.abi)": [[24, "ape.utils.abi.create_struct", false]], "create_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.create_tempdir", false]], "create_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.create_transaction", false]], "creation_metadata (ape.contracts.base.contractinstance property)": [[19, "ape.contracts.base.ContractInstance.creation_metadata", false]], "currencyvalue (in module ape.types.units)": [[23, "ape.types.units.CurrencyValue", false]], "currencyvaluecomparable (in module ape.types.units)": [[23, "ape.types.units.CurrencyValueComparable", false]], "custom_network (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.custom_network", false]], "custom_networks (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.custom_networks", false]], "customerror": [[20, "ape.exceptions.CustomError", false]], "data_dir (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.data_dir", false]], "data_folder (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.data_folder", false]], "data_folder (ape.api.accounts.testaccountcontainerapi property)": [[17, "ape.api.accounts.TestAccountContainerAPI.data_folder", false]], "data_folder (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.data_folder", false]], "data_folder (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.data_folder", false]], "data_folder (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.data_folder", false]], "datetime (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.datetime", false]], "debug_logs_lines (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.debug_logs_lines", false]], "debug_logs_typed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.debug_logs_typed", false]], "declare() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.declare", false]], "decode_address() (ape.api.networks.ecosystemapi class method)": [[17, "ape.api.networks.EcosystemAPI.decode_address", false]], "decode_block() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_block", false]], "decode_calldata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_calldata", false]], "decode_custom_error() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_custom_error", false]], "decode_dependency() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.decode_dependency", false]], "decode_input() (ape.contracts.base.contracttypewrapper method)": [[19, "ape.contracts.base.ContractTypeWrapper.decode_input", false]], "decode_logs() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_logs", false]], "decode_logs() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.decode_logs", false]], "decode_output() (ape.utils.abi.structparser method)": [[24, "ape.utils.abi.StructParser.decode_output", false]], "decode_primitive_value() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_primitive_value", false]], "decode_receipt() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_receipt", false]], "decode_returndata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_returndata", false]], "decodingerror": [[20, "ape.exceptions.DecodingError", false]], "default_ecosystem (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.default_ecosystem", false]], "default_ecosystem (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.default_ecosystem", false]], "default_name (ape.utils.abi.structparser property)": [[24, "ape.utils.abi.StructParser.default_name", false]], "default_network_name (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.default_network_name", false]], "default_provider_name (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.default_provider_name", false]], "defaultqueryprovider (class in ape.managers.query)": [[21, "ape.managers.query.DefaultQueryProvider", false]], "delegate (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.DELEGATE", false]], "dependencies (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.dependencies", false]], "dependencies (ape.managers.project.project property)": [[21, "ape.managers.project.Project.dependencies", false]], "dependencies() (ape.plugins.project.dependencyplugin method)": [[22, "ape.plugins.project.DependencyPlugin.dependencies", false]], "dependency (class in ape.managers.project)": [[21, "ape.managers.project.Dependency", false]], "dependencyapi (class in ape.api.projects)": [[17, "ape.api.projects.DependencyAPI", false]], "dependencymanager (class in ape.managers.project)": [[21, "ape.managers.project.DependencyManager", false]], "dependencyplugin (class in ape.plugins.project)": [[22, "ape.plugins.project.DependencyPlugin", false]], "dependencyversionmap (class in ape.managers.project)": [[21, "ape.managers.project.DependencyVersionMap", false]], "deploy() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.deploy", false]], "deploy() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.deploy", false]], "deployer (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.deployer", false]], "deployment_data (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.deployment_data", false]], "deploymentconfig (class in ape.api.config)": [[17, "ape.api.config.DeploymentConfig", false]], "deploymentmanager (class in ape.managers.project)": [[21, "ape.managers.project.DeploymentManager", false]], "deployments (ape.contracts.base.contractcontainer property)": [[19, "ape.contracts.base.ContractContainer.deployments", false]], "deployments (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.deployments", false]], "depth (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.depth", false]], "dev_message (ape.exceptions.contractlogicerror property)": [[20, "ape.exceptions.ContractLogicError.dev_message", false]], "disconnect() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.disconnect", false]], "disconnect() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.disconnect", false]], "disconnect() (ape_node.gethdev method)": [[14, "ape_node.GethDev.disconnect", false]], "ecosystem (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.ecosystem", false]], "ecosystem (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystem", false]], "ecosystem_config (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.ecosystem_config", false]], "ecosystem_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystem_names", false]], "ecosystemapi (class in ape.api.networks)": [[17, "ape.api.networks.EcosystemAPI", false]], "ecosystemnotfounderror": [[20, "ape.exceptions.EcosystemNotFoundError", false]], "ecosystemplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.EcosystemPlugin", false]], "ecosystems (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystems", false]], "ecosystems() (ape.plugins.network.ecosystemplugin method)": [[22, "ape.plugins.network.EcosystemPlugin.ecosystems", false]], "empty (ape.api.networks.providercontextmanager property)": [[17, "ape.api.networks.ProviderContextManager.empty", false]], "encode_address() (ape.api.networks.ecosystemapi class method)": [[17, "ape.api.networks.EcosystemAPI.encode_address", false]], "encode_calldata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_calldata", false]], "encode_contract_blueprint() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_contract_blueprint", false]], "encode_deployment() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_deployment", false]], "encode_input() (ape.utils.abi.structparser method)": [[24, "ape.utils.abi.StructParser.encode_input", false]], "encode_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_transaction", false]], "end_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.end_lineno", false]], "engines (ape.managers.query.querymanager property)": [[21, "ape.managers.query.QueryManager.engines", false]], "enrich_error() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.enrich_error", false]], "enrich_error() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.enrich_error", false]], "enrich_trace() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.enrich_trace", false]], "estimate_gas_cost() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.estimate_gas_cost", false]], "estimate_query() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.estimate_query", false]], "estimate_query() (ape.managers.query.defaultqueryprovider method)": [[21, "ape.managers.query.DefaultQueryProvider.estimate_query", false]], "estimate_query() (ape_node.otterscanqueryengine method)": [[14, "ape_node.OtterscanQueryEngine.estimate_query", false]], "ethereum (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.ethereum", false]], "ethereumnetworkconfig (class in ape_node)": [[14, "ape_node.EthereumNetworkConfig", false]], "ethereumnodeconfig (class in ape_node)": [[14, "ape_node.EthereumNodeConfig", false]], "events (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.events", false]], "exclusions (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.exclusions", false]], "executable (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.executable", false]], "execution (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.execution", false]], "existing_alias_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.existing_alias_argument", false]], "expand_environment_variables() (in module ape.utils.os)": [[24, "ape.utils.os.expand_environment_variables", false]], "explorer (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.explorer", false]], "explorerapi (class in ape.api.explorers)": [[17, "ape.api.explorers.ExplorerAPI", false]], "explorerplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.ExplorerPlugin", false]], "explorers() (ape.plugins.network.explorerplugin method)": [[22, "ape.plugins.network.ExplorerPlugin.explorers", false]], "extend() (ape.types.trace.controlflow method)": [[23, "ape.types.trace.ControlFlow.extend", false]], "extend() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.extend", false]], "extend_last() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.extend_last", false]], "extraattributesmixin (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ExtraAttributesMixin", false]], "extract_archive() (in module ape.utils.os)": [[24, "ape.utils.os.extract_archive", false]], "extract_config() (ape.api.projects.apeproject method)": [[17, "ape.api.projects.ApeProject.extract_config", false]], "extract_config() (ape.api.projects.projectapi method)": [[17, "ape.api.projects.ProjectAPI.extract_config", false]], "extract_config() (ape.managers.config.configmanager class method)": [[21, "ape.managers.config.ConfigManager.extract_config", false]], "extract_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.extract_manifest", false]], "extract_nested_value() (in module ape.utils.misc)": [[24, "ape.utils.misc.extract_nested_value", false]], "extramodelattributes (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ExtraModelAttributes", false]], "factory (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.factory", false]], "failed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.failed", false]], "fee_token_decimals (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.fee_token_decimals", false]], "fee_token_symbol (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.fee_token_symbol", false]], "fetch() (ape.api.projects.dependencyapi method)": [[17, "ape.api.projects.DependencyAPI.fetch", false]], "file_paths": [[1, "cmdoption-compile-arg-FILE_PATHS", false]], "flatten_contract() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.flatten_contract", false]], "flatten_contract() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.flatten_contract", false]], "fork() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.fork", false]], "forkednetworkapi (class in ape.api.networks)": [[17, "ape.api.networks.ForkedNetworkAPI", false]], "format() (ape.types.trace.controlflow method)": [[23, "ape.types.trace.ControlFlow.format", false]], "format() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.format", false]], "from_error() (ape.exceptions.contractlogicerror class method)": [[20, "ape.exceptions.ContractLogicError.from_error", false]], "from_event() (ape.types.events.logfilter class method)": [[23, "ape.types.events.LogFilter.from_event", false]], "from_manifest() (ape.managers.project.projectmanager class method)": [[21, "ape.managers.project.ProjectManager.from_manifest", false]], "from_python_library() (ape.managers.project.projectmanager class method)": [[21, "ape.managers.project.ProjectManager.from_python_library", false]], "from_receipt() (ape.api.query.contractcreation class method)": [[17, "ape.api.query.ContractCreation.from_receipt", false]], "from_receipt() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.from_receipt", false]], "from_receipt() (ape.contracts.base.contractinstance class method)": [[19, "ape.contracts.base.ContractInstance.from_receipt", false]], "full_name (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.full_name", false]], "function_hits (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.function_hits", false]], "function_hits (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.function_hits", false]], "function_hits (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.function_hits", false]], "function_hits (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.function_hits", false]], "function_rate (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.function_rate", false]], "function_rate (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.function_rate", false]], "function_rate (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.function_rate", false]], "function_rate (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.function_rate", false]], "functioncoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.FunctionCoverage", false]], "functions (ape.types.coverage.contractcoverage attribute)": [[23, "ape.types.coverage.ContractCoverage.functions", false]], "gas_cost (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.GAS_COST", false]], "gas_estimation_error_message() (in module ape.utils.misc)": [[24, "ape.utils.misc.gas_estimation_error_message", false]], "gas_price (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.gas_price", false]], "gas_price (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.gas_price", false]], "gaslimit (in module ape.types.gas)": [[23, "ape.types.gas.GasLimit", false]], "gasreport (in module ape.types.trace)": [[23, "ape.types.trace.GasReport", false]], "generate_account() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.generate_account", false]], "generate_dev_accounts() (in module ape.utils.testing)": [[24, "ape.utils.testing.generate_dev_accounts", false]], "generateddevaccount (class in ape.utils.testing)": [[24, "ape.utils.testing.GeneratedDevAccount", false]], "genericconfig (class in ape.api.config)": [[17, "ape.api.config.GenericConfig", false]], "get() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get", false]], "get() (ape.managers.project.contractmanager method)": [[21, "ape.managers.project.ContractManager.get", false]], "get() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.get", false]], "get() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.get", false]], "get() (ape.utils.basemodel.extramodelattributes method)": [[24, "ape.utils.basemodel.ExtraModelAttributes.get", false]], "get_accounts_by_type() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.get_accounts_by_type", false]], "get_address_url() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_address_url", false]], "get_all_files_in_directory() (in module ape.utils.os)": [[24, "ape.utils.os.get_all_files_in_directory", false]], "get_api_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_api_path", false]], "get_balance() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_balance", false]], "get_block() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_block", false]], "get_blueprint() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_blueprint", false]], "get_code() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_code", false]], "get_compiler_settings() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_compiler_settings", false]], "get_config() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_config", false]], "get_container() (ape.managers.chain.contractcache class method)": [[21, "ape.managers.chain.ContractCache.get_container", false]], "get_contract_logs() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_contract_logs", false]], "get_contract_type() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_contract_type", false]], "get_creation_metadata() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_creation_metadata", false]], "get_current_timestamp_ms() (in module ape.utils.misc)": [[24, "ape.utils.misc.get_current_timestamp_ms", false]], "get_custom_error() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_custom_error", false]], "get_dependency() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_dependency", false]], "get_deployments() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_deployments", false]], "get_ecosystem() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_ecosystem", false]], "get_error_by_signature() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.get_error_by_signature", false]], "get_event_by_signature() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.get_event_by_signature", false]], "get_full_extension() (in module ape.utils.os)": [[24, "ape.utils.os.get_full_extension", false]], "get_html() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.get_html", false]], "get_imports() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_imports", false]], "get_imports() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_imports", false]], "get_manifest_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_manifest_path", false]], "get_metavar() (ape.cli.choices.networkchoice method)": [[18, "ape.cli.choices.NetworkChoice.get_metavar", false]], "get_method_selector() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_method_selector", false]], "get_multiple() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_multiple", false]], "get_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_network", false]], "get_network_choices() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_network_choices", false]], "get_network_data() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_network_data", false]], "get_nonce() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_nonce", false]], "get_package_path() (in module ape.utils.os)": [[24, "ape.utils.os.get_package_path", false]], "get_package_version() (in module ape.utils.misc)": [[24, "ape.utils.misc.get_package_version", false]], "get_project_dependencies() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_project_dependencies", false]], "get_project_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_project_path", false]], "get_project_versions_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_project_versions_path", false]], "get_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.get_provider", false]], "get_provider_from_choice() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_provider_from_choice", false]], "get_proxy_info() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_proxy_info", false]], "get_proxy_info() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_proxy_info", false]], "get_python_types() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_python_types", false]], "get_receipt() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_receipt", false]], "get_receipt() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.get_receipt", false]], "get_references() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_references", false]], "get_relative_path() (in module ape.utils.os)": [[24, "ape.utils.os.get_relative_path", false]], "get_request_headers() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_request_headers", false]], "get_storage() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_storage", false]], "get_test_account() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.get_test_account", false]], "get_test_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_test_account", false]], "get_test_account() (ape_node.gethdev method)": [[14, "ape_node.GethDev.get_test_account", false]], "get_transaction_trace() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transaction_trace", false]], "get_transaction_url() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_transaction_url", false]], "get_transactions_by_account_nonce() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transactions_by_account_nonce", false]], "get_transactions_by_block() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transactions_by_block", false]], "get_version_map() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_version_map", false]], "get_versions() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_versions", false]], "get_versions() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_versions", false]], "get_virtual_machine_error() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_virtual_machine_error", false]], "get_xml() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.get_xml", false]], "gethdev (class in ape_node)": [[14, "ape_node.GethDev", false]], "global_config (ape.managers.config.configmanager property)": [[21, "ape.managers.config.ConfigManager.global_config", false]], "handle_ape_exception() (in module ape.exceptions)": [[20, "ape.exceptions.handle_ape_exception", false]], "hash (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.hash", false]], "head (ape.managers.chain.blockcontainer property)": [[21, "ape.managers.chain.BlockContainer.head", false]], "header (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.header", false]], "height (ape.managers.chain.blockcontainer property)": [[21, "ape.managers.chain.BlockContainer.height", false]], "hexaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexAddressConverter", false]], "hexconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexConverter", false]], "hexint (in module ape.types.basic)": [[23, "ape.types.basic.HexInt", false]], "hexintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexIntConverter", false]], "hexiterableconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexIterableConverter", false]], "history (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.history", false]], "history (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.history", false]], "hit_count (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.hit_count", false]], "hit_count (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.hit_count", false]], "http_uri (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.http_uri", false]], "identifier_lookup (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.identifier_lookup", false]], "impersonate_account() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.impersonate_account", false]], "impersonatedaccount (class in ape.api.accounts)": [[17, "ape.api.accounts.ImpersonatedAccount", false]], "in_tempdir (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.in_tempdir", false]], "in_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.in_tempdir", false]], "include() (ape.types.coverage.contractsourcecoverage method)": [[23, "ape.types.coverage.ContractSourceCoverage.include", false]], "include_getattr (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.include_getattr", false]], "include_getitem (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.include_getitem", false]], "incompatible_with() (in module ape.cli.options)": [[18, "ape.cli.options.incompatible_with", false]], "info (ape.contracts.base.contractevent property)": [[19, "ape.contracts.base.ContractEvent.info", false]], "init command line option": [[3, "cmdoption-init-github", false], [3, "cmdoption-init-name", false], [3, "cmdoption-init-v", false]], "init_coverage_profile() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.init_coverage_profile", false]], "inject() (ape_ethereum.multicall.basemulticall class method)": [[13, "ape_ethereum.multicall.BaseMulticall.inject", false]], "injected_before_use (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.injected_before_use", false]], "inputs (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.INPUTS", false]], "install() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.install", false]], "install() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.install", false]], "installed (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.installed", false]], "installed (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.installed", false]], "instance_at() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.instance_at", false]], "instance_from_receipt() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.instance_from_receipt", false]], "instance_map (ape.managers.project.deploymentmanager property)": [[21, "ape.managers.project.DeploymentManager.instance_map", false]], "intaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.IntAddressConverter", false]], "interfaces_folder (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.interfaces_folder", false]], "interfaces_folder (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.interfaces_folder", false]], "invoke() (ape.cli.commands.connectedprovidercommand method)": [[18, "ape.cli.commands.ConnectedProviderCommand.invoke", false]], "invoke_transaction() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.invoke_transaction", false]], "ipc_path (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.ipc_path", false]], "is_adhoc (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_adhoc", false]], "is_array() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_array", false]], "is_compiled (ape.managers.project.project property)": [[21, "ape.managers.project.Project.is_compiled", false]], "is_connected (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.is_connected", false]], "is_contract (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.is_contract", false]], "is_convertible() (ape.api.convert.converterapi method)": [[17, "ape.api.convert.ConverterAPI.is_convertible", false]], "is_convertible() (ape.managers.converters.accountintconverter method)": [[21, "ape.managers.converters.AccountIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.addressapiconverter method)": [[21, "ape.managers.converters.AddressAPIConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.bytesaddressconverter method)": [[21, "ape.managers.converters.BytesAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexaddressconverter method)": [[21, "ape.managers.converters.HexAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexconverter method)": [[21, "ape.managers.converters.HexConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexintconverter method)": [[21, "ape.managers.converters.HexIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexiterableconverter method)": [[21, "ape.managers.converters.HexIterableConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.intaddressconverter method)": [[21, "ape.managers.converters.IntAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.stringdecimalconverter method)": [[21, "ape.managers.converters.StringDecimalConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.stringintconverter method)": [[21, "ape.managers.converters.StringIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.timestampconverter method)": [[21, "ape.managers.converters.TimestampConverter.is_convertible", false]], "is_dev (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_dev", false]], "is_evm_precompile() (in module ape.utils.misc)": [[24, "ape.utils.misc.is_evm_precompile", false]], "is_excluded() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.is_excluded", false]], "is_fork (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_fork", false]], "is_local (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_local", false]], "is_mainnet (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_mainnet", false]], "is_named_tuple() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_named_tuple", false]], "is_relative_to() (in module ape.utils.os)": [[24, "ape.utils.os.is_relative_to", false]], "is_struct() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_struct", false]], "is_type() (ape.managers.converters.conversionmanager method)": [[21, "ape.managers.converters.ConversionManager.is_type", false]], "is_valid (ape.api.projects.apeproject property)": [[17, "ape.api.projects.ApeProject.is_valid", false]], "is_valid (ape.api.projects.projectapi property)": [[17, "ape.api.projects.ProjectAPI.is_valid", false]], "is_zero_hex() (in module ape.utils.misc)": [[24, "ape.utils.misc.is_zero_hex", false]], "isolate() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.isolate", false]], "isolate_data_folder() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.isolate_data_folder", false]], "isolate_in_tempdir() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.isolate_in_tempdir", false]], "isolate_in_tempdir() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.isolate_in_tempdir", false]], "items() (ape.utils.abi.struct method)": [[24, "ape.utils.abi.Struct.items", false]], "join() (ape.utils.process.joinablequeue method)": [[24, "ape.utils.process.JoinableQueue.join", false]], "joinablequeue (class in ape.utils.process)": [[24, "ape.utils.process.JoinableQueue", false]], "json (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.JSON", false]], "last (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.last", false]], "lazychoice (class in ape.cli.choices)": [[18, "ape.cli.choices.LazyChoice", false]], "line_numbers (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.line_numbers", false]], "line_rate (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.line_rate", false]], "line_rate (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.line_rate", false]], "line_rate (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.line_rate", false]], "line_rate (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.line_rate", false]], "line_rate (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.line_rate", false]], "lines_covered (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.lines_covered", false]], "lines_covered (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.lines_covered", false]], "lines_covered (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.lines_covered", false]], "lines_covered (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.lines_covered", false]], "lines_covered (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.lines_covered", false]], "lines_valid (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.lines_valid", false]], "lines_valid (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.lines_valid", false]], "lines_valid (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.lines_valid", false]], "lines_valid (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.lines_valid", false]], "lines_valid (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.lines_valid", false]], "load() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.load", false]], "load_config() (in module ape.utils.misc)": [[24, "ape.utils.misc.load_config", false]], "load_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.load_manifest", false]], "localproject (class in ape.managers.project)": [[21, "ape.managers.project.LocalProject", false]], "location (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.location", false]], "log_index (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.log_index", false]], "log_instead_of_fail() (in module ape.utils.misc)": [[24, "ape.utils.misc.log_instead_of_fail", false]], "logfilter (class in ape.types.events)": [[23, "ape.types.events.LogFilter", false]], "lookup() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.lookup", false]], "make_request() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.make_request", false]], "manager_access (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.manager_access", false]], "manageraccessmixin (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ManagerAccessMixin", false]], "manifest_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.manifest_path", false]], "max_gas (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.max_gas", false]], "messagesignature (class in ape.types.signatures)": [[23, "ape.types.signatures.MessageSignature", false]], "meta (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.meta", false]], "meta (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.meta", false]], "method_called (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.method_called", false]], "methodnonpayableerror": [[20, "ape.exceptions.MethodNonPayableError", false]], "methods (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.METHODS", false]], "mine() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.mine", false]], "mine() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.mine", false]], "mine() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.mine", false]], "mine() (ape_node.gethdev method)": [[14, "ape_node.GethDev.mine", false]], "miss_count (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.miss_count", false]], "miss_count (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.miss_count", false]], "miss_count (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.miss_count", false]], "miss_count (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.miss_count", false]], "miss_count (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.miss_count", false]], "missingdeploymentbytecodeerror": [[20, "ape.exceptions.MissingDeploymentBytecodeError", false]], "mockcontractlog (class in ape.types.events)": [[23, "ape.types.events.MockContractLog", false]], "model_copy() (ape.utils.basemodel.basemodel method)": [[24, "ape.utils.basemodel.BaseModel.model_copy", false]], "model_dump() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.model_dump", false]], "model_dump() (ape.types.coverage.contractcoverage method)": [[23, "ape.types.coverage.ContractCoverage.model_dump", false]], "model_dump() (ape.types.coverage.contractsourcecoverage method)": [[23, "ape.types.coverage.ContractSourceCoverage.model_dump", false]], "model_dump() (ape.types.coverage.coverageproject method)": [[23, "ape.types.coverage.CoverageProject.model_dump", false]], "model_dump() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.model_dump", false]], "model_dump() (ape.types.coverage.functioncoverage method)": [[23, "ape.types.coverage.FunctionCoverage.model_dump", false]], "model_dump() (ape.types.events.logfilter method)": [[23, "ape.types.events.LogFilter.model_dump", false]], "module": [[11, "module-ape_accounts", false], [12, "module-ape_compile", false], [13, "module-ape_ethereum", false], [13, "module-ape_ethereum.multicall", false], [14, "module-ape_node", false], [15, "module-ape_pm", false], [16, "module-ape_test", false], [17, "module-ape.api.accounts", false], [17, "module-ape.api.address", false], [17, "module-ape.api.compiler", false], [17, "module-ape.api.config", false], [17, "module-ape.api.convert", false], [17, "module-ape.api.explorers", false], [17, "module-ape.api.networks", false], [17, "module-ape.api.projects", false], [17, "module-ape.api.providers", false], [17, "module-ape.api.query", false], [18, "module-ape.cli.arguments", false], [18, "module-ape.cli.choices", false], [18, "module-ape.cli.commands", false], [18, "module-ape.cli.options", false], [18, "module-ape.cli.paramtype", false], [20, "module-ape.exceptions", false], [21, "module-ape.managers.accounts", false], [21, "module-ape.managers.compilers", false], [21, "module-ape.managers.config", false], [21, "module-ape.managers.converters", false], [21, "module-ape.managers.networks", false], [21, "module-ape.managers.project", false], [21, "module-ape.managers.query", false], [22, "module-ape.plugins", false], [22, "module-ape.plugins.account", false], [22, "module-ape.plugins.compiler", false], [22, "module-ape.plugins.config", false], [22, "module-ape.plugins.converter", false], [22, "module-ape.plugins.network", false], [22, "module-ape.plugins.pluggy_patch", false], [22, "module-ape.plugins.project", false], [22, "module-ape.plugins.query", false], [23, "module-ape.types.address", false], [23, "module-ape.types.basic", false], [23, "module-ape.types.coverage", false], [23, "module-ape.types.events", false], [23, "module-ape.types.gas", false], [23, "module-ape.types.trace", false], [23, "module-ape.types.units", false], [23, "module-ape.types.vm", false], [24, "module-ape.utils.abi", false], [24, "module-ape.utils.basemodel", false], [24, "module-ape.utils.misc", false], [24, "module-ape.utils.os", false], [24, "module-ape.utils.process", false], [24, "module-ape.utils.rpc", false], [24, "module-ape.utils.testing", false], [24, "module-ape.utils.trace", false]], "multiplier (ape.types.gas.autogaslimit attribute)": [[23, "ape.types.gas.AutoGasLimit.multiplier", false]], "name": [[6, "cmdoption-pm-compile-arg-NAME", false], [6, "cmdoption-pm-uninstall-arg-NAME", false]], "name (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.name", false]], "name (ape.api.compiler.compilerapi property)": [[17, "ape.api.compiler.CompilerAPI.name", false]], "name (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.name", false]], "name (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.name", false]], "name (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.name", false]], "name (ape.api.projects.dependencyapi attribute)": [[17, "ape.api.projects.DependencyAPI.name", false]], "name (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.name", false]], "name (ape.cli.choices.alias attribute)": [[18, "ape.cli.choices.Alias.name", false]], "name (ape.contracts.base.contractevent property)": [[19, "ape.contracts.base.ContractEvent.name", false]], "name (ape.exceptions.customerror property)": [[20, "ape.exceptions.CustomError.name", false]], "name (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.name", false]], "name (ape.types.coverage.contractcoverage attribute)": [[23, "ape.types.coverage.ContractCoverage.name", false]], "name (ape.types.coverage.coverageproject attribute)": [[23, "ape.types.coverage.CoverageProject.name", false]], "name (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.name", false]], "name (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.name", false]], "name (ape_node.gethdev attribute)": [[14, "ape_node.GethDev.name", false]], "network (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.network", false]], "network (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network", false]], "network_choice (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.network_choice", false]], "network_data (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network_data", false]], "network_id (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.network_id", false]], "network_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network_names", false]], "network_option() (in module ape.cli.options)": [[18, "ape.cli.options.network_option", false]], "networkapi (class in ape.api.networks)": [[17, "ape.api.networks.NetworkAPI", false]], "networkchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.NetworkChoice", false]], "networkerror": [[20, "ape.exceptions.NetworkError", false]], "networkmanager (class in ape.managers.networks)": [[21, "ape.managers.networks.NetworkManager", false]], "networkmismatcherror": [[20, "ape.exceptions.NetworkMismatchError", false]], "networknotfounderror": [[20, "ape.exceptions.NetworkNotFoundError", false]], "networkoption (class in ape.cli.options)": [[18, "ape.cli.options.NetworkOption", false]], "networkplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.NetworkPlugin", false]], "networks (ape attribute)": [[10, "ape.networks", false]], "networks (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.networks", false]], "networks() (ape.plugins.network.networkplugin method)": [[22, "ape.plugins.network.NetworkPlugin.networks", false]], "networks-list command line option": [[4, "cmdoption-networks-list-ecosystem", false], [4, "cmdoption-networks-list-format", false], [4, "cmdoption-networks-list-network", false], [4, "cmdoption-networks-list-provider", false], [4, "cmdoption-networks-list-v", false]], "networks-run command line option": [[4, "cmdoption-networks-run-network", false], [4, "cmdoption-networks-run-v", false]], "next_statement (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.next_statement", false]], "node (class in ape_node)": [[14, "ape_node.Node", false]], "non_existing_alias_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.non_existing_alias_argument", false]], "nonce (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.nonce", false]], "noop (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.Noop", false]], "num_transactions (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.num_transactions", false]], "number (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.number", false]], "otterscanqueryengine (class in ape_node)": [[14, "ape_node.OtterscanQueryEngine", false]], "outgoing (ape.managers.chain.accounthistory property)": [[21, "ape.managers.chain.AccountHistory.outgoing", false]], "outofgaserror": [[20, "ape.exceptions.OutOfGasError", false]], "output_format_choice() (in module ape.cli.choices)": [[18, "ape.cli.choices.output_format_choice", false]], "output_format_option() (in module ape.cli.options)": [[18, "ape.cli.options.output_format_option", false]], "outputformat (class in ape.cli.choices)": [[18, "ape.cli.choices.OutputFormat", false]], "outputs (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.OUTPUTS", false]], "package": [[6, "cmdoption-pm-install-arg-PACKAGE", false]], "package_id (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.package_id", false]], "package_id (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.package_id", false]], "packages_cache (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.packages_cache", false]], "packagescache (class in ape.managers.project)": [[21, "ape.managers.project.PackagesCache", false]], "parent_hash (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.parent_hash", false]], "parse_args() (ape.cli.commands.connectedprovidercommand method)": [[18, "ape.cli.commands.ConnectedProviderCommand.parse_args", false]], "parse_network_choice() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.parse_network_choice", false]], "path (ape.api.projects.projectapi attribute)": [[17, "ape.api.projects.ProjectAPI.path", false]], "path (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.path", false]], "path (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.Path", false]], "path_match() (in module ape.utils.os)": [[24, "ape.utils.os.path_match", false]], "paths (ape.managers.project.sourcemanager property)": [[21, "ape.managers.project.SourceManager.paths", false]], "pcs (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.pcs", false]], "pending_timestamp (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.pending_timestamp", false]], "perform_query() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.perform_query", false]], "perform_query() (ape.managers.query.defaultqueryprovider method)": [[21, "ape.managers.query.DefaultQueryProvider.perform_query", false]], "perform_query() (ape_node.otterscanqueryengine method)": [[14, "ape_node.OtterscanQueryEngine.perform_query", false]], "plugin-names": [[5, "cmdoption-plugins-install-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", false]], "plugin_manager (in module ape.plugins.pluggy_patch)": [[22, "ape.plugins.pluggy_patch.plugin_manager", false]], "pluginconfig (class in ape.api.config)": [[17, "ape.api.config.PluginConfig", false]], "plugininstallerror": [[20, "ape.exceptions.PluginInstallError", false]], "plugins-change-version command line option": [[5, "cmdoption-plugins-change-version-arg-VERSION", false]], "plugins-install command line option": [[5, "cmdoption-plugins-install-U", false], [5, "cmdoption-plugins-install-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-install-y", false]], "plugins-list command line option": [[5, "cmdoption-plugins-list-a", false], [5, "cmdoption-plugins-list-v", false]], "plugins-uninstall command line option": [[5, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-uninstall-v", false], [5, "cmdoption-plugins-uninstall-y", false]], "plugintype (class in ape.plugins.pluggy_patch)": [[22, "ape.plugins.pluggy_patch.PluginType", false]], "pluginversionerror": [[20, "ape.exceptions.PluginVersionError", false]], "pm-compile command line option": [[6, "cmdoption-pm-compile-arg-NAME", false], [6, "cmdoption-pm-compile-config-override", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-compile-version", false]], "pm-install command line option": [[6, "cmdoption-pm-install-arg-PACKAGE", false], [6, "cmdoption-pm-install-config-override", false], [6, "cmdoption-pm-install-f", false], [6, "cmdoption-pm-install-name", false], [6, "cmdoption-pm-install-ref", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-install-version", false]], "pm-list command line option": [[6, "cmdoption-pm-list-all", false], [6, "cmdoption-pm-list-v", false]], "pm-uninstall command line option": [[6, "cmdoption-pm-uninstall-arg-NAME", false], [6, "cmdoption-pm-uninstall-arg-VERSIONS", false], [6, "cmdoption-pm-uninstall-v", false], [6, "cmdoption-pm-uninstall-y", false]], "poll_blocks() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.poll_blocks", false]], "poll_blocks() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.poll_blocks", false]], "poll_logs() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.poll_logs", false]], "poll_logs() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.poll_logs", false]], "pragma_str_to_specifier_set() (in module ape.utils.misc)": [[24, "ape.utils.misc.pragma_str_to_specifier_set", false]], "prepare_transaction() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.prepare_transaction", false]], "prepare_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.prepare_transaction", false]], "print_choices() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.print_choices", false]], "print_choices() (ape.cli.choices.promptchoice method)": [[18, "ape.cli.choices.PromptChoice.print_choices", false]], "priority_fee (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.priority_fee", false]], "private_key (ape.utils.testing.generateddevaccount attribute)": [[24, "ape.utils.testing.GeneratedDevAccount.private_key", false]], "process_name (ape.api.providers.subprocessprovider property)": [[17, "ape.api.providers.SubprocessProvider.process_name", false]], "process_name (ape_node.gethdev property)": [[14, "ape_node.GethDev.process_name", false]], "profile_statement() (ape.types.coverage.functioncoverage method)": [[23, "ape.types.coverage.FunctionCoverage.profile_statement", false]], "project (ape attribute)": [[10, "ape.project", false]], "project (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.project", false]], "project (ape.utils.basemodel.manageraccessmixin attribute)": [[24, "ape.utils.basemodel.ManagerAccessMixin.Project", false]], "project (class in ape.managers.project)": [[21, "ape.managers.project.Project", false]], "project_api (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.project_api", false]], "project_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.project_path", false]], "projectapi (class in ape.api.projects)": [[17, "ape.api.projects.ProjectAPI", false]], "projecterror": [[20, "ape.exceptions.ProjectError", false]], "projectmanager (class in ape.managers.project)": [[21, "ape.managers.project.ProjectManager", false]], "projectplugin (class in ape.plugins.project)": [[22, "ape.plugins.project.ProjectPlugin", false]], "projects (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.projects", false]], "projects() (ape.plugins.project.projectplugin method)": [[22, "ape.plugins.project.ProjectPlugin.projects", false]], "promptchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.PromptChoice", false]], "provider_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.provider_names", false]], "provider_settings (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.provider_settings", false]], "providerapi (class in ape.api.providers)": [[17, "ape.api.providers.ProviderAPI", false]], "providercontextmanager (class in ape.api.networks)": [[17, "ape.api.networks.ProviderContextManager", false]], "providererror": [[20, "ape.exceptions.ProviderError", false]], "providernotconnectederror": [[20, "ape.exceptions.ProviderNotConnectedError", false]], "providernotfounderror": [[20, "ape.exceptions.ProviderNotFoundError", false]], "providerplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.ProviderPlugin", false]], "providers (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.providers", false]], "providers() (ape.plugins.network.providerplugin method)": [[22, "ape.plugins.network.ProviderPlugin.providers", false]], "proxyinfoapi (class in ape.api.networks)": [[17, "ape.api.networks.ProxyInfoAPI", false]], "publish_contract() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.publish_contract", false]], "publish_contract() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.publish_contract", false]], "pytest_args": [[8, "cmdoption-test-arg-PYTEST_ARGS", false]], "query() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.query", false]], "query() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.query", false]], "query() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.query", false]], "query() (ape.managers.query.querymanager method)": [[21, "ape.managers.query.QueryManager.query", false]], "query_engines() (ape.plugins.query.queryplugin method)": [[22, "ape.plugins.query.QueryPlugin.query_engines", false]], "queryapi (class in ape.api.query)": [[17, "ape.api.query.QueryAPI", false]], "queryengineerror": [[20, "ape.exceptions.QueryEngineError", false]], "querymanager (class in ape.managers.query)": [[21, "ape.managers.query.QueryManager", false]], "queryplugin (class in ape.plugins.query)": [[22, "ape.plugins.query.QueryPlugin", false]], "raise_for_status() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.raise_for_status", false]], "raises_not_implemented() (in module ape.utils.misc)": [[24, "ape.utils.misc.raises_not_implemented", false]], "ran_out_of_gas (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.ran_out_of_gas", false]], "range() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.range", false]], "range() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.range", false]], "raw_address (ape.api.accounts.impersonatedaccount attribute)": [[17, "ape.api.accounts.ImpersonatedAccount.raw_address", false]], "rawaddress (in module ape.types.address)": [[23, "ape.types.address.RawAddress", false]], "receipt (ape.api.query.contractcreation property)": [[17, "ape.api.query.ContractCreation.receipt", false]], "receipt (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.receipt", false]], "receiptapi (class in ape.api.transactions)": [[17, "ape.api.transactions.ReceiptAPI", false]], "reconfigure() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.reconfigure", false]], "recover_signer() (ape.types.signatures method)": [[23, "ape.types.signatures.recover_signer", false]], "refresh() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.refresh", false]], "refresh_sources() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.refresh_sources", false]], "register() (ape.utils.misc.singledispatchmethod method)": [[24, "ape.utils.misc.singledispatchmethod.register", false]], "register() (in module ape.plugins)": [[22, "ape.plugins.register", false]], "register_compiler() (ape.plugins.compiler.compilerplugin method)": [[22, "ape.plugins.compiler.CompilerPlugin.register_compiler", false]], "registered_compilers (ape.managers.compilers.compilermanager property)": [[21, "ape.managers.compilers.CompilerManager.registered_compilers", false]], "reload_config() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.reload_config", false]], "relock_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.relock_account", false]], "remove() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.remove", false]], "request_header (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.request_header", false]], "request_header (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.request_header", false]], "request_header (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.request_header", false]], "request_headers (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.request_headers", false]], "request_headers (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.request_headers", false]], "required_confirmations (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.required_confirmations", false]], "reset() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.reset", false]], "restore() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.restore", false]], "restore() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.restore", false]], "restore() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.restore", false]], "restore() (ape_node.gethdev method)": [[14, "ape_node.GethDev.restore", false]], "return_value (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.return_value", false]], "returns_array() (in module ape.utils.abi)": [[24, "ape.utils.abi.returns_array", false]], "revert_to_block() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.revert_to_block", false]], "revert_to_block() (ape.managers.chain.transactionhistory method)": [[21, "ape.managers.chain.TransactionHistory.revert_to_block", false]], "revert_type (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.revert_type", false]], "rpcheaders (class in ape.utils.rpc)": [[24, "ape.utils.rpc.RPCHeaders", false]], "rpctimeouterror": [[20, "ape.exceptions.RPCTimeoutError", false]], "run command line option": [[7, "cmdoption-run-I", false]], "run_in_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.run_in_tempdir", false]], "run_until_complete() (in module ape.utils.misc)": [[24, "ape.utils.misc.run_until_complete", false]], "select_account() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.select_account", false]], "select_account() (in module ape.cli.choices)": [[18, "ape.cli.choices.select_account", false]], "selector_identifiers (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.selector_identifiers", false]], "send_call() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_call", false]], "send_private_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_private_transaction", false]], "send_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_transaction", false]], "send_transaction() (ape_node.node method)": [[14, "ape_node.Node.send_transaction", false]], "serialize_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.serialize_transaction", false]], "serialize_transaction() (ape.api.transactions.transactionapi method)": [[17, "ape.api.transactions.TransactionAPI.serialize_transaction", false]], "sessional (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.sessional", false]], "set_balance() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_balance", false]], "set_code() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_code", false]], "set_default_ecosystem() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.set_default_ecosystem", false]], "set_default_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.set_default_network", false]], "set_default_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.set_default_provider", false]], "set_storage() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_storage", false]], "set_timestamp() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_timestamp", false]], "set_timestamp() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.set_timestamp", false]], "set_timestamp() (ape_node.gethdev method)": [[14, "ape_node.GethDev.set_timestamp", false]], "settings (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.settings", false]], "show() (ape.exceptions.abort method)": [[20, "ape.exceptions.Abort.show", false]], "show_debug_logs() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_debug_logs", false]], "show_events() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_events", false]], "show_gas_report() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_gas_report", false]], "show_source_traceback() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_source_traceback", false]], "show_trace() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_trace", false]], "sign_message() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_message", false]], "sign_message() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.sign_message", false]], "sign_raw_msghash() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_raw_msghash", false]], "sign_transaction() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_transaction", false]], "sign_transaction() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.sign_transaction", false]], "signablemessage (class in ape.types.signatures)": [[23, "ape.types.signatures.SignableMessage", false]], "signatureerror": [[20, "ape.exceptions.SignatureError", false]], "singledispatchmethod (class in ape.utils.misc)": [[24, "ape.utils.misc.singledispatchmethod", false]], "size (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.size", false]], "skip_confirmation_option() (in module ape.cli.options)": [[18, "ape.cli.options.skip_confirmation_option", false]], "snapshot() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.snapshot", false]], "snapshot() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.snapshot", false]], "snapshot() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.snapshot", false]], "snapshot() (ape_node.gethdev method)": [[14, "ape_node.GethDev.snapshot", false]], "snapshotid (in module ape.types.vm)": [[23, "ape.types.vm.SnapshotID", false]], "source_folders (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.source_folders", false]], "source_id (ape.types.coverage.contractsourcecoverage attribute)": [[23, "ape.types.coverage.ContractSourceCoverage.source_id", false]], "source_path (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.source_path", false]], "source_path (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.source_path", false]], "source_statements (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.source_statements", false]], "source_statements (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.source_statements", false]], "source_traceback (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.source_traceback", false]], "sourcemanager (class in ape.managers.project)": [[21, "ape.managers.project.SourceManager", false]], "sources (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.sources", false]], "sources (ape.types.coverage.coverageproject attribute)": [[23, "ape.types.coverage.CoverageProject.sources", false]], "sources (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.sources", false]], "sourcetraceback (class in ape.types.trace)": [[23, "ape.types.trace.SourceTraceback", false]], "spawn() (in module ape.utils.process)": [[24, "ape.utils.process.spawn", false]], "specified (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.specified", false]], "start() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.start", false]], "start() (ape_node.gethdev method)": [[14, "ape_node.GethDev.start", false]], "statements (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.statements", false]], "statements (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.statements", false]], "statements (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.statements", false]], "statements (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.statements", false]], "statements (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.statements", false]], "statements (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.statements", false]], "statements (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.statements", false]], "stop() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.stop", false]], "stop_impersonating() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.stop_impersonating", false]], "stream_request() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.stream_request", false]], "stream_response() (in module ape.utils.rpc)": [[24, "ape.utils.rpc.stream_response", false]], "stringdecimalconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.StringDecimalConverter", false]], "stringintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.StringIntConverter", false]], "struct (class in ape.utils.abi)": [[24, "ape.utils.abi.Struct", false]], "structparser (class in ape.utils.abi)": [[24, "ape.utils.abi.StructParser", false]], "subprocesserror": [[20, "ape.exceptions.SubprocessError", false]], "subprocessprovider (class in ape.api.providers)": [[17, "ape.api.providers.SubprocessProvider", false]], "subprocesstimeouterror": [[20, "ape.exceptions.SubprocessTimeoutError", false]], "supports_chain() (ape.api.explorers.explorerapi class method)": [[17, "ape.api.explorers.ExplorerAPI.supports_chain", false]], "supports_source_tracing (ape.api.compiler.compilerapi property)": [[17, "ape.api.compiler.CompilerAPI.supports_source_tracing", false]], "supports_tracing (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.supports_tracing", false]], "tag (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.tag", false]], "target (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.target", false]], "test command line option": [[8, "cmdoption-test-arg-PYTEST_ARGS", false], [8, "cmdoption-test-v", false], [8, "cmdoption-test-w", false], [8, "cmdoption-test-watch-delay", false], [8, "cmdoption-test-watch-folders", false]], "test_accounts (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.test_accounts", false]], "testaccountapi (class in ape.api.accounts)": [[17, "ape.api.accounts.TestAccountAPI", false]], "testaccountcontainerapi (class in ape.api.accounts)": [[17, "ape.api.accounts.TestAccountContainerAPI", false]], "testaccountmanager (class in ape.managers.accounts)": [[21, "ape.managers.accounts.TestAccountManager", false]], "testproviderapi (class in ape.api.providers)": [[17, "ape.api.providers.TestProviderAPI", false]], "timestamp (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.timestamp", false]], "timestamp (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.timestamp", false]], "timestamp (ape.types.events.contractlog property)": [[23, "ape.types.events.ContractLog.timestamp", false]], "timestampconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.TimestampConverter", false]], "to_int() (in module ape.utils.misc)": [[24, "ape.utils.misc.to_int", false]], "total_fees_paid (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.total_fees_paid", false]], "total_functions (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.total_functions", false]], "total_functions (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.total_functions", false]], "total_functions (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.total_functions", false]], "total_transfer_value (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.total_transfer_value", false]], "trace (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.trace", false]], "trace (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.trace", false]], "trace_source() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.trace_source", false]], "tracestyles (class in ape.utils.trace)": [[24, "ape.utils.trace.TraceStyles", false]], "track() (ape.managers.project.deploymentmanager method)": [[21, "ape.managers.project.DeploymentManager.track", false]], "track_coverage() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.track_coverage", false]], "track_gas() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.track_gas", false]], "transaction (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.Transaction", false]], "transaction_acceptance_timeout (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.transaction_acceptance_timeout", false]], "transaction_hash (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.transaction_hash", false]], "transaction_index (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.transaction_index", false]], "transactionapi (class in ape.api.transactions)": [[17, "ape.api.transactions.TransactionAPI", false]], "transactionerror": [[20, "ape.exceptions.TransactionError", false]], "transactionhistory (class in ape.managers.chain)": [[21, "ape.managers.chain.TransactionHistory", false]], "transactionnotfounderror": [[20, "ape.exceptions.TransactionNotFoundError", false]], "transactions (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.transactions", false]], "transactionsignature (class in ape.types.signatures)": [[23, "ape.types.signatures.TransactionSignature", false]], "transfer() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.transfer", false]], "tree (ape.cli.choices.outputformat attribute)": [[18, "ape.cli.choices.OutputFormat.TREE", false]], "txn_hash (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.txn_hash", false]], "txn_hash (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.txn_hash", false]], "unknownsnapshoterror": [[20, "ape.exceptions.UnknownSnapshotError", false]], "unknownversionerror": [[20, "ape.exceptions.UnknownVersionError", false]], "unlock_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.unlock_account", false]], "unpack() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.unpack", false]], "unpack() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.unpack", false]], "unpack() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.unpack", false]], "unpack() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.unpack", false]], "update_cache() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.update_cache", false]], "update_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.update_manifest", false]], "update_manifest() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.update_manifest", false]], "update_settings() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.update_settings", false]], "upstream_chain_id (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_chain_id", false]], "upstream_network (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_network", false]], "upstream_provider (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_provider", false]], "upstreamprovider (class in ape.api.providers)": [[17, "ape.api.providers.UpstreamProvider", false]], "uri (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.uri", false]], "uri (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.uri", false]], "uri_map (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.uri_map", false]], "use_default_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.use_default_provider", false]], "use_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.use_provider", false]], "use_temp_sys_path (class in ape.utils.os)": [[24, "ape.utils.os.use_temp_sys_path", false]], "use_upstream_provider() (ape.api.networks.forkednetworkapi method)": [[17, "ape.api.networks.ForkedNetworkAPI.use_upstream_provider", false]], "validate_file() (ape.api.config.apeconfig class method)": [[17, "ape.api.config.ApeConfig.validate_file", false]], "validate_size() (ape.api.providers.blockapi class method)": [[17, "ape.api.providers.BlockAPI.validate_size", false]], "value (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.VALUE", false]], "verbosity_option() (in module ape.cli.options)": [[18, "ape.cli.options.verbosity_option", false]], "verify_chain_id() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.verify_chain_id", false]], "version": [[5, "cmdoption-plugins-change-version-arg-VERSION", false]], "version (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.version", false]], "version (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.version", false]], "version (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.version", false]], "version_id (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.version_id", false]], "versions": [[6, "cmdoption-pm-uninstall-arg-VERSIONS", false]], "virtualmachineerror": [[20, "ape.exceptions.VirtualMachineError", false]], "write_to_disk() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.write_to_disk", false]], "ws_begin_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.ws_begin_lineno", false]], "ws_uri (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.ws_uri", false]], "yaml (ape.cli.choices.outputformat attribute)": [[18, "ape.cli.choices.OutputFormat.YAML", false]]}, "objects": {"": [[11, 2, 0, "-", "ape_accounts"], [12, 2, 0, "-", "ape_compile"], [13, 2, 0, "-", "ape_ethereum"], [14, 2, 0, "-", "ape_node"], [15, 2, 0, "-", "ape_pm"], [16, 2, 0, "-", "ape_test"]], "accounts-change-password": [[0, 8, 1, "cmdoption-accounts-change-password-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-change-password-v", "-v"], [0, 8, 1, "cmdoption-accounts-change-password-arg-ALIAS", "ALIAS"]], "accounts-delete": [[0, 8, 1, "cmdoption-accounts-delete-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-delete-v", "-v"], [0, 8, 1, "cmdoption-accounts-delete-arg-ALIAS", "ALIAS"]], "accounts-export": [[0, 8, 1, "cmdoption-accounts-export-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-export-v", "-v"], [0, 8, 1, "cmdoption-accounts-export-arg-ALIAS", "ALIAS"]], "accounts-generate": [[0, 8, 1, "cmdoption-accounts-generate-hd-path", "--hd-path"], [0, 8, 1, "cmdoption-accounts-generate-hide-mnemonic", "--hide-mnemonic"], [0, 8, 1, "cmdoption-accounts-generate-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-generate-word-count", "--word-count"], [0, 8, 1, "cmdoption-accounts-generate-v", "-v"], [0, 8, 1, "cmdoption-accounts-generate-arg-ALIAS", "ALIAS"]], "accounts-import": [[0, 8, 1, "cmdoption-accounts-import-hd-path", "--hd-path"], [0, 8, 1, "cmdoption-accounts-import-use-mnemonic", "--use-mnemonic"], [0, 8, 1, "cmdoption-accounts-import-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-import-v", "-v"], [0, 8, 1, "cmdoption-accounts-import-arg-ALIAS", "ALIAS"]], "accounts-list": [[0, 8, 1, "cmdoption-accounts-list-all", "--all"], [0, 8, 1, "cmdoption-accounts-list-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-list-v", "-v"]], "ape": [[10, 0, 1, "", "Contract"], [10, 0, 1, "", "Project"], [10, 1, 1, "", "accounts"], [10, 1, 1, "", "chain"], [10, 1, 1, "", "compilers"], [10, 1, 1, "", "config"], [10, 0, 1, "", "convert"], [20, 2, 0, "-", "exceptions"], [10, 1, 1, "", "networks"], [22, 2, 0, "-", "plugins"], [10, 1, 1, "", "project"], [10, 0, 1, "", "reverts"]], "ape.api": [[17, 2, 0, "-", "accounts"], [17, 2, 0, "-", "address"], [17, 2, 0, "-", "compiler"], [17, 2, 0, "-", "config"], [17, 2, 0, "-", "convert"], [17, 2, 0, "-", "explorers"], [17, 2, 0, "-", "networks"], [17, 2, 0, "-", "projects"], [17, 2, 0, "-", "providers"], [17, 2, 0, "-", "query"]], "ape.api.accounts": [[17, 3, 1, "", "AccountAPI"], [17, 3, 1, "", "AccountContainerAPI"], [17, 3, 1, "", "ImpersonatedAccount"], [17, 3, 1, "", "TestAccountAPI"], [17, 3, 1, "", "TestAccountContainerAPI"]], "ape.api.accounts.AccountAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "alias"], [17, 5, 1, "", "call"], [17, 5, 1, "", "check_signature"], [17, 5, 1, "", "declare"], [17, 5, 1, "", "deploy"], [17, 5, 1, "", "prepare_transaction"], [17, 5, 1, "", "sign_message"], [17, 5, 1, "", "sign_raw_msghash"], [17, 5, 1, "", "sign_transaction"], [17, 5, 1, "", "transfer"]], "ape.api.accounts.AccountContainerAPI": [[17, 5, 1, "", "__contains__"], [17, 5, 1, "", "__delitem__"], [17, 5, 1, "", "__getitem__"], [17, 5, 1, "", "__len__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "account_type"], [17, 4, 1, "", "accounts"], [17, 4, 1, "", "aliases"], [17, 5, 1, "", "append"], [17, 4, 1, "", "data_folder"], [17, 1, 1, "", "name"], [17, 5, 1, "", "remove"]], "ape.api.accounts.ImpersonatedAccount": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "address"], [17, 5, 1, "", "call"], [17, 1, 1, "", "raw_address"], [17, 5, 1, "", "sign_message"], [17, 5, 1, "", "sign_transaction"]], "ape.api.accounts.TestAccountAPI": [[17, 1, 1, "", "__signature__"]], "ape.api.accounts.TestAccountContainerAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "generate_account"], [17, 5, 1, "", "get_test_account"], [17, 5, 1, "", "reset"]], "ape.api.address": [[17, 3, 1, "", "Address"], [17, 3, 1, "", "BaseAddress"]], "ape.api.address.Address": [[17, 4, 1, "", "address"]], "ape.api.address.BaseAddress": [[17, 4, 1, "", "address"], [17, 4, 1, "", "balance"], [17, 4, 1, "", "code"], [17, 4, 1, "", "codesize"], [17, 4, 1, "", "history"], [17, 4, 1, "", "is_contract"], [17, 4, 1, "", "nonce"]], "ape.api.compiler": [[17, 3, 1, "", "CompilerAPI"]], "ape.api.compiler.CompilerAPI": [[17, 5, 1, "", "compile"], [17, 5, 1, "", "compile_code"], [17, 1, 1, "", "compiler_settings"], [17, 5, 1, "", "enrich_error"], [17, 5, 1, "", "flatten_contract"], [17, 5, 1, "", "get_compiler_settings"], [17, 5, 1, "", "get_config"], [17, 5, 1, "", "get_imports"], [17, 5, 1, "", "get_version_map"], [17, 5, 1, "", "get_versions"], [17, 5, 1, "", "init_coverage_profile"], [17, 4, 1, "", "name"], [17, 4, 1, "", "supports_source_tracing"], [17, 5, 1, "", "trace_source"]], "ape.api.config": [[17, 3, 1, "", "ApeConfig"], [17, 3, 1, "", "ConfigEnum"], [17, 3, 1, "", "DeploymentConfig"], [17, 3, 1, "", "GenericConfig"], [17, 3, 1, "", "PluginConfig"]], "ape.api.config.ApeConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "__str__"], [17, 1, 1, "", "base_path"], [17, 1, 1, "", "contracts_folder"], [17, 1, 1, "", "default_ecosystem"], [17, 1, 1, "", "dependencies"], [17, 1, 1, "", "deployment_data"], [17, 1, 1, "", "interfaces_folder"], [17, 1, 1, "", "meta"], [17, 5, 1, "", "model_dump"], [17, 1, 1, "", "name"], [17, 1, 1, "", "request_headers"], [17, 5, 1, "", "validate_file"], [17, 1, 1, "", "version"], [17, 5, 1, "", "write_to_disk"]], "ape.api.config.ConfigEnum": [[17, 5, 1, "", "__repr__"], [17, 5, 1, "", "__str__"]], "ape.api.config.DeploymentConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "address"], [17, 1, 1, "", "contract_type"]], "ape.api.config.PluginConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "__str__"]], "ape.api.convert": [[17, 3, 1, "", "ConverterAPI"]], "ape.api.convert.ConverterAPI": [[17, 1, 1, "", "__signature__"], [17, 5, 1, "", "convert"], [17, 5, 1, "", "is_convertible"]], "ape.api.explorers": [[17, 3, 1, "", "ExplorerAPI"]], "ape.api.explorers.ExplorerAPI": [[17, 5, 1, "", "get_address_url"], [17, 5, 1, "", "get_contract_type"], [17, 5, 1, "", "get_transaction_url"], [17, 5, 1, "", "publish_contract"], [17, 5, 1, "", "supports_chain"]], "ape.api.networks": [[17, 3, 1, "", "EcosystemAPI"], [17, 3, 1, "", "ForkedNetworkAPI"], [17, 3, 1, "", "NetworkAPI"], [17, 3, 1, "", "ProviderContextManager"], [17, 3, 1, "", "ProxyInfoAPI"], [17, 0, 1, "", "create_network_type"]], "ape.api.networks.EcosystemAPI": [[17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "add_network"], [17, 4, 1, "", "config"], [17, 5, 1, "", "create_transaction"], [17, 4, 1, "", "custom_network"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "decode_address"], [17, 5, 1, "", "decode_block"], [17, 5, 1, "", "decode_calldata"], [17, 5, 1, "", "decode_custom_error"], [17, 5, 1, "", "decode_logs"], [17, 5, 1, "", "decode_primitive_value"], [17, 5, 1, "", "decode_receipt"], [17, 5, 1, "", "decode_returndata"], [17, 4, 1, "", "default_network_name"], [17, 5, 1, "", "encode_address"], [17, 5, 1, "", "encode_calldata"], [17, 5, 1, "", "encode_contract_blueprint"], [17, 5, 1, "", "encode_deployment"], [17, 5, 1, "", "encode_transaction"], [17, 5, 1, "", "enrich_trace"], [17, 1, 1, "", "fee_token_decimals"], [17, 1, 1, "", "fee_token_symbol"], [17, 5, 1, "", "get_method_selector"], [17, 5, 1, "", "get_network"], [17, 5, 1, "", "get_network_data"], [17, 5, 1, "", "get_proxy_info"], [17, 5, 1, "", "get_python_types"], [17, 1, 1, "", "name"], [17, 4, 1, "", "networks"], [17, 1, 1, "", "request_header"], [17, 5, 1, "", "serialize_transaction"], [17, 5, 1, "", "set_default_network"]], "ape.api.networks.ForkedNetworkAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "upstream_chain_id"], [17, 4, 1, "", "upstream_network"], [17, 4, 1, "", "upstream_provider"], [17, 5, 1, "", "use_upstream_provider"]], "ape.api.networks.NetworkAPI": [[17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 4, 1, "", "auto_gas_multiplier"], [17, 4, 1, "", "base_fee_multiplier"], [17, 4, 1, "", "block_time"], [17, 4, 1, "", "chain_id"], [17, 4, 1, "", "data_folder"], [17, 4, 1, "", "default_provider_name"], [17, 1, 1, "", "ecosystem"], [17, 4, 1, "", "ecosystem_config"], [17, 4, 1, "", "explorer"], [17, 5, 1, "", "get_provider"], [17, 4, 1, "", "is_adhoc"], [17, 4, 1, "", "is_dev"], [17, 4, 1, "", "is_fork"], [17, 4, 1, "", "is_local"], [17, 4, 1, "", "is_mainnet"], [17, 1, 1, "", "name"], [17, 4, 1, "", "network_id"], [17, 4, 1, "", "providers"], [17, 5, 1, "", "publish_contract"], [17, 1, 1, "", "request_header"], [17, 4, 1, "", "required_confirmations"], [17, 5, 1, "", "set_default_provider"], [17, 4, 1, "", "transaction_acceptance_timeout"], [17, 5, 1, "", "use_default_provider"], [17, 5, 1, "", "use_provider"], [17, 5, 1, "", "verify_chain_id"]], "ape.api.networks.ProviderContextManager": [[17, 4, 1, "", "empty"]], "ape.api.networks.ProxyInfoAPI": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "target"]], "ape.api.projects": [[17, 3, 1, "", "ApeProject"], [17, 3, 1, "", "DependencyAPI"], [17, 3, 1, "", "ProjectAPI"]], "ape.api.projects.ApeProject": [[17, 5, 1, "", "extract_config"], [17, 4, 1, "", "is_valid"]], "ape.api.projects.DependencyAPI": [[17, 1, 1, "", "config_override"], [17, 5, 1, "", "fetch"], [17, 1, 1, "", "name"], [17, 4, 1, "", "package_id"], [17, 4, 1, "", "uri"], [17, 4, 1, "", "version_id"]], "ape.api.projects.ProjectAPI": [[17, 5, 1, "", "extract_config"], [17, 4, 1, "", "is_valid"], [17, 1, 1, "", "path"]], "ape.api.providers": [[17, 3, 1, "", "BlockAPI"], [17, 3, 1, "", "ProviderAPI"], [17, 3, 1, "", "SubprocessProvider"], [17, 3, 1, "", "TestProviderAPI"], [17, 3, 1, "", "UpstreamProvider"]], "ape.api.providers.BlockAPI": [[17, 4, 1, "", "datetime"], [17, 1, 1, "", "hash"], [17, 1, 1, "", "num_transactions"], [17, 1, 1, "", "number"], [17, 1, 1, "", "parent_hash"], [17, 4, 1, "", "size"], [17, 1, 1, "", "timestamp"], [17, 4, 1, "", "transactions"], [17, 5, 1, "", "validate_size"]], "ape.api.providers.ProviderAPI": [[17, 4, 1, "", "base_fee"], [17, 1, 1, "", "block_page_size"], [17, 4, 1, "", "chain_id"], [17, 1, 1, "", "concurrency"], [17, 4, 1, "", "config"], [17, 5, 1, "", "connect"], [17, 4, 1, "", "connection_id"], [17, 4, 1, "", "connection_str"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "disconnect"], [17, 5, 1, "", "estimate_gas_cost"], [17, 4, 1, "", "gas_price"], [17, 5, 1, "", "get_balance"], [17, 5, 1, "", "get_block"], [17, 5, 1, "", "get_code"], [17, 5, 1, "", "get_contract_logs"], [17, 5, 1, "", "get_nonce"], [17, 5, 1, "", "get_receipt"], [17, 5, 1, "", "get_storage"], [17, 5, 1, "", "get_test_account"], [17, 5, 1, "", "get_transaction_trace"], [17, 5, 1, "", "get_transactions_by_account_nonce"], [17, 5, 1, "", "get_transactions_by_block"], [17, 5, 1, "", "get_virtual_machine_error"], [17, 4, 1, "", "http_uri"], [17, 4, 1, "", "is_connected"], [17, 5, 1, "", "make_request"], [17, 4, 1, "", "max_gas"], [17, 5, 1, "", "mine"], [17, 1, 1, "", "name"], [17, 1, 1, "", "network"], [17, 4, 1, "", "network_choice"], [17, 5, 1, "", "poll_blocks"], [17, 5, 1, "", "poll_logs"], [17, 5, 1, "", "prepare_transaction"], [17, 4, 1, "", "priority_fee"], [17, 1, 1, "", "provider_settings"], [17, 5, 1, "", "relock_account"], [17, 1, 1, "", "request_header"], [17, 5, 1, "", "restore"], [17, 5, 1, "", "send_call"], [17, 5, 1, "", "send_private_transaction"], [17, 5, 1, "", "send_transaction"], [17, 5, 1, "", "set_balance"], [17, 5, 1, "", "set_code"], [17, 5, 1, "", "set_storage"], [17, 5, 1, "", "set_timestamp"], [17, 4, 1, "", "settings"], [17, 5, 1, "", "snapshot"], [17, 5, 1, "", "stream_request"], [17, 4, 1, "", "supports_tracing"], [17, 5, 1, "", "unlock_account"], [17, 5, 1, "", "update_settings"], [17, 4, 1, "", "ws_uri"]], "ape.api.providers.SubprocessProvider": [[17, 5, 1, "", "build_command"], [17, 5, 1, "", "connect"], [17, 4, 1, "", "connection_id"], [17, 5, 1, "", "disconnect"], [17, 4, 1, "", "process_name"], [17, 5, 1, "", "start"], [17, 5, 1, "", "stop"]], "ape.api.providers.TestProviderAPI": [[17, 4, 1, "", "auto_mine"], [17, 5, 1, "", "mine"], [17, 5, 1, "", "restore"], [17, 5, 1, "", "set_timestamp"], [17, 5, 1, "", "snapshot"]], "ape.api.query": [[17, 3, 1, "", "AccountTransactionQuery"], [17, 3, 1, "", "BlockQuery"], [17, 3, 1, "", "BlockTransactionQuery"], [17, 3, 1, "", "ContractCreation"], [17, 3, 1, "", "ContractCreationQuery"], [17, 3, 1, "", "ContractEventQuery"], [17, 3, 1, "", "ContractMethodQuery"], [17, 3, 1, "", "QueryAPI"]], "ape.api.query.AccountTransactionQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.BlockQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.BlockTransactionQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractCreation": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "block"], [17, 1, 1, "", "deployer"], [17, 1, 1, "", "factory"], [17, 5, 1, "", "from_receipt"], [17, 4, 1, "", "receipt"], [17, 1, 1, "", "txn_hash"]], "ape.api.query.ContractCreationQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractEventQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractMethodQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.QueryAPI": [[17, 5, 1, "", "estimate_query"], [17, 5, 1, "", "perform_query"], [17, 5, 1, "", "update_cache"]], "ape.api.transactions": [[17, 3, 1, "", "ReceiptAPI"], [17, 3, 1, "", "TransactionAPI"]], "ape.api.transactions.ReceiptAPI": [[17, 5, 1, "", "await_confirmations"], [17, 4, 1, "", "confirmed"], [17, 4, 1, "", "debug_logs_lines"], [17, 4, 1, "", "debug_logs_typed"], [17, 5, 1, "", "decode_logs"], [17, 4, 1, "", "events"], [17, 4, 1, "", "failed"], [17, 4, 1, "", "method_called"], [17, 5, 1, "", "raise_for_status"], [17, 4, 1, "", "ran_out_of_gas"], [17, 4, 1, "", "return_value"], [17, 5, 1, "", "show_debug_logs"], [17, 5, 1, "", "show_events"], [17, 5, 1, "", "show_gas_report"], [17, 5, 1, "", "show_source_traceback"], [17, 5, 1, "", "show_trace"], [17, 4, 1, "", "source_traceback"], [17, 4, 1, "", "total_fees_paid"], [17, 4, 1, "", "trace"], [17, 5, 1, "", "track_coverage"], [17, 5, 1, "", "track_gas"]], "ape.api.transactions.TransactionAPI": [[17, 4, 1, "", "receipt"], [17, 5, 1, "", "serialize_transaction"], [17, 4, 1, "", "total_transfer_value"], [17, 4, 1, "", "trace"], [17, 4, 1, "", "txn_hash"]], "ape.cli": [[18, 2, 0, "-", "arguments"], [18, 2, 0, "-", "choices"], [18, 2, 0, "-", "commands"], [18, 2, 0, "-", "options"], [18, 2, 0, "-", "paramtype"]], "ape.cli.arguments": [[18, 0, 1, "", "contract_file_paths_argument"], [18, 0, 1, "", "existing_alias_argument"], [18, 0, 1, "", "non_existing_alias_argument"]], "ape.cli.choices": [[18, 3, 1, "", "AccountAliasPromptChoice"], [18, 3, 1, "", "Alias"], [18, 3, 1, "", "LazyChoice"], [18, 3, 1, "", "NetworkChoice"], [18, 3, 1, "", "OutputFormat"], [18, 3, 1, "", "PromptChoice"], [18, 0, 1, "", "output_format_choice"], [18, 0, 1, "", "select_account"]], "ape.cli.choices.AccountAliasPromptChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "print_choices"], [18, 5, 1, "", "select_account"]], "ape.cli.choices.Alias": [[18, 1, 1, "", "name"]], "ape.cli.choices.NetworkChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "get_metavar"]], "ape.cli.choices.OutputFormat": [[18, 1, 1, "", "TREE"], [18, 1, 1, "", "YAML"]], "ape.cli.choices.PromptChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "print_choices"]], "ape.cli.commands": [[18, 3, 1, "", "ConnectedProviderCommand"]], "ape.cli.commands.ConnectedProviderCommand": [[18, 5, 1, "", "invoke"], [18, 5, 1, "", "parse_args"]], "ape.cli.options": [[18, 3, 1, "", "ApeCliContextObject"], [18, 3, 1, "", "NetworkOption"], [18, 0, 1, "", "account_option"], [18, 0, 1, "", "ape_cli_context"], [18, 0, 1, "", "contract_option"], [18, 0, 1, "", "incompatible_with"], [18, 0, 1, "", "network_option"], [18, 0, 1, "", "output_format_option"], [18, 0, 1, "", "skip_confirmation_option"], [18, 0, 1, "", "verbosity_option"]], "ape.cli.options.ApeCliContextObject": [[18, 5, 1, "", "abort"]], "ape.cli.paramtype": [[18, 3, 1, "", "JSON"], [18, 3, 1, "", "Noop"], [18, 3, 1, "", "Path"]], "ape.cli.paramtype.JSON": [[18, 5, 1, "", "convert"]], "ape.cli.paramtype.Noop": [[18, 5, 1, "", "convert"]], "ape.contracts.base": [[19, 3, 1, "", "ContractContainer"], [19, 3, 1, "", "ContractEvent"], [19, 3, 1, "", "ContractInstance"], [19, 3, 1, "", "ContractTypeWrapper"]], "ape.contracts.base.ContractContainer": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__eq__"], [19, 1, 1, "", "__hash__"], [19, 5, 1, "", "__repr__"], [19, 5, 1, "", "at"], [19, 5, 1, "", "deploy"], [19, 4, 1, "", "deployments"]], "ape.contracts.base.ContractEvent": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__iter__"], [19, 5, 1, "", "__repr__"], [19, 1, 1, "", "__signature__"], [19, 5, 1, "", "from_receipt"], [19, 4, 1, "", "info"], [19, 4, 1, "", "name"], [19, 5, 1, "", "poll_logs"], [19, 5, 1, "", "query"], [19, 5, 1, "", "range"]], "ape.contracts.base.ContractInstance": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__repr__"], [19, 4, 1, "", "address"], [19, 5, 1, "", "call_view_method"], [19, 4, 1, "", "creation_metadata"], [19, 5, 1, "", "from_receipt"], [19, 5, 1, "", "get_error_by_signature"], [19, 5, 1, "", "get_event_by_signature"], [19, 5, 1, "", "invoke_transaction"]], "ape.contracts.base.ContractTypeWrapper": [[19, 5, 1, "", "decode_input"], [19, 4, 1, "", "identifier_lookup"], [19, 4, 1, "", "selector_identifiers"], [19, 4, 1, "", "source_path"]], "ape.exceptions": [[20, 6, 1, "", "APINotImplementedError"], [20, 6, 1, "", "Abort"], [20, 6, 1, "", "AccountsError"], [20, 6, 1, "", "AliasAlreadyInUseError"], [20, 6, 1, "", "ApeAttributeError"], [20, 6, 1, "", "ApeException"], [20, 6, 1, "", "ApeIndexError"], [20, 6, 1, "", "ArgumentsLengthError"], [20, 6, 1, "", "BlockNotFoundError"], [20, 6, 1, "", "ChainError"], [20, 6, 1, "", "CompilerError"], [20, 6, 1, "", "ConfigError"], [20, 6, 1, "", "ContractDataError"], [20, 6, 1, "", "ContractLogicError"], [20, 6, 1, "", "ContractNotFoundError"], [20, 6, 1, "", "ConversionError"], [20, 6, 1, "", "CustomError"], [20, 6, 1, "", "DecodingError"], [20, 6, 1, "", "EcosystemNotFoundError"], [20, 6, 1, "", "MethodNonPayableError"], [20, 6, 1, "", "MissingDeploymentBytecodeError"], [20, 6, 1, "", "NetworkError"], [20, 6, 1, "", "NetworkMismatchError"], [20, 6, 1, "", "NetworkNotFoundError"], [20, 6, 1, "", "OutOfGasError"], [20, 6, 1, "", "PluginInstallError"], [20, 6, 1, "", "PluginVersionError"], [20, 6, 1, "", "ProjectError"], [20, 6, 1, "", "ProviderError"], [20, 6, 1, "", "ProviderNotConnectedError"], [20, 6, 1, "", "ProviderNotFoundError"], [20, 6, 1, "", "QueryEngineError"], [20, 6, 1, "", "RPCTimeoutError"], [20, 6, 1, "", "SignatureError"], [20, 6, 1, "", "SubprocessError"], [20, 6, 1, "", "SubprocessTimeoutError"], [20, 6, 1, "", "TransactionError"], [20, 6, 1, "", "TransactionNotFoundError"], [20, 6, 1, "", "UnknownSnapshotError"], [20, 6, 1, "", "UnknownVersionError"], [20, 6, 1, "", "VirtualMachineError"], [20, 0, 1, "", "handle_ape_exception"]], "ape.exceptions.Abort": [[20, 5, 1, "", "show"]], "ape.exceptions.ContractLogicError": [[20, 4, 1, "", "dev_message"], [20, 5, 1, "", "from_error"]], "ape.exceptions.CustomError": [[20, 4, 1, "", "name"]], "ape.managers": [[21, 2, 0, "-", "accounts"], [21, 2, 0, "-", "compilers"], [21, 2, 0, "-", "config"], [21, 2, 0, "-", "converters"], [21, 2, 0, "-", "networks"], [21, 2, 0, "-", "project"], [21, 2, 0, "-", "query"]], "ape.managers.accounts": [[21, 3, 1, "", "AccountManager"], [21, 3, 1, "", "TestAccountManager"]], "ape.managers.accounts.AccountManager": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 4, 1, "", "aliases"], [21, 4, 1, "", "containers"], [21, 5, 1, "", "get_accounts_by_type"], [21, 5, 1, "", "load"], [21, 4, 1, "", "test_accounts"]], "ape.managers.accounts.TestAccountManager": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "impersonate_account"], [21, 5, 1, "", "stop_impersonating"]], "ape.managers.chain": [[21, 3, 1, "", "AccountHistory"], [21, 3, 1, "", "BlockContainer"], [21, 3, 1, "", "ChainManager"], [21, 3, 1, "", "ContractCache"], [21, 3, 1, "", "TransactionHistory"]], "ape.managers.chain.AccountHistory": [[21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 1, 1, "", "__signature__"], [21, 1, 1, "", "address"], [21, 5, 1, "", "append"], [21, 4, 1, "", "outgoing"], [21, 5, 1, "", "query"], [21, 5, 1, "", "revert_to_block"], [21, 1, 1, "", "sessional"]], "ape.managers.chain.BlockContainer": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 4, 1, "", "head"], [21, 4, 1, "", "height"], [21, 5, 1, "", "poll_blocks"], [21, 5, 1, "", "query"], [21, 5, 1, "", "range"]], "ape.managers.chain.ChainManager": [[21, 5, 1, "", "__repr__"], [21, 4, 1, "", "base_fee"], [21, 4, 1, "", "blocks"], [21, 4, 1, "", "chain_id"], [21, 4, 1, "", "gas_price"], [21, 5, 1, "", "get_receipt"], [21, 4, 1, "", "history"], [21, 5, 1, "", "isolate"], [21, 5, 1, "", "mine"], [21, 4, 1, "", "pending_timestamp"], [21, 5, 1, "", "restore"], [21, 5, 1, "", "snapshot"]], "ape.managers.chain.ContractCache": [[21, 5, 1, "", "__delitem__"], [21, 5, 1, "", "__setitem__"], [21, 5, 1, "", "cache_blueprint"], [21, 5, 1, "", "cache_deployment"], [21, 5, 1, "", "cache_proxy_info"], [21, 5, 1, "", "clear_local_caches"], [21, 5, 1, "", "get"], [21, 5, 1, "", "get_blueprint"], [21, 5, 1, "", "get_container"], [21, 5, 1, "", "get_creation_metadata"], [21, 5, 1, "", "get_deployments"], [21, 5, 1, "", "get_multiple"], [21, 5, 1, "", "get_proxy_info"], [21, 5, 1, "", "instance_at"], [21, 5, 1, "", "instance_from_receipt"]], "ape.managers.chain.TransactionHistory": [[21, 5, 1, "", "append"], [21, 5, 1, "", "revert_to_block"]], "ape.managers.compilers": [[21, 3, 1, "", "CompilerManager"]], "ape.managers.compilers.CompilerManager": [[21, 5, 1, "", "can_trace_source"], [21, 5, 1, "", "compile"], [21, 5, 1, "", "compile_source"], [21, 5, 1, "", "enrich_error"], [21, 5, 1, "", "flatten_contract"], [21, 5, 1, "", "get_custom_error"], [21, 5, 1, "", "get_imports"], [21, 5, 1, "", "get_references"], [21, 4, 1, "", "registered_compilers"]], "ape.managers.config": [[21, 3, 1, "", "ConfigManager"]], "ape.managers.config.ConfigManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "__str__"], [21, 5, 1, "", "extract_config"], [21, 4, 1, "", "global_config"], [21, 5, 1, "", "isolate_data_folder"]], "ape.managers.converters": [[21, 3, 1, "", "AccountIntConverter"], [21, 3, 1, "", "AddressAPIConverter"], [21, 3, 1, "", "BytesAddressConverter"], [21, 3, 1, "", "ConversionManager"], [21, 3, 1, "", "HexAddressConverter"], [21, 3, 1, "", "HexConverter"], [21, 3, 1, "", "HexIntConverter"], [21, 3, 1, "", "HexIterableConverter"], [21, 3, 1, "", "IntAddressConverter"], [21, 3, 1, "", "StringDecimalConverter"], [21, 3, 1, "", "StringIntConverter"], [21, 3, 1, "", "TimestampConverter"]], "ape.managers.converters.AccountIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.AddressAPIConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.BytesAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.ConversionManager": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_type"]], "ape.managers.converters.HexAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexIterableConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.IntAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.StringDecimalConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.StringIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.TimestampConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.networks": [[21, 3, 1, "", "NetworkManager"]], "ape.managers.networks.NetworkManager": [[21, 4, 1, "", "active_provider"], [21, 5, 1, "", "create_custom_provider"], [21, 4, 1, "", "custom_networks"], [21, 4, 1, "", "default_ecosystem"], [21, 4, 1, "", "ecosystem"], [21, 4, 1, "", "ecosystem_names"], [21, 4, 1, "", "ecosystems"], [21, 5, 1, "", "fork"], [21, 5, 1, "", "get_ecosystem"], [21, 5, 1, "", "get_network_choices"], [21, 5, 1, "", "get_provider_from_choice"], [21, 5, 1, "", "get_request_headers"], [21, 4, 1, "", "network"], [21, 4, 1, "", "network_data"], [21, 4, 1, "", "network_names"], [21, 5, 1, "", "parse_network_choice"], [21, 4, 1, "", "provider_names"], [21, 5, 1, "", "set_default_ecosystem"]], "ape.managers.project": [[21, 3, 1, "", "ContractManager"], [21, 3, 1, "", "Dependency"], [21, 3, 1, "", "DependencyManager"], [21, 3, 1, "", "DependencyVersionMap"], [21, 3, 1, "", "DeploymentManager"], [21, 3, 1, "", "LocalProject"], [21, 3, 1, "", "PackagesCache"], [21, 3, 1, "", "Project"], [21, 3, 1, "", "ProjectManager"], [21, 3, 1, "", "SourceManager"]], "ape.managers.project.ContractManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"]], "ape.managers.project.Dependency": [[21, 5, 1, "", "__eq__"], [21, 5, 1, "", "__hash__"], [21, 5, 1, "", "__repr__"], [21, 4, 1, "", "api_path"], [21, 5, 1, "", "compile"], [21, 5, 1, "", "install"], [21, 4, 1, "", "installed"], [21, 4, 1, "", "manifest_path"], [21, 4, 1, "", "name"], [21, 4, 1, "", "package_id"], [21, 4, 1, "", "project"], [21, 4, 1, "", "project_path"], [21, 5, 1, "", "unpack"], [21, 4, 1, "", "uri"], [21, 4, 1, "", "version"]], "ape.managers.project.DependencyManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "add"], [21, 5, 1, "", "decode_dependency"], [21, 5, 1, "", "get_dependency"], [21, 5, 1, "", "get_project_dependencies"], [21, 5, 1, "", "get_versions"], [21, 5, 1, "", "install"], [21, 4, 1, "", "installed"], [21, 4, 1, "", "packages_cache"], [21, 4, 1, "", "specified"], [21, 5, 1, "", "unpack"], [21, 4, 1, "", "uri_map"]], "ape.managers.project.DependencyVersionMap": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"]], "ape.managers.project.DeploymentManager": [[21, 5, 1, "", "__iter__"], [21, 4, 1, "", "instance_map"], [21, 5, 1, "", "track"]], "ape.managers.project.LocalProject": [[21, 5, 1, "", "__repr__"], [21, 4, 1, "", "config"], [21, 4, 1, "", "contracts"], [21, 4, 1, "", "contracts_folder"], [21, 4, 1, "", "deployments"], [21, 4, 1, "", "exclusions"], [21, 5, 1, "", "extract_manifest"], [21, 4, 1, "", "in_tempdir"], [21, 4, 1, "", "interfaces_folder"], [21, 5, 1, "", "isolate_in_tempdir"], [21, 5, 1, "", "load_manifest"], [21, 4, 1, "", "meta"], [21, 4, 1, "", "path"], [21, 4, 1, "", "project_api"], [21, 5, 1, "", "refresh_sources"], [21, 5, 1, "", "reload_config"], [21, 4, 1, "", "sources"], [21, 5, 1, "", "unpack"], [21, 5, 1, "", "update_manifest"]], "ape.managers.project.PackagesCache": [[21, 5, 1, "", "cache_api"], [21, 5, 1, "", "get_api_path"], [21, 5, 1, "", "get_manifest_path"], [21, 5, 1, "", "get_project_path"], [21, 5, 1, "", "get_project_versions_path"]], "ape.managers.project.Project": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "add_compiler_data"], [21, 4, 1, "", "dependencies"], [21, 4, 1, "", "is_compiled"], [21, 5, 1, "", "isolate_in_tempdir"], [21, 5, 1, "", "reconfigure"], [21, 5, 1, "", "unpack"], [21, 5, 1, "", "update_manifest"]], "ape.managers.project.ProjectManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "from_manifest"], [21, 5, 1, "", "from_python_library"]], "ape.managers.project.SourceManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"], [21, 5, 1, "", "is_excluded"], [21, 5, 1, "", "lookup"], [21, 4, 1, "", "paths"], [21, 5, 1, "", "refresh"]], "ape.managers.query": [[21, 3, 1, "", "DefaultQueryProvider"], [21, 3, 1, "", "QueryManager"]], "ape.managers.query.DefaultQueryProvider": [[21, 5, 1, "", "estimate_query"], [21, 5, 1, "", "perform_query"]], "ape.managers.query.QueryManager": [[21, 4, 1, "", "engines"], [21, 5, 1, "", "query"]], "ape.plugins": [[22, 2, 0, "-", "account"], [22, 2, 0, "-", "compiler"], [22, 2, 0, "-", "config"], [22, 2, 0, "-", "converter"], [22, 2, 0, "-", "network"], [22, 2, 0, "-", "pluggy_patch"], [22, 2, 0, "-", "project"], [22, 2, 0, "-", "query"], [22, 0, 1, "", "register"]], "ape.plugins.account": [[22, 3, 1, "", "AccountPlugin"]], "ape.plugins.account.AccountPlugin": [[22, 5, 1, "", "account_types"]], "ape.plugins.compiler": [[22, 3, 1, "", "CompilerPlugin"]], "ape.plugins.compiler.CompilerPlugin": [[22, 5, 1, "", "register_compiler"]], "ape.plugins.config": [[22, 3, 1, "", "Config"]], "ape.plugins.config.Config": [[22, 5, 1, "", "config_class"]], "ape.plugins.converter": [[22, 3, 1, "", "ConversionPlugin"]], "ape.plugins.converter.ConversionPlugin": [[22, 5, 1, "", "converters"]], "ape.plugins.network": [[22, 3, 1, "", "EcosystemPlugin"], [22, 3, 1, "", "ExplorerPlugin"], [22, 3, 1, "", "NetworkPlugin"], [22, 3, 1, "", "ProviderPlugin"]], "ape.plugins.network.EcosystemPlugin": [[22, 5, 1, "", "ecosystems"]], "ape.plugins.network.ExplorerPlugin": [[22, 5, 1, "", "explorers"]], "ape.plugins.network.NetworkPlugin": [[22, 5, 1, "", "networks"]], "ape.plugins.network.ProviderPlugin": [[22, 5, 1, "", "providers"]], "ape.plugins.pluggy_patch": [[22, 3, 1, "", "PluginType"], [22, 7, 1, "", "plugin_manager"]], "ape.plugins.project": [[22, 3, 1, "", "DependencyPlugin"], [22, 3, 1, "", "ProjectPlugin"]], "ape.plugins.project.DependencyPlugin": [[22, 5, 1, "", "dependencies"]], "ape.plugins.project.ProjectPlugin": [[22, 5, 1, "", "projects"]], "ape.plugins.query": [[22, 3, 1, "", "QueryPlugin"]], "ape.plugins.query.QueryPlugin": [[22, 5, 1, "", "query_engines"]], "ape.types": [[23, 2, 0, "-", "address"], [23, 2, 0, "-", "basic"], [23, 2, 0, "-", "coverage"], [23, 2, 0, "-", "events"], [23, 2, 0, "-", "gas"], [23, 2, 0, "-", "trace"], [23, 2, 0, "-", "units"], [23, 2, 0, "-", "vm"]], "ape.types.address": [[23, 7, 1, "", "AddressType"], [23, 7, 1, "", "RawAddress"]], "ape.types.basic": [[23, 7, 1, "", "HexInt"]], "ape.types.coverage": [[23, 3, 1, "", "ContractCoverage"], [23, 3, 1, "", "ContractSourceCoverage"], [23, 3, 1, "", "CoverageProject"], [23, 3, 1, "", "CoverageReport"], [23, 3, 1, "", "CoverageStatement"], [23, 3, 1, "", "FunctionCoverage"]], "ape.types.coverage.ContractCoverage": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 1, 1, "", "functions"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 4, 1, "", "statements"]], "ape.types.coverage.ContractSourceCoverage": [[23, 1, 1, "", "contracts"], [23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 5, 1, "", "include"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "source_id"], [23, 4, 1, "", "statements"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageProject": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 1, 1, "", "sources"], [23, 4, 1, "", "statements"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageReport": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 5, 1, "", "get_html"], [23, 5, 1, "", "get_xml"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "projects"], [23, 1, 1, "", "source_folders"], [23, 4, 1, "", "sources"], [23, 4, 1, "", "statements"], [23, 1, 1, "", "timestamp"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageStatement": [[23, 1, 1, "", "hit_count"], [23, 1, 1, "", "location"], [23, 1, 1, "", "pcs"], [23, 1, 1, "", "tag"]], "ape.types.coverage.FunctionCoverage": [[23, 1, 1, "", "full_name"], [23, 1, 1, "", "hit_count"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 5, 1, "", "profile_statement"], [23, 1, 1, "", "statements"]], "ape.types.events": [[23, 3, 1, "", "ContractLog"], [23, 3, 1, "", "ContractLogContainer"], [23, 3, 1, "", "LogFilter"], [23, 3, 1, "", "MockContractLog"]], "ape.types.events.ContractLog": [[23, 1, 1, "", "block_hash"], [23, 1, 1, "", "block_number"], [23, 1, 1, "", "log_index"], [23, 4, 1, "", "timestamp"], [23, 1, 1, "", "transaction_hash"], [23, 1, 1, "", "transaction_index"]], "ape.types.events.LogFilter": [[23, 5, 1, "", "from_event"], [23, 5, 1, "", "model_dump"]], "ape.types.gas": [[23, 3, 1, "", "AutoGasLimit"], [23, 7, 1, "", "GasLimit"]], "ape.types.gas.AutoGasLimit": [[23, 1, 1, "", "multiplier"]], "ape.types.signatures": [[23, 3, 1, "", "MessageSignature"], [23, 3, 1, "", "SignableMessage"], [23, 3, 1, "", "TransactionSignature"], [23, 5, 1, "", "recover_signer"]], "ape.types.signatures.SignableMessage": [[23, 1, 1, "", "body"], [23, 1, 1, "", "header"], [23, 1, 1, "", "version"]], "ape.types.trace": [[23, 3, 1, "", "ControlFlow"], [23, 1, 1, "", "GasReport"], [23, 3, 1, "", "SourceTraceback"]], "ape.types.trace.ControlFlow": [[23, 4, 1, "", "begin_lineno"], [23, 1, 1, "", "closure"], [23, 1, 1, "", "depth"], [23, 4, 1, "", "end_lineno"], [23, 5, 1, "", "extend"], [23, 5, 1, "", "format"], [23, 4, 1, "", "line_numbers"], [23, 4, 1, "", "next_statement"], [23, 1, 1, "", "source_path"], [23, 4, 1, "", "source_statements"], [23, 1, 1, "", "statements"], [23, 4, 1, "", "ws_begin_lineno"]], "ape.types.trace.SourceTraceback": [[23, 5, 1, "", "add_builtin_jump"], [23, 5, 1, "", "add_jump"], [23, 5, 1, "", "append"], [23, 4, 1, "", "execution"], [23, 5, 1, "", "extend"], [23, 5, 1, "", "extend_last"], [23, 5, 1, "", "format"], [23, 4, 1, "", "last"], [23, 4, 1, "", "revert_type"], [23, 4, 1, "", "source_statements"], [23, 4, 1, "", "statements"]], "ape.types.units": [[23, 1, 1, "", "CurrencyValue"], [23, 1, 1, "", "CurrencyValueComparable"]], "ape.types.vm": [[23, 7, 1, "", "BlockID"], [23, 7, 1, "", "SnapshotID"]], "ape.utils": [[24, 2, 0, "-", "abi"], [24, 2, 0, "-", "basemodel"], [24, 2, 0, "-", "misc"], [24, 2, 0, "-", "os"], [24, 2, 0, "-", "process"], [24, 2, 0, "-", "rpc"], [24, 2, 0, "-", "testing"], [24, 2, 0, "-", "trace"]], "ape.utils.abi": [[24, 3, 1, "", "Struct"], [24, 3, 1, "", "StructParser"], [24, 0, 1, "", "create_struct"], [24, 0, 1, "", "is_array"], [24, 0, 1, "", "is_named_tuple"], [24, 0, 1, "", "is_struct"], [24, 0, 1, "", "returns_array"]], "ape.utils.abi.Struct": [[24, 5, 1, "", "items"]], "ape.utils.abi.StructParser": [[24, 5, 1, "", "decode_output"], [24, 4, 1, "", "default_name"], [24, 5, 1, "", "encode_input"]], "ape.utils.basemodel": [[24, 3, 1, "", "BaseInterface"], [24, 3, 1, "", "BaseInterfaceModel"], [24, 3, 1, "", "BaseModel"], [24, 3, 1, "", "ExtraAttributesMixin"], [24, 3, 1, "", "ExtraModelAttributes"], [24, 3, 1, "", "ManagerAccessMixin"], [24, 3, 1, "", "injected_before_use"], [24, 3, 1, "", "manager_access"]], "ape.utils.basemodel.BaseModel": [[24, 5, 1, "", "model_copy"]], "ape.utils.basemodel.ExtraModelAttributes": [[24, 1, 1, "", "additional_error_message"], [24, 1, 1, "", "attributes"], [24, 5, 1, "", "get"], [24, 1, 1, "", "include_getattr"], [24, 1, 1, "", "include_getitem"], [24, 1, 1, "", "name"]], "ape.utils.basemodel.ManagerAccessMixin": [[24, 1, 1, "", "Project"]], "ape.utils.misc": [[24, 0, 1, "", "extract_nested_value"], [24, 0, 1, "", "gas_estimation_error_message"], [24, 0, 1, "", "get_current_timestamp_ms"], [24, 0, 1, "", "get_package_version"], [24, 0, 1, "", "is_evm_precompile"], [24, 0, 1, "", "is_zero_hex"], [24, 0, 1, "", "load_config"], [24, 0, 1, "", "log_instead_of_fail"], [24, 0, 1, "", "pragma_str_to_specifier_set"], [24, 0, 1, "", "raises_not_implemented"], [24, 0, 1, "", "run_until_complete"], [24, 3, 1, "", "singledispatchmethod"], [24, 0, 1, "", "to_int"]], "ape.utils.misc.singledispatchmethod": [[24, 5, 1, "", "register"]], "ape.utils.os": [[24, 0, 1, "", "clean_path"], [24, 0, 1, "", "create_tempdir"], [24, 0, 1, "", "expand_environment_variables"], [24, 0, 1, "", "extract_archive"], [24, 0, 1, "", "get_all_files_in_directory"], [24, 0, 1, "", "get_full_extension"], [24, 0, 1, "", "get_package_path"], [24, 0, 1, "", "get_relative_path"], [24, 0, 1, "", "in_tempdir"], [24, 0, 1, "", "is_relative_to"], [24, 0, 1, "", "path_match"], [24, 0, 1, "", "run_in_tempdir"], [24, 3, 1, "", "use_temp_sys_path"]], "ape.utils.process": [[24, 3, 1, "", "JoinableQueue"], [24, 0, 1, "", "spawn"]], "ape.utils.process.JoinableQueue": [[24, 5, 1, "", "join"]], "ape.utils.rpc": [[24, 3, 1, "", "RPCHeaders"], [24, 0, 1, "", "allow_disconnected"], [24, 0, 1, "", "stream_response"]], "ape.utils.testing": [[24, 3, 1, "", "GeneratedDevAccount"], [24, 0, 1, "", "generate_dev_accounts"]], "ape.utils.testing.GeneratedDevAccount": [[24, 1, 1, "", "address"], [24, 1, 1, "", "private_key"]], "ape.utils.trace": [[24, 3, 1, "", "TraceStyles"]], "ape.utils.trace.TraceStyles": [[24, 1, 1, "", "CONTRACTS"], [24, 1, 1, "", "DELEGATE"], [24, 1, 1, "", "GAS_COST"], [24, 1, 1, "", "INPUTS"], [24, 1, 1, "", "METHODS"], [24, 1, 1, "", "OUTPUTS"], [24, 1, 1, "", "VALUE"]], "ape_ethereum": [[13, 2, 0, "-", "multicall"]], "ape_ethereum.multicall": [[13, 3, 1, "", "BaseMulticall"], [13, 3, 1, "", "Call"], [13, 3, 1, "", "Transaction"]], "ape_ethereum.multicall.BaseMulticall": [[13, 5, 1, "", "add"], [13, 5, 1, "", "inject"]], "ape_ethereum.multicall.Call": [[13, 5, 1, "", "__call__"], [13, 5, 1, "", "add"], [13, 5, 1, "", "as_transaction"]], "ape_ethereum.multicall.Transaction": [[13, 5, 1, "", "__call__"], [13, 5, 1, "", "as_transaction"]], "ape_node": [[14, 3, 1, "", "EthereumNetworkConfig"], [14, 3, 1, "", "EthereumNodeConfig"], [14, 3, 1, "", "GethDev"], [14, 3, 1, "", "Node"], [14, 3, 1, "", "OtterscanQueryEngine"]], "ape_node.EthereumNodeConfig": [[14, 1, 1, "", "call_trace_approach"], [14, 1, 1, "", "data_dir"], [14, 1, 1, "", "ethereum"], [14, 1, 1, "", "executable"], [14, 1, 1, "", "ipc_path"], [14, 1, 1, "", "request_headers"]], "ape_node.GethDev": [[14, 4, 1, "", "auto_mine"], [14, 5, 1, "", "build_command"], [14, 4, 1, "", "chain_id"], [14, 5, 1, "", "connect"], [14, 5, 1, "", "disconnect"], [14, 5, 1, "", "get_test_account"], [14, 5, 1, "", "mine"], [14, 1, 1, "", "name"], [14, 4, 1, "", "process_name"], [14, 5, 1, "", "restore"], [14, 5, 1, "", "set_timestamp"], [14, 5, 1, "", "snapshot"], [14, 5, 1, "", "start"]], "ape_node.Node": [[14, 5, 1, "", "connect"], [14, 5, 1, "", "send_transaction"]], "ape_node.OtterscanQueryEngine": [[14, 5, 1, "", "estimate_query"], [14, 5, 1, "", "perform_query"]], "compile": [[1, 8, 1, "cmdoption-compile-config-override", "--config-override"], [1, 8, 1, "cmdoption-compile-f", "--force"], [1, 8, 1, "cmdoption-compile-include-dependencies", "--include-dependencies"], [1, 8, 1, "cmdoption-compile-project", "--project"], [1, 8, 1, "cmdoption-compile-s", "--size"], [1, 8, 1, "cmdoption-compile-v", "--verbosity"], [1, 8, 1, "cmdoption-compile-f", "-f"], [1, 8, 1, "cmdoption-compile-s", "-s"], [1, 8, 1, "cmdoption-compile-v", "-v"], [1, 8, 1, "cmdoption-compile-arg-FILE_PATHS", "FILE_PATHS"]], "console": [[2, 8, 1, "cmdoption-console-c", "--code"], [2, 8, 1, "cmdoption-console-v", "--verbosity"], [2, 8, 1, "cmdoption-console-c", "-c"], [2, 8, 1, "cmdoption-console-v", "-v"]], "init": [[3, 8, 1, "cmdoption-init-github", "--github"], [3, 8, 1, "cmdoption-init-name", "--name"], [3, 8, 1, "cmdoption-init-v", "--verbosity"], [3, 8, 1, "cmdoption-init-v", "-v"]], "networks-list": [[4, 8, 1, "cmdoption-networks-list-ecosystem", "--ecosystem"], [4, 8, 1, "cmdoption-networks-list-format", "--format"], [4, 8, 1, "cmdoption-networks-list-network", "--network"], [4, 8, 1, "cmdoption-networks-list-provider", "--provider"], [4, 8, 1, "cmdoption-networks-list-v", "--verbosity"], [4, 8, 1, "cmdoption-networks-list-v", "-v"]], "networks-run": [[4, 8, 1, "cmdoption-networks-run-network", "--network"], [4, 8, 1, "cmdoption-networks-run-v", "--verbosity"], [4, 8, 1, "cmdoption-networks-run-v", "-v"]], "plugins-change-version": [[5, 8, 1, "cmdoption-plugins-change-version-arg-VERSION", "VERSION"]], "plugins-install": [[5, 8, 1, "cmdoption-plugins-install-U", "--upgrade"], [5, 8, 1, "cmdoption-plugins-install-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-install-y", "--yes"], [5, 8, 1, "cmdoption-plugins-install-U", "-U"], [5, 8, 1, "cmdoption-plugins-install-v", "-v"], [5, 8, 1, "cmdoption-plugins-install-y", "-y"], [5, 8, 1, "cmdoption-plugins-install-arg-PLUGIN-NAMES", "PLUGIN-NAMES"]], "plugins-list": [[5, 8, 1, "cmdoption-plugins-list-a", "--all"], [5, 8, 1, "cmdoption-plugins-list-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-list-a", "-a"], [5, 8, 1, "cmdoption-plugins-list-v", "-v"]], "plugins-uninstall": [[5, 8, 1, "cmdoption-plugins-uninstall-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-uninstall-y", "--yes"], [5, 8, 1, "cmdoption-plugins-uninstall-v", "-v"], [5, 8, 1, "cmdoption-plugins-uninstall-y", "-y"], [5, 8, 1, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", "PLUGIN-NAMES"]], "pm-compile": [[6, 8, 1, "cmdoption-pm-compile-config-override", "--config-override"], [6, 8, 1, "cmdoption-pm-compile-f", "--force"], [6, 8, 1, "cmdoption-pm-compile-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-compile-version", "--version"], [6, 8, 1, "cmdoption-pm-compile-f", "-f"], [6, 8, 1, "cmdoption-pm-compile-v", "-v"], [6, 8, 1, "cmdoption-pm-compile-arg-NAME", "NAME"]], "pm-install": [[6, 8, 1, "cmdoption-pm-install-config-override", "--config-override"], [6, 8, 1, "cmdoption-pm-install-f", "--force"], [6, 8, 1, "cmdoption-pm-install-name", "--name"], [6, 8, 1, "cmdoption-pm-install-ref", "--ref"], [6, 8, 1, "cmdoption-pm-install-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-install-version", "--version"], [6, 8, 1, "cmdoption-pm-install-f", "-f"], [6, 8, 1, "cmdoption-pm-install-v", "-v"], [6, 8, 1, "cmdoption-pm-install-arg-PACKAGE", "PACKAGE"]], "pm-list": [[6, 8, 1, "cmdoption-pm-list-all", "--all"], [6, 8, 1, "cmdoption-pm-list-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-list-v", "-v"]], "pm-uninstall": [[6, 8, 1, "cmdoption-pm-uninstall-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-uninstall-y", "--yes"], [6, 8, 1, "cmdoption-pm-uninstall-v", "-v"], [6, 8, 1, "cmdoption-pm-uninstall-y", "-y"], [6, 8, 1, "cmdoption-pm-uninstall-arg-NAME", "NAME"], [6, 8, 1, "cmdoption-pm-uninstall-arg-VERSIONS", "VERSIONS"]], "run": [[7, 8, 1, "cmdoption-run-I", "--interactive"], [7, 8, 1, "cmdoption-run-I", "-I"]], "test": [[8, 8, 1, "cmdoption-test-v", "--verbosity"], [8, 8, 1, "cmdoption-test-w", "--watch"], [8, 8, 1, "cmdoption-test-watch-delay", "--watch-delay"], [8, 8, 1, "cmdoption-test-watch-folders", "--watch-folders"], [8, 8, 1, "cmdoption-test-v", "-v"], [8, 8, 1, "cmdoption-test-w", "-w"], [8, 8, 1, "cmdoption-test-arg-PYTEST_ARGS", "PYTEST_ARGS"]]}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "attribute", "Python attribute"], "2": ["py", "module", "Python module"], "3": ["py", "class", "Python class"], "4": ["py", "property", "Python property"], "5": ["py", "method", "Python method"], "6": ["py", "exception", "Python exception"], "7": ["py", "data", "Python data"], "8": ["std", "cmdoption", "program option"]}, "objtypes": {"0": "py:function", "1": "py:attribute", "2": "py:module", "3": "py:class", "4": "py:property", "5": "py:method", "6": "py:exception", "7": "py:data", "8": "std:cmdoption"}, "terms": {"": [1, 5, 6, 8, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46], "0": [0, 6, 8, 13, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 37, 38, 39, 42, 44], "0000": 45, "00040634": 29, "00afd7": 24, "0b2": 28, "0x": [17, 21, 24, 30, 39, 42, 45], "0x0": 46, "0x00": [45, 46], "0x0000000000000000000000000000000000000000": 23, "0x0000000000000000000000000000000000000000000000000000000000000000": 17, "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d": 45, "0x123": [30, 40], "0x1234": [28, 37], "0x1234556b5ed9202110d7ecd637a4581db8b9879f": 27, "0x12c17f958d2ee523a2206206994597c13d831e34": 40, "0x1c": 45, "0x27e235e3": 30, "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5": [17, 21], "0x35": 45, "0x3fb5c1cb00000000000000000000000000000000000000000000000000000000000000de": 30, "0x5668ead1edb8e2a4d724c8fb9cb5ffeabeb422dc": 45, "0x5fbdb2315678afecb367f032d93f642f64180aa3": 28, "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45": 30, "0x68f768988e9bd4be971d527f72483f321975fa52aff9692b6d0e0af71fb77aaf": 29, "0x70a08231": 30, "0x80067013d7f7af4e86b3890489acafe79f31a4cb": 30, "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": 30, "0xab5801a7d398351b8be11c439e05c5b3259aec9b": [44, 46], "0xabc1230001112223334445566611855443322111": 19, "0xb0b0b0b0b0b0b000000000000000000000000000": 25, "0xb7d7f1d5ce7743e821d3026647df486f517946ef1342a1ae93c96e4a8016eab7": 45, "0xca11bde05977b3631167028862be2a173976ca11": 13, "0xcccccccccccccccccccccccccccccccccccccccc": 25, "0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826": 25, "0xd8da6bf26964af9d7eed9e03e53415d37aa96045": [17, 21], "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": 30, "0xe3747e6341e0d3430e6ea9e2346cddcc2f8a4b5b": 29, "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512": 28, "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee": 45, "0xf4b8a02d4e8d76070bd7092b54d2cbbe90fa72e9": 30, "0xsplit": 39, "1": [6, 10, 14, 17, 19, 21, 23, 24, 25, 28, 29, 30, 31, 32, 37, 38, 44, 45, 46], "10": [17, 19, 21, 24, 27, 28, 36, 37], "100": [17, 30, 44, 46], "1000000000": [17, 21], "1000000000000000000": [17, 21], "100_000": 44, "109": 37, "1164": 45, "1167": 39, "11946": 45, "12": [0, 25, 32, 41], "120": 37, "123": [28, 30, 40, 42], "1234": [28, 37], "1291": 45, "1302": 45, "13028": 45, "1337": [14, 33, 45], "1377": 45, "1421947": 45, "14388241": 29, "15": [14, 17, 37], "1558": 41, "1559": [17, 21, 37, 46], "16": [14, 28, 37], "1647323479": 29, "18": 17, "1822": 39, "191": [17, 23], "1967": 39, "1e18": 25, "2": [6, 17, 21, 23, 24, 28, 29, 30, 31, 32, 35, 37, 39, 44, 45, 46], "20": [14, 17, 31, 36, 37, 46], "21": 36, "21000": 46, "22414": 45, "23827": 44, "24564": 44, "25845": 45, "2678": [17, 21, 40], "28307": 44, "2930": 46, "3": [27, 29, 30, 32, 41, 42, 44, 46], "30": 36, "31337": 37, "32": [17, 25], "33493": 44, "34783": 44, "35000000000000000000000000": 45, "3600": 21, "38679": 44, "3fb5c1c": 30, "3rd": 41, "4": [17, 21, 28, 29, 30, 32, 37, 42, 45], "40": 36, "40000": 30, "44": [0, 24, 44], "45739": 44, "5": [8, 25, 28, 30, 32, 35, 42, 44, 46], "50": [17, 19, 21, 46], "500": 37, "5000": 14, "5030": 28, "51021": 44, "5202": [17, 21], "5253": 45, "57198": 44, "6": [14, 32, 35, 44], "60": [0, 24, 37, 44], "600": 46, "6057": 45, "61": 29, "7": [27, 35, 44], "71": 44, "712": 23, "8": [27, 32, 42, 44], "80": 44, "82848": 44, "85": 44, "8545": 14, "86000": 44, "897": 39, "9": [17, 23, 24, 32, 39, 41], "90": 23, "91398": 44, "98": 42, "A": [3, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 28, 29, 30, 32, 33, 35, 37, 38, 39, 44, 45, 46], "AND": 21, "And": [17, 24, 26, 32, 37, 42, 44], "As": [33, 37, 42, 44], "At": [30, 44], "But": 38, "By": [17, 27, 32, 35, 43, 44, 46], "For": [14, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 42, 43, 44, 46], "If": [6, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "In": [18, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 37, 38, 39, 41, 42, 44, 46], "It": [18, 22, 24, 25, 26, 30, 31, 33, 36, 37, 43, 44, 45], "No": [21, 37], "ON": 24, "On": [30, 31], "One": [0, 1, 2, 3, 4, 5, 6, 8, 29, 30, 42, 44, 46], "Or": [17, 25, 27, 28, 29, 30, 33, 35], "That": [26, 30, 46], "The": [1, 6, 10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 44, 46], "Then": [17, 25, 27, 28, 29, 30, 32, 33, 34, 44, 46], "There": [22, 23, 25, 26, 28, 30, 32, 35, 37, 38, 41, 43, 44, 46], "These": [21, 28, 30, 42, 44], "To": [17, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 46], "Will": 26, "With": 41, "_": [29, 30, 38, 43], "__builtin__": 44, "__call__": [13, 19], "__contains__": [17, 21], "__delitem__": [17, 21], "__eq__": [19, 21], "__expected_": 18, "__getattr__": [19, 24], "__getitem__": [17, 21, 24], "__hash__": [19, 21], "__init__": [17, 19, 21, 30, 33], "__iter__": [19, 21], "__len__": [17, 21], "__local__": [32, 38], "__pydantic_extra__": 17, "__pydantic_fields_set__": 17, "__pydantic_private__": 17, "__repr__": [17, 19, 21, 24], "__setitem__": 21, "__signature__": [17, 19, 21], "__str__": [17, 21], "__version__": 24, "_addressvalid": [17, 21, 23], "_asset": 45, "_baseblockqueri": 17, "_basequeri": 17, "_before_": 24, "_caller": 45, "_case_sensit": [14, 17], "_chainid_": 25, "_cli": 33, "_cli_avoid_json": [14, 17], "_cli_enforce_requir": [14, 17], "_cli_exit_on_error": [14, 17], "_cli_flag_prefix_char": [14, 17], "_cli_hide_none_typ": [14, 17], "_cli_ignore_unknown_arg": [14, 17], "_cli_implicit_flag": [14, 17], "_cli_parse_arg": [14, 17], "_cli_parse_none_str": [14, 17], "_cli_prefix": [14, 17], "_cli_prog_nam": [14, 17], "_cli_settings_sourc": [14, 17], "_cli_use_class_docs_for_group": [14, 17], "_contract": 45, "_data": 45, "_env_fil": [14, 17], "_env_file_encod": [14, 17], "_env_ignore_empti": [14, 17], "_env_nested_delimit": [14, 17], "_env_parse_enum": [14, 17], "_env_parse_none_str": [14, 17], "_env_prefix": [14, 17], "_exchangedata": 45, "_foo_intern": 44, "_fork": 34, "_hex_int_valid": [17, 23], "_immutable_numb": 44, "_local_deployments_map": 21, "_lognam": 45, "_manag": 22, "_mock": 27, "_name_": 25, "_nested_model_default_partial_upd": [14, 17], "_number": 44, "_outside_": 18, "_passphras": 25, "_secrets_dir": [14, 17], "_signatur": 23, "_sourcetraceback__iter": 23, "_sourcetraceback__object": 23, "_target": 45, "_type": 23, "_valu": 44, "_verifyingcontract_": 25, "_version_": 25, "_web3": 33, "_would_": 23, "_x": 44, "abbrevi": 32, "abc": [17, 24], "abi": [10, 17, 19, 20, 21, 22, 27, 42, 46], "abi_typ": [17, 24, 30], "abi_w_selector_t": 19, "abityp": [17, 24], "abl": [13, 17, 21, 24, 25, 27, 30, 37, 39, 44, 45], "abort": [18, 20, 26], "about": [17, 20, 21, 23, 25, 26, 27, 28, 30, 32, 33, 34, 35, 37, 39, 40, 41, 43, 44, 45, 46], "abov": [25, 30, 36, 37, 41, 43, 44, 45, 46], "abridg": 45, "absolut": [17, 24, 28], "abstract": [17, 20, 24, 30, 33, 37], "academ": 41, "academi": 44, "accept": [17, 18, 21, 25, 30, 37, 40], "access": [10, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 29, 30, 32, 33, 37, 38, 40, 43, 44], "access_list": 46, "accident": 25, "accord": 33, "account": [9, 10, 14, 18, 19, 20, 24, 27, 28, 29, 30, 32, 33, 37, 39, 40, 41, 42, 45, 46], "account_id": 21, "account_manag": [24, 26], "account_opt": [18, 26], "account_str": 21, "account_typ": [17, 18, 22, 26], "accountaliaspromptchoic": 18, "accountapi": [17, 18, 21, 22, 25, 26, 30, 33], "accountcontain": 22, "accountcontainerapi": [17, 21, 22], "accounthistori": [17, 21], "accountintconvert": 21, "accountmanag": [10, 21, 29], "accountplugin": 22, "accountserror": [17, 20], "accountsmanag": 21, "accounttransactionqueri": [14, 17, 21], "acct": [30, 31], "accumul": 23, "accur": 24, "achiev": [17, 30, 32, 37, 45], "across": [17, 21, 28, 29, 37], "action": [25, 44], "activ": [17, 18, 19, 21, 29, 30, 43, 44], "active_provid": [21, 29], "actual": [17, 19, 23, 30, 44], "ad": [17, 20, 21, 23, 24, 25, 26, 29, 37, 44], "add": [13, 14, 17, 18, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 43, 44, 46], "add_builtin_jump": 23, "add_compiler_data": 21, "add_jump": 23, "add_network": 17, "addbal": 30, "addit": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 32, 37, 45, 46], "addition": [17, 26, 32, 35, 37], "additional_error_messag": 24, "address": [10, 13, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 39, 42, 44, 46], "addressapiconvert": 21, "addresstyp": [13, 17, 19, 20, 21, 23], "adequ": 44, "adhoc": [17, 18, 21, 32], "adjust": [27, 37, 38, 44], "advanc": [17, 31], "advantag": 43, "advis": 41, "affect": 27, "affili": 21, "afford": [17, 45], "after": [7, 17, 19, 21, 22, 25, 27, 30, 32, 37, 38, 41, 42, 44, 46], "afterward": [26, 44], "again": 13, "against": [21, 22, 38, 44], "agent": [14, 24, 37], "alchemi": [17, 22, 26, 28, 34, 35, 37, 43, 45, 46], "algorithm": [19, 21], "alia": [0, 17, 18, 19, 20, 21, 23, 24, 25, 26, 29, 30, 32, 33, 40], "alias": [17, 18, 21, 26], "aliasalreadyinuseerror": 20, "alic": 25, "alik": [20, 38], "all": [0, 1, 4, 5, 6, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 44, 46], "all_path": 17, "allot": 17, "allow": [3, 13, 17, 18, 21, 22, 26, 28, 29, 30, 32, 35, 37, 39, 41, 42, 43, 44, 45, 46], "allow_disconnect": 24, "allow_instal": 21, "allowfailur": 13, "alon": [24, 26, 37], "along": [19, 32], "alphabet": 28, "alreadi": [17, 18, 20, 21, 24, 25, 26, 29, 30, 32, 34, 37, 40], "also": [1, 6, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 40, 41, 42, 43, 44, 46], "alter": [24, 29], "altern": [25, 26, 27, 30, 32, 35, 36, 37, 44], "altogeth": 37, "alwai": [17, 27, 28, 30, 32, 43], "amoi": 43, "amount": [13, 17, 19, 21, 30, 31, 37, 46], "an": [0, 3, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "analysi": 45, "analyz": 30, "ancestor": 24, "anchor": 24, "ani": [1, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 32, 33, 37, 38, 41, 42, 43, 44, 46], "annot": [17, 21, 23], "anonym": 17, "anoth": [17, 20, 23, 37, 44, 46], "anvil": [37, 44], "anyth": [17, 18, 26, 29, 30, 33, 36, 38], "anywher": [30, 32, 36], "ap": [1, 3, 4, 5, 6, 7, 8, 9, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 45], "ape_": 33, "ape_account": [25, 26], "ape_accounts_": 25, "ape_cli_context": [18, 26, 43], "ape_cli_subcommand": 33, "ape_consol": 29, "ape_console_extra": 29, "ape_ethereum": [13, 21, 30, 33], "ape_init_extra": 29, "ape_myplugin": 33, "ape_nod": 14, "ape_vyp": 42, "apeacademi": 46, "apeattributeerror": 20, "apeclicontextobject": [18, 26], "apeconfig": [17, 21], "apeexcept": 20, "apeindexerror": 20, "apelogg": 18, "apenet": 37, "apeproject": [17, 22, 38, 42], "apeworx": [33, 34, 35, 37, 40, 41], "api": [9, 14, 20, 21, 22, 24, 25, 28, 32, 37, 39, 45], "api_path": 21, "api_uri": 37, "apinotimplementederror": [14, 17, 20], "appear": [21, 24], "append": [17, 21, 23, 24, 27, 37], "appli": [17, 21, 28, 33, 44, 46], "applic": [17, 24, 28, 32, 46], "application_prefix": 26, "applydiscount": 30, "approach": [14, 25, 37, 43, 44], "appropri": 21, "approv": 45, "approxim": 17, "ar": [6, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "arbitrari": 17, "arbitrum": 37, "architectur": 35, "archiv": 24, "archive_fil": 24, "area": [26, 44], "arg": [0, 4, 5, 6, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 29, 30, 31], "arg1": 30, "arg2": 30, "argument": [0, 1, 5, 6, 8, 13, 14, 17, 19, 20, 21, 23, 24, 25, 26, 29, 30, 32, 33, 37, 40, 43, 46], "arguments_length": 20, "argumentslengtherror": 20, "around": [17, 19, 20, 21, 27], "arrai": [24, 42], "arriv": 18, "artifact": [17, 21, 27, 38], "as_transact": 13, "ask": [5, 17, 25, 32], "assert": [20, 25, 30, 37, 42, 44, 46], "assertionerror": 44, "assign": 42, "assist": [25, 26, 33], "associ": [17, 21], "assum": [17, 19, 21, 24, 30, 37, 40, 42, 43, 44, 45, 46], "ast": 23, "async": 24, "asyncio": 24, "attach": [17, 18, 46], "attempt": [17, 20, 21, 32, 33, 39, 44], "attribut": [17, 19, 21, 24, 30], "attributeerror": [20, 46], "author": [17, 30, 42, 44, 45], "authorized_method": 44, "auto": [18, 23, 25, 28, 37, 44], "auto_gas_multipli": 17, "auto_min": [14, 17, 44], "autogaslimit": 23, "autom": 38, "automat": [1, 6, 17, 18, 21, 22, 23, 24, 26, 28, 29, 30, 32, 37, 40, 42, 43, 44, 45, 46], "automin": [14, 17], "autoreload": 29, "avail": [0, 5, 14, 17, 19, 21, 22, 23, 25, 29, 30, 31, 32, 33, 35, 36, 37, 42, 44, 46], "avalanch": 37, "avoid": [21, 25, 30, 41, 42, 43], "await": 24, "await_confirm": 17, "b": 13, "back": [1, 17, 19, 21, 23, 30, 37], "backend": 32, "backward": 21, "bad": 26, "balanc": [17, 19, 25, 29, 30, 42, 44], "balanceof": [30, 44, 45], "bar": [17, 18, 24, 37, 44, 46], "barev": 46, "base": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 30, 31, 33, 35, 37, 43, 44, 45, 46], "base_ecosystem_plugin": 37, "base_err": 20, "base_error": 18, "base_fe": [17, 21, 46], "base_fee_multipli": [17, 37], "base_path": [17, 20, 21, 28, 32], "base_typ": 18, "baseaddress": [17, 19, 21], "basecontractlog": 23, "baseinterfac": [17, 24], "baseinterfacemodel": [17, 19, 21, 24], "basemodel": [17, 23], "basemultical": 13, "baseset": 17, "basic": 30, "baz": 46, "beacon": 39, "becaus": [20, 21, 24, 25, 30, 32, 33, 37, 43, 44, 45], "becom": [42, 44], "been": [17, 21, 23, 24, 42, 44], "befor": [17, 19, 21, 24, 26, 30, 37, 43, 44, 46], "beforehand": 46, "beforevalid": [17, 23], "begin": [21, 30], "begin_lineno": 23, "behav": 44, "behavior": [17, 21, 23, 32, 36, 37], "being": [17, 20, 21, 23, 29, 37, 42], "belong": 19, "below": [25, 30, 32, 37, 44], "benefit": 33, "besid": [37, 42], "best": [14, 17, 21, 37, 43, 44, 45], "beta": 31, "better": [24, 37], "between": [8, 17, 19, 21, 23, 37], "biggest_block_s": 21, "binari": 27, "blank": 21, "blast": 37, "block": [17, 19, 20, 21, 22, 23, 24, 28, 29, 33, 42, 44], "block_hash": 23, "block_id": [17, 20], "block_identifi": 17, "block_numb": [17, 19, 21, 23, 37], "block_page_s": [14, 17], "block_tim": [17, 19, 21, 37], "blockapi": [17, 21, 31], "blockchain": [10, 14, 17, 20, 21, 22, 23, 25, 30, 35, 37, 44], "blockcontain": 21, "blockid": [17, 20, 23], "blocknotfounderror": [17, 20], "blockqueri": [14, 17, 21], "blocktransactionqueri": [14, 17, 21], "blue": [17, 36], "blueprint": [17, 21], "blueprint_id": 21, "bob": 25, "bodi": 23, "bool": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 28, 44], "boolean": [26, 28], "boost": 24, "borrow": 24, "both": [17, 21, 22, 24, 26, 29, 30, 33, 35, 37, 38, 46], "bound": 42, "box": [32, 35, 37, 44], "branch": [6, 17, 32, 35], "bridg": 37, "bright_blu": 24, "bright_green": 24, "bright_magenta": 24, "broadcast": 13, "broken": 46, "browni": [17, 21], "browser": 25, "bsc": 37, "build": [24, 27, 32, 38, 40, 41, 43, 44, 45], "build_command": [14, 17], "builder": 13, "built": [21, 23, 33, 41, 44], "builtin": [23, 42], "bundl": 44, "burn": 45, "by_alia": [17, 23], "bypass": [19, 21, 32], "byte": [17, 19, 21, 23, 24, 30], "bytecod": [1, 17], "bytes_valu": 30, "bytesaddressconvert": 21, "c": [2, 29], "cach": [6, 17, 21, 29, 32, 38, 44], "cache_api": 21, "cache_blueprint": 21, "cache_clear": 24, "cache_deploy": 21, "cache_nam": 21, "cache_proxy_info": 21, "cairo": 44, "calcul": [17, 21, 23], "call": [7, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 37, 39, 42, 43, 44, 46], "call_arg": 13, "call_kwarg": 13, "call_trace_approach": 14, "call_view_method": 19, "callabl": [18, 20, 21, 22, 24, 26], "callback": 18, "calldata": [17, 19, 30], "can": [0, 6, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "can_trace_sourc": 21, "cannot": [17, 18, 24, 44, 46], "capabl": [23, 45], "capit": 38, "captur": 44, "care": [37, 46], "carefulli": 37, "case": [17, 19, 20, 21, 23, 24, 26, 27, 28, 30, 32, 33, 37, 38, 39, 42, 43, 44], "case_sensit": 18, "caseinsensitivedict": 24, "catch": 10, "caus": [37, 44], "cd": 25, "cell": 29, "certain": [18, 21, 44, 46], "chain": [10, 13, 14, 17, 20, 22, 24, 29, 30, 31, 37, 41, 43, 45], "chain_id": [14, 17, 20, 21, 29, 37, 43], "chainerror": [20, 21], "chainid": 17, "chainlist": [14, 17, 21], "chainmanag": [10, 14, 17, 20, 21, 29, 44], "challeng": 41, "chanc": [17, 37, 41], "chang": [1, 8, 17, 18, 19, 21, 23, 24, 28, 29, 32, 34, 35, 36, 37, 42, 43, 44, 45], "changeonstatu": 44, "check": [17, 19, 21, 23, 24, 25, 30, 32, 39, 41, 42, 44], "check_for_chang": 21, "check_signatur": [17, 25], "check_valu": 44, "checksum": [21, 23], "checksumaddress": [17, 21, 23], "choic": [17, 21, 26, 37, 46], "choice_callback": 18, "choos": [6, 14, 18, 21], "ci": [25, 30], "circuit": 21, "cl": [18, 24, 26, 43], "claim": 17, "clarifi": 37, "class": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 38, 42], "classmethod": [13, 17, 19, 20, 21, 23], "classvar": [17, 19, 21], "clean_path": 24, "clear_local_cach": 21, "cli": [7, 17, 20, 21, 24, 25, 27, 29, 35, 41, 44], "cli_0": 26, "cli_1": 26, "cli_2": 43, "cli_ctx": [26, 33, 43], "cli_logg": 18, "click": [7, 18, 26, 33, 35, 37, 43], "clickexcept": 20, "client": [14, 17], "clisettingssourc": [14, 17], "clone": [3, 21, 32, 39], "close": 29, "closer": 37, "closest": 37, "closur": 23, "cmd": [18, 26, 37], "cmd_1": 26, "cmd_2": 26, "cmd_3": 26, "code": [2, 17, 18, 20, 21, 23, 26, 30, 32, 33, 40, 41, 44, 45], "codecov": 23, "codes": 17, "col_offset": 23, "collect": [17, 18, 20, 21, 23, 32], "collis": [21, 30], "colon": [26, 44], "color": [17, 24, 36], "column": [17, 19, 21, 23], "com": [14, 35, 37, 41], "combin": [17, 21, 37, 44], "come": [19, 21, 23, 24, 25, 27, 29, 30, 32, 35, 36, 37, 44], "comma": 44, "command": [0, 4, 5, 6, 7, 14, 17, 21, 25, 26, 27, 28, 30, 32, 33, 35, 36, 37, 38, 41, 43], "comment": 44, "common": [18, 24, 28, 32, 33, 37, 38], "commonli": 37, "compar": 23, "comparison": 23, "compat": [18, 23, 35], "compil": [9, 10, 20, 23, 24, 26, 28, 29, 30, 35, 38, 41, 42, 44], "compile_cod": 17, "compile_miss": 21, "compile_sourc": [21, 27], "compiler_data": 21, "compiler_nam": 21, "compiler_set": 17, "compilerapi": [17, 21, 22, 33, 35], "compilererror": [20, 21], "compilermanag": [10, 21], "compilerplugin": 22, "complet": [14, 17, 21, 24, 43, 44], "complex": [30, 32], "compon": 23, "compos": 33, "comprehens": [14, 17, 21], "comput": [17, 24, 25, 38], "concaten": 21, "concept": [17, 23, 24, 44], "concurr": [14, 17, 21], "condit": 33, "config": [1, 3, 6, 10, 24, 25, 27, 28, 29, 34, 35, 38, 44, 46], "config_class": 22, "config_file_nam": 17, "config_overrid": [17, 21, 32, 38], "configdict": 17, "configenum": 17, "configerror": [17, 20], "configmanag": [10, 17, 21, 22], "configur": [9, 14, 17, 19, 20, 21, 22, 24, 25, 27, 32, 38, 41, 44], "confirm": [5, 6, 17, 18, 19, 21, 25, 32, 46], "conform": [22, 33], "conftest": 44, "confus": 23, "connect": [14, 17, 19, 20, 21, 26, 28, 33, 34, 35, 43, 44, 45, 46], "connectedprovidercommand": [18, 26, 37, 43], "connection_id": 17, "connection_str": [17, 21], "consid": [17, 21, 24, 37], "consist": 18, "consol": [0, 7, 9, 25, 30, 31, 33, 34, 37, 38, 41, 44], "constant": 31, "constraint": 35, "construct": 23, "constructor": [17, 19, 30, 40], "constructorabi": [17, 20, 21, 24], "consult": 37, "consum": 24, "contact": 23, "contain": [17, 19, 21, 22, 23, 24, 27, 30, 32, 34, 37, 38, 40, 41, 44, 46], "container": 41, "content": [17, 21, 23, 24, 28], "context": [17, 18, 20, 21, 23, 24, 25, 29, 33, 42, 43, 44], "continu": [30, 37, 42], "contract": [1, 8, 9, 10, 13, 17, 18, 20, 21, 23, 24, 25, 27, 29, 37, 38, 40, 41, 42, 45, 46], "contract2": 30, "contract_a": 46, "contract_address": [17, 20, 23], "contract_contain": [19, 21], "contract_ev": 31, "contract_file_paths_argu": [18, 26], "contract_filepath": [17, 21], "contract_inst": [21, 31], "contract_method_defined_in_contract": 46, "contract_nam": [23, 44], "contract_opt": 18, "contract_sourc": 17, "contract_typ": [10, 17, 19, 20, 21, 28, 38], "contractcach": 21, "contractcod": 17, "contractcontain": [17, 19, 21, 30], "contractcoverag": 23, "contractcr": [14, 17, 19, 21], "contractcreationqueri": [14, 17, 21], "contractdataerror": 20, "contracterror": 18, "contractev": [17, 19, 23, 46], "contracteventqueri": [14, 17, 21], "contractfromdepend": 38, "contractinst": [10, 17, 19, 21, 30, 46], "contractlog": [17, 19, 21, 23, 31, 46], "contractlogcontain": [17, 23], "contractlogicerror": [17, 20, 21, 42, 44], "contractmanag": 21, "contractmethodhandl": 13, "contractmethodqueri": [14, 17, 21], "contractnam": [21, 27], "contractnotfounderror": [20, 21], "contracts_fold": [17, 21, 27, 28, 32, 38], "contractsourc": 17, "contractsourcecoverag": 23, "contracttyp": [17, 19, 20, 21], "contracttypewrapp": 19, "control": [17, 21, 23, 25, 26, 37, 43, 44, 46], "controlflow": 23, "conveni": [17, 21, 23], "convent": [23, 28], "convers": [10, 17, 22], "conversionerror": [17, 20, 21], "conversionmanag": [10, 21], "conversionplugin": 22, "convert": [10, 18, 20, 24, 28, 29, 30], "convertedtyp": 17, "converterapi": [17, 21, 22], "copi": [24, 30], "core": [5, 17, 25, 28, 30, 32, 33, 37], "coroutin": 24, "correct": [18, 32, 37, 44], "correctli": 37, "correspond": [17, 19, 23, 26, 37, 44], "cost": [17, 21, 30], "could": [17, 29, 30], "count": [0, 21, 23, 24, 25], "counter": 23, "coupl": 26, "cov": 44, "cover": [23, 30, 44], "coverag": [17, 45], "coverageproject": 23, "coveragereport": 23, "coveragestat": 23, "crash": 42, "creat": [0, 3, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 37, 38, 44, 45], "create_account": 26, "create_custom_provid": 21, "create_forwarder_to": 39, "create_network_typ": 17, "create_struct": 24, "create_tempdir": 24, "create_transact": 17, "creation": [17, 19, 21, 26], "creation_metadata": [19, 46], "cross": 19, "ctrl": 44, "ctx": 18, "currenc": [17, 23, 46], "currencyvalu": 23, "currencyvaluecompar": 23, "current": [13, 17, 18, 21, 24, 35, 37, 38], "custom": [17, 18, 20, 21, 23, 25, 26, 28, 29, 33, 36], "custom_hd_path": 0, "custom_network": [17, 21], "customcontext": 26, "customerror": [17, 19, 20, 21], "customiz": 37, "customnetwork": 37, "cut": 37, "cycl": 8, "d": [25, 41, 44], "d75f00": 24, "daemon": [17, 19, 21, 24], "dai": 45, "dapphub": 32, "dappnix": 32, "dapptoolserc20": 32, "data": [9, 10, 14, 17, 18, 19, 20, 21, 23, 24, 25, 28, 29, 30, 32, 37, 44], "data_dir": 14, "data_fold": [14, 17, 21], "databas": [29, 31], "dataclass": [24, 31], "datafram": [19, 21], "date": [21, 41], "datetim": [17, 21], "de": 17, "debug": [0, 1, 2, 3, 4, 5, 6, 8, 17, 25, 29, 31, 36, 37, 46], "debug_": 44, "debug_logs_lin": 17, "debug_logs_typ": 17, "debug_setcod": 13, "debug_trace_transaction_paramet": 45, "debug_tracecal": 45, "debug_tracetransact": 45, "decentr": 37, "decid": 25, "decim": [17, 21, 44], "decis": 37, "declar": [17, 28, 33, 46], "decod": [17, 19, 20, 21, 24, 37], "decode_address": 17, "decode_block": 17, "decode_calldata": 17, "decode_custom_error": 17, "decode_depend": 21, "decode_hex": 29, "decode_input": [19, 30], "decode_log": [17, 46], "decode_output": 24, "decode_primitive_valu": 17, "decode_receipt": 17, "decode_returndata": 17, "decodingerror": 20, "deconstruct": 22, "decor": [18, 22, 24, 30, 33, 43, 44], "deduc": [14, 17, 35], "deep": 24, "deeper": [41, 44, 45], "def": [13, 17, 18, 21, 22, 24, 25, 26, 29, 30, 33, 34, 36, 37, 43, 44, 46], "default": [0, 3, 4, 8, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 32, 35, 37, 43, 44, 46], "default_": 37, "default_ecosystem": [17, 21, 28, 37], "default_log_level": 18, "default_nam": 24, "default_network": [28, 34, 37], "default_network_nam": 17, "default_provid": [28, 34, 37], "default_provider_nam": 17, "default_transaction_typ": 37, "defaultqueryprovid": 21, "defin": [7, 14, 17, 19, 20, 21, 22, 23, 24, 28, 29, 30, 33, 37, 42, 43, 44], "definit": [17, 21, 37], "defisaverlogg": 45, "delai": [8, 37, 43], "deleg": [19, 21, 24, 39, 45], "delet": [17, 21, 32, 33], "delete_account": 26, "deltatim": 21, "demo": [28, 38, 46], "demonstr": [30, 43, 44, 46], "depend": [1, 6, 9, 17, 21, 22, 23, 33], "dependency_contract": 32, "dependency_id": 21, "dependency_project": 32, "dependencyapi": [17, 21, 22, 32], "dependencycontracttyp": 32, "dependencymanag": 21, "dependencyplugin": 22, "dependencyversionmap": 21, "dependend": 21, "deploi": [13, 17, 19, 20, 21, 27, 31, 32, 38, 40, 44, 46], "deploy": [1, 17, 19, 21, 38], "deployed_contract": 32, "deployment_bytecod": 17, "deployment_data": 17, "deploymentconfig": 17, "deploymentmanag": 21, "deployments_map": 21, "depth": [23, 41, 46], "deriv": [0, 19, 24, 37, 44], "describ": [23, 25, 37], "descript": [17, 18, 33, 39], "descriptor": 24, "design": [21, 23, 33], "desir": [13, 19], "despit": 44, "destin": [10, 17, 21, 24], "detail": [17, 19, 23, 38], "detect": [17, 19, 20, 21, 39, 42], "determin": [14, 17, 19, 21, 24, 39], "dev": [10, 17, 20, 21, 23, 24, 30, 44, 46], "dev_messag": [10, 20], "develop": [9, 14, 17, 19, 21, 24, 26, 31, 35, 37, 41, 46], "df": 31, "dict": [14, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "dictionari": [17, 18, 21, 23, 24, 30, 38, 44, 45], "did": [34, 45], "differ": [17, 19, 21, 23, 24, 28, 32, 33, 35, 37, 38, 39, 44], "dig": 24, "dim": 24, "dir": [5, 21], "dir_a": 24, "dir_b": 24, "directli": [17, 19, 21, 23, 25, 26, 27, 29, 30, 31, 32, 37, 38, 45, 46], "directori": [14, 17, 21, 24, 25, 27, 28, 29, 31, 32, 33, 35, 37, 38, 40, 43, 44], "disabl": 44, "disallow": 44, "disconnect": [14, 17, 21, 26, 37, 44], "disconnect_aft": [17, 21, 37], "disconnect_on_exit": [17, 21], "discord": 41, "discuss": [37, 44], "disk": [17, 21, 25], "dispatch": 24, "displai": [5, 17, 20, 23, 24, 25, 29, 37], "dist": 44, "distinguish": 44, "dive": 44, "divid": 23, "divis": 44, "do": [1, 13, 17, 20, 21, 24, 25, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 44, 46], "doc": [17, 23, 24, 33], "dockerfil": 41, "document": [19, 22, 25, 27, 28], "doe": [17, 18, 19, 20, 21, 24, 26, 28, 30, 32, 33, 35, 37, 41, 44, 45], "doesn": [17, 23, 45], "domain": [21, 30], "don": [5, 21, 30, 32, 33, 37, 44, 46], "dotenvtyp": [14, 17], "down": [14, 17, 23, 24], "download": [6, 17, 22, 24, 32], "download_url": 24, "doxx": 24, "drop": [7, 24], "ds_store": 27, "dsguard": 45, "dsproxi": 45, "dst": 45, "duck": [17, 23], "due": 44, "dump": [17, 23, 30], "duplic": 17, "durat": [18, 21, 30], "dure": [17, 21, 23, 27, 32, 36, 43, 44], "dynarrai": 30, "e": [17, 21, 25, 28, 30, 32, 37, 44, 45, 46], "e501": [17, 21], "each": [1, 13, 14, 17, 21, 22, 23, 24, 25, 28, 31, 32, 33, 37, 43, 44, 46], "earlier": 44, "earliest": [17, 19, 21, 23], "easi": [23, 26, 30, 35, 41, 44], "easier": 28, "easili": [17, 37, 46], "ecdsa": 23, "echo": [18, 26, 33, 43], "ecosystem": [4, 17, 18, 20, 21, 22, 26, 31, 34, 35, 37, 43, 44], "ecosystem_config": 17, "ecosystem_filt": [4, 21], "ecosystem_nam": [17, 21, 43], "ecosystemapi": [17, 21, 22, 35, 37], "ecosystemnotfounderror": 20, "ecosystemplugin": 22, "ecurepassphras": 25, "edit": [27, 28, 33, 35, 37], "effect": 37, "eip": [17, 21, 23, 37, 39, 40, 46], "eip712": 25, "eip712messag": [17, 25], "eip712typ": 25, "either": [7, 17, 18, 19, 21, 24, 25, 26, 30, 32, 33, 37, 41], "elect": 25, "elimin": 25, "els": [17, 19, 21, 24, 26, 36, 37, 43, 44], "elsewher": [21, 27, 28], "embed": 29, "emit": [17, 23, 46], "empti": [17, 20, 22, 23, 24, 44], "emul": 13, "en": [17, 21, 22, 28, 30, 35], "enabl": [14, 17, 19, 25, 30, 44], "enablememori": 45, "enact": 44, "encod": [13, 17, 23, 37], "encode_": 23, "encode_address": 17, "encode_calldata": 17, "encode_contract_blueprint": 17, "encode_defunct": [23, 25], "encode_deploy": 17, "encode_hex": 29, "encode_input": [24, 30], "encode_intended_valid": 23, "encode_structured_data": 23, "encode_transact": 17, "encode_typed_data": 23, "encompass": 44, "encount": [23, 42], "encourag": [18, 32], "encrypt": 25, "end": [17, 18, 19, 21, 24, 27, 37, 44], "end_coloffset": 23, "end_lineno": 23, "endcolumn": 23, "endeavor": 26, "endlin": 23, "enforc": 18, "engin": [14, 17, 19, 20, 21], "engine_to_us": [19, 21], "enhanc": 17, "enough": [17, 30], "enrich": [17, 21], "enrich_error": [17, 21], "enrich_trac": 17, "ensur": [21, 22, 23, 30, 34, 37, 44], "enter": [17, 25, 36, 37, 44], "entir": [33, 35, 37, 44], "entireti": 30, "entri": [21, 33, 37], "entropi": 25, "entry_point": 33, "entrypoint": 33, "enum": [17, 18, 27], "env": 41, "environ": [24, 25, 28, 29, 37, 41], "eoa": 17, "ephemer": 37, "epoch": 21, "equal": [17, 23, 25, 46], "equival": [17, 28], "erc20": 32, "erc721": 32, "err": [17, 20, 21, 42], "error": [0, 1, 2, 3, 4, 5, 6, 8, 17, 18, 19, 20, 21, 23, 24, 26, 29, 30, 36, 37], "error_messag": 20, "errorabi": [20, 21], "especi": [17, 32], "estim": [14, 17, 21, 23, 24, 28, 37, 44], "estimate_gas_cost": [17, 46], "estimate_queri": [14, 17, 21], "etc": [26, 42, 46], "eth": [10, 14, 17, 21, 25, 29, 30, 31, 37, 41, 44, 46], "eth_account": 25, "eth_cal": [13, 30], "eth_createaccesslist": 46, "eth_estimatega": 28, "eth_pydantic_typ": [17, 30], "eth_sendprivatetransact": [17, 30], "eth_sendrawtransact": 30, "eth_sendtransact": [13, 30], "eth_subscrib": 17, "eth_typ": [17, 21], "eth_util": 29, "ether": [13, 25, 30, 31, 46], "ethereum": [4, 9, 14, 17, 21, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 37, 39, 43, 44, 45, 46], "ethereumnetworkconfig": 14, "ethereumnodeconfig": 14, "ethereumnodeprovid": 21, "etherscan": [17, 19, 22, 30, 35, 37, 46], "ethpm": [21, 38, 40], "ethpm_typ": [17, 19, 21, 23], "ethtest": [37, 44], "evalu": [18, 24], "even": [17, 21, 36, 37], "event": [17, 19, 20, 30, 46], "event_argu": 23, "event_nam": 23, "event_typ": 46, "eventabi": [17, 19, 21, 23, 24], "everi": [13, 21, 23, 24, 36, 37, 39], "everyth": [17, 33, 35], "evm": [17, 21, 30, 37, 42, 45], "evm_vers": [27, 28, 32], "exact": [23, 44], "exactli": 44, "exampl": [6, 10, 13, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46], "exc": 20, "exce": [20, 46], "except": [9, 10, 17, 18, 19, 21, 24, 29, 30, 37, 42, 44, 46], "exclud": [17, 21, 23, 24, 32, 44], "exclude_default": [17, 23], "exclude_glob": 21, "exclude_non": [17, 23], "exclude_unset": [17, 23], "exclus": [21, 24, 27], "execut": [13, 14, 17, 18, 19, 21, 23, 26, 30, 36, 43, 44, 45], "exist": [0, 17, 18, 21, 23, 24, 26, 27, 29, 33, 37, 40, 44], "existing_alias_argu": [18, 26, 33], "exit": [17, 21, 29, 44], "expand": [24, 28], "expand_envar": 24, "expand_environment_vari": 24, "expans": 28, "expect": [10, 13, 19, 21, 23, 44, 46], "expected_messag": 10, "experi": 41, "explain": [24, 37, 44], "explan": [24, 38], "explicitli": [17, 23, 27, 44], "explictli": 44, "explor": [22, 30, 39], "explorerapi": [17, 21, 22, 40], "explorerplugin": 22, "export": 42, "extend": [18, 23, 26, 35], "extend_last": 23, "extens": [17, 18, 21, 22, 24, 29, 33, 38, 40, 44], "extern": [30, 44], "extra": [17, 24, 25, 28, 32, 41], "extra_address": 19, "extraattributesmixin": [17, 19, 24], "extract": [24, 32], "extract_arch": 24, "extract_config": [17, 21], "extract_manifest": 21, "extract_nested_valu": 24, "extramodelattribut": 24, "f": [1, 6, 17, 18, 19, 21, 25, 26, 33, 41, 42, 43], "face": 20, "facilit": 28, "fact": 44, "factori": [17, 18, 19, 21, 28, 30, 38, 46], "fail": [13, 17, 18, 20, 21, 24, 30, 32, 33, 37, 42, 44], "failur": 44, "fallback": [21, 42], "fallbackabi": 21, "fallbacknotdefinederror": 42, "fals": [14, 17, 18, 19, 20, 21, 23, 24, 32, 42, 44, 45], "familiar": 37, "fantom": [28, 35, 37, 44], "fashion": 30, "faster": [21, 24], "fdel": 24, "featur": [17, 18, 23, 25, 26, 28, 30, 31, 32, 34, 42, 44, 45, 46], "fee": [17, 31, 37, 42], "fee_token_decim": 17, "fee_token_symbol": 17, "feed": 37, "fetch": [17, 19, 21, 30, 31, 37], "few": [31, 32, 44], "ff8c00": 24, "fget": 24, "field": [17, 21, 23, 24, 32, 35, 44], "figur": [23, 30], "file": [8, 17, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 35, 37, 38, 42, 43, 44, 46], "file_a": 24, "file_b": 24, "file_c": 24, "file_path": [1, 26], "filenam": 21, "filepath": 21, "filesystem": 24, "fill": [21, 23], "filter": [4, 17, 18, 19, 23, 26], "final": [17, 21, 24, 27, 44], "find": [17, 19, 20, 21, 23, 24, 25, 32, 33, 39, 44, 46], "finish": 33, "first": [17, 19, 21, 23, 24, 25, 26, 29, 30, 31, 32, 35, 37, 40, 43, 46], "fixtur": [13, 17, 21, 25, 37], "flag": [6, 17, 21, 25, 26, 27, 32, 35, 36, 37, 42, 43, 44, 45, 46], "flatten": [17, 18, 21], "flatten_contract": [17, 21], "flexibl": 43, "float": [17, 21, 23], "flow": [23, 44], "fly": 37, "fn": 24, "folder": [3, 7, 8, 17, 21, 23, 27, 29, 31, 44, 46], "follow": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46], "foo": [17, 18, 21, 24, 30, 37, 44], "foo_bar": 26, "foo_method": 44, "foobar": [21, 35, 43], "fooevent": 46, "foohappen": 31, "foomethod": 46, "forbid": 45, "forc": [1, 6, 17, 21, 32], "fork": [4, 9, 17, 21, 28, 44, 46], "forkednetworkapi": 17, "form": [21, 23, 24, 30, 36, 44], "format": [4, 17, 18, 21, 23, 24], "formerli": 39, "forward": [13, 30, 42], "found": [17, 19, 20, 21, 24, 25, 26, 27, 30, 32, 33, 37, 43, 44], "foundri": [26, 30, 34, 37, 44, 45], "frame": [20, 45], "framework": [26, 30, 32, 36, 41, 44, 46], "friendlier": 17, "fro": 37, "from": [0, 3, 6, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "from_error": 20, "from_ev": 23, "from_manifest": [21, 38], "from_python_librari": [21, 38], "from_receipt": [17, 19, 46], "fset": 24, "full": [17, 21, 23, 24, 26, 27, 32, 37, 41, 44], "full_nam": 23, "fulli": [28, 30], "func": [17, 23, 24, 44], "function": [17, 18, 19, 21, 23, 24, 25, 26, 30, 31, 37, 42], "function_hit": 23, "function_r": 23, "functioncoverag": 23, "fund": [17, 20, 25, 30, 42, 44], "fundm": 44, "fundmycontract": 46, "further": 41, "futur": [17, 19, 21], "g": [17, 21, 25, 28, 30, 32, 37, 44, 45, 46], "ga": [17, 20, 24, 28, 30, 37, 42], "ganach": 17, "gap": 23, "gas_cost": 24, "gas_estimation_error_messag": 24, "gas_limit": [17, 23, 28, 37], "gas_pric": [17, 21, 46], "gas_us": [17, 30], "gaslimit": 23, "gasreport": 23, "gather": 24, "ge": [17, 23], "gener": [14, 17, 18, 21, 23, 24, 27, 30, 32, 36, 37, 40, 44], "generate_account": [17, 25], "generate_dev_account": 24, "generate_test_account": 25, "generateddevaccount": [17, 24], "generic_method": 24, "genericconfig": 17, "genesi": [24, 37], "get": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 32, 37, 38, 40, 41, 42, 43, 44, 45, 46], "get_accounts_by_typ": 21, "get_address_url": 17, "get_all_files_in_directori": 24, "get_api_path": 21, "get_bal": 17, "get_block": [17, 29, 37], "get_blueprint": 21, "get_choic": 18, "get_cod": 17, "get_compil": 27, "get_compiler_set": 17, "get_config": 17, "get_contain": 21, "get_contract": 30, "get_contract_log": 17, "get_contract_typ": 17, "get_contracts_path": 21, "get_creation_metadata": 21, "get_current_timestamp_m": 24, "get_custom_error": 21, "get_depend": [21, 38], "get_deploy": [21, 30], "get_ecosystem": 21, "get_error_by_signatur": 19, "get_event_by_signatur": [19, 46], "get_full_extens": 24, "get_html": 23, "get_import": [17, 21], "get_manifest_path": 21, "get_metavar": 18, "get_method_selector": 17, "get_multipl": 21, "get_network": [17, 43], "get_network_choic": 21, "get_network_data": 17, "get_nonc": 17, "get_package_path": 24, "get_package_vers": 24, "get_project_depend": 21, "get_project_path": 21, "get_project_versions_path": 21, "get_provid": 17, "get_provider_from_choic": 21, "get_proxy_info": [17, 21], "get_python_typ": 17, "get_raw_fram": 45, "get_receipt": [17, 21, 45], "get_refer": 21, "get_relative_path": 24, "get_request_head": 21, "get_static_list": 30, "get_storag": 17, "get_test_account": [14, 17], "get_transaction_trac": [17, 45], "get_transaction_url": 17, "get_transactions_by_account_nonc": 17, "get_transactions_by_block": 17, "get_user_selected_choic": 18, "get_vers": [17, 21], "get_version_map": 17, "get_virtual_machine_error": 17, "get_xml": 23, "getattr": 29, "geth": [14, 17, 20, 21, 24, 35, 37], "gethdev": 14, "getmarketborrowr": 45, "getmodifiedbal": 30, "getreserv": 30, "getsecret": 44, "getter": [23, 44], "gh": 32, "ghcr": 41, "git": [32, 35], "github": [3, 6, 17, 22, 28, 35, 37, 41], "gitmodul": 22, "give": [23, 24, 25, 26, 32, 39, 43], "given": [7, 8, 10, 17, 18, 19, 20, 21, 23, 24, 26, 28, 30, 37, 44], "glob": [21, 24, 27, 32], "global": [21, 28, 37, 38, 44], "global_config": 21, "globalcontract": 28, "gnosi": 39, "go": [17, 21, 37], "goe": [24, 37], "goerli": 4, "good": [18, 33], "got": 46, "gotten": 24, "gpl": 42, "grab": 44, "gracefulli": 26, "granular": [21, 30], "great": [17, 32, 41], "greater": [17, 21, 23], "green": [17, 36], "group": [7, 23, 26, 30, 33, 43], "gt": 17, "guess": 21, "guid": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "guidelin": 32, "gwei": [17, 21, 30, 46], "gz": 24, "h": 29, "ha": [17, 19, 20, 21, 24, 30, 31, 37, 40, 42, 44, 46], "hacker": [42, 44], "had": 42, "hand": [23, 30], "handi": 21, "handl": [17, 18, 20, 21, 22, 23, 24, 26, 29, 37, 42], "handle_ape_except": 20, "handler": [13, 17, 18, 19, 30, 46], "happen": [18, 22, 23, 27, 30, 32, 37, 44, 46], "haramb": 41, "hard": [18, 24], "hardcod": 17, "hardhat": [14, 17, 28, 34, 35, 37, 44], "has_explor": 20, "haserror": 44, "hash": [17, 19, 21, 23, 29], "hashbytes20": 23, "hashstr20": 23, "have": [1, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46], "hd": [0, 14, 17, 24, 25], "hd_path": [24, 44], "hdpath": 25, "head": [21, 29], "header": [14, 17, 21, 23, 24], "height": 21, "hello": [25, 43], "helloworld": 43, "help": [18, 19, 24, 25, 28, 29, 32, 33, 35, 37, 41, 44], "helper": [0, 4, 5], "henc": 37, "here": [17, 21, 22, 25, 26, 27, 28, 30, 33, 34, 35, 37, 38, 42, 43, 44, 45], "hex": [21, 23, 24, 25, 30], "hexaddressconvert": 21, "hexbyt": [17, 19, 21, 23, 30], "hexconvert": 21, "hexint": 23, "hexintconvert": 21, "hexiterableconvert": 21, "hexstr": [17, 23], "hide": [0, 25], "higher": [30, 37, 44], "highest": 46, "highli": 25, "highlight": 32, "histor": [17, 19, 21], "histori": [17, 21, 30, 31], "hit": 23, "hit_count": 23, "holeski": [4, 14], "home": [17, 24, 25, 28, 29, 31, 37, 41, 42], "homebrew": 41, "hood": [21, 25], "hook": [17, 22, 33], "hookimpl_kwarg": 22, "hop": 43, "host": [27, 39], "how": [17, 18, 23, 24, 25, 27, 28, 30, 31, 32, 37, 42, 43, 44, 46], "howev": [17, 19, 21, 25, 28, 32, 33, 35, 37, 38, 39, 43, 44, 46], "html": [23, 44], "htmlcov": 44, "http": [14, 17, 21, 23, 24, 28, 32, 33, 35, 36, 37, 41], "http_uri": [17, 37], "httpprovid": [14, 33], "huge": 24, "human": 29, "i": [1, 7, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "id": [14, 17, 19, 20, 21, 23, 27, 28, 30, 32, 37], "ideal": [21, 43], "idempot": [17, 23], "ident": 37, "identifi": [17, 19, 21, 30, 37, 42], "identifier_lookup": [19, 30], "ifi": 32, "ignor": [17, 18, 21, 23, 32, 33], "imag": 41, "imagin": 28, "immedi": [17, 29, 37], "imperson": [17, 21, 25, 44], "impersonate_account": [21, 44], "impersonatedaccount": [17, 21], "implement": [17, 18, 20, 21, 22, 24, 25, 26, 32, 37, 39, 45], "implicit": 23, "import": [7, 13, 17, 18, 19, 21, 24, 26, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "import_account_from_mnemon": 25, "import_account_from_private_kei": 25, "import_remap": 32, "import_source_id": [17, 21], "imports_dict": 21, "improv": [37, 44], "in_tempdir": [21, 24], "inaccess": 21, "incentiv": 17, "includ": [1, 5, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 35, 37, 40, 41, 44, 46], "include_depend": 32, "include_getattr": 24, "include_getitem": 24, "incompat": 18, "incompatible_opt": 18, "incompatible_with": 18, "incorpor": 31, "incorrect": 44, "increas": [25, 41, 44, 46], "increment": [21, 23], "independ": [4, 38], "index": [14, 17, 19, 23, 24, 26, 28, 30, 44], "index_of_test_account": 26, "indexerror": [17, 20, 24], "indic": [14, 17, 21, 24, 30, 36], "indiffer": 33, "individu": [23, 35, 45], "influenc": 40, "info": [0, 1, 2, 3, 4, 5, 6, 8, 10, 19, 21, 26, 29, 33, 36, 44], "inform": [17, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 36, 37, 40, 44, 46], "infura": [17, 22, 28, 31, 33, 37], "inherit": 23, "init": [9, 17, 31, 38], "init_coverage_profil": 17, "initi": [17, 19, 23, 29, 30, 31, 39, 43], "inject": [13, 22, 24], "injected_before_us": 24, "input": [17, 18, 19, 20, 23, 24, 25], "input_dict": 30, "ins": 7, "insensit": 24, "insid": [17, 24, 31], "inspect": [17, 19, 21, 44], "inspir": [20, 23], "instal": [17, 19, 20, 21, 25, 27, 28, 30, 31, 33, 34, 37, 43, 44], "instanc": [10, 13, 17, 19, 21, 23, 24, 26, 27, 28, 30, 40, 42, 43, 44, 46], "instance_at": 21, "instance_from_receipt": 21, "instance_map": 21, "instanti": [10, 17, 27], "instead": [6, 17, 21, 23, 24, 27, 28, 32, 33, 37], "instruct": 41, "insur": [17, 28], "int": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28], "intaddressconvert": 21, "integ": [17, 21, 23, 24], "integr": 37, "intend": [17, 33], "intent": [17, 21], "intention": 25, "interact": [7, 17, 19, 21, 25, 26, 29, 39, 41, 42, 44, 45, 46], "interchang": [14, 17, 33], "interest": 24, "interf": 41, "interfac": [17, 20, 21, 22, 27, 33, 37, 39, 43, 44], "interfacecompil": 22, "interfaces_fold": [17, 21], "intern": [23, 29, 44], "interoper": 41, "interv": 44, "introduc": 42, "intuit": 44, "invalid": [17, 21, 44], "invalidopt": 13, "invoc": [18, 44], "invok": [13, 17, 18, 19, 21, 26, 29, 30, 42, 44, 46], "invoke_transact": 19, "involv": [26, 32], "io": [17, 23, 41], "ipc": [14, 17, 37], "ipc_path": [14, 37], "ipool": 30, "ipython": [29, 46], "is_adhoc": 17, "is_arrai": 24, "is_compil": 21, "is_connect": [17, 26], "is_contract": 17, "is_convert": [17, 21], "is_dev": 17, "is_evm_precompil": 24, "is_exclud": 21, "is_fork": 17, "is_loc": 17, "is_mainnet": 17, "is_named_tupl": 24, "is_relative_to": 24, "is_stop": [14, 17], "is_struct": 24, "is_typ": 21, "is_valid": 17, "is_zero_hex": 24, "isinst": 44, "isnumer": 28, "isol": [21, 44], "isolate_data_fold": 21, "isolate_in_tempdir": 21, "issu": [20, 36, 41], "item": [17, 20, 21, 22, 23, 24, 29, 30, 32, 33, 43], "iter": [13, 14, 17, 19, 20, 21, 22, 23, 24], "iter_path": 17, "its": [14, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 36, 37, 38, 40, 44, 46], "itself": [13, 17, 18, 37, 38, 44], "java": 23, "join": [24, 41], "joinablequeu": [14, 17, 24], "json": [17, 18, 21, 22, 23, 24, 28, 30, 32, 38], "json_schema_input_typ": [17, 23], "jump": [23, 37], "junk": [24, 25, 28, 44], "just": [21, 23, 26, 30, 32, 34, 38], "keccak": 17, "keep": [28, 30, 33, 44], "kei": [0, 1, 6, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 33, 37, 44, 46], "keyerror": [17, 21], "keyfileaccount": [17, 22, 26], "keyword": [17, 29, 37], "kill": 17, "know": [17, 21, 23, 24, 26, 27, 30, 32, 33, 37, 44], "known": [17, 21, 24, 26, 27, 30], "kwarg": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 30, 32, 33, 37, 40, 44, 46], "l2": [17, 34], "lack": [28, 32], "lambda": 26, "languag": [17, 30, 35, 41], "larg": [17, 31, 37, 38], "larger": 27, "last": [19, 21, 23, 24, 30, 31, 44], "later": [17, 21, 44], "latest": [17, 19, 21, 23, 29, 32, 37, 41, 46], "latest_block": 21, "launch": [8, 29, 37, 46], "layer": 37, "lazi": 18, "lazili": [18, 24], "lazychoic": 18, "leak": 25, "learn": [25, 27, 28, 30, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46], "leav": [26, 44], "ledger": [17, 25, 33], "ledger_0": 33, "left": 44, "len": 21, "lendingrateoracl": 45, "length": [21, 25], "less": [17, 19, 21, 24, 36, 45], "lessen": 18, "let": [25, 27, 29, 30, 32, 37, 44], "level": [17, 18, 21, 24, 28, 30, 33, 36, 37, 38, 41, 44, 45], "librari": [24, 25, 30, 32, 33, 37], "licens": [17, 42], "like": [17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46], "likewis": 37, "limit": [17, 18, 23, 27, 28, 32, 37, 44, 45], "line": [0, 4, 5, 17, 18, 21, 23, 41, 42, 43, 44], "line_numb": 23, "line_r": 23, "linear": 23, "lineno": 23, "lines_cov": 23, "lines_valid": 23, "link": [17, 44], "linux": [41, 44], "list": [13, 14, 17, 18, 19, 20, 21, 23, 24, 26, 27, 28, 30, 31, 33, 35, 37, 44], "listen": 17, "liter": 23, "live": [14, 17, 19, 21, 30, 34, 46], "load": [0, 1, 18, 19, 21, 24, 25, 26, 29, 30, 31, 32, 33, 40, 42, 46], "load_config": 24, "load_ext": 29, "load_manifest": 21, "loader": 21, "loanshift": 45, "loanshifterreceiv": 45, "loanshiftertak": 45, "local": [0, 1, 2, 4, 10, 14, 17, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 41, 44, 46], "localhost": [14, 28, 33], "localproject": 21, "locat": [14, 17, 21, 23, 27, 28, 32, 33, 37, 38, 44], "lock": [27, 44], "log": [9, 17, 18, 19, 21, 23, 24, 41, 45], "log_filt": 17, "log_index": 23, "log_instead_of_fail": 24, "logfilt": [17, 23], "logger": [18, 26, 36], "logic": [17, 20, 21, 30, 33, 37], "loglevel": [18, 36], "london": 46, "long": [21, 33, 36, 45], "longer": 46, "look": [19, 21, 26, 27, 28, 29, 32, 33, 37, 38, 42, 44, 45], "lookup": [21, 23, 24, 44], "loop": [26, 33], "low": 45, "ltd": 41, "lvl": [0, 1, 2, 3, 4, 5, 6, 8, 29], "m": [0, 24, 44], "machin": [17, 20], "maco": [41, 44], "made": [17, 21, 28, 30, 31, 37], "mai": [17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 42, 44, 46], "mail": 25, "main": [7, 17, 22, 30, 34, 36, 37, 42], "mainnet": [4, 14, 17, 21, 22, 26, 28, 29, 31, 34, 37, 40, 43, 45, 46], "mainnet_fork": 28, "maintain": 37, "make": [14, 17, 21, 22, 24, 25, 26, 28, 29, 30, 37, 43, 44, 45, 46], "make_context": 18, "make_request": 17, "manag": [0, 4, 5, 6, 9, 10, 14, 17, 18, 19, 20, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 40, 42, 43, 44], "manager_access": 24, "manageraccessmixin": [13, 17, 19, 24], "mani": [13, 17, 18, 31, 35, 37], "manifest": [1, 17, 21, 32, 40], "manifest_path": 21, "manual": [1, 14, 29, 37, 44], "map": [1, 6, 17, 19, 20, 21, 22, 23, 24, 30, 32, 44], "mark": [23, 36, 44, 46], "marker": 44, "master": 41, "match": [17, 18, 19, 21, 23, 24, 37, 44], "materi": 25, "matic": 37, "matter": [26, 28, 37], "max": [17, 21, 23, 24, 28, 37, 44, 45], "max_fe": [17, 46], "max_fil": 24, "max_ga": 17, "max_priority_fe": [17, 46], "max_receipt_retri": 37, "maxim": [25, 35], "maximum": [17, 23, 28, 37], "maxsiz": 24, "me": [24, 26, 46], "me2": 26, "mean": [17, 19, 21, 25, 26, 28, 44, 45], "meant": [17, 21, 23, 32, 37, 41], "measur": 30, "median": [44, 45], "medium": 46, "member": 17, "memori": [21, 24], "mempool": [17, 30], "mention": [33, 37], "mere": [30, 33], "merg": 37, "messag": [10, 17, 18, 20, 23, 24, 29, 33, 36, 37, 44], "messagesignatur": [17, 23], "meta": [17, 21], "metadata": [17, 21], "metamask": [25, 26], "metamask0": 29, "metavar": 18, "meth": [17, 18], "method": [0, 7, 13, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 30, 31, 33, 37, 38, 39, 40, 42, 44, 45, 46], "method_abi": 24, "method_arg": 17, "method_cal": 17, "method_id": 30, "method_nam": [19, 44], "methodabi": [17, 20, 21, 24], "methodnonpayableerror": 20, "methodtocal": 46, "mid": [21, 44], "middl": 37, "might": [17, 29, 42], "millisecond": [14, 17, 21, 23, 24], "mimic": [10, 21], "min": [21, 44, 45], "mine": [14, 17, 21], "miner": [17, 46], "minifi": 27, "minim": 39, "minimum": [17, 21], "minor": 35, "mint": [44, 45], "minut": [17, 37, 46], "misc": 24, "miss": [17, 18, 21, 23, 24, 44], "miss_count": 23, "missingdeploymentbytecodeerror": 20, "mix": 7, "mixin": 24, "mnemon": [0, 21, 24, 25, 28, 44], "mock": [23, 27, 32, 44], "mockcontractlog": [19, 23], "mocktoken": 44, "mode": [17, 23, 44], "model": [17, 19, 21, 23, 24, 46], "model_copi": 24, "model_dump": [17, 23], "modelmodel_dump": [17, 23], "modifi": [13, 17, 18, 21, 23, 24, 29, 30, 37], "modul": [13, 23, 24, 29, 30, 36], "modular": 41, "moduletyp": 13, "monei": [30, 46], "moonbeam": 37, "more": [10, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46], "most": [17, 19, 21, 25, 26, 28, 36, 37, 41], "mostli": 17, "move": [21, 24], "moveloan": 45, "msg": [17, 18, 23, 30, 42], "msghash": 17, "much": [22, 27, 32, 44, 46], "multi": [17, 18, 24, 37], "multical": [9, 30], "multicall3": [13, 30], "multipl": [17, 18, 23, 24, 32, 41], "multipli": [17, 23, 28, 37], "must": [7, 13, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 31, 32, 33, 37, 40, 41, 44], "must_exist": 24, "mweiconvers": 22, "my": [25, 26, 29, 30, 31, 32, 33, 37, 38, 46], "my_access_list": 46, "my_account": [21, 26, 32], "my_bool": 28, "my_cmd": [33, 36], "my_command": 33, "my_contract": [19, 30, 39, 42, 44], "my_depend": 32, "my_enum": 17, "my_event_typ": 19, "my_funct": 24, "my_int": 28, "my_interfac": 27, "my_ledger_account": 33, "my_manag": 26, "my_method": [27, 30, 39, 44], "my_other_project": 38, "my_project_kei": 28, "my_provider_plugin": 33, "my_script": 33, "my_secret_rpc": 28, "my_sign": 13, "my_str": 28, "my_sub_cmd": 33, "my_trezor_account": 33, "my_valu": 28, "myaccount": 46, "myblockexplor": 22, "myclass": 24, "myconfig": 17, "mycontract": [19, 21, 27, 28, 30, 31, 38, 40, 42, 44, 46], "mycryptoapi": 14, "mycustomerror": 44, "mydepend": 32, "myecosystem": 17, "myenum": 17, "myerror": 44, "myevent": [17, 19], "myfunct": 25, "myinterfac": 27, "mymanag": 26, "mymethod": 13, "mymutablemethod": 46, "mynumb": 30, "myorg": 32, "mypluginconfig": 22, "myprovid": [22, 33], "myriad": 46, "mysecurep": 25, "mysmartcontract": 30, "mysourc": 26, "mystarknetcontract": 44, "mytoken": 21, "myviewmethod": 46, "n": 25, "name": [3, 5, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 43, 44, 46], "namedtupl": 23, "namespac": [17, 18, 19, 21, 22, 33, 43], "nativ": 17, "natspec": 19, "necessari": [7, 18, 21, 46], "necessarili": 46, "need": [14, 17, 18, 21, 23, 25, 26, 28, 29, 30, 32, 33, 37, 41, 43, 44, 46], "neg": [17, 21], "nest": 24, "network": [7, 9, 10, 14, 18, 19, 20, 29, 30, 31, 33, 35, 40, 41, 42, 45, 46], "network_choic": [17, 20, 21, 43], "network_data": 21, "network_filt": [4, 21], "network_id": 17, "network_manag": 43, "network_nam": [17, 21, 43], "network_opt": [18, 26, 43], "networkapi": [14, 17, 20, 21, 22], "networkchoic": 18, "networkerror": [17, 20, 21], "networkmanag": [10, 21, 29, 44], "networkmismatcherror": [17, 20], "networknotfounderror": [17, 20], "networkopt": 18, "networkplugin": 22, "never": [17, 19, 21, 23, 25, 30, 44], "new": [17, 19, 21, 23, 24, 26, 32, 35, 37, 41], "new_bal": 30, "new_block": 21, "new_block_timeout": [17, 19, 21], "new_log": [17, 19], "new_set": 17, "new_timestamp": 17, "newest": 5, "newhead": 17, "newli": [0, 25], "next": [5, 17, 21, 23, 37, 42], "next_stat": 23, "nft": 44, "nice": [17, 20, 21], "nm": 43, "node": [4, 9, 17, 19, 21, 23, 30, 35, 37, 44, 46], "node_modul": 32, "non": [17, 19, 20, 23, 24, 27, 29, 36, 37, 42], "non_existing_alias_argu": [18, 26], "nonc": [17, 19, 21], "none": [13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 33, 42, 44], "nonpay": [21, 30], "nonreentr": 44, "noop": 18, "noqa": [17, 21], "nor": 37, "noreturn": [17, 18], "normal": [18, 24, 35, 39], "not_own": [42, 44], "notat": 24, "note": [1, 13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 33, 36, 37, 38, 41, 44, 46], "noth": [17, 20], "notic": [27, 30, 32, 37, 38, 43, 44], "notimplementederror": [17, 20, 21], "notimplementerror": 17, "now": [17, 25, 28, 33, 34, 35, 37, 41, 44], "null": 17, "num": 30, "num_block": [17, 21], "num_transact": 17, "number": [0, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 31, 37, 44], "number_of_account": [24, 25, 28, 44], "numer": [23, 24, 28, 36, 37], "nx": 29, "o": [14, 25, 41], "obj": 24, "obj_typ": [18, 26], "object": [7, 13, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 30, 38, 43, 44, 45, 46], "obtain": [17, 30, 38, 44, 45], "occasion": 17, "occupi": 23, "occur": [17, 19, 20, 21, 24, 28, 36, 39, 42, 44], "off": 33, "offer": 45, "offici": 32, "often": [17, 19, 30, 32, 37], "okai": [29, 33], "omit": [26, 35, 37, 46], "onc": [13, 21, 30, 32, 33, 35, 37, 40, 44], "one": [13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 28, 29, 32, 33, 34, 37, 41, 44, 46], "ones": [28, 33], "onli": [6, 7, 17, 18, 19, 21, 23, 24, 26, 28, 30, 31, 32, 37, 43, 44, 46], "opcod": 17, "open": [2, 32, 41, 44], "openzeppelin": [17, 28, 32, 39], "openzeppelin_openzeppelin": 32, "openzepplin": 17, "oper": [7, 17, 20, 30, 36], "opinion": [17, 21], "optim": [17, 34, 37, 44, 46], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 43, 44, 46], "order": [17, 21, 23, 25, 26, 30, 37], "org": [3, 14, 17, 21, 32], "organ": [33, 35, 40, 41], "origin": [17, 23, 32, 41, 45], "oserror": 24, "ot": 17, "other": [10, 17, 18, 19, 21, 23, 24, 25, 26, 28, 29, 30, 32, 35, 37, 44, 46], "other_account": 46, "other_contract": [27, 44], "other_opt": 18, "other_project": 21, "othercontract": 44, "otherwis": [17, 19, 21, 22, 23, 28, 29, 32, 37, 46], "ots_": 19, "otterscan": 46, "otterscanqueryengin": 14, "our": [31, 33, 41, 43, 44], "out": [17, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 37, 38, 44, 45], "outgo": 21, "outofgaserror": 20, "outpuextra": 27, "output": [0, 17, 18, 19, 20, 23, 24, 29, 33, 36, 44, 45], "output_extra": 27, "output_format": 4, "output_format_choic": 18, "output_format_opt": 18, "output_typ": 17, "output_valu": 24, "outputformat": 18, "outputselect": 21, "outsid": [21, 28], "over": [17, 21, 23], "overal": 22, "overrid": [1, 4, 6, 14, 17, 18, 20, 21, 23, 24, 27, 37], "overridden": [14, 17, 20], "overridesf": 21, "overview": 9, "overwrit": [17, 21], "own": [21, 22, 28, 32, 36, 41, 44], "owner": [21, 27, 30, 31, 35, 42, 44], "oz": 39, "p": [24, 38], "packag": [6, 7, 17, 20, 21, 22, 24, 25, 27, 33, 38, 40, 41], "package_id": [17, 21, 32], "package_nam": [21, 24], "packagemanifest": [21, 22, 40], "packagemeta": [17, 21], "packagenam": 6, "packages_cach": 21, "packagescach": 21, "pai": [17, 42], "paid": [17, 31], "pair": [21, 24], "paragraph": 37, "parallel": [17, 24], "param": [17, 18, 26], "paramet": [13, 14, 17, 19, 20, 21, 22, 23, 24, 37, 44, 45], "paramtyp": 18, "parent": 24, "parent_hash": 17, "parenthash": 17, "pari": [27, 28, 32], "pariti": 45, "pars": [18, 21, 24, 26], "parse_arg": 18, "parse_network_choic": [17, 21, 37, 44], "parser": [18, 22], "part": [21, 23, 24, 26, 33, 37, 44, 46], "parti": [25, 35, 41], "partial": 17, "particular": [17, 21, 44], "particularli": 17, "pass": [2, 13, 14, 17, 18, 21, 23, 25, 26, 32, 33, 38, 44, 46], "passphras": 25, "password": 25, "past": [17, 21, 28], "path": [0, 1, 5, 10, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 30, 32, 37, 38, 44], "path_id": 21, "path_match": 24, "path_typ": 18, "pathlib": [17, 18, 21, 24, 26, 27], "pathtyp": [14, 17], "pattern": [13, 17, 21, 24, 32, 37], "payabl": [20, 30, 42], "pc": [17, 21, 23], "pd": [19, 21], "pend": [17, 19, 21, 23, 37, 44], "pending_timestamp": [21, 44], "peopl": 26, "per": [17, 21, 37], "perform": [13, 14, 17, 19, 21, 23, 24, 25, 30, 44], "perform_queri": [14, 17, 21], "perhap": 30, "perman": [21, 24, 31], "permit": 17, "persist": [17, 21], "person": [17, 25], "phase": 44, "phrase": [0, 24, 25], "pick": 18, "piec": 44, "pip": [32, 38], "place": [17, 28, 32, 37, 38, 43, 44], "placehold": 37, "plan": 31, "platform": 41, "pleas": [30, 46], "plu": 46, "pluggi": 22, "pluggy_patch": 22, "plugin": [0, 14, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 37, 42, 43, 44], "plugin_manag": 22, "plugin_nam": 17, "plugin_typ": 22, "pluginconfig": [17, 22], "plugininstallerror": 20, "pluginmanag": 22, "plugintyp": 22, "pluginversionerror": 20, "pm": [9, 32], "point": [17, 21, 23, 24, 26, 32, 33, 39, 41, 43, 44], "poll": [8, 17, 19, 21, 37, 44], "poll_block": [17, 21], "poll_log": [17, 19], "polygon": [37, 43], "pool": 30, "poolcontract": 44, "popen": [14, 17], "port": 17, "posit": [23, 44], "posixpath": [14, 17], "possibl": [20, 21, 22, 24, 25], "possibli": 30, "postgresengin": 22, "potenti": [32, 33, 36, 37], "power": 46, "practic": 23, "pragma": [24, 42], "pragma_str": 24, "pragma_str_to_specifier_set": 24, "pre": [17, 19, 24, 25, 27, 29], "preced": [17, 28], "predict": 46, "prefer": 28, "prefix": [19, 20, 21, 26, 27, 28, 29, 30, 32, 35], "prefund": 25, "premis": 25, "prepar": 17, "prepare_transact": 17, "present": [17, 21, 23, 32], "preserv": 18, "press": 44, "pretti": 45, "prevent": 33, "previou": [17, 21], "previous": [17, 21, 30, 32, 33, 44], "prevnumb": 30, "price": [17, 21, 44], "primarili": 33, "primit": 17, "print": [17, 19, 20, 21, 25, 26, 30, 32, 34, 37, 42, 43, 45, 46], "print_choic": 18, "prior": [17, 21, 33], "priorit": 46, "prioriti": 46, "priority_fe": [17, 46], "privat": [0, 17, 25], "private_kei": [24, 25], "probabl": 24, "problem": 20, "process": [14, 17, 22, 30, 33], "process_nam": [14, 17], "process_wait_timeout": [14, 17], "produc": [13, 17, 23], "product": [37, 41], "profil": [17, 23, 44], "profile_stat": 23, "program": [2, 17, 21, 23, 29, 42], "programmat": 25, "progress": [23, 24], "progress_bar_descript": 24, "project": [1, 2, 3, 5, 7, 8, 9, 10, 18, 19, 20, 23, 24, 26, 27, 28, 29, 32, 35, 37, 40, 41, 42, 43, 46], "project_api": 21, "project_nam": 3, "project_path": 21, "projectapi": [17, 21, 22], "projecterror": [20, 21], "projectmanag": [10, 17, 19, 20, 21, 24, 29, 38, 44], "projectmanifest": 21, "projectplugin": 22, "prompt": [6, 18, 25, 26, 32], "prompt_messag": 18, "promptchoic": 18, "proper": 37, "properli": [17, 21, 33, 45], "properti": [14, 17, 19, 20, 21, 23, 24, 25, 26, 30, 33, 37, 44, 46], "provid": [4, 6, 10, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 42, 43, 45, 46], "provider_cl": 21, "provider_filt": [4, 17, 21], "provider_nam": [17, 21, 34, 37, 43], "provider_set": [14, 17, 21], "providerapi": [14, 17, 21, 22, 24, 33, 35, 46], "providercontextmanag": [17, 21, 37, 43], "providererror": 20, "providernotconnectederror": [20, 21, 24], "providernotfounderror": 20, "providerpai": 17, "providerplugin": [22, 33], "proxi": [9, 17, 21], "proxy_info": 21, "proxyinfo": 21, "proxyinfoapi": [17, 21], "public": [21, 30, 42, 44], "publish": [9, 17, 19, 21, 32, 44], "publish_contract": [17, 40], "pull": 41, "puppynet": 37, "pure": 30, "purpos": [14, 17, 21, 23, 25, 28, 31, 36, 46], "push0": 39, "put": [21, 25, 28, 32, 36], "pwd": 41, "py": [14, 20, 23, 24, 28, 29, 33, 38, 42, 43, 44], "pydant": [17, 23, 24, 28], "pydantic_cor": [17, 23], "pydanticserializationerror": [17, 23], "pydanticundefin": [17, 23], "pypi": 21, "pyproject": [17, 28], "pytest": [8, 10, 13, 25, 29], "pytest_arg": 8, "python": [17, 19, 21, 23, 27, 28, 29, 30, 32, 33, 37, 40, 41, 42, 43, 44, 45, 46], "python3": 41, "qualiti": 33, "quantiti": 44, "queri": [9, 14, 19, 20, 23, 29], "query_engin": 22, "queryapi": [17, 21, 22], "queryengineerror": [20, 21], "querymanag": [21, 29], "queryplugin": 22, "querytyp": [14, 17, 21], "queue": 24, "quick": 43, "quicker": 17, "quit": [14, 17, 19], "r": [23, 27, 44], "race": 33, "rais": [10, 13, 14, 17, 20, 21, 23, 24, 30, 37, 42, 44], "raise_for_statu": 17, "raise_on_revert": 42, "raises_not_impl": 24, "ran": [17, 20, 38, 44], "ran_out_of_ga": 17, "random": [0, 25], "rang": [17, 19, 21], "rare": 26, "rate": [23, 37], "rate_limit": 37, "rather": [17, 21, 24, 28, 32, 44], "raw": [17, 18, 21, 23, 25, 27, 32, 37], "raw_address": 17, "raw_data": 17, "rawaddress": [17, 23], "re": [6, 8, 17, 21, 29, 32, 44], "read": [17, 21, 26, 28, 30, 37, 38, 41], "readabl": [29, 44], "readi": [14, 17, 21, 23], "readm": 37, "real": [25, 46], "reason": [20, 37, 42, 44], "recal": 37, "receipt": [17, 19, 21, 30, 37, 42, 44, 45, 46], "receiptapi": [13, 14, 17, 19, 20, 21, 30, 31, 45], "receiv": [17, 21, 25, 30, 44], "receiveabi": 21, "recent": 21, "recogn": 17, "recommend": [17, 21, 25, 26, 32, 37, 41, 43], "recompil": [1, 32], "reconfigur": 21, "reconnect": 17, "record": [17, 21], "recov": 25, "recover_sign": [23, 25], "recover_using_eip191": 17, "recovered_sign": 25, "recoveri": [17, 25], "recurs": 24, "red": [17, 20, 36], "reduc": [25, 37], "reentri": 44, "ref": [6, 32], "refer": [6, 17, 19, 21, 23, 28, 30, 32, 33, 37, 38, 42], "referenc": [21, 32], "referring_source_id": 21, "reflect": 29, "refresh": 21, "refresh_sourc": 21, "regard": 17, "regardless": [17, 21, 29, 37, 46], "regex": [24, 27], "regist": [4, 17, 21, 22, 24, 43], "register_compil": 22, "registered_compil": 21, "registr": [22, 33], "registri": [30, 33], "regress": [17, 21], "regular": [24, 44], "reinstal": 21, "reject": 37, "rel": [17, 21, 24], "relat": [17, 20, 21, 22, 23], "relative_to": 24, "releas": [31, 32, 35, 41], "relev": [20, 23, 24], "reli": [17, 21, 44], "reload": 21, "reload_config": 21, "relock": 17, "relock_account": 17, "remaind": 37, "remap": 21, "rememb": [25, 30], "remot": 37, "remov": [6, 17, 21, 24, 32, 44], "reopen": 29, "reorg": [17, 19, 21], "reorgan": [17, 21], "repeat": 30, "repetit": 25, "replac": [17, 24, 37], "repo": 3, "report": [17, 23, 37], "repositori": 17, "repr": [17, 19, 21], "repres": [14, 17, 18, 21, 22, 23, 24, 37, 44, 46], "represent": [17, 23, 29], "request": [14, 17, 21, 22, 32, 36], "request_head": [14, 17, 21, 28, 37], "requir": [0, 5, 17, 18, 19, 20, 21, 22, 26, 28, 30, 32, 35, 37, 41, 42, 44, 46], "required_confirm": [17, 19, 21], "resembl": 21, "reset": [17, 21], "reset_": 44, "resolut": [17, 20], "resolv": [22, 24, 32, 39], "resourc": 18, "respect": [17, 19, 21, 28], "respons": [17, 21, 22, 24, 37], "rest": [25, 33], "restor": [14, 17, 21], "result": [1, 4, 10, 17, 18, 19, 21, 24, 28, 29, 30, 42], "retri": [32, 37], "retriev": [14, 17, 21, 24, 30, 39], "return": [13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 37, 39, 42, 44, 46], "return_data": 13, "return_none_when_disconnect": 24, "return_valu": [17, 30], "returns_arrai": 24, "reusabl": 18, "rev": 44, "revert": [9, 10, 17, 20, 21, 23, 24, 30, 37], "revert_messag": 20, "revert_to_block": 21, "revert_typ": 23, "review": 30, "rich": 18, "right": [18, 44], "rinkebi": 30, "risk": 41, "rockx": 14, "root": [17, 21, 23, 24, 25, 26, 28, 29, 30, 32, 35, 38, 44], "root_path": 21, "rootmodelroottyp": 23, "ropsten": 22, "round_trip": [17, 23], "rout": 31, "rpc": [14, 17, 28, 30, 45, 46], "rpcheader": [21, 24], "rpctimeouterror": 20, "run": [8, 9, 17, 21, 23, 24, 26, 28, 29, 30, 31, 32, 35, 36, 38, 41, 43, 44, 45, 46], "run_in_tempdir": 24, "run_until_complet": 24, "runtim": [17, 18, 21], "safe": 39, "sai": [25, 30, 32, 37], "same": [17, 19, 21, 23, 24, 25, 28, 30, 32, 33, 37, 38, 44, 46], "sampl": [38, 44], "sanit": 24, "save": [1, 17, 21, 25, 30, 32, 42, 43], "saw": 37, "scan": 37, "scenario": [17, 19, 44], "schema": [17, 23], "scope": [13, 44], "script": [0, 7, 9, 18, 21, 25, 26, 29, 36, 37, 38, 41, 42, 44, 46], "scriptabl": 25, "sdk": 37, "search": [17, 19, 24], "search_top": [17, 19, 23], "second": [8, 17, 19, 20, 21, 30, 37, 44, 46], "secret": [25, 28], "secret_rpc": 28, "section": [21, 24, 26, 28, 30, 32, 37, 41, 43, 44, 45], "secur": 25, "securepassphras": 25, "see": [4, 10, 14, 17, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "seed": [0, 24, 25], "segment": 23, "select": [1, 14, 18, 19, 21, 25, 26, 29, 43], "select_account": [18, 26], "selected_account": 26, "selector": [17, 19, 23, 30, 44], "selector_identifi": [19, 30], "selector_str": 30, "self": [17, 19, 21, 24, 26, 30, 33, 42, 44], "semi": 26, "send": [13, 14, 17, 20, 30, 37, 44, 46], "send_cal": 17, "send_everyth": 17, "send_private_transact": 17, "send_transact": [14, 17], "sender": [13, 17, 19, 21, 27, 30, 39, 40, 42, 44, 46], "sens": 37, "sent": [31, 37], "separ": [23, 25, 30, 33, 44], "sepolia": [4, 14, 26, 28, 37, 43, 46], "sequenc": [13, 17, 18, 21, 23, 24], "serial": [17, 23, 24], "serializ": [17, 23], "serialize_as_ani": [17, 23], "serialize_transact": 17, "serv": 28, "server": [27, 41], "session": [7, 13, 14, 17, 21, 29, 37, 41], "set": [14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 38, 44, 46], "set_ape_traceback": 20, "set_autosign": 25, "set_bal": 17, "set_cod": 17, "set_default_ecosystem": 21, "set_default_network": 17, "set_default_provid": 17, "set_level": 36, "set_numb": 30, "set_own": 44, "set_storag": 17, "set_timestamp": [14, 17], "setnumb": [42, 44], "setup": [33, 44], "sever": [22, 26, 37], "shall": 14, "share": [21, 23, 24, 37, 44], "shareabl": 17, "shell": 46, "shibachain": 22, "shibanetwork": 22, "shibarium": 37, "shibrpc": 37, "ship": [25, 26, 27, 29, 35, 37], "short": [21, 36, 37, 39, 44], "short_help": 33, "shorten": [17, 21], "shorter": 44, "should": [7, 14, 17, 20, 21, 23, 24, 25, 27, 32, 33, 44, 45], "shouldn": [23, 24, 28], "show": [1, 17, 20, 24, 25, 26, 29, 30, 35, 36, 37, 42, 44, 45], "show_debug_log": 17, "show_ev": 17, "show_gas_report": [17, 45], "show_source_traceback": 17, "show_trac": [17, 45], "showcas": 26, "shown": 36, "shownet": 43, "shutil": 14, "sig": [23, 45], "sign": [17, 20, 23], "sign_messag": [17, 25], "sign_raw_msghash": 17, "sign_transact": 17, "signabl": 23, "signablemessag": [17, 23], "signatur": [17, 19, 21, 30], "signatureerror": [17, 20], "signer": [17, 23, 25, 26, 30], "signer_opt": 17, "silverback": 37, "similar": [19, 26, 29, 33, 37, 42, 44], "similarli": [21, 25, 26, 27, 30, 33, 37, 44, 45], "simpl": [17, 18, 28, 30, 46], "simplest": 46, "simpli": [28, 30, 42], "simul": [30, 37], "sinc": [17, 23, 30], "singl": [21, 24, 26, 30, 32, 43], "singledispatchmethod": 24, "singleton": [21, 22], "site": [21, 24, 32, 33, 41], "situat": [18, 23], "size": [1, 17, 21], "skip": [18, 25, 32], "skip_confirmation_opt": 18, "slice": 21, "slightli": 23, "slim": 41, "slot": 17, "slow": 24, "small": 37, "smaller": 17, "smallest": 17, "smart": [17, 19, 20, 23, 30, 32, 38, 40, 41, 42, 44, 46], "smart_contract_exampl": 38, "snapshot": [14, 17, 20, 21, 23, 24], "snapshot_id": [14, 17, 20, 21], "snapshotid": [14, 17, 20, 21, 23, 24], "snekmat": [28, 32, 38], "so": [13, 17, 21, 23, 24, 25, 26, 30, 32, 33, 34, 35, 37, 39, 41, 44], "softwar": 44, "sol": [21, 24, 27, 28, 32, 38], "soladypush0": 39, "solcx": 41, "sole": 25, "solid": [17, 21, 22, 27, 28, 30, 33, 35, 42, 44], "some": [17, 23, 25, 28, 30, 32, 34, 35, 37, 44, 45, 46], "someth": [20, 21, 29, 37, 44], "sometim": [27, 32, 37, 42, 44], "somewher": [21, 32], "soon": [22, 32], "sophist": 28, "sourc": [17, 18, 20, 21, 23, 26, 28, 29, 30, 31, 32, 33, 35, 38, 39, 40, 41, 44], "source_coverag": 17, "source_fold": 23, "source_id": [17, 19, 21, 23], "source_path": [19, 23], "source_stat": 23, "source_traceback": [17, 20], "sourcecoverag": 17, "sourceloc": 23, "sourcemanag": 21, "sourcestat": 23, "sourcetraceback": [17, 20, 23], "space": 23, "spawn": 24, "spdx": [17, 42], "special": [17, 22, 25, 32], "specif": [6, 17, 20, 21, 26, 35, 37, 41, 44, 46], "specifi": [0, 14, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 35, 37, 43, 44, 46], "specifierset": 24, "sqlite": 31, "sqrt": 44, "src": [27, 28, 32, 45], "ssphrase": 25, "stack": [18, 20], "stacktrac": 42, "stage": 31, "stai": 41, "standard": [18, 31, 36, 39], "stark_account": 44, "stark_contract": 44, "starknet": [17, 21, 35, 37, 44], "start": [4, 14, 17, 19, 21, 23, 24, 26, 29, 33, 34, 37, 40, 41, 43, 44], "start_block": [17, 19, 21, 23, 31], "start_index": 24, "start_nonc": [17, 21], "start_or_stop": [19, 21], "start_provid": 37, "startauct": 46, "startswith": 26, "state": [17, 19, 21, 25, 30, 42], "statement": [20, 23, 32, 42, 44], "statemut": [21, 30], "static": [18, 37], "statu": 17, "stderr": 4, "stderr_queu": [14, 17], "stdout": [4, 17], "stdout_queu": [14, 17], "step": [17, 19, 21, 40, 45, 46], "stick": 43, "still": [32, 39, 44, 45, 46], "stmt": 44, "stop": [17, 19, 21, 26, 44], "stop_block": [17, 19, 21, 23, 31], "stop_imperson": 21, "stop_nonc": [17, 21], "storag": [17, 30], "store": [13, 17, 21, 25, 30, 31, 32, 38], "str": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 33, 37], "strai": 37, "stream": [4, 17, 24], "stream_request": 17, "stream_respons": 24, "strict": 37, "string": [2, 17, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 37, 42, 44], "stringdecimalconvert": 21, "stringifi": [17, 19, 30], "stringintconvert": 21, "struct": 24, "struct_log": 45, "structabi": 21, "structpars": 24, "structur": [23, 24, 25, 28, 38, 43], "stuff": [31, 36, 37], "style": [17, 24, 27], "sub": [17, 18, 21, 30, 32, 42], "subclass": [14, 17, 18, 21, 22, 24, 30, 42], "subcommand": 33, "subdirectori": 43, "subject": 21, "submit": [17, 30], "submodul": 43, "subprocess": [4, 14, 17, 20], "subprocesserror": 20, "subprocessprovid": [17, 20], "subprocesstimeouterror": 20, "subsequ": [25, 32], "subset": [18, 23], "substr": 24, "subsystem": 41, "success": [0, 1, 2, 3, 4, 5, 6, 8, 17, 29, 36, 41], "successfulli": [17, 30, 37, 40], "suffix": [24, 37], "suit": [8, 35, 44], "suitabl": [17, 32], "sum": 31, "super": [23, 45], "suppli": 44, "support": [13, 17, 21, 24, 27, 28, 31, 35, 37, 39, 41, 42, 45, 46], "supported_chain": 13, "supports_chain": 17, "supports_source_trac": 17, "supports_trac": 17, "suppos": 43, "sure": [21, 23, 25, 37, 44], "sustain": 44, "switch": [17, 37, 43, 44], "sy": [24, 32], "symbol": [17, 29, 37], "syntax": 44, "synthes": [17, 19, 21], "system": [17, 21, 24, 25, 30, 31, 32, 33, 37, 38], "t": [5, 17, 21, 23, 24, 28, 30, 32, 33, 37, 41, 44, 45, 46], "tabl": [31, 44, 45], "tag": [6, 23, 32], "take": [17, 18, 24, 26, 28, 30, 37, 43, 44], "taken": 17, "talk": 37, "tar": 24, "target": [17, 21, 22, 24, 39], "task": [17, 24, 44], "task_don": 24, "team": 33, "tear": [14, 17], "technic": 41, "tell": 37, "tempfil": 24, "templat": [3, 33], "temporari": [17, 21, 24, 37], "temporarili": [17, 34], "temporarydirectori": 24, "tend": 37, "termin": [0, 17, 18, 19, 20, 21, 38, 41, 44], "test": [4, 9, 13, 14, 17, 21, 23, 26, 27, 29, 30, 32, 33, 37, 38, 41, 42, 45], "test_": 44, "test_account": [21, 24, 25, 27, 44], "test_account_bal": 44, "test_add": 44, "test_author": 44, "test_error_on_deploi": 44, "test_in_futur": 44, "test_mint": 44, "test_multi_chain": 44, "test_my_contract": [21, 44], "test_my_contract_method": 25, "test_my_ethereum_test": 44, "test_my_fantom_test": 44, "test_my_method": 44, "test_my_multichain_test": 44, "test_sampl": 38, "test_starknet_th": 44, "test_unauthor": 44, "test_unauthorized_withdraw": 44, "testaccountapi": [14, 17, 25], "testaccountcontain": 21, "testaccountcontainerapi": 17, "testaccountmanag": [21, 44], "testcontract": 44, "tester": [37, 44], "testnet": [37, 43], "testproviderapi": [14, 17], "text": [18, 20, 25], "than": [17, 19, 21, 23, 24, 26, 28, 32, 37, 44, 46], "thei": [17, 21, 22, 24, 29, 30, 32, 33, 36, 37, 43], "them": [17, 21, 22, 23, 25, 27, 28, 29, 30, 32, 33, 37, 43, 44], "themselv": 46, "therefor": 43, "thi": [1, 6, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "thing": [19, 26, 33, 37, 43], "think": [23, 26], "third": [25, 35], "those": [6, 21, 23, 26, 30, 32, 33, 37, 42, 44], "though": 37, "thread": [17, 21, 24], "three": [32, 41, 44], "through": [13, 17, 19, 24, 26, 31, 33, 40], "throughout": 36, "throw": [17, 21, 24], "thu": [23, 26, 30, 37, 43, 44], "ti": 33, "time": [1, 13, 14, 17, 19, 21, 23, 25, 26, 28, 30, 32, 44, 45, 46], "timedelta": 21, "timeout": [14, 17, 20, 24], "timestamp": [17, 21, 23, 24, 29, 44], "timestampconvert": 21, "timezon": 21, "tip": 17, "tmp": 21, "to_int": 24, "to_python": [17, 23], "to_typ": [10, 21], "todo": 24, "togeth": [25, 33], "token": [17, 32, 35, 37, 44, 45, 46], "tokenlist": 33, "tokenswapp": 21, "toml": [17, 28], "too": 21, "took": [45, 46], "tool": [6, 28, 30, 32, 41, 45, 46], "top": [17, 21, 30, 33, 37, 44, 45], "topic": [17, 19, 23, 30], "topic_filt": 23, "total": [17, 19, 21, 23], "total_fees_paid": [17, 31], "total_funct": 23, "total_transfer_valu": 17, "touch": 17, "trace": [9, 14, 17, 20, 21, 30, 42, 44], "trace_sourc": [17, 21], "trace_transact": 45, "traceabl": 21, "traceapi": [17, 20], "traceapproach": 14, "traceback": [17, 23], "tracestyl": 24, "track": [17, 21, 23, 30, 44], "track_coverag": 17, "track_ga": 17, "transact": [9, 13, 14, 19, 20, 21, 23, 24, 25, 28, 42, 45], "transaction_acceptance_timeout": [17, 37, 46], "transaction_hash": [17, 20, 21, 23], "transaction_index": 23, "transactionapi": [13, 14, 17, 19, 20, 21], "transactionerror": [17, 20, 30], "transactionhistori": 21, "transactionnotfounderror": 20, "transactionsignatur": [17, 23], "transactionstatusenum": 17, "transfer": [17, 30, 42], "translat": [17, 21], "treat": [21, 30, 38], "tree": [4, 17, 18, 23, 24, 45], "trezor": [25, 33], "trezor_0": 33, "tri": 17, "trigger": [1, 13, 44], "triplet": 37, "true": [13, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 30, 32, 37, 40, 42, 44, 45], "trust": [24, 35, 37], "try": [20, 21, 24, 32, 33, 42, 43, 44], "try_snapshot": 24, "tsconfig": 27, "tupl": [14, 17, 19, 21, 22, 23, 24], "tutori": [41, 46], "twice": 25, "two": [17, 21, 25, 28, 33, 37, 44, 46], "tx": [17, 30, 31, 45, 46], "tx_error": 24, "txn": [13, 14, 17, 20, 31, 37], "txn_cost": 46, "txn_hash": [17, 19, 21, 45], "txn_kwarg": 13, "txn_receipt": 21, "type": [9, 10, 13, 14, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 33, 38, 39, 40, 44, 46], "type_": 21, "typeerror": [21, 24], "typic": [17, 21, 23, 25, 27, 33, 37, 42, 44], "u": 5, "uint256": [25, 30, 44, 46], "unabl": [14, 17, 20, 21, 27], "unauth_address": [42, 44], "unauthor": [42, 44], "unblock": 24, "uncommon": 37, "under": [17, 21, 24, 25, 27, 32, 43], "underscor": [29, 43], "understand": [17, 41, 44], "undo": 44, "unfinish": 24, "unfund": 25, "uninstal": 21, "union": [17, 18, 19, 20, 21, 24], "uniqu": [17, 21, 23, 30, 37, 46], "uniswap": 32, "unit": 17, "unit256": 30, "unix": [23, 24], "unknown": [17, 20, 21, 37], "unknownsnapshoterror": [20, 21], "unknownversionerror": 20, "unless": [14, 17, 18, 19, 21, 36, 37], "unlik": 24, "unlock": [0, 17, 25], "unlock_account": 17, "unnam": 24, "unnecessari": 17, "unpack": [17, 21], "unprocessedabi": 21, "unspecifi": 17, "unsupportedchain": 13, "unsupportedchainerror": 13, "unsur": 37, "until": [23, 24, 37], "unwil": 27, "unwind": 42, "up": [14, 17, 21, 23, 24, 26, 28, 29, 34, 37, 41, 44, 46], "updat": [17, 24, 35, 44], "update_cach": 17, "update_manifest": 21, "update_set": 17, "upgrad": [5, 35, 39, 41], "upon": [21, 30, 32, 40], "upstream": [17, 34], "upstream_chain_id": 17, "upstream_network": 17, "upstream_provid": 17, "upstreamprovid": 17, "urandom": 25, "uri": [14, 17, 21, 28, 37], "uri_map": 21, "url": [17, 21, 28], "us": [0, 6, 8, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "usag": [10, 13, 17, 18, 19, 21, 22, 23, 24, 25, 28, 29, 32, 33, 44, 45], "usdc": 30, "use_arrow": 23, "use_cach": 21, "use_default_provid": [17, 37], "use_depend": 27, "use_multical": 13, "use_network": 44, "use_provid": [17, 21, 34, 37, 43, 44], "use_send": 25, "use_temp_sys_path": 24, "use_upstream_provid": 17, "user": [3, 14, 17, 18, 20, 21, 22, 23, 24, 26, 28, 30, 32, 36, 37, 41, 42, 44], "userguid": 46, "usethisonallrequeststoethereummainnet": 37, "usethisonallrequestsusingnodeprovid": 37, "usethisoneveryethereumrequest": 37, "usethisoneveryrequest": 37, "utc": 21, "util": [9, 10, 17, 18, 21, 25, 26, 29, 33, 43, 46], "uup": 39, "v": [0, 1, 2, 3, 4, 5, 6, 8, 18, 21, 23, 29, 32, 36], "v1": 32, "v2": 30, "v3": 32, "val": [1, 6], "valid": [17, 22, 23, 24, 25, 28, 37], "validate_fil": 17, "validate_s": 17, "valu": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 30, 31, 32, 35, 36, 37, 44, 46], "valueerror": [20, 21, 23], "variabl": [24, 25, 28, 29, 42, 44], "variou": [17, 21, 35, 39, 46], "venv": 41, "verbos": [0, 1, 2, 3, 4, 5, 6, 8, 17, 18, 23, 29, 36, 44], "verbosity_opt": 18, "veri": [17, 24, 37], "verif": [17, 19], "verifi": [17, 41], "verify_chain_id": 17, "vers_set": 21, "versa": [26, 30], "version": [6, 14, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 37, 41, 44], "version_id": 17, "versu": [17, 23, 28], "via": [13, 17, 18, 19, 20, 21, 22, 24, 25, 28, 30, 32, 33, 37, 41, 43, 44], "vice": 30, "view": [18, 19, 30, 45], "view_cost": 46, "view_method": 44, "virtual": [17, 20, 41], "virtualenv": 41, "virtualmachineerror": [17, 20], "visa": 26, "visit": 46, "vitalik": [17, 21, 44], "volum": 41, "vr": 23, "vvm": 41, "vy": [26, 27, 28, 38, 42, 44], "vyper": [17, 21, 22, 23, 27, 30, 32, 35, 39, 42, 44, 46], "vypercontract": 42, "w": [8, 14, 17, 37], "wa": [17, 20, 21, 23, 24, 27, 30, 37, 41, 46], "wai": [18, 21, 25, 28, 29, 30, 32, 35, 37, 38, 39, 41, 42, 44, 46], "wait": [14, 17, 19, 21, 37], "walk": 40, "wallet": 24, "want": [13, 18, 25, 27, 28, 30, 31, 32, 33, 34, 36, 37, 40, 41, 44, 45, 46], "warn": [0, 1, 2, 3, 4, 5, 6, 8, 17, 23, 24, 29, 32, 36, 41], "watch": [8, 44], "watch_delai": 8, "watch_fold": 8, "wdamount": 30, "we": [13, 17, 21, 23, 24, 25, 26, 30, 31, 32, 33, 35, 37, 41, 43, 44, 45, 46], "web": 27, "web3": [14, 28, 29, 33, 41], "websocket": 37, "wei": [17, 30], "well": [18, 21, 22, 23, 24, 30, 33, 35, 37, 46], "went": 17, "were": [17, 21, 23, 28, 30, 32, 37, 44], "what": [17, 21, 22, 25, 26, 29, 32, 33, 37, 43, 44], "whatev": [17, 26, 28, 37], "when": [0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39, 42, 43, 44, 45, 46], "whenev": [14, 20, 24], "where": [13, 14, 17, 18, 19, 21, 23, 24, 25, 26, 31, 32, 34, 37, 39, 42, 44, 46], "wherea": 37, "whether": [13, 14, 17, 18, 19, 21, 23, 24, 25, 30, 32, 37], "which": [14, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 30, 31, 33, 37, 40, 41, 44, 46], "while": [17, 20, 21, 32, 44], "whilst": 20, "white": 23, "whitespac": 23, "whole": 28, "why": [26, 30, 37, 46], "window": 41, "wish": [17, 21, 25, 34, 36, 37, 38, 40, 42], "withdraw": [30, 42, 44], "within": [14, 17, 20, 24, 31, 33, 35, 43, 44], "without": [17, 24, 25, 29, 30, 35, 37, 41, 42, 43, 44, 45, 46], "won": [23, 37, 44], "word": [0, 24, 25], "word_count": 0, "wordcount": 25, "work": [17, 19, 21, 22, 24, 28, 30, 31, 32, 33, 35, 37, 38, 43, 44], "workflow": 43, "world": 43, "would": [17, 21, 25, 26, 28, 31, 32, 37, 41, 43, 44, 46], "wrap": [21, 24], "wrapper": [17, 19, 20, 21, 27], "write": [17, 25, 43, 44], "write_to_disk": 17, "written": 21, "wrong": [17, 20], "ws_begin_lineno": 23, "ws_start": 23, "ws_uri": [17, 37], "wsl": 41, "wss": [17, 37], "www": 37, "x": [21, 29, 44], "xml": [23, 44], "y": [5, 6, 21, 32], "yaml": [3, 4, 17, 18, 21, 22, 24, 25, 27, 28, 29, 32, 35, 37, 38, 44, 46], "ychad": 30, "ye": [5, 6, 18, 32], "yellow": 36, "yet": [18, 26, 33, 35, 43, 44], "yield": [17, 19, 21, 22, 33, 44], "yml": [17, 28], "you": [0, 1, 6, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "your": [14, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "yourself": 43, "z": 13, "zeppelin": 32, "zero": [23, 24, 44], "zero_address": 45, "zeroag": 39, "zip": 24, "zkevm": 37}, "titles": ["accounts", "compile", "console", "init", "networks", "plugins", "pm", "run", "test", "<no title>", "ape", "ape-accounts", "ape-compile", "ape-ethereum", "ape-node", "ape-pm", "ape-test", "ape.api", "ape.cli", "ape.contracts", "ape.exceptions", "ape.managers", "ape.plugins", "ape.types", "ape.utils", "Accounts", "CLIs", "Compile", "Configure Ape", "Console", "Contracts", "Querying Data", "Dependencies", "Developing Plugins", "Forking Networks", "Plugins", "Logging", "Networks", "Developing Projects with Ape", "Proxy Contracts", "Publishing", "Overview", "Reverts", "Scripting", "Testing", "Traces", "Transactions"], "titleterms": {"712": 25, "By": 37, "The": [27, 38], "abi": [24, 30], "accept": 46, "access": 46, "account": [0, 11, 17, 21, 22, 25, 26, 31, 44], "address": [17, 23, 30], "advanc": 44, "ani": 30, "ap": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 38, 44, 46], "ape_cli_context": 33, "api": [17, 33], "argument": 18, "autom": 25, "bal": 29, "base": [22, 28], "basemodel": 24, "basic": 23, "block": [31, 37], "built": 42, "cach": 31, "call": [30, 45], "caveat": 44, "chain": [21, 44], "chang": [0, 5], "choic": 18, "class": 33, "cli": [9, 18, 26, 32, 33, 36, 37, 43], "code": [27, 29], "command": [18, 29, 44], "compil": [1, 6, 12, 17, 21, 22, 27, 32, 40], "config": [17, 21, 22, 32, 37], "configur": [28, 29, 34, 37], "connect": 37, "consider": 41, "consol": [2, 29, 46], "context": [26, 34, 37], "contract": [19, 26, 28, 30, 31, 32, 39, 44], "convert": [17, 21, 22], "core": [9, 35], "cost": 46, "coverag": [23, 44], "creat": 25, "custom": [32, 37, 42, 44], "data": 31, "decod": 30, "decor": 26, "default": [25, 28, 30, 34], "delet": 0, "depend": [27, 28, 32, 38], "deploi": 30, "deploy": [28, 30, 40, 46], "dev": 42, "dev_messag": 44, "develop": [33, 38], "direct": 30, "docker": 41, "document": 41, "dynam": 46, "ecosystem": 28, "eip": 25, "encod": 30, "error": [42, 44], "estim": 46, "ethereum": 13, "event": [23, 31], "evmchain": 37, "except": 20, "exclud": 27, "exclus": 32, "execut": 29, "exist": 25, "expected_messag": 44, "explor": [17, 37, 40], "export": [0, 25], "extra": [27, 29], "fallback": 30, "fee": 46, "file": [26, 27, 32], "fixtur": 44, "folder": [28, 32], "fork": [34, 37], "from": [30, 33, 46], "function": [29, 44], "ga": [23, 44, 45, 46], "gener": [0, 25], "get": 31, "github": 32, "global": 29, "guid": 9, "hardwar": 25, "header": [28, 37], "implement": 33, "import": [0, 25, 32, 33], "init": [3, 29], "initi": 33, "inlin": 44, "input": 30, "instal": [5, 6, 32, 35, 38, 41], "interact": [30, 37], "interfac": 30, "introspect": 30, "iter": 44, "json": 27, "keyfil": 25, "l2": 37, "languag": 44, "list": [0, 4, 5, 6, 32, 46], "live": [25, 37], "local": [32, 37, 38], "log": [33, 36, 46], "logger": 33, "magic": 29, "main": 43, "manag": [21, 32, 37], "manifest": 38, "messag": [25, 42], "metadata": 46, "method": 43, "mine": 44, "misc": 32, "miscellan": 24, "modul": 33, "more": 37, "multi": [30, 43, 44], "multical": 13, "namespac": 29, "network": [4, 17, 21, 22, 25, 26, 28, 34, 37, 43, 44], "new": 25, "node": [14, 28], "non": [28, 44], "npm": 32, "o": 24, "option": 18, "other": [27, 38], "output": 27, "outsid": 25, "overrid": 32, "overview": 41, "packag": 32, "paramet": 18, "password": 0, "path": [26, 28], "pattern": 44, "payabl": 46, "pip": 41, "pipx": 41, "plugin": [5, 9, 22, 27, 28, 33, 34, 35, 41], "pm": [6, 15], "prerequisit": 41, "previou": 30, "privat": 30, "process": [24, 37], "project": [17, 21, 22, 30, 33, 38, 44], "provid": [17, 37, 44], "proxi": 39, "publish": [30, 40], "pypi": 32, "pytest": 44, "python": [9, 36, 38], "queri": [17, 21, 22, 31], "quickstart": 41, "reentrant": 44, "refer": 9, "regist": 33, "remap": 32, "report": [44, 45], "request": [28, 37], "revert": [42, 44], "rpc": [24, 37], "run": [4, 7, 37], "script": [30, 43], "select": 37, "sender": 25, "set": [27, 28], "sign": 25, "signatur": [23, 25], "solid": 32, "sourc": 27, "static": 46, "structur": 44, "support": [25, 44], "system": 41, "test": [8, 16, 24, 25, 28, 44], "time": 37, "timeout": 46, "tip": 44, "tool": 26, "trace": [23, 24, 45, 46], "track": 40, "transact": [17, 30, 31, 37, 44, 46], "transfer": 46, "type": [18, 23, 32, 35, 37], "uninstal": [5, 6, 32], "unit": 23, "updat": 5, "url": 37, "us": [25, 31, 33], "user": 9, "util": 24, "verifi": 25, "version": [5, 35], "vm": 23, "wallet": 25}}) \ No newline at end of file +Search.setIndex({"alltitles": {"%ape": [[29, "ape"]], "%bal": [[29, "bal"]], "ABI": [[24, "module-ape.utils.abi"]], "Access List Transactions": [[46, "access-list-transactions"]], "Account Tools": [[26, "account-tools"]], "Accounts": [[17, "module-ape.api.accounts"], [21, "module-ape.managers.accounts"], [22, "module-ape.plugins.account"], [25, null]], "Address": [[17, "module-ape.api.address"], [23, "module-ape.types.address"]], "Advanced Testing Tips": [[44, "advanced-testing-tips"]], "Ape Context Decorator": [[26, "ape-context-decorator"]], "Ape Namespace": [[29, "ape-namespace"]], "Ape testing commands": [[44, "ape-testing-commands"]], "Arguments": [[18, "module-ape.cli.arguments"]], "Automation": [[25, "automation"]], "Base": [[22, "module-ape.plugins.pluggy_patch"]], "Base Path": [[28, "base-path"]], "Basemodel": [[24, "module-ape.utils.basemodel"]], "Basic": [[23, "module-ape.types.basic"]], "Block time, transaction type, and more config": [[37, "block-time-transaction-type-and-more-config"]], "Built-in Errors": [[42, "built-in-errors"]], "CLI Logging": [[36, "cli-logging"]], "CLI Plugins": [[33, "cli-plugins"]], "CLI Reference": [[9, null]], "CLI Scripts": [[43, "cli-scripts"]], "CLIs": [[26, null]], "Calling Transactions and Transacting Calls": [[30, "calling-transactions-and-transacting-calls"]], "Calls": [[30, "calls"]], "Caveats": [[44, "caveats"]], "Chain": [[21, "chain"]], "Choices": [[18, "module-ape.cli.choices"]], "Commands": [[18, "module-ape.cli.commands"]], "Compilation": [[40, "compilation"]], "Compile": [[27, null]], "Compile Source Code": [[27, "compile-source-code"]], "Compiler": [[17, "module-ape.api.compiler"], [22, "module-ape.plugins.compiler"]], "Compilers": [[21, "module-ape.managers.compilers"]], "Compiling Dependencies": [[32, "compiling-dependencies"]], "Config": [[17, "module-ape.api.config"], [21, "module-ape.managers.config"], [22, "module-ape.plugins.config"]], "Config Override": [[32, "config-override"]], "Configure": [[29, "configure"]], "Configure Ape": [[28, null]], "Configure Default": [[34, "configure-default"]], "Configuring Networks": [[37, "configuring-networks"]], "Considerations for Installing": [[41, "considerations-for-installing"]], "Console": [[29, null]], "Contract Coverage": [[44, "contract-coverage"]], "Contract File Paths": [[26, "contract-file-paths"]], "Contract Interaction": [[30, "contract-interaction"]], "Contract Interface Introspection": [[30, "contract-interface-introspection"]], "Contract fixture": [[44, "contract-fixture"]], "Contracts": [[30, null]], "Contracts Folder": [[28, "contracts-folder"]], "Convert": [[17, "module-ape.api.convert"]], "Converter": [[22, "module-ape.plugins.converter"]], "Converters": [[21, "module-ape.managers.converters"]], "Core Plugins": [[35, "core-plugins"]], "Core Python Reference": [[9, null]], "Coverage": [[23, "module-ape.types.coverage"]], "Creating new test accounts": [[25, "creating-new-test-accounts"]], "Custom Contracts Folder": [[32, "custom-contracts-folder"]], "Custom Errors": [[42, "custom-errors"], [44, "custom-errors"]], "Custom Network Connection": [[37, "custom-network-connection"]], "Custom Networks By Config": [[37, "custom-networks-by-config"]], "Custom Networks by CLI": [[37, "custom-networks-by-cli"]], "Decoding and Encoding Inputs": [[30, "decoding-and-encoding-inputs"]], "Default Ecosystem": [[28, "default-ecosystem"]], "Default Sender Support": [[25, "default-sender-support"], [25, "id1"]], "Default, Fallback, and Direct Calls": [[30, "default-fallback-and-direct-calls"]], "Dependencies": [[27, "dependencies"], [28, "dependencies"], [32, null], [38, "dependencies"]], "Deploy Scripts": [[30, "deploy-scripts"]], "Deployment": [[46, "deployment"]], "Deployment Metadata": [[46, "deployment-metadata"]], "Deployment from Ape Console": [[46, "deployment-from-ape-console"]], "Deployments": [[28, "deployments"]], "Dev Messages": [[42, "dev-messages"]], "Developing Plugins": [[33, null]], "Developing Projects with Ape": [[38, null]], "Documentation": [[41, "documentation"]], "Dynamic-Fee Transactions": [[46, "dynamic-fee-transactions"]], "EIP-712": [[25, "eip-712"]], "Estimate Gas Cost": [[46, "estimate-gas-cost"]], "Events": [[23, "module-ape.types.events"]], "Exclude Files": [[27, "exclude-files"]], "Executing Code": [[29, "executing-code"]], "Explorer URL": [[37, "explorer-url"]], "Explorers": [[17, "module-ape.api.explorers"]], "Exporting Accounts": [[25, "exporting-accounts"]], "File Exclusions": [[32, "file-exclusions"]], "Fixtures": [[44, "fixtures"]], "Forked Context": [[34, "forked-context"], [37, "forked-context"]], "Forking Custom Networks": [[37, "forking-custom-networks"]], "Forking Networks": [[34, null]], "Forking Plugin Networks": [[34, "forking-plugin-networks"]], "From ABIs": [[30, "from-abis"]], "From Any Address": [[30, "from-any-address"]], "From Deploy": [[30, "from-deploy"]], "From Previous Deployment": [[30, "from-previous-deployment"]], "From Project Contract Address": [[30, "from-project-contract-address"]], "Gas": [[23, "module-ape.types.gas"]], "Gas Reporting": [[44, "gas-reporting"]], "Gas Reports": [[45, "gas-reports"]], "Generating New Accounts": [[25, "generating-new-accounts"]], "Getting Account Transaction Data": [[31, "getting-account-transaction-data"]], "Getting Block Data": [[31, "getting-block-data"]], "Getting Contract Event Data": [[31, "getting-contract-event-data"]], "GitHub": [[32, "github"]], "Global Extras": [[29, "global-extras"]], "Hardware Wallets": [[25, "hardware-wallets"]], "Implementing API Classes": [[33, "implementing-api-classes"]], "Import the logger from the logging module": [[33, "import-the-logger-from-the-logging-module"]], "Importing Existing Accounts": [[25, "importing-existing-accounts"]], "Init Function": [[29, "init-function"]], "Initialize a Plugin Project": [[33, "initialize-a-plugin-project"]], "Inlining": [[44, "inlining"]], "Installation": [[41, "installation"]], "Installed Python Projects": [[38, "installed-python-projects"]], "Installing Plugins": [[35, "installing-plugins"]], "Installing with docker": [[41, "installing-with-docker"]], "Installing with pipx or pip": [[41, "installing-with-pipx-or-pip"]], "Iterative Testing": [[44, "iterative-testing"]], "Keyfile Accounts": [[25, "keyfile-accounts"]], "L2 Networks": [[37, "l2-networks"]], "Language Support": [[44, "language-support"]], "Live Network Accounts": [[25, "live-network-accounts"]], "Live Networks": [[37, "live-networks"]], "Local": [[32, "local"]], "Local Network": [[37, "local-network"]], "Logging": [[33, "logging"], [36, null]], "Magic Commands": [[29, "magic-commands"]], "Main Method Scripts": [[43, "main-method-scripts"]], "Mining": [[44, "mining"]], "Misc": [[32, "misc"]], "Miscellaneous": [[24, "module-ape.utils.misc"]], "Multi-Call and Multi-Transaction": [[30, "multi-call-and-multi-transaction"]], "Multi-chain Testing": [[44, "multi-chain-testing"]], "Multi-network Scripting": [[43, "multi-network-scripting"]], "NPM": [[32, "npm"]], "Namespace Extras": [[29, "namespace-extras"]], "Network": [[22, "module-ape.plugins.network"]], "Network Config": [[37, "network-config"]], "Network Tools": [[26, "network-tools"]], "Networks": [[17, "module-ape.api.networks"], [21, "module-ape.managers.networks"], [28, "networks"], [37, null]], "Node": [[28, "node"]], "Non-plugin settings": [[28, "non-plugin-settings"]], "Non-reentrant Functions": [[44, "non-reentrant-functions"]], "OS": [[24, "module-ape.utils.os"]], "Options": [[18, "module-ape.cli.options"]], "Other Compiler Plugins": [[27, "other-compiler-plugins"]], "Other Projects": [[38, "other-projects"]], "Output Extra": [[27, "output-extra"]], "Overview": [[41, null]], "Package Management CLI": [[32, "package-management-cli"]], "Parameter Types": [[18, "module-ape.cli.paramtype"]], "Payable Transactions": [[46, "payable-transactions"]], "Plugin Python Reference": [[9, null]], "Plugin Settings": [[28, "plugin-settings"]], "Plugin System": [[41, "plugin-system"]], "Plugin Types": [[35, "plugin-types"]], "Plugin Versions": [[35, "plugin-versions"]], "Plugins": [[28, "plugins"], [35, null]], "Prerequisite": [[41, "prerequisite"]], "Private Transactions": [[30, "private-transactions"]], "Process": [[24, "module-ape.utils.process"]], "Project": [[21, "module-ape.managers.project"], [22, "module-ape.plugins.project"]], "Project Manifests": [[38, "project-manifests"]], "Projects": [[17, "module-ape.api.projects"]], "Provider Context Manager": [[37, "provider-context-manager"]], "Provider Interaction": [[37, "provider-interaction"]], "Providers": [[17, "module-ape.api.providers"]], "Proxy Contracts": [[39, null]], "Publishing": [[30, "publishing"], [40, null]], "Publishing to Explorer": [[40, "publishing-to-explorer"]], "PyPI": [[32, "pypi"]], "Pytest": [[44, "pytest"]], "Python Logging": [[36, "python-logging"]], "Query": [[17, "module-ape.api.query"], [21, "module-ape.managers.query"], [22, "module-ape.plugins.query"]], "Querying Data": [[31, null]], "Quickstart": [[41, "quickstart"]], "RPC": [[24, "module-ape.utils.rpc"]], "RPC URL": [[37, "rpc-url"]], "Registering API Classes": [[33, "registering-api-classes"]], "Request Headers": [[28, "request-headers"], [37, "request-headers"]], "Reverts": [[42, null]], "Running a Network Process": [[37, "running-a-network-process"]], "Scripting": [[43, null]], "Selecting a Network": [[37, "selecting-a-network"]], "Settings": [[27, "settings"]], "Signatures": [[23, "signatures"]], "Signing Messages": [[25, "signing-messages"]], "Solidity Import Remapping": [[32, "solidity-import-remapping"]], "Static-Fee Transactions": [[46, "static-fee-transactions"]], "Test Accounts": [[25, "test-accounts"]], "Test Pattern": [[44, "test-pattern"]], "Test Providers": [[44, "test-providers"]], "Test Structure": [[44, "test-structure"]], "Testing": [[24, "module-ape.utils.testing"], [28, "testing"], [44, null]], "Testing Transaction Reverts": [[44, "testing-transaction-reverts"]], "The JSON Compiler": [[27, "the-json-compiler"]], "The Local Project": [[38, "the-local-project"]], "Trace": [[23, "module-ape.types.trace"], [24, "module-ape.utils.trace"]], "Traces": [[45, null], [46, "traces"]], "Tracing Calls": [[45, "tracing-calls"]], "Tracking Deployments": [[40, "tracking-deployments"]], "Transaction Acceptance Timeout": [[46, "transaction-acceptance-timeout"]], "Transaction Logs": [[46, "transaction-logs"]], "Transactions": [[17, "transactions"], [30, "transactions"], [46, null]], "Transfer": [[46, "transfer"]], "Types of Dependencies": [[32, "types-of-dependencies"]], "Units": [[23, "module-ape.types.units"]], "Use test accounts in tests": [[25, "use-test-accounts-in-tests"]], "Use test accounts outside of tests": [[25, "use-test-accounts-outside-of-tests"]], "Use the logger from the @ape_cli_context": [[33, "use-the-logger-from-the-ape-cli-context"]], "User Guides": [[9, null]], "Using Plugins": [[33, "using-plugins"]], "Using the Cache": [[31, "using-the-cache"]], "VM": [[23, "module-ape.types.vm"]], "Verifying Signature": [[25, "verifying-signature"]], "accounts": [[0, null]], "accounts fixture": [[44, "accounts-fixture"]], "ape": [[10, null]], "ape-accounts": [[11, null]], "ape-compile": [[12, null]], "ape-ethereum": [[13, null]], "ape-ethereum.multicall": [[13, "module-ape_ethereum.multicall"]], "ape-node": [[14, null]], "ape-pm": [[15, null]], "ape-test": [[16, null]], "ape.api": [[17, null]], "ape.cli": [[18, null]], "ape.contracts": [[19, null]], "ape.exceptions": [[20, null]], "ape.managers": [[21, null]], "ape.plugins": [[22, null]], "ape.types": [[23, null]], "ape.utils": [[24, null]], "chain fixture": [[44, "chain-fixture"]], "change-password": [[0, "accounts-change-password"]], "change-version": [[5, "plugins-change-version"]], "compile": [[1, null], [6, "pm-compile"], [32, "compile"]], "console": [[2, null], [2, "console"]], "delete": [[0, "accounts-delete"]], "dev_message": [[44, "dev-message"]], "evmchains Networks": [[37, "evmchains-networks"]], "expected_message": [[44, "expected-message"]], "export": [[0, "accounts-export"]], "generate": [[0, "accounts-generate"]], "import": [[0, "accounts-import"]], "init": [[3, null]], "install": [[5, "plugins-install"], [6, "pm-install"], [32, "install"]], "list": [[0, "accounts-list"], [4, "networks-list"], [5, "plugins-list"], [6, "pm-list"], [32, "list"]], "networks": [[4, null]], "networks fixture": [[44, "networks-fixture"]], "plugins": [[5, null]], "pm": [[6, null]], "project fixture": [[44, "project-fixture"]], "run": [[4, "networks-run"], [7, null], [7, "run"]], "test": [[8, null]], "uninstall": [[5, "plugins-uninstall"], [6, "pm-uninstall"], [32, "uninstall"]], "update": [[5, "plugins-update"]]}, "docnames": ["commands/accounts", "commands/compile", "commands/console", "commands/init", "commands/networks", "commands/plugins", "commands/pm", "commands/run", "commands/test", "index", "methoddocs/ape", "methoddocs/ape_accounts", "methoddocs/ape_compile", "methoddocs/ape_ethereum", "methoddocs/ape_node", "methoddocs/ape_pm", "methoddocs/ape_test", "methoddocs/api", "methoddocs/cli", "methoddocs/contracts", "methoddocs/exceptions", "methoddocs/managers", "methoddocs/plugins", "methoddocs/types", "methoddocs/utils", "userguides/accounts", "userguides/clis", "userguides/compile", "userguides/config", "userguides/console", "userguides/contracts", "userguides/data", "userguides/dependencies", "userguides/developing_plugins", "userguides/forking_networks", "userguides/installing_plugins", "userguides/logging", "userguides/networks", "userguides/projects", "userguides/proxy", "userguides/publishing", "userguides/quickstart", "userguides/reverts", "userguides/scripts", "userguides/testing", "userguides/trace", "userguides/transactions"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["commands/accounts.rst", "commands/compile.rst", "commands/console.rst", "commands/init.rst", "commands/networks.rst", "commands/plugins.rst", "commands/pm.rst", "commands/run.rst", "commands/test.rst", "index.rst", "methoddocs/ape.md", "methoddocs/ape_accounts.md", "methoddocs/ape_compile.md", "methoddocs/ape_ethereum.md", "methoddocs/ape_node.md", "methoddocs/ape_pm.md", "methoddocs/ape_test.md", "methoddocs/api.md", "methoddocs/cli.md", "methoddocs/contracts.md", "methoddocs/exceptions.md", "methoddocs/managers.md", "methoddocs/plugins.md", "methoddocs/types.md", "methoddocs/utils.md", "userguides/accounts.md", "userguides/clis.md", "userguides/compile.md", "userguides/config.md", "userguides/console.md", "userguides/contracts.md", "userguides/data.md", "userguides/dependencies.md", "userguides/developing_plugins.md", "userguides/forking_networks.md", "userguides/installing_plugins.md", "userguides/logging.md", "userguides/networks.md", "userguides/projects.md", "userguides/proxy.md", "userguides/publishing.md", "userguides/quickstart.md", "userguides/reverts.md", "userguides/scripts.md", "userguides/testing.md", "userguides/trace.md", "userguides/transactions.md"], "indexentries": {"--all": [[0, "cmdoption-accounts-list-all", false], [5, "cmdoption-plugins-list-a", false], [6, "cmdoption-pm-list-all", false]], "--code": [[2, "cmdoption-console-c", false]], "--config-override": [[1, "cmdoption-compile-config-override", false], [6, "cmdoption-pm-compile-config-override", false], [6, "cmdoption-pm-install-config-override", false]], "--ecosystem": [[4, "cmdoption-networks-list-ecosystem", false]], "--force": [[1, "cmdoption-compile-f", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-install-f", false]], "--format": [[4, "cmdoption-networks-list-format", false]], "--github": [[3, "cmdoption-init-github", false]], "--hd-path": [[0, "cmdoption-accounts-generate-hd-path", false], [0, "cmdoption-accounts-import-hd-path", false]], "--hide-mnemonic": [[0, "cmdoption-accounts-generate-hide-mnemonic", false]], "--include-dependencies": [[1, "cmdoption-compile-include-dependencies", false]], "--interactive": [[7, "cmdoption-run-I", false]], "--name": [[3, "cmdoption-init-name", false], [6, "cmdoption-pm-install-name", false]], "--network": [[4, "cmdoption-networks-list-network", false], [4, "cmdoption-networks-run-network", false]], "--project": [[1, "cmdoption-compile-project", false]], "--provider": [[4, "cmdoption-networks-list-provider", false]], "--ref": [[6, "cmdoption-pm-install-ref", false]], "--size": [[1, "cmdoption-compile-s", false]], "--upgrade": [[5, "cmdoption-plugins-install-U", false]], "--use-mnemonic": [[0, "cmdoption-accounts-import-use-mnemonic", false]], "--verbosity": [[0, "cmdoption-accounts-change-password-v", false], [0, "cmdoption-accounts-delete-v", false], [0, "cmdoption-accounts-export-v", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-import-v", false], [0, "cmdoption-accounts-list-v", false], [1, "cmdoption-compile-v", false], [2, "cmdoption-console-v", false], [3, "cmdoption-init-v", false], [4, "cmdoption-networks-list-v", false], [4, "cmdoption-networks-run-v", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-list-v", false], [5, "cmdoption-plugins-uninstall-v", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-list-v", false], [6, "cmdoption-pm-uninstall-v", false], [8, "cmdoption-test-v", false]], "--version": [[6, "cmdoption-pm-compile-version", false], [6, "cmdoption-pm-install-version", false]], "--watch": [[8, "cmdoption-test-w", false]], "--watch-delay": [[8, "cmdoption-test-watch-delay", false]], "--watch-folders": [[8, "cmdoption-test-watch-folders", false]], "--word-count": [[0, "cmdoption-accounts-generate-word-count", false]], "--yes": [[5, "cmdoption-plugins-install-y", false], [5, "cmdoption-plugins-uninstall-y", false], [6, "cmdoption-pm-uninstall-y", false]], "-a": [[5, "cmdoption-plugins-list-a", false]], "-c": [[2, "cmdoption-console-c", false]], "-f": [[1, "cmdoption-compile-f", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-install-f", false]], "-i": [[7, "cmdoption-run-I", false]], "-s": [[1, "cmdoption-compile-s", false]], "-u": [[5, "cmdoption-plugins-install-U", false]], "-v": [[0, "cmdoption-accounts-change-password-v", false], [0, "cmdoption-accounts-delete-v", false], [0, "cmdoption-accounts-export-v", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-import-v", false], [0, "cmdoption-accounts-list-v", false], [1, "cmdoption-compile-v", false], [2, "cmdoption-console-v", false], [3, "cmdoption-init-v", false], [4, "cmdoption-networks-list-v", false], [4, "cmdoption-networks-run-v", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-list-v", false], [5, "cmdoption-plugins-uninstall-v", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-list-v", false], [6, "cmdoption-pm-uninstall-v", false], [8, "cmdoption-test-v", false]], "-w": [[8, "cmdoption-test-w", false]], "-y": [[5, "cmdoption-plugins-install-y", false], [5, "cmdoption-plugins-uninstall-y", false], [6, "cmdoption-pm-uninstall-y", false]], "__call__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__call__", false]], "__call__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__call__", false]], "__call__() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.__call__", false]], "__call__() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.__call__", false]], "__call__() (ape_ethereum.multicall.transaction method)": [[13, "ape_ethereum.multicall.Transaction.__call__", false]], "__contains__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__contains__", false]], "__contains__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__contains__", false]], "__contains__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__contains__", false]], "__contains__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__contains__", false]], "__delitem__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__delitem__", false]], "__delitem__() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.__delitem__", false]], "__eq__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__eq__", false]], "__eq__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__eq__", false]], "__getitem__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__getitem__", false]], "__getitem__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__getitem__", false]], "__getitem__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__getitem__", false]], "__getitem__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__getitem__", false]], "__hash__ (ape.contracts.base.contractcontainer attribute)": [[19, "ape.contracts.base.ContractContainer.__hash__", false]], "__hash__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__hash__", false]], "__iter__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__iter__", false]], "__iter__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__iter__", false]], "__iter__() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.__iter__", false]], "__iter__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__iter__", false]], "__iter__() (ape.managers.project.deploymentmanager method)": [[21, "ape.managers.project.DeploymentManager.__iter__", false]], "__len__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__len__", false]], "__len__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__len__", false]], "__len__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__len__", false]], "__len__() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.__len__", false]], "__len__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__len__", false]], "__pydantic_extra__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_extra__", false]], "__pydantic_fields_set__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_fields_set__", false]], "__pydantic_private__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_private__", false]], "__repr__() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.__repr__", false]], "__repr__() (ape.api.config.configenum method)": [[17, "ape.api.config.ConfigEnum.__repr__", false]], "__repr__() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.__repr__", false]], "__repr__() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.__repr__", false]], "__repr__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__repr__", false]], "__repr__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__repr__", false]], "__repr__() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.__repr__", false]], "__repr__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__repr__", false]], "__repr__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__repr__", false]], "__repr__() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.__repr__", false]], "__repr__() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.__repr__", false]], "__repr__() (ape.managers.project.contractmanager method)": [[21, "ape.managers.project.ContractManager.__repr__", false]], "__repr__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__repr__", false]], "__repr__() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.__repr__", false]], "__repr__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__repr__", false]], "__repr__() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.__repr__", false]], "__repr__() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.__repr__", false]], "__repr__() (ape.managers.project.projectmanager method)": [[21, "ape.managers.project.ProjectManager.__repr__", false]], "__repr__() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.__repr__", false]], "__setitem__() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.__setitem__", false]], "__signature__ (ape.api.accounts.accountapi attribute)": [[17, "ape.api.accounts.AccountAPI.__signature__", false]], "__signature__ (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.__signature__", false]], "__signature__ (ape.api.accounts.impersonatedaccount attribute)": [[17, "ape.api.accounts.ImpersonatedAccount.__signature__", false]], "__signature__ (ape.api.accounts.testaccountapi attribute)": [[17, "ape.api.accounts.TestAccountAPI.__signature__", false]], "__signature__ (ape.api.accounts.testaccountcontainerapi attribute)": [[17, "ape.api.accounts.TestAccountContainerAPI.__signature__", false]], "__signature__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__signature__", false]], "__signature__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__signature__", false]], "__signature__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__signature__", false]], "__signature__ (ape.api.convert.converterapi attribute)": [[17, "ape.api.convert.ConverterAPI.__signature__", false]], "__signature__ (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.__signature__", false]], "__signature__ (ape.api.networks.forkednetworkapi attribute)": [[17, "ape.api.networks.ForkedNetworkAPI.__signature__", false]], "__signature__ (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.__signature__", false]], "__signature__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__signature__", false]], "__signature__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__signature__", false]], "__signature__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__signature__", false]], "__signature__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__signature__", false]], "__signature__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__signature__", false]], "__signature__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__signature__", false]], "__signature__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__signature__", false]], "__signature__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__signature__", false]], "__signature__ (ape.contracts.base.contractevent attribute)": [[19, "ape.contracts.base.ContractEvent.__signature__", false]], "__signature__ (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.__signature__", false]], "__str__() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.__str__", false]], "__str__() (ape.api.config.configenum method)": [[17, "ape.api.config.ConfigEnum.__str__", false]], "__str__() (ape.api.config.pluginconfig method)": [[17, "ape.api.config.PluginConfig.__str__", false]], "__str__() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.__str__", false]], "abort": [[20, "ape.exceptions.Abort", false]], "abort() (ape.cli.options.apeclicontextobject static method)": [[18, "ape.cli.options.ApeCliContextObject.abort", false]], "account_option() (in module ape.cli.options)": [[18, "ape.cli.options.account_option", false]], "account_type (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.account_type", false]], "account_types() (ape.plugins.account.accountplugin method)": [[22, "ape.plugins.account.AccountPlugin.account_types", false]], "accountaliaspromptchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.AccountAliasPromptChoice", false]], "accountapi (class in ape.api.accounts)": [[17, "ape.api.accounts.AccountAPI", false]], "accountcontainerapi (class in ape.api.accounts)": [[17, "ape.api.accounts.AccountContainerAPI", false]], "accounthistory (class in ape.managers.chain)": [[21, "ape.managers.chain.AccountHistory", false]], "accountintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.AccountIntConverter", false]], "accountmanager (class in ape.managers.accounts)": [[21, "ape.managers.accounts.AccountManager", false]], "accountplugin (class in ape.plugins.account)": [[22, "ape.plugins.account.AccountPlugin", false]], "accounts (ape attribute)": [[10, "ape.accounts", false]], "accounts (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.accounts", false]], "accounts-change-password command line option": [[0, "cmdoption-accounts-change-password-arg-ALIAS", false], [0, "cmdoption-accounts-change-password-v", false]], "accounts-delete command line option": [[0, "cmdoption-accounts-delete-arg-ALIAS", false], [0, "cmdoption-accounts-delete-v", false]], "accounts-export command line option": [[0, "cmdoption-accounts-export-arg-ALIAS", false], [0, "cmdoption-accounts-export-v", false]], "accounts-generate command line option": [[0, "cmdoption-accounts-generate-arg-ALIAS", false], [0, "cmdoption-accounts-generate-hd-path", false], [0, "cmdoption-accounts-generate-hide-mnemonic", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-generate-word-count", false]], "accounts-import command line option": [[0, "cmdoption-accounts-import-arg-ALIAS", false], [0, "cmdoption-accounts-import-hd-path", false], [0, "cmdoption-accounts-import-use-mnemonic", false], [0, "cmdoption-accounts-import-v", false]], "accounts-list command line option": [[0, "cmdoption-accounts-list-all", false], [0, "cmdoption-accounts-list-v", false]], "accountserror": [[20, "ape.exceptions.AccountsError", false]], "accounttransactionquery (class in ape.api.query)": [[17, "ape.api.query.AccountTransactionQuery", false]], "active_provider (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.active_provider", false]], "add() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.add", false]], "add() (ape_ethereum.multicall.basemulticall method)": [[13, "ape_ethereum.multicall.BaseMulticall.add", false]], "add() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.add", false]], "add_builtin_jump() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.add_builtin_jump", false]], "add_compiler_data() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.add_compiler_data", false]], "add_jump() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.add_jump", false]], "add_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.add_network", false]], "additional_error_message (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.additional_error_message", false]], "address (ape.api.accounts.impersonatedaccount property)": [[17, "ape.api.accounts.ImpersonatedAccount.address", false]], "address (ape.api.address.address property)": [[17, "ape.api.address.Address.address", false]], "address (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.address", false]], "address (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.address", false]], "address (ape.contracts.base.contractinstance property)": [[19, "ape.contracts.base.ContractInstance.address", false]], "address (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.address", false]], "address (ape.utils.testing.generateddevaccount attribute)": [[24, "ape.utils.testing.GeneratedDevAccount.address", false]], "address (class in ape.api.address)": [[17, "ape.api.address.Address", false]], "addressapiconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.AddressAPIConverter", false]], "addresstype (in module ape.types.address)": [[23, "ape.types.address.AddressType", false]], "alias": [[0, "cmdoption-accounts-change-password-arg-ALIAS", false], [0, "cmdoption-accounts-delete-arg-ALIAS", false], [0, "cmdoption-accounts-export-arg-ALIAS", false], [0, "cmdoption-accounts-generate-arg-ALIAS", false], [0, "cmdoption-accounts-import-arg-ALIAS", false]], "alias (ape.api.accounts.accountapi property)": [[17, "ape.api.accounts.AccountAPI.alias", false]], "alias (class in ape.cli.choices)": [[18, "ape.cli.choices.Alias", false]], "aliasalreadyinuseerror": [[20, "ape.exceptions.AliasAlreadyInUseError", false]], "aliases (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.aliases", false]], "aliases (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.aliases", false]], "allow_disconnected() (in module ape.utils.rpc)": [[24, "ape.utils.rpc.allow_disconnected", false]], "ape.api.accounts": [[17, "module-ape.api.accounts", false]], "ape.api.address": [[17, "module-ape.api.address", false]], "ape.api.compiler": [[17, "module-ape.api.compiler", false]], "ape.api.config": [[17, "module-ape.api.config", false]], "ape.api.convert": [[17, "module-ape.api.convert", false]], "ape.api.explorers": [[17, "module-ape.api.explorers", false]], "ape.api.networks": [[17, "module-ape.api.networks", false]], "ape.api.projects": [[17, "module-ape.api.projects", false]], "ape.api.providers": [[17, "module-ape.api.providers", false]], "ape.api.query": [[17, "module-ape.api.query", false]], "ape.cli.arguments": [[18, "module-ape.cli.arguments", false]], "ape.cli.choices": [[18, "module-ape.cli.choices", false]], "ape.cli.commands": [[18, "module-ape.cli.commands", false]], "ape.cli.options": [[18, "module-ape.cli.options", false]], "ape.cli.paramtype": [[18, "module-ape.cli.paramtype", false]], "ape.contract()": [[10, "ape.Contract", false]], "ape.convert()": [[10, "ape.convert", false]], "ape.exceptions": [[20, "module-ape.exceptions", false]], "ape.managers.accounts": [[21, "module-ape.managers.accounts", false]], "ape.managers.compilers": [[21, "module-ape.managers.compilers", false]], "ape.managers.config": [[21, "module-ape.managers.config", false]], "ape.managers.converters": [[21, "module-ape.managers.converters", false]], "ape.managers.networks": [[21, "module-ape.managers.networks", false]], "ape.managers.project": [[21, "module-ape.managers.project", false]], "ape.managers.query": [[21, "module-ape.managers.query", false]], "ape.plugins": [[22, "module-ape.plugins", false]], "ape.plugins.account": [[22, "module-ape.plugins.account", false]], "ape.plugins.compiler": [[22, "module-ape.plugins.compiler", false]], "ape.plugins.config": [[22, "module-ape.plugins.config", false]], "ape.plugins.converter": [[22, "module-ape.plugins.converter", false]], "ape.plugins.network": [[22, "module-ape.plugins.network", false]], "ape.plugins.pluggy_patch": [[22, "module-ape.plugins.pluggy_patch", false]], "ape.plugins.project": [[22, "module-ape.plugins.project", false]], "ape.plugins.query": [[22, "module-ape.plugins.query", false]], "ape.project()": [[10, "ape.Project", false]], "ape.reverts()": [[10, "ape.reverts", false]], "ape.types.address": [[23, "module-ape.types.address", false]], "ape.types.basic": [[23, "module-ape.types.basic", false]], "ape.types.coverage": [[23, "module-ape.types.coverage", false]], "ape.types.events": [[23, "module-ape.types.events", false]], "ape.types.gas": [[23, "module-ape.types.gas", false]], "ape.types.trace": [[23, "module-ape.types.trace", false]], "ape.types.units": [[23, "module-ape.types.units", false]], "ape.types.vm": [[23, "module-ape.types.vm", false]], "ape.utils.abi": [[24, "module-ape.utils.abi", false]], "ape.utils.basemodel": [[24, "module-ape.utils.basemodel", false]], "ape.utils.misc": [[24, "module-ape.utils.misc", false]], "ape.utils.os": [[24, "module-ape.utils.os", false]], "ape.utils.process": [[24, "module-ape.utils.process", false]], "ape.utils.rpc": [[24, "module-ape.utils.rpc", false]], "ape.utils.testing": [[24, "module-ape.utils.testing", false]], "ape.utils.trace": [[24, "module-ape.utils.trace", false]], "ape_accounts": [[11, "module-ape_accounts", false]], "ape_cli_context() (in module ape.cli.options)": [[18, "ape.cli.options.ape_cli_context", false]], "ape_compile": [[12, "module-ape_compile", false]], "ape_ethereum": [[13, "module-ape_ethereum", false]], "ape_ethereum.multicall": [[13, "module-ape_ethereum.multicall", false]], "ape_node": [[14, "module-ape_node", false]], "ape_pm": [[15, "module-ape_pm", false]], "ape_test": [[16, "module-ape_test", false]], "apeattributeerror": [[20, "ape.exceptions.ApeAttributeError", false]], "apeclicontextobject (class in ape.cli.options)": [[18, "ape.cli.options.ApeCliContextObject", false]], "apeconfig (class in ape.api.config)": [[17, "ape.api.config.ApeConfig", false]], "apeexception": [[20, "ape.exceptions.ApeException", false]], "apeindexerror": [[20, "ape.exceptions.ApeIndexError", false]], "apeproject (class in ape.api.projects)": [[17, "ape.api.projects.ApeProject", false]], "api_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.api_path", false]], "apinotimplementederror": [[20, "ape.exceptions.APINotImplementedError", false]], "append() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.append", false]], "append() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.append", false]], "append() (ape.managers.chain.transactionhistory method)": [[21, "ape.managers.chain.TransactionHistory.append", false]], "append() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.append", false]], "argumentslengtherror": [[20, "ape.exceptions.ArgumentsLengthError", false]], "as_transaction() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.as_transaction", false]], "as_transaction() (ape_ethereum.multicall.transaction method)": [[13, "ape_ethereum.multicall.Transaction.as_transaction", false]], "at() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.at", false]], "attributes (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.attributes", false]], "auto_gas_multiplier (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.auto_gas_multiplier", false]], "auto_mine (ape.api.providers.testproviderapi property)": [[17, "ape.api.providers.TestProviderAPI.auto_mine", false]], "auto_mine (ape_node.gethdev property)": [[14, "ape_node.GethDev.auto_mine", false]], "autogaslimit (class in ape.types.gas)": [[23, "ape.types.gas.AutoGasLimit", false]], "await_confirmations() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.await_confirmations", false]], "balance (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.balance", false]], "base_fee (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.base_fee", false]], "base_fee (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.base_fee", false]], "base_fee_multiplier (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.base_fee_multiplier", false]], "base_path (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.base_path", false]], "baseaddress (class in ape.api.address)": [[17, "ape.api.address.BaseAddress", false]], "baseinterface (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseInterface", false]], "baseinterfacemodel (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseInterfaceModel", false]], "basemodel (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseModel", false]], "basemulticall (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.BaseMulticall", false]], "begin_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.begin_lineno", false]], "block (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.block", false]], "block_hash (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.block_hash", false]], "block_number (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.block_number", false]], "block_page_size (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.block_page_size", false]], "block_time (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.block_time", false]], "blockapi (class in ape.api.providers)": [[17, "ape.api.providers.BlockAPI", false]], "blockcontainer (class in ape.managers.chain)": [[21, "ape.managers.chain.BlockContainer", false]], "blockid (in module ape.types.vm)": [[23, "ape.types.vm.BlockID", false]], "blocknotfounderror": [[20, "ape.exceptions.BlockNotFoundError", false]], "blockquery (class in ape.api.query)": [[17, "ape.api.query.BlockQuery", false]], "blocks (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.blocks", false]], "blocktransactionquery (class in ape.api.query)": [[17, "ape.api.query.BlockTransactionQuery", false]], "body (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.body", false]], "build_command() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.build_command", false]], "build_command() (ape_node.gethdev method)": [[14, "ape_node.GethDev.build_command", false]], "built-in function": [[10, "ape.Contract", false], [10, "ape.Project", false], [10, "ape.convert", false], [10, "ape.reverts", false]], "bytesaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.BytesAddressConverter", false]], "cache_api() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.cache_api", false]], "cache_blueprint() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_blueprint", false]], "cache_deployment() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_deployment", false]], "cache_proxy_info() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_proxy_info", false]], "call (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.Call", false]], "call() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.call", false]], "call() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.call", false]], "call_trace_approach (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.call_trace_approach", false]], "call_view_method() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.call_view_method", false]], "can_trace_source() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.can_trace_source", false]], "chain (ape attribute)": [[10, "ape.chain", false]], "chain_id (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.chain_id", false]], "chain_id (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.chain_id", false]], "chain_id (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.chain_id", false]], "chain_id (ape_node.gethdev property)": [[14, "ape_node.GethDev.chain_id", false]], "chainerror": [[20, "ape.exceptions.ChainError", false]], "chainmanager (class in ape.managers.chain)": [[21, "ape.managers.chain.ChainManager", false]], "check_signature() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.check_signature", false]], "clean_path() (in module ape.utils.os)": [[24, "ape.utils.os.clean_path", false]], "clear_local_caches() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.clear_local_caches", false]], "closure (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.closure", false]], "code (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.code", false]], "codesize (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.codesize", false]], "compile command line option": [[1, "cmdoption-compile-arg-FILE_PATHS", false], [1, "cmdoption-compile-config-override", false], [1, "cmdoption-compile-f", false], [1, "cmdoption-compile-include-dependencies", false], [1, "cmdoption-compile-project", false], [1, "cmdoption-compile-s", false], [1, "cmdoption-compile-v", false]], "compile() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.compile", false]], "compile() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.compile", false]], "compile() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.compile", false]], "compile_code() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.compile_code", false]], "compile_source() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.compile_source", false]], "compiler_settings (ape.api.compiler.compilerapi attribute)": [[17, "ape.api.compiler.CompilerAPI.compiler_settings", false]], "compilerapi (class in ape.api.compiler)": [[17, "ape.api.compiler.CompilerAPI", false]], "compilererror": [[20, "ape.exceptions.CompilerError", false]], "compilermanager (class in ape.managers.compilers)": [[21, "ape.managers.compilers.CompilerManager", false]], "compilerplugin (class in ape.plugins.compiler)": [[22, "ape.plugins.compiler.CompilerPlugin", false]], "compilers (ape attribute)": [[10, "ape.compilers", false]], "concurrency (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.concurrency", false]], "config (ape attribute)": [[10, "ape.config", false]], "config (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.config", false]], "config (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.config", false]], "config (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.config", false]], "config (class in ape.plugins.config)": [[22, "ape.plugins.config.Config", false]], "config_class() (ape.plugins.config.config method)": [[22, "ape.plugins.config.Config.config_class", false]], "config_override (ape.api.projects.dependencyapi attribute)": [[17, "ape.api.projects.DependencyAPI.config_override", false]], "configenum (class in ape.api.config)": [[17, "ape.api.config.ConfigEnum", false]], "configerror": [[20, "ape.exceptions.ConfigError", false]], "configmanager (class in ape.managers.config)": [[21, "ape.managers.config.ConfigManager", false]], "confirmed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.confirmed", false]], "connect() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.connect", false]], "connect() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.connect", false]], "connect() (ape_node.gethdev method)": [[14, "ape_node.GethDev.connect", false]], "connect() (ape_node.node method)": [[14, "ape_node.Node.connect", false]], "connectedprovidercommand (class in ape.cli.commands)": [[18, "ape.cli.commands.ConnectedProviderCommand", false]], "connection_id (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.connection_id", false]], "connection_id (ape.api.providers.subprocessprovider property)": [[17, "ape.api.providers.SubprocessProvider.connection_id", false]], "connection_str (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.connection_str", false]], "console command line option": [[2, "cmdoption-console-c", false], [2, "cmdoption-console-v", false]], "containers (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.containers", false]], "contract_file_paths_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.contract_file_paths_argument", false]], "contract_option() (in module ape.cli.options)": [[18, "ape.cli.options.contract_option", false]], "contract_type (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.contract_type", false]], "contractcache (class in ape.managers.chain)": [[21, "ape.managers.chain.ContractCache", false]], "contractcontainer (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractContainer", false]], "contractcoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.ContractCoverage", false]], "contractcreation (class in ape.api.query)": [[17, "ape.api.query.ContractCreation", false]], "contractcreationquery (class in ape.api.query)": [[17, "ape.api.query.ContractCreationQuery", false]], "contractdataerror": [[20, "ape.exceptions.ContractDataError", false]], "contractevent (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractEvent", false]], "contracteventquery (class in ape.api.query)": [[17, "ape.api.query.ContractEventQuery", false]], "contractinstance (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractInstance", false]], "contractlog (class in ape.types.events)": [[23, "ape.types.events.ContractLog", false]], "contractlogcontainer (class in ape.types.events)": [[23, "ape.types.events.ContractLogContainer", false]], "contractlogicerror": [[20, "ape.exceptions.ContractLogicError", false]], "contractmanager (class in ape.managers.project)": [[21, "ape.managers.project.ContractManager", false]], "contractmethodquery (class in ape.api.query)": [[17, "ape.api.query.ContractMethodQuery", false]], "contractnotfounderror": [[20, "ape.exceptions.ContractNotFoundError", false]], "contracts (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.contracts", false]], "contracts (ape.types.coverage.contractsourcecoverage attribute)": [[23, "ape.types.coverage.ContractSourceCoverage.contracts", false]], "contracts (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.CONTRACTS", false]], "contracts_folder (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.contracts_folder", false]], "contracts_folder (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.contracts_folder", false]], "contractsourcecoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.ContractSourceCoverage", false]], "contracttypewrapper (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractTypeWrapper", false]], "controlflow (class in ape.types.trace)": [[23, "ape.types.trace.ControlFlow", false]], "conversionerror": [[20, "ape.exceptions.ConversionError", false]], "conversionmanager (class in ape.managers.converters)": [[21, "ape.managers.converters.ConversionManager", false]], "conversionplugin (class in ape.plugins.converter)": [[22, "ape.plugins.converter.ConversionPlugin", false]], "convert() (ape.api.convert.converterapi method)": [[17, "ape.api.convert.ConverterAPI.convert", false]], "convert() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.convert", false]], "convert() (ape.cli.choices.networkchoice method)": [[18, "ape.cli.choices.NetworkChoice.convert", false]], "convert() (ape.cli.choices.promptchoice method)": [[18, "ape.cli.choices.PromptChoice.convert", false]], "convert() (ape.cli.paramtype.json method)": [[18, "ape.cli.paramtype.JSON.convert", false]], "convert() (ape.cli.paramtype.noop method)": [[18, "ape.cli.paramtype.Noop.convert", false]], "convert() (ape.managers.converters.accountintconverter method)": [[21, "ape.managers.converters.AccountIntConverter.convert", false]], "convert() (ape.managers.converters.addressapiconverter method)": [[21, "ape.managers.converters.AddressAPIConverter.convert", false]], "convert() (ape.managers.converters.bytesaddressconverter method)": [[21, "ape.managers.converters.BytesAddressConverter.convert", false]], "convert() (ape.managers.converters.conversionmanager method)": [[21, "ape.managers.converters.ConversionManager.convert", false]], "convert() (ape.managers.converters.hexaddressconverter method)": [[21, "ape.managers.converters.HexAddressConverter.convert", false]], "convert() (ape.managers.converters.hexconverter method)": [[21, "ape.managers.converters.HexConverter.convert", false]], "convert() (ape.managers.converters.hexintconverter method)": [[21, "ape.managers.converters.HexIntConverter.convert", false]], "convert() (ape.managers.converters.hexiterableconverter method)": [[21, "ape.managers.converters.HexIterableConverter.convert", false]], "convert() (ape.managers.converters.intaddressconverter method)": [[21, "ape.managers.converters.IntAddressConverter.convert", false]], "convert() (ape.managers.converters.stringdecimalconverter method)": [[21, "ape.managers.converters.StringDecimalConverter.convert", false]], "convert() (ape.managers.converters.stringintconverter method)": [[21, "ape.managers.converters.StringIntConverter.convert", false]], "convert() (ape.managers.converters.timestampconverter method)": [[21, "ape.managers.converters.TimestampConverter.convert", false]], "converterapi (class in ape.api.convert)": [[17, "ape.api.convert.ConverterAPI", false]], "converters() (ape.plugins.converter.conversionplugin method)": [[22, "ape.plugins.converter.ConversionPlugin.converters", false]], "coverageproject (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageProject", false]], "coveragereport (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageReport", false]], "coveragestatement (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageStatement", false]], "create_custom_provider() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.create_custom_provider", false]], "create_network_type() (in module ape.api.networks)": [[17, "ape.api.networks.create_network_type", false]], "create_struct() (in module ape.utils.abi)": [[24, "ape.utils.abi.create_struct", false]], "create_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.create_tempdir", false]], "create_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.create_transaction", false]], "creation_metadata (ape.contracts.base.contractinstance property)": [[19, "ape.contracts.base.ContractInstance.creation_metadata", false]], "currencyvalue (in module ape.types.units)": [[23, "ape.types.units.CurrencyValue", false]], "currencyvaluecomparable (in module ape.types.units)": [[23, "ape.types.units.CurrencyValueComparable", false]], "custom_network (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.custom_network", false]], "custom_networks (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.custom_networks", false]], "customerror": [[20, "ape.exceptions.CustomError", false]], "data_dir (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.data_dir", false]], "data_folder (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.data_folder", false]], "data_folder (ape.api.accounts.testaccountcontainerapi property)": [[17, "ape.api.accounts.TestAccountContainerAPI.data_folder", false]], "data_folder (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.data_folder", false]], "data_folder (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.data_folder", false]], "data_folder (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.data_folder", false]], "datetime (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.datetime", false]], "debug_logs_lines (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.debug_logs_lines", false]], "debug_logs_typed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.debug_logs_typed", false]], "declare() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.declare", false]], "decode_address() (ape.api.networks.ecosystemapi class method)": [[17, "ape.api.networks.EcosystemAPI.decode_address", false]], "decode_block() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_block", false]], "decode_calldata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_calldata", false]], "decode_custom_error() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_custom_error", false]], "decode_dependency() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.decode_dependency", false]], "decode_input() (ape.contracts.base.contracttypewrapper method)": [[19, "ape.contracts.base.ContractTypeWrapper.decode_input", false]], "decode_logs() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_logs", false]], "decode_logs() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.decode_logs", false]], "decode_output() (ape.utils.abi.structparser method)": [[24, "ape.utils.abi.StructParser.decode_output", false]], "decode_primitive_value() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_primitive_value", false]], "decode_receipt() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_receipt", false]], "decode_returndata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_returndata", false]], "decodingerror": [[20, "ape.exceptions.DecodingError", false]], "default_ecosystem (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.default_ecosystem", false]], "default_ecosystem (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.default_ecosystem", false]], "default_name (ape.utils.abi.structparser property)": [[24, "ape.utils.abi.StructParser.default_name", false]], "default_network_name (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.default_network_name", false]], "default_provider_name (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.default_provider_name", false]], "defaultqueryprovider (class in ape.managers.query)": [[21, "ape.managers.query.DefaultQueryProvider", false]], "delegate (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.DELEGATE", false]], "dependencies (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.dependencies", false]], "dependencies (ape.managers.project.project property)": [[21, "ape.managers.project.Project.dependencies", false]], "dependencies() (ape.plugins.project.dependencyplugin method)": [[22, "ape.plugins.project.DependencyPlugin.dependencies", false]], "dependency (class in ape.managers.project)": [[21, "ape.managers.project.Dependency", false]], "dependencyapi (class in ape.api.projects)": [[17, "ape.api.projects.DependencyAPI", false]], "dependencymanager (class in ape.managers.project)": [[21, "ape.managers.project.DependencyManager", false]], "dependencyplugin (class in ape.plugins.project)": [[22, "ape.plugins.project.DependencyPlugin", false]], "dependencyversionmap (class in ape.managers.project)": [[21, "ape.managers.project.DependencyVersionMap", false]], "deploy() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.deploy", false]], "deploy() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.deploy", false]], "deployer (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.deployer", false]], "deployment_data (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.deployment_data", false]], "deploymentconfig (class in ape.api.config)": [[17, "ape.api.config.DeploymentConfig", false]], "deploymentmanager (class in ape.managers.project)": [[21, "ape.managers.project.DeploymentManager", false]], "deployments (ape.contracts.base.contractcontainer property)": [[19, "ape.contracts.base.ContractContainer.deployments", false]], "deployments (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.deployments", false]], "depth (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.depth", false]], "dev_message (ape.exceptions.contractlogicerror property)": [[20, "ape.exceptions.ContractLogicError.dev_message", false]], "disconnect() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.disconnect", false]], "disconnect() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.disconnect", false]], "disconnect() (ape_node.gethdev method)": [[14, "ape_node.GethDev.disconnect", false]], "ecosystem (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.ecosystem", false]], "ecosystem (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystem", false]], "ecosystem_config (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.ecosystem_config", false]], "ecosystem_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystem_names", false]], "ecosystemapi (class in ape.api.networks)": [[17, "ape.api.networks.EcosystemAPI", false]], "ecosystemnotfounderror": [[20, "ape.exceptions.EcosystemNotFoundError", false]], "ecosystemplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.EcosystemPlugin", false]], "ecosystems (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystems", false]], "ecosystems() (ape.plugins.network.ecosystemplugin method)": [[22, "ape.plugins.network.EcosystemPlugin.ecosystems", false]], "empty (ape.api.networks.providercontextmanager property)": [[17, "ape.api.networks.ProviderContextManager.empty", false]], "encode_address() (ape.api.networks.ecosystemapi class method)": [[17, "ape.api.networks.EcosystemAPI.encode_address", false]], "encode_calldata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_calldata", false]], "encode_contract_blueprint() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_contract_blueprint", false]], "encode_deployment() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_deployment", false]], "encode_input() (ape.utils.abi.structparser method)": [[24, "ape.utils.abi.StructParser.encode_input", false]], "encode_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_transaction", false]], "end_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.end_lineno", false]], "engines (ape.managers.query.querymanager property)": [[21, "ape.managers.query.QueryManager.engines", false]], "enrich_error() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.enrich_error", false]], "enrich_error() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.enrich_error", false]], "enrich_trace() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.enrich_trace", false]], "estimate_gas_cost() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.estimate_gas_cost", false]], "estimate_query() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.estimate_query", false]], "estimate_query() (ape.managers.query.defaultqueryprovider method)": [[21, "ape.managers.query.DefaultQueryProvider.estimate_query", false]], "estimate_query() (ape_node.otterscanqueryengine method)": [[14, "ape_node.OtterscanQueryEngine.estimate_query", false]], "ethereum (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.ethereum", false]], "ethereumnetworkconfig (class in ape_node)": [[14, "ape_node.EthereumNetworkConfig", false]], "ethereumnodeconfig (class in ape_node)": [[14, "ape_node.EthereumNodeConfig", false]], "events (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.events", false]], "exclusions (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.exclusions", false]], "executable (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.executable", false]], "execution (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.execution", false]], "existing_alias_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.existing_alias_argument", false]], "expand_environment_variables() (in module ape.utils.os)": [[24, "ape.utils.os.expand_environment_variables", false]], "explorer (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.explorer", false]], "explorerapi (class in ape.api.explorers)": [[17, "ape.api.explorers.ExplorerAPI", false]], "explorerplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.ExplorerPlugin", false]], "explorers() (ape.plugins.network.explorerplugin method)": [[22, "ape.plugins.network.ExplorerPlugin.explorers", false]], "extend() (ape.types.trace.controlflow method)": [[23, "ape.types.trace.ControlFlow.extend", false]], "extend() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.extend", false]], "extend_last() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.extend_last", false]], "extraattributesmixin (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ExtraAttributesMixin", false]], "extract_archive() (in module ape.utils.os)": [[24, "ape.utils.os.extract_archive", false]], "extract_config() (ape.api.projects.apeproject method)": [[17, "ape.api.projects.ApeProject.extract_config", false]], "extract_config() (ape.api.projects.projectapi method)": [[17, "ape.api.projects.ProjectAPI.extract_config", false]], "extract_config() (ape.managers.config.configmanager class method)": [[21, "ape.managers.config.ConfigManager.extract_config", false]], "extract_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.extract_manifest", false]], "extract_nested_value() (in module ape.utils.misc)": [[24, "ape.utils.misc.extract_nested_value", false]], "extramodelattributes (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ExtraModelAttributes", false]], "factory (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.factory", false]], "failed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.failed", false]], "fee_token_decimals (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.fee_token_decimals", false]], "fee_token_symbol (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.fee_token_symbol", false]], "fetch() (ape.api.projects.dependencyapi method)": [[17, "ape.api.projects.DependencyAPI.fetch", false]], "file_paths": [[1, "cmdoption-compile-arg-FILE_PATHS", false]], "flatten_contract() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.flatten_contract", false]], "flatten_contract() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.flatten_contract", false]], "fork() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.fork", false]], "forkednetworkapi (class in ape.api.networks)": [[17, "ape.api.networks.ForkedNetworkAPI", false]], "format() (ape.types.trace.controlflow method)": [[23, "ape.types.trace.ControlFlow.format", false]], "format() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.format", false]], "from_error() (ape.exceptions.contractlogicerror class method)": [[20, "ape.exceptions.ContractLogicError.from_error", false]], "from_event() (ape.types.events.logfilter class method)": [[23, "ape.types.events.LogFilter.from_event", false]], "from_manifest() (ape.managers.project.projectmanager class method)": [[21, "ape.managers.project.ProjectManager.from_manifest", false]], "from_python_library() (ape.managers.project.projectmanager class method)": [[21, "ape.managers.project.ProjectManager.from_python_library", false]], "from_receipt() (ape.api.query.contractcreation class method)": [[17, "ape.api.query.ContractCreation.from_receipt", false]], "from_receipt() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.from_receipt", false]], "from_receipt() (ape.contracts.base.contractinstance class method)": [[19, "ape.contracts.base.ContractInstance.from_receipt", false]], "full_name (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.full_name", false]], "function_hits (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.function_hits", false]], "function_hits (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.function_hits", false]], "function_hits (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.function_hits", false]], "function_hits (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.function_hits", false]], "function_rate (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.function_rate", false]], "function_rate (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.function_rate", false]], "function_rate (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.function_rate", false]], "function_rate (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.function_rate", false]], "functioncoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.FunctionCoverage", false]], "functions (ape.types.coverage.contractcoverage attribute)": [[23, "ape.types.coverage.ContractCoverage.functions", false]], "gas_cost (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.GAS_COST", false]], "gas_estimation_error_message() (in module ape.utils.misc)": [[24, "ape.utils.misc.gas_estimation_error_message", false]], "gas_price (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.gas_price", false]], "gas_price (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.gas_price", false]], "gaslimit (in module ape.types.gas)": [[23, "ape.types.gas.GasLimit", false]], "gasreport (in module ape.types.trace)": [[23, "ape.types.trace.GasReport", false]], "generate_account() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.generate_account", false]], "generate_dev_accounts() (in module ape.utils.testing)": [[24, "ape.utils.testing.generate_dev_accounts", false]], "generateddevaccount (class in ape.utils.testing)": [[24, "ape.utils.testing.GeneratedDevAccount", false]], "genericconfig (class in ape.api.config)": [[17, "ape.api.config.GenericConfig", false]], "get() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get", false]], "get() (ape.managers.project.contractmanager method)": [[21, "ape.managers.project.ContractManager.get", false]], "get() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.get", false]], "get() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.get", false]], "get() (ape.utils.basemodel.extramodelattributes method)": [[24, "ape.utils.basemodel.ExtraModelAttributes.get", false]], "get_accounts_by_type() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.get_accounts_by_type", false]], "get_address_url() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_address_url", false]], "get_all_files_in_directory() (in module ape.utils.os)": [[24, "ape.utils.os.get_all_files_in_directory", false]], "get_api_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_api_path", false]], "get_balance() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_balance", false]], "get_block() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_block", false]], "get_blueprint() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_blueprint", false]], "get_code() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_code", false]], "get_compiler_settings() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_compiler_settings", false]], "get_config() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_config", false]], "get_container() (ape.managers.chain.contractcache class method)": [[21, "ape.managers.chain.ContractCache.get_container", false]], "get_contract_logs() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_contract_logs", false]], "get_contract_type() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_contract_type", false]], "get_creation_metadata() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_creation_metadata", false]], "get_current_timestamp_ms() (in module ape.utils.misc)": [[24, "ape.utils.misc.get_current_timestamp_ms", false]], "get_custom_error() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_custom_error", false]], "get_dependency() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_dependency", false]], "get_deployments() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_deployments", false]], "get_ecosystem() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_ecosystem", false]], "get_error_by_signature() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.get_error_by_signature", false]], "get_event_by_signature() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.get_event_by_signature", false]], "get_full_extension() (in module ape.utils.os)": [[24, "ape.utils.os.get_full_extension", false]], "get_html() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.get_html", false]], "get_imports() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_imports", false]], "get_imports() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_imports", false]], "get_manifest_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_manifest_path", false]], "get_metavar() (ape.cli.choices.networkchoice method)": [[18, "ape.cli.choices.NetworkChoice.get_metavar", false]], "get_method_selector() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_method_selector", false]], "get_multiple() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_multiple", false]], "get_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_network", false]], "get_network_choices() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_network_choices", false]], "get_network_data() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_network_data", false]], "get_nonce() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_nonce", false]], "get_package_path() (in module ape.utils.os)": [[24, "ape.utils.os.get_package_path", false]], "get_package_version() (in module ape.utils.misc)": [[24, "ape.utils.misc.get_package_version", false]], "get_project_dependencies() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_project_dependencies", false]], "get_project_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_project_path", false]], "get_project_versions_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_project_versions_path", false]], "get_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.get_provider", false]], "get_provider_from_choice() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_provider_from_choice", false]], "get_proxy_info() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_proxy_info", false]], "get_proxy_info() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_proxy_info", false]], "get_python_types() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_python_types", false]], "get_receipt() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_receipt", false]], "get_receipt() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.get_receipt", false]], "get_references() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_references", false]], "get_relative_path() (in module ape.utils.os)": [[24, "ape.utils.os.get_relative_path", false]], "get_request_headers() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_request_headers", false]], "get_storage() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_storage", false]], "get_test_account() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.get_test_account", false]], "get_test_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_test_account", false]], "get_test_account() (ape_node.gethdev method)": [[14, "ape_node.GethDev.get_test_account", false]], "get_transaction_trace() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transaction_trace", false]], "get_transaction_url() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_transaction_url", false]], "get_transactions_by_account_nonce() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transactions_by_account_nonce", false]], "get_transactions_by_block() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transactions_by_block", false]], "get_version_map() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_version_map", false]], "get_versions() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_versions", false]], "get_versions() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_versions", false]], "get_virtual_machine_error() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_virtual_machine_error", false]], "get_xml() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.get_xml", false]], "gethdev (class in ape_node)": [[14, "ape_node.GethDev", false]], "global_config (ape.managers.config.configmanager property)": [[21, "ape.managers.config.ConfigManager.global_config", false]], "handle_ape_exception() (in module ape.exceptions)": [[20, "ape.exceptions.handle_ape_exception", false]], "hash (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.hash", false]], "head (ape.managers.chain.blockcontainer property)": [[21, "ape.managers.chain.BlockContainer.head", false]], "header (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.header", false]], "height (ape.managers.chain.blockcontainer property)": [[21, "ape.managers.chain.BlockContainer.height", false]], "hexaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexAddressConverter", false]], "hexconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexConverter", false]], "hexint (in module ape.types.basic)": [[23, "ape.types.basic.HexInt", false]], "hexintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexIntConverter", false]], "hexiterableconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexIterableConverter", false]], "history (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.history", false]], "history (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.history", false]], "hit_count (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.hit_count", false]], "hit_count (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.hit_count", false]], "http_uri (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.http_uri", false]], "identifier_lookup (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.identifier_lookup", false]], "impersonate_account() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.impersonate_account", false]], "impersonatedaccount (class in ape.api.accounts)": [[17, "ape.api.accounts.ImpersonatedAccount", false]], "in_tempdir (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.in_tempdir", false]], "in_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.in_tempdir", false]], "include() (ape.types.coverage.contractsourcecoverage method)": [[23, "ape.types.coverage.ContractSourceCoverage.include", false]], "include_getattr (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.include_getattr", false]], "include_getitem (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.include_getitem", false]], "incompatible_with() (in module ape.cli.options)": [[18, "ape.cli.options.incompatible_with", false]], "info (ape.contracts.base.contractevent property)": [[19, "ape.contracts.base.ContractEvent.info", false]], "init command line option": [[3, "cmdoption-init-github", false], [3, "cmdoption-init-name", false], [3, "cmdoption-init-v", false]], "init_coverage_profile() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.init_coverage_profile", false]], "inject() (ape_ethereum.multicall.basemulticall class method)": [[13, "ape_ethereum.multicall.BaseMulticall.inject", false]], "injected_before_use (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.injected_before_use", false]], "inputs (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.INPUTS", false]], "install() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.install", false]], "install() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.install", false]], "installed (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.installed", false]], "installed (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.installed", false]], "instance_at() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.instance_at", false]], "instance_from_receipt() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.instance_from_receipt", false]], "instance_map (ape.managers.project.deploymentmanager property)": [[21, "ape.managers.project.DeploymentManager.instance_map", false]], "intaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.IntAddressConverter", false]], "interfaces_folder (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.interfaces_folder", false]], "interfaces_folder (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.interfaces_folder", false]], "invoke() (ape.cli.commands.connectedprovidercommand method)": [[18, "ape.cli.commands.ConnectedProviderCommand.invoke", false]], "invoke_transaction() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.invoke_transaction", false]], "ipc_path (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.ipc_path", false]], "is_adhoc (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_adhoc", false]], "is_array() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_array", false]], "is_compiled (ape.managers.project.project property)": [[21, "ape.managers.project.Project.is_compiled", false]], "is_connected (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.is_connected", false]], "is_contract (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.is_contract", false]], "is_convertible() (ape.api.convert.converterapi method)": [[17, "ape.api.convert.ConverterAPI.is_convertible", false]], "is_convertible() (ape.managers.converters.accountintconverter method)": [[21, "ape.managers.converters.AccountIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.addressapiconverter method)": [[21, "ape.managers.converters.AddressAPIConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.bytesaddressconverter method)": [[21, "ape.managers.converters.BytesAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexaddressconverter method)": [[21, "ape.managers.converters.HexAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexconverter method)": [[21, "ape.managers.converters.HexConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexintconverter method)": [[21, "ape.managers.converters.HexIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexiterableconverter method)": [[21, "ape.managers.converters.HexIterableConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.intaddressconverter method)": [[21, "ape.managers.converters.IntAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.stringdecimalconverter method)": [[21, "ape.managers.converters.StringDecimalConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.stringintconverter method)": [[21, "ape.managers.converters.StringIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.timestampconverter method)": [[21, "ape.managers.converters.TimestampConverter.is_convertible", false]], "is_dev (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_dev", false]], "is_evm_precompile() (in module ape.utils.misc)": [[24, "ape.utils.misc.is_evm_precompile", false]], "is_excluded() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.is_excluded", false]], "is_fork (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_fork", false]], "is_local (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_local", false]], "is_mainnet (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_mainnet", false]], "is_named_tuple() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_named_tuple", false]], "is_relative_to() (in module ape.utils.os)": [[24, "ape.utils.os.is_relative_to", false]], "is_struct() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_struct", false]], "is_type() (ape.managers.converters.conversionmanager method)": [[21, "ape.managers.converters.ConversionManager.is_type", false]], "is_valid (ape.api.projects.apeproject property)": [[17, "ape.api.projects.ApeProject.is_valid", false]], "is_valid (ape.api.projects.projectapi property)": [[17, "ape.api.projects.ProjectAPI.is_valid", false]], "is_zero_hex() (in module ape.utils.misc)": [[24, "ape.utils.misc.is_zero_hex", false]], "isolate() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.isolate", false]], "isolate_data_folder() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.isolate_data_folder", false]], "isolate_in_tempdir() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.isolate_in_tempdir", false]], "isolate_in_tempdir() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.isolate_in_tempdir", false]], "items() (ape.utils.abi.struct method)": [[24, "ape.utils.abi.Struct.items", false]], "join() (ape.utils.process.joinablequeue method)": [[24, "ape.utils.process.JoinableQueue.join", false]], "joinablequeue (class in ape.utils.process)": [[24, "ape.utils.process.JoinableQueue", false]], "json (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.JSON", false]], "last (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.last", false]], "lazychoice (class in ape.cli.choices)": [[18, "ape.cli.choices.LazyChoice", false]], "line_numbers (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.line_numbers", false]], "line_rate (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.line_rate", false]], "line_rate (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.line_rate", false]], "line_rate (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.line_rate", false]], "line_rate (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.line_rate", false]], "line_rate (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.line_rate", false]], "lines_covered (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.lines_covered", false]], "lines_covered (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.lines_covered", false]], "lines_covered (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.lines_covered", false]], "lines_covered (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.lines_covered", false]], "lines_covered (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.lines_covered", false]], "lines_valid (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.lines_valid", false]], "lines_valid (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.lines_valid", false]], "lines_valid (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.lines_valid", false]], "lines_valid (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.lines_valid", false]], "lines_valid (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.lines_valid", false]], "load() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.load", false]], "load_config() (in module ape.utils.misc)": [[24, "ape.utils.misc.load_config", false]], "load_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.load_manifest", false]], "localproject (class in ape.managers.project)": [[21, "ape.managers.project.LocalProject", false]], "location (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.location", false]], "log_index (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.log_index", false]], "log_instead_of_fail() (in module ape.utils.misc)": [[24, "ape.utils.misc.log_instead_of_fail", false]], "logfilter (class in ape.types.events)": [[23, "ape.types.events.LogFilter", false]], "lookup() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.lookup", false]], "make_request() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.make_request", false]], "manager_access (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.manager_access", false]], "manageraccessmixin (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ManagerAccessMixin", false]], "manifest_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.manifest_path", false]], "max_gas (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.max_gas", false]], "messagesignature (class in ape.types.signatures)": [[23, "ape.types.signatures.MessageSignature", false]], "meta (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.meta", false]], "meta (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.meta", false]], "method_called (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.method_called", false]], "methodnonpayableerror": [[20, "ape.exceptions.MethodNonPayableError", false]], "methods (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.METHODS", false]], "mine() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.mine", false]], "mine() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.mine", false]], "mine() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.mine", false]], "mine() (ape_node.gethdev method)": [[14, "ape_node.GethDev.mine", false]], "miss_count (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.miss_count", false]], "miss_count (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.miss_count", false]], "miss_count (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.miss_count", false]], "miss_count (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.miss_count", false]], "miss_count (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.miss_count", false]], "missingdeploymentbytecodeerror": [[20, "ape.exceptions.MissingDeploymentBytecodeError", false]], "mockcontractlog (class in ape.types.events)": [[23, "ape.types.events.MockContractLog", false]], "model_copy() (ape.utils.basemodel.basemodel method)": [[24, "ape.utils.basemodel.BaseModel.model_copy", false]], "model_dump() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.model_dump", false]], "model_dump() (ape.types.coverage.contractcoverage method)": [[23, "ape.types.coverage.ContractCoverage.model_dump", false]], "model_dump() (ape.types.coverage.contractsourcecoverage method)": [[23, "ape.types.coverage.ContractSourceCoverage.model_dump", false]], "model_dump() (ape.types.coverage.coverageproject method)": [[23, "ape.types.coverage.CoverageProject.model_dump", false]], "model_dump() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.model_dump", false]], "model_dump() (ape.types.coverage.functioncoverage method)": [[23, "ape.types.coverage.FunctionCoverage.model_dump", false]], "model_dump() (ape.types.events.logfilter method)": [[23, "ape.types.events.LogFilter.model_dump", false]], "module": [[11, "module-ape_accounts", false], [12, "module-ape_compile", false], [13, "module-ape_ethereum", false], [13, "module-ape_ethereum.multicall", false], [14, "module-ape_node", false], [15, "module-ape_pm", false], [16, "module-ape_test", false], [17, "module-ape.api.accounts", false], [17, "module-ape.api.address", false], [17, "module-ape.api.compiler", false], [17, "module-ape.api.config", false], [17, "module-ape.api.convert", false], [17, "module-ape.api.explorers", false], [17, "module-ape.api.networks", false], [17, "module-ape.api.projects", false], [17, "module-ape.api.providers", false], [17, "module-ape.api.query", false], [18, "module-ape.cli.arguments", false], [18, "module-ape.cli.choices", false], [18, "module-ape.cli.commands", false], [18, "module-ape.cli.options", false], [18, "module-ape.cli.paramtype", false], [20, "module-ape.exceptions", false], [21, "module-ape.managers.accounts", false], [21, "module-ape.managers.compilers", false], [21, "module-ape.managers.config", false], [21, "module-ape.managers.converters", false], [21, "module-ape.managers.networks", false], [21, "module-ape.managers.project", false], [21, "module-ape.managers.query", false], [22, "module-ape.plugins", false], [22, "module-ape.plugins.account", false], [22, "module-ape.plugins.compiler", false], [22, "module-ape.plugins.config", false], [22, "module-ape.plugins.converter", false], [22, "module-ape.plugins.network", false], [22, "module-ape.plugins.pluggy_patch", false], [22, "module-ape.plugins.project", false], [22, "module-ape.plugins.query", false], [23, "module-ape.types.address", false], [23, "module-ape.types.basic", false], [23, "module-ape.types.coverage", false], [23, "module-ape.types.events", false], [23, "module-ape.types.gas", false], [23, "module-ape.types.trace", false], [23, "module-ape.types.units", false], [23, "module-ape.types.vm", false], [24, "module-ape.utils.abi", false], [24, "module-ape.utils.basemodel", false], [24, "module-ape.utils.misc", false], [24, "module-ape.utils.os", false], [24, "module-ape.utils.process", false], [24, "module-ape.utils.rpc", false], [24, "module-ape.utils.testing", false], [24, "module-ape.utils.trace", false]], "multiplier (ape.types.gas.autogaslimit attribute)": [[23, "ape.types.gas.AutoGasLimit.multiplier", false]], "name": [[6, "cmdoption-pm-compile-arg-NAME", false], [6, "cmdoption-pm-uninstall-arg-NAME", false]], "name (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.name", false]], "name (ape.api.compiler.compilerapi property)": [[17, "ape.api.compiler.CompilerAPI.name", false]], "name (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.name", false]], "name (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.name", false]], "name (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.name", false]], "name (ape.api.projects.dependencyapi attribute)": [[17, "ape.api.projects.DependencyAPI.name", false]], "name (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.name", false]], "name (ape.cli.choices.alias attribute)": [[18, "ape.cli.choices.Alias.name", false]], "name (ape.contracts.base.contractevent property)": [[19, "ape.contracts.base.ContractEvent.name", false]], "name (ape.exceptions.customerror property)": [[20, "ape.exceptions.CustomError.name", false]], "name (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.name", false]], "name (ape.types.coverage.contractcoverage attribute)": [[23, "ape.types.coverage.ContractCoverage.name", false]], "name (ape.types.coverage.coverageproject attribute)": [[23, "ape.types.coverage.CoverageProject.name", false]], "name (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.name", false]], "name (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.name", false]], "name (ape_node.gethdev attribute)": [[14, "ape_node.GethDev.name", false]], "network (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.network", false]], "network (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network", false]], "network_choice (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.network_choice", false]], "network_data (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network_data", false]], "network_id (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.network_id", false]], "network_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network_names", false]], "network_option() (in module ape.cli.options)": [[18, "ape.cli.options.network_option", false]], "networkapi (class in ape.api.networks)": [[17, "ape.api.networks.NetworkAPI", false]], "networkchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.NetworkChoice", false]], "networkerror": [[20, "ape.exceptions.NetworkError", false]], "networkmanager (class in ape.managers.networks)": [[21, "ape.managers.networks.NetworkManager", false]], "networkmismatcherror": [[20, "ape.exceptions.NetworkMismatchError", false]], "networknotfounderror": [[20, "ape.exceptions.NetworkNotFoundError", false]], "networkoption (class in ape.cli.options)": [[18, "ape.cli.options.NetworkOption", false]], "networkplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.NetworkPlugin", false]], "networks (ape attribute)": [[10, "ape.networks", false]], "networks (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.networks", false]], "networks() (ape.plugins.network.networkplugin method)": [[22, "ape.plugins.network.NetworkPlugin.networks", false]], "networks-list command line option": [[4, "cmdoption-networks-list-ecosystem", false], [4, "cmdoption-networks-list-format", false], [4, "cmdoption-networks-list-network", false], [4, "cmdoption-networks-list-provider", false], [4, "cmdoption-networks-list-v", false]], "networks-run command line option": [[4, "cmdoption-networks-run-network", false], [4, "cmdoption-networks-run-v", false]], "next_statement (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.next_statement", false]], "node (class in ape_node)": [[14, "ape_node.Node", false]], "non_existing_alias_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.non_existing_alias_argument", false]], "nonce (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.nonce", false]], "noop (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.Noop", false]], "num_transactions (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.num_transactions", false]], "number (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.number", false]], "otterscanqueryengine (class in ape_node)": [[14, "ape_node.OtterscanQueryEngine", false]], "outgoing (ape.managers.chain.accounthistory property)": [[21, "ape.managers.chain.AccountHistory.outgoing", false]], "outofgaserror": [[20, "ape.exceptions.OutOfGasError", false]], "output_format_choice() (in module ape.cli.choices)": [[18, "ape.cli.choices.output_format_choice", false]], "output_format_option() (in module ape.cli.options)": [[18, "ape.cli.options.output_format_option", false]], "outputformat (class in ape.cli.choices)": [[18, "ape.cli.choices.OutputFormat", false]], "outputs (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.OUTPUTS", false]], "package": [[6, "cmdoption-pm-install-arg-PACKAGE", false]], "package_id (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.package_id", false]], "package_id (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.package_id", false]], "packages_cache (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.packages_cache", false]], "packagescache (class in ape.managers.project)": [[21, "ape.managers.project.PackagesCache", false]], "parent_hash (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.parent_hash", false]], "parse_args() (ape.cli.commands.connectedprovidercommand method)": [[18, "ape.cli.commands.ConnectedProviderCommand.parse_args", false]], "parse_network_choice() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.parse_network_choice", false]], "path (ape.api.projects.projectapi attribute)": [[17, "ape.api.projects.ProjectAPI.path", false]], "path (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.path", false]], "path (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.Path", false]], "path_match() (in module ape.utils.os)": [[24, "ape.utils.os.path_match", false]], "paths (ape.managers.project.sourcemanager property)": [[21, "ape.managers.project.SourceManager.paths", false]], "pcs (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.pcs", false]], "pending_timestamp (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.pending_timestamp", false]], "perform_query() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.perform_query", false]], "perform_query() (ape.managers.query.defaultqueryprovider method)": [[21, "ape.managers.query.DefaultQueryProvider.perform_query", false]], "perform_query() (ape_node.otterscanqueryengine method)": [[14, "ape_node.OtterscanQueryEngine.perform_query", false]], "plugin-names": [[5, "cmdoption-plugins-install-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", false]], "plugin_manager (in module ape.plugins.pluggy_patch)": [[22, "ape.plugins.pluggy_patch.plugin_manager", false]], "pluginconfig (class in ape.api.config)": [[17, "ape.api.config.PluginConfig", false]], "plugininstallerror": [[20, "ape.exceptions.PluginInstallError", false]], "plugins-change-version command line option": [[5, "cmdoption-plugins-change-version-arg-VERSION", false]], "plugins-install command line option": [[5, "cmdoption-plugins-install-U", false], [5, "cmdoption-plugins-install-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-install-y", false]], "plugins-list command line option": [[5, "cmdoption-plugins-list-a", false], [5, "cmdoption-plugins-list-v", false]], "plugins-uninstall command line option": [[5, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-uninstall-v", false], [5, "cmdoption-plugins-uninstall-y", false]], "plugintype (class in ape.plugins.pluggy_patch)": [[22, "ape.plugins.pluggy_patch.PluginType", false]], "pluginversionerror": [[20, "ape.exceptions.PluginVersionError", false]], "pm-compile command line option": [[6, "cmdoption-pm-compile-arg-NAME", false], [6, "cmdoption-pm-compile-config-override", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-compile-version", false]], "pm-install command line option": [[6, "cmdoption-pm-install-arg-PACKAGE", false], [6, "cmdoption-pm-install-config-override", false], [6, "cmdoption-pm-install-f", false], [6, "cmdoption-pm-install-name", false], [6, "cmdoption-pm-install-ref", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-install-version", false]], "pm-list command line option": [[6, "cmdoption-pm-list-all", false], [6, "cmdoption-pm-list-v", false]], "pm-uninstall command line option": [[6, "cmdoption-pm-uninstall-arg-NAME", false], [6, "cmdoption-pm-uninstall-arg-VERSIONS", false], [6, "cmdoption-pm-uninstall-v", false], [6, "cmdoption-pm-uninstall-y", false]], "poll_blocks() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.poll_blocks", false]], "poll_blocks() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.poll_blocks", false]], "poll_logs() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.poll_logs", false]], "poll_logs() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.poll_logs", false]], "pragma_str_to_specifier_set() (in module ape.utils.misc)": [[24, "ape.utils.misc.pragma_str_to_specifier_set", false]], "prepare_transaction() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.prepare_transaction", false]], "prepare_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.prepare_transaction", false]], "print_choices() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.print_choices", false]], "print_choices() (ape.cli.choices.promptchoice method)": [[18, "ape.cli.choices.PromptChoice.print_choices", false]], "priority_fee (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.priority_fee", false]], "private_key (ape.utils.testing.generateddevaccount attribute)": [[24, "ape.utils.testing.GeneratedDevAccount.private_key", false]], "process_name (ape.api.providers.subprocessprovider property)": [[17, "ape.api.providers.SubprocessProvider.process_name", false]], "process_name (ape_node.gethdev property)": [[14, "ape_node.GethDev.process_name", false]], "profile_statement() (ape.types.coverage.functioncoverage method)": [[23, "ape.types.coverage.FunctionCoverage.profile_statement", false]], "project (ape attribute)": [[10, "ape.project", false]], "project (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.project", false]], "project (ape.utils.basemodel.manageraccessmixin attribute)": [[24, "ape.utils.basemodel.ManagerAccessMixin.Project", false]], "project (class in ape.managers.project)": [[21, "ape.managers.project.Project", false]], "project_api (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.project_api", false]], "project_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.project_path", false]], "projectapi (class in ape.api.projects)": [[17, "ape.api.projects.ProjectAPI", false]], "projecterror": [[20, "ape.exceptions.ProjectError", false]], "projectmanager (class in ape.managers.project)": [[21, "ape.managers.project.ProjectManager", false]], "projectplugin (class in ape.plugins.project)": [[22, "ape.plugins.project.ProjectPlugin", false]], "projects (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.projects", false]], "projects() (ape.plugins.project.projectplugin method)": [[22, "ape.plugins.project.ProjectPlugin.projects", false]], "promptchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.PromptChoice", false]], "provider_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.provider_names", false]], "provider_settings (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.provider_settings", false]], "providerapi (class in ape.api.providers)": [[17, "ape.api.providers.ProviderAPI", false]], "providercontextmanager (class in ape.api.networks)": [[17, "ape.api.networks.ProviderContextManager", false]], "providererror": [[20, "ape.exceptions.ProviderError", false]], "providernotconnectederror": [[20, "ape.exceptions.ProviderNotConnectedError", false]], "providernotfounderror": [[20, "ape.exceptions.ProviderNotFoundError", false]], "providerplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.ProviderPlugin", false]], "providers (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.providers", false]], "providers() (ape.plugins.network.providerplugin method)": [[22, "ape.plugins.network.ProviderPlugin.providers", false]], "proxyinfoapi (class in ape.api.networks)": [[17, "ape.api.networks.ProxyInfoAPI", false]], "publish_contract() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.publish_contract", false]], "publish_contract() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.publish_contract", false]], "pytest_args": [[8, "cmdoption-test-arg-PYTEST_ARGS", false]], "query() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.query", false]], "query() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.query", false]], "query() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.query", false]], "query() (ape.managers.query.querymanager method)": [[21, "ape.managers.query.QueryManager.query", false]], "query_engines() (ape.plugins.query.queryplugin method)": [[22, "ape.plugins.query.QueryPlugin.query_engines", false]], "queryapi (class in ape.api.query)": [[17, "ape.api.query.QueryAPI", false]], "queryengineerror": [[20, "ape.exceptions.QueryEngineError", false]], "querymanager (class in ape.managers.query)": [[21, "ape.managers.query.QueryManager", false]], "queryplugin (class in ape.plugins.query)": [[22, "ape.plugins.query.QueryPlugin", false]], "raise_for_status() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.raise_for_status", false]], "raises_not_implemented() (in module ape.utils.misc)": [[24, "ape.utils.misc.raises_not_implemented", false]], "ran_out_of_gas (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.ran_out_of_gas", false]], "range() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.range", false]], "range() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.range", false]], "raw_address (ape.api.accounts.impersonatedaccount attribute)": [[17, "ape.api.accounts.ImpersonatedAccount.raw_address", false]], "rawaddress (in module ape.types.address)": [[23, "ape.types.address.RawAddress", false]], "receipt (ape.api.query.contractcreation property)": [[17, "ape.api.query.ContractCreation.receipt", false]], "receipt (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.receipt", false]], "receiptapi (class in ape.api.transactions)": [[17, "ape.api.transactions.ReceiptAPI", false]], "reconfigure() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.reconfigure", false]], "recover_signer() (ape.types.signatures method)": [[23, "ape.types.signatures.recover_signer", false]], "refresh() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.refresh", false]], "refresh_sources() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.refresh_sources", false]], "register() (ape.utils.misc.singledispatchmethod method)": [[24, "ape.utils.misc.singledispatchmethod.register", false]], "register() (in module ape.plugins)": [[22, "ape.plugins.register", false]], "register_compiler() (ape.plugins.compiler.compilerplugin method)": [[22, "ape.plugins.compiler.CompilerPlugin.register_compiler", false]], "registered_compilers (ape.managers.compilers.compilermanager property)": [[21, "ape.managers.compilers.CompilerManager.registered_compilers", false]], "reload_config() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.reload_config", false]], "relock_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.relock_account", false]], "remove() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.remove", false]], "request_header (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.request_header", false]], "request_header (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.request_header", false]], "request_header (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.request_header", false]], "request_headers (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.request_headers", false]], "request_headers (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.request_headers", false]], "required_confirmations (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.required_confirmations", false]], "reset() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.reset", false]], "restore() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.restore", false]], "restore() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.restore", false]], "restore() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.restore", false]], "restore() (ape_node.gethdev method)": [[14, "ape_node.GethDev.restore", false]], "return_value (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.return_value", false]], "returns_array() (in module ape.utils.abi)": [[24, "ape.utils.abi.returns_array", false]], "revert_to_block() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.revert_to_block", false]], "revert_to_block() (ape.managers.chain.transactionhistory method)": [[21, "ape.managers.chain.TransactionHistory.revert_to_block", false]], "revert_type (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.revert_type", false]], "rpcheaders (class in ape.utils.rpc)": [[24, "ape.utils.rpc.RPCHeaders", false]], "rpctimeouterror": [[20, "ape.exceptions.RPCTimeoutError", false]], "run command line option": [[7, "cmdoption-run-I", false]], "run_in_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.run_in_tempdir", false]], "run_until_complete() (in module ape.utils.misc)": [[24, "ape.utils.misc.run_until_complete", false]], "select_account() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.select_account", false]], "select_account() (in module ape.cli.choices)": [[18, "ape.cli.choices.select_account", false]], "selector_identifiers (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.selector_identifiers", false]], "send_call() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_call", false]], "send_private_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_private_transaction", false]], "send_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_transaction", false]], "send_transaction() (ape_node.node method)": [[14, "ape_node.Node.send_transaction", false]], "serialize_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.serialize_transaction", false]], "serialize_transaction() (ape.api.transactions.transactionapi method)": [[17, "ape.api.transactions.TransactionAPI.serialize_transaction", false]], "sessional (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.sessional", false]], "set_balance() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_balance", false]], "set_code() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_code", false]], "set_default_ecosystem() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.set_default_ecosystem", false]], "set_default_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.set_default_network", false]], "set_default_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.set_default_provider", false]], "set_storage() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_storage", false]], "set_timestamp() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_timestamp", false]], "set_timestamp() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.set_timestamp", false]], "set_timestamp() (ape_node.gethdev method)": [[14, "ape_node.GethDev.set_timestamp", false]], "settings (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.settings", false]], "show() (ape.exceptions.abort method)": [[20, "ape.exceptions.Abort.show", false]], "show_debug_logs() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_debug_logs", false]], "show_events() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_events", false]], "show_gas_report() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_gas_report", false]], "show_source_traceback() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_source_traceback", false]], "show_trace() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_trace", false]], "sign_message() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_message", false]], "sign_message() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.sign_message", false]], "sign_raw_msghash() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_raw_msghash", false]], "sign_transaction() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_transaction", false]], "sign_transaction() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.sign_transaction", false]], "signablemessage (class in ape.types.signatures)": [[23, "ape.types.signatures.SignableMessage", false]], "signatureerror": [[20, "ape.exceptions.SignatureError", false]], "singledispatchmethod (class in ape.utils.misc)": [[24, "ape.utils.misc.singledispatchmethod", false]], "size (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.size", false]], "skip_confirmation_option() (in module ape.cli.options)": [[18, "ape.cli.options.skip_confirmation_option", false]], "snapshot() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.snapshot", false]], "snapshot() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.snapshot", false]], "snapshot() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.snapshot", false]], "snapshot() (ape_node.gethdev method)": [[14, "ape_node.GethDev.snapshot", false]], "snapshotid (in module ape.types.vm)": [[23, "ape.types.vm.SnapshotID", false]], "source_folders (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.source_folders", false]], "source_id (ape.types.coverage.contractsourcecoverage attribute)": [[23, "ape.types.coverage.ContractSourceCoverage.source_id", false]], "source_path (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.source_path", false]], "source_path (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.source_path", false]], "source_statements (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.source_statements", false]], "source_statements (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.source_statements", false]], "source_traceback (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.source_traceback", false]], "sourcemanager (class in ape.managers.project)": [[21, "ape.managers.project.SourceManager", false]], "sources (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.sources", false]], "sources (ape.types.coverage.coverageproject attribute)": [[23, "ape.types.coverage.CoverageProject.sources", false]], "sources (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.sources", false]], "sourcetraceback (class in ape.types.trace)": [[23, "ape.types.trace.SourceTraceback", false]], "spawn() (in module ape.utils.process)": [[24, "ape.utils.process.spawn", false]], "specified (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.specified", false]], "start() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.start", false]], "start() (ape_node.gethdev method)": [[14, "ape_node.GethDev.start", false]], "statements (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.statements", false]], "statements (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.statements", false]], "statements (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.statements", false]], "statements (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.statements", false]], "statements (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.statements", false]], "statements (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.statements", false]], "statements (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.statements", false]], "stop() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.stop", false]], "stop_impersonating() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.stop_impersonating", false]], "stream_request() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.stream_request", false]], "stream_response() (in module ape.utils.rpc)": [[24, "ape.utils.rpc.stream_response", false]], "stringdecimalconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.StringDecimalConverter", false]], "stringintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.StringIntConverter", false]], "struct (class in ape.utils.abi)": [[24, "ape.utils.abi.Struct", false]], "structparser (class in ape.utils.abi)": [[24, "ape.utils.abi.StructParser", false]], "subprocesserror": [[20, "ape.exceptions.SubprocessError", false]], "subprocessprovider (class in ape.api.providers)": [[17, "ape.api.providers.SubprocessProvider", false]], "subprocesstimeouterror": [[20, "ape.exceptions.SubprocessTimeoutError", false]], "supports_chain() (ape.api.explorers.explorerapi class method)": [[17, "ape.api.explorers.ExplorerAPI.supports_chain", false]], "supports_source_tracing (ape.api.compiler.compilerapi property)": [[17, "ape.api.compiler.CompilerAPI.supports_source_tracing", false]], "supports_tracing (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.supports_tracing", false]], "tag (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.tag", false]], "target (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.target", false]], "test command line option": [[8, "cmdoption-test-arg-PYTEST_ARGS", false], [8, "cmdoption-test-v", false], [8, "cmdoption-test-w", false], [8, "cmdoption-test-watch-delay", false], [8, "cmdoption-test-watch-folders", false]], "test_accounts (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.test_accounts", false]], "testaccountapi (class in ape.api.accounts)": [[17, "ape.api.accounts.TestAccountAPI", false]], "testaccountcontainerapi (class in ape.api.accounts)": [[17, "ape.api.accounts.TestAccountContainerAPI", false]], "testaccountmanager (class in ape.managers.accounts)": [[21, "ape.managers.accounts.TestAccountManager", false]], "testproviderapi (class in ape.api.providers)": [[17, "ape.api.providers.TestProviderAPI", false]], "timestamp (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.timestamp", false]], "timestamp (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.timestamp", false]], "timestamp (ape.types.events.contractlog property)": [[23, "ape.types.events.ContractLog.timestamp", false]], "timestampconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.TimestampConverter", false]], "to_int() (in module ape.utils.misc)": [[24, "ape.utils.misc.to_int", false]], "total_fees_paid (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.total_fees_paid", false]], "total_functions (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.total_functions", false]], "total_functions (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.total_functions", false]], "total_functions (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.total_functions", false]], "total_transfer_value (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.total_transfer_value", false]], "trace (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.trace", false]], "trace (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.trace", false]], "trace_source() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.trace_source", false]], "tracestyles (class in ape.utils.trace)": [[24, "ape.utils.trace.TraceStyles", false]], "track() (ape.managers.project.deploymentmanager method)": [[21, "ape.managers.project.DeploymentManager.track", false]], "track_coverage() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.track_coverage", false]], "track_gas() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.track_gas", false]], "transaction (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.Transaction", false]], "transaction_acceptance_timeout (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.transaction_acceptance_timeout", false]], "transaction_hash (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.transaction_hash", false]], "transaction_index (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.transaction_index", false]], "transactionapi (class in ape.api.transactions)": [[17, "ape.api.transactions.TransactionAPI", false]], "transactionerror": [[20, "ape.exceptions.TransactionError", false]], "transactionhistory (class in ape.managers.chain)": [[21, "ape.managers.chain.TransactionHistory", false]], "transactionnotfounderror": [[20, "ape.exceptions.TransactionNotFoundError", false]], "transactions (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.transactions", false]], "transactionsignature (class in ape.types.signatures)": [[23, "ape.types.signatures.TransactionSignature", false]], "transfer() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.transfer", false]], "tree (ape.cli.choices.outputformat attribute)": [[18, "ape.cli.choices.OutputFormat.TREE", false]], "txn_hash (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.txn_hash", false]], "txn_hash (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.txn_hash", false]], "unknownsnapshoterror": [[20, "ape.exceptions.UnknownSnapshotError", false]], "unknownversionerror": [[20, "ape.exceptions.UnknownVersionError", false]], "unlock_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.unlock_account", false]], "unpack() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.unpack", false]], "unpack() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.unpack", false]], "unpack() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.unpack", false]], "unpack() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.unpack", false]], "update_cache() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.update_cache", false]], "update_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.update_manifest", false]], "update_manifest() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.update_manifest", false]], "update_settings() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.update_settings", false]], "upstream_chain_id (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_chain_id", false]], "upstream_network (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_network", false]], "upstream_provider (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_provider", false]], "upstreamprovider (class in ape.api.providers)": [[17, "ape.api.providers.UpstreamProvider", false]], "uri (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.uri", false]], "uri (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.uri", false]], "uri_map (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.uri_map", false]], "use_default_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.use_default_provider", false]], "use_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.use_provider", false]], "use_temp_sys_path (class in ape.utils.os)": [[24, "ape.utils.os.use_temp_sys_path", false]], "use_upstream_provider() (ape.api.networks.forkednetworkapi method)": [[17, "ape.api.networks.ForkedNetworkAPI.use_upstream_provider", false]], "validate_file() (ape.api.config.apeconfig class method)": [[17, "ape.api.config.ApeConfig.validate_file", false]], "validate_size() (ape.api.providers.blockapi class method)": [[17, "ape.api.providers.BlockAPI.validate_size", false]], "value (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.VALUE", false]], "verbosity_option() (in module ape.cli.options)": [[18, "ape.cli.options.verbosity_option", false]], "verify_chain_id() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.verify_chain_id", false]], "version": [[5, "cmdoption-plugins-change-version-arg-VERSION", false]], "version (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.version", false]], "version (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.version", false]], "version (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.version", false]], "version_id (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.version_id", false]], "versions": [[6, "cmdoption-pm-uninstall-arg-VERSIONS", false]], "virtualmachineerror": [[20, "ape.exceptions.VirtualMachineError", false]], "write_to_disk() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.write_to_disk", false]], "ws_begin_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.ws_begin_lineno", false]], "ws_uri (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.ws_uri", false]], "yaml (ape.cli.choices.outputformat attribute)": [[18, "ape.cli.choices.OutputFormat.YAML", false]]}, "objects": {"": [[11, 2, 0, "-", "ape_accounts"], [12, 2, 0, "-", "ape_compile"], [13, 2, 0, "-", "ape_ethereum"], [14, 2, 0, "-", "ape_node"], [15, 2, 0, "-", "ape_pm"], [16, 2, 0, "-", "ape_test"]], "accounts-change-password": [[0, 8, 1, "cmdoption-accounts-change-password-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-change-password-v", "-v"], [0, 8, 1, "cmdoption-accounts-change-password-arg-ALIAS", "ALIAS"]], "accounts-delete": [[0, 8, 1, "cmdoption-accounts-delete-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-delete-v", "-v"], [0, 8, 1, "cmdoption-accounts-delete-arg-ALIAS", "ALIAS"]], "accounts-export": [[0, 8, 1, "cmdoption-accounts-export-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-export-v", "-v"], [0, 8, 1, "cmdoption-accounts-export-arg-ALIAS", "ALIAS"]], "accounts-generate": [[0, 8, 1, "cmdoption-accounts-generate-hd-path", "--hd-path"], [0, 8, 1, "cmdoption-accounts-generate-hide-mnemonic", "--hide-mnemonic"], [0, 8, 1, "cmdoption-accounts-generate-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-generate-word-count", "--word-count"], [0, 8, 1, "cmdoption-accounts-generate-v", "-v"], [0, 8, 1, "cmdoption-accounts-generate-arg-ALIAS", "ALIAS"]], "accounts-import": [[0, 8, 1, "cmdoption-accounts-import-hd-path", "--hd-path"], [0, 8, 1, "cmdoption-accounts-import-use-mnemonic", "--use-mnemonic"], [0, 8, 1, "cmdoption-accounts-import-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-import-v", "-v"], [0, 8, 1, "cmdoption-accounts-import-arg-ALIAS", "ALIAS"]], "accounts-list": [[0, 8, 1, "cmdoption-accounts-list-all", "--all"], [0, 8, 1, "cmdoption-accounts-list-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-list-v", "-v"]], "ape": [[10, 0, 1, "", "Contract"], [10, 0, 1, "", "Project"], [10, 1, 1, "", "accounts"], [10, 1, 1, "", "chain"], [10, 1, 1, "", "compilers"], [10, 1, 1, "", "config"], [10, 0, 1, "", "convert"], [20, 2, 0, "-", "exceptions"], [10, 1, 1, "", "networks"], [22, 2, 0, "-", "plugins"], [10, 1, 1, "", "project"], [10, 0, 1, "", "reverts"]], "ape.api": [[17, 2, 0, "-", "accounts"], [17, 2, 0, "-", "address"], [17, 2, 0, "-", "compiler"], [17, 2, 0, "-", "config"], [17, 2, 0, "-", "convert"], [17, 2, 0, "-", "explorers"], [17, 2, 0, "-", "networks"], [17, 2, 0, "-", "projects"], [17, 2, 0, "-", "providers"], [17, 2, 0, "-", "query"]], "ape.api.accounts": [[17, 3, 1, "", "AccountAPI"], [17, 3, 1, "", "AccountContainerAPI"], [17, 3, 1, "", "ImpersonatedAccount"], [17, 3, 1, "", "TestAccountAPI"], [17, 3, 1, "", "TestAccountContainerAPI"]], "ape.api.accounts.AccountAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "alias"], [17, 5, 1, "", "call"], [17, 5, 1, "", "check_signature"], [17, 5, 1, "", "declare"], [17, 5, 1, "", "deploy"], [17, 5, 1, "", "prepare_transaction"], [17, 5, 1, "", "sign_message"], [17, 5, 1, "", "sign_raw_msghash"], [17, 5, 1, "", "sign_transaction"], [17, 5, 1, "", "transfer"]], "ape.api.accounts.AccountContainerAPI": [[17, 5, 1, "", "__contains__"], [17, 5, 1, "", "__delitem__"], [17, 5, 1, "", "__getitem__"], [17, 5, 1, "", "__len__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "account_type"], [17, 4, 1, "", "accounts"], [17, 4, 1, "", "aliases"], [17, 5, 1, "", "append"], [17, 4, 1, "", "data_folder"], [17, 1, 1, "", "name"], [17, 5, 1, "", "remove"]], "ape.api.accounts.ImpersonatedAccount": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "address"], [17, 5, 1, "", "call"], [17, 1, 1, "", "raw_address"], [17, 5, 1, "", "sign_message"], [17, 5, 1, "", "sign_transaction"]], "ape.api.accounts.TestAccountAPI": [[17, 1, 1, "", "__signature__"]], "ape.api.accounts.TestAccountContainerAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "generate_account"], [17, 5, 1, "", "get_test_account"], [17, 5, 1, "", "reset"]], "ape.api.address": [[17, 3, 1, "", "Address"], [17, 3, 1, "", "BaseAddress"]], "ape.api.address.Address": [[17, 4, 1, "", "address"]], "ape.api.address.BaseAddress": [[17, 4, 1, "", "address"], [17, 4, 1, "", "balance"], [17, 4, 1, "", "code"], [17, 4, 1, "", "codesize"], [17, 4, 1, "", "history"], [17, 4, 1, "", "is_contract"], [17, 4, 1, "", "nonce"]], "ape.api.compiler": [[17, 3, 1, "", "CompilerAPI"]], "ape.api.compiler.CompilerAPI": [[17, 5, 1, "", "compile"], [17, 5, 1, "", "compile_code"], [17, 1, 1, "", "compiler_settings"], [17, 5, 1, "", "enrich_error"], [17, 5, 1, "", "flatten_contract"], [17, 5, 1, "", "get_compiler_settings"], [17, 5, 1, "", "get_config"], [17, 5, 1, "", "get_imports"], [17, 5, 1, "", "get_version_map"], [17, 5, 1, "", "get_versions"], [17, 5, 1, "", "init_coverage_profile"], [17, 4, 1, "", "name"], [17, 4, 1, "", "supports_source_tracing"], [17, 5, 1, "", "trace_source"]], "ape.api.config": [[17, 3, 1, "", "ApeConfig"], [17, 3, 1, "", "ConfigEnum"], [17, 3, 1, "", "DeploymentConfig"], [17, 3, 1, "", "GenericConfig"], [17, 3, 1, "", "PluginConfig"]], "ape.api.config.ApeConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "__str__"], [17, 1, 1, "", "base_path"], [17, 1, 1, "", "contracts_folder"], [17, 1, 1, "", "default_ecosystem"], [17, 1, 1, "", "dependencies"], [17, 1, 1, "", "deployment_data"], [17, 1, 1, "", "interfaces_folder"], [17, 1, 1, "", "meta"], [17, 5, 1, "", "model_dump"], [17, 1, 1, "", "name"], [17, 1, 1, "", "request_headers"], [17, 5, 1, "", "validate_file"], [17, 1, 1, "", "version"], [17, 5, 1, "", "write_to_disk"]], "ape.api.config.ConfigEnum": [[17, 5, 1, "", "__repr__"], [17, 5, 1, "", "__str__"]], "ape.api.config.DeploymentConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "address"], [17, 1, 1, "", "contract_type"]], "ape.api.config.PluginConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "__str__"]], "ape.api.convert": [[17, 3, 1, "", "ConverterAPI"]], "ape.api.convert.ConverterAPI": [[17, 1, 1, "", "__signature__"], [17, 5, 1, "", "convert"], [17, 5, 1, "", "is_convertible"]], "ape.api.explorers": [[17, 3, 1, "", "ExplorerAPI"]], "ape.api.explorers.ExplorerAPI": [[17, 5, 1, "", "get_address_url"], [17, 5, 1, "", "get_contract_type"], [17, 5, 1, "", "get_transaction_url"], [17, 5, 1, "", "publish_contract"], [17, 5, 1, "", "supports_chain"]], "ape.api.networks": [[17, 3, 1, "", "EcosystemAPI"], [17, 3, 1, "", "ForkedNetworkAPI"], [17, 3, 1, "", "NetworkAPI"], [17, 3, 1, "", "ProviderContextManager"], [17, 3, 1, "", "ProxyInfoAPI"], [17, 0, 1, "", "create_network_type"]], "ape.api.networks.EcosystemAPI": [[17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "add_network"], [17, 4, 1, "", "config"], [17, 5, 1, "", "create_transaction"], [17, 4, 1, "", "custom_network"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "decode_address"], [17, 5, 1, "", "decode_block"], [17, 5, 1, "", "decode_calldata"], [17, 5, 1, "", "decode_custom_error"], [17, 5, 1, "", "decode_logs"], [17, 5, 1, "", "decode_primitive_value"], [17, 5, 1, "", "decode_receipt"], [17, 5, 1, "", "decode_returndata"], [17, 4, 1, "", "default_network_name"], [17, 5, 1, "", "encode_address"], [17, 5, 1, "", "encode_calldata"], [17, 5, 1, "", "encode_contract_blueprint"], [17, 5, 1, "", "encode_deployment"], [17, 5, 1, "", "encode_transaction"], [17, 5, 1, "", "enrich_trace"], [17, 1, 1, "", "fee_token_decimals"], [17, 1, 1, "", "fee_token_symbol"], [17, 5, 1, "", "get_method_selector"], [17, 5, 1, "", "get_network"], [17, 5, 1, "", "get_network_data"], [17, 5, 1, "", "get_proxy_info"], [17, 5, 1, "", "get_python_types"], [17, 1, 1, "", "name"], [17, 4, 1, "", "networks"], [17, 1, 1, "", "request_header"], [17, 5, 1, "", "serialize_transaction"], [17, 5, 1, "", "set_default_network"]], "ape.api.networks.ForkedNetworkAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "upstream_chain_id"], [17, 4, 1, "", "upstream_network"], [17, 4, 1, "", "upstream_provider"], [17, 5, 1, "", "use_upstream_provider"]], "ape.api.networks.NetworkAPI": [[17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 4, 1, "", "auto_gas_multiplier"], [17, 4, 1, "", "base_fee_multiplier"], [17, 4, 1, "", "block_time"], [17, 4, 1, "", "chain_id"], [17, 4, 1, "", "data_folder"], [17, 4, 1, "", "default_provider_name"], [17, 1, 1, "", "ecosystem"], [17, 4, 1, "", "ecosystem_config"], [17, 4, 1, "", "explorer"], [17, 5, 1, "", "get_provider"], [17, 4, 1, "", "is_adhoc"], [17, 4, 1, "", "is_dev"], [17, 4, 1, "", "is_fork"], [17, 4, 1, "", "is_local"], [17, 4, 1, "", "is_mainnet"], [17, 1, 1, "", "name"], [17, 4, 1, "", "network_id"], [17, 4, 1, "", "providers"], [17, 5, 1, "", "publish_contract"], [17, 1, 1, "", "request_header"], [17, 4, 1, "", "required_confirmations"], [17, 5, 1, "", "set_default_provider"], [17, 4, 1, "", "transaction_acceptance_timeout"], [17, 5, 1, "", "use_default_provider"], [17, 5, 1, "", "use_provider"], [17, 5, 1, "", "verify_chain_id"]], "ape.api.networks.ProviderContextManager": [[17, 4, 1, "", "empty"]], "ape.api.networks.ProxyInfoAPI": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "target"]], "ape.api.projects": [[17, 3, 1, "", "ApeProject"], [17, 3, 1, "", "DependencyAPI"], [17, 3, 1, "", "ProjectAPI"]], "ape.api.projects.ApeProject": [[17, 5, 1, "", "extract_config"], [17, 4, 1, "", "is_valid"]], "ape.api.projects.DependencyAPI": [[17, 1, 1, "", "config_override"], [17, 5, 1, "", "fetch"], [17, 1, 1, "", "name"], [17, 4, 1, "", "package_id"], [17, 4, 1, "", "uri"], [17, 4, 1, "", "version_id"]], "ape.api.projects.ProjectAPI": [[17, 5, 1, "", "extract_config"], [17, 4, 1, "", "is_valid"], [17, 1, 1, "", "path"]], "ape.api.providers": [[17, 3, 1, "", "BlockAPI"], [17, 3, 1, "", "ProviderAPI"], [17, 3, 1, "", "SubprocessProvider"], [17, 3, 1, "", "TestProviderAPI"], [17, 3, 1, "", "UpstreamProvider"]], "ape.api.providers.BlockAPI": [[17, 4, 1, "", "datetime"], [17, 1, 1, "", "hash"], [17, 1, 1, "", "num_transactions"], [17, 1, 1, "", "number"], [17, 1, 1, "", "parent_hash"], [17, 4, 1, "", "size"], [17, 1, 1, "", "timestamp"], [17, 4, 1, "", "transactions"], [17, 5, 1, "", "validate_size"]], "ape.api.providers.ProviderAPI": [[17, 4, 1, "", "base_fee"], [17, 1, 1, "", "block_page_size"], [17, 4, 1, "", "chain_id"], [17, 1, 1, "", "concurrency"], [17, 4, 1, "", "config"], [17, 5, 1, "", "connect"], [17, 4, 1, "", "connection_id"], [17, 4, 1, "", "connection_str"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "disconnect"], [17, 5, 1, "", "estimate_gas_cost"], [17, 4, 1, "", "gas_price"], [17, 5, 1, "", "get_balance"], [17, 5, 1, "", "get_block"], [17, 5, 1, "", "get_code"], [17, 5, 1, "", "get_contract_logs"], [17, 5, 1, "", "get_nonce"], [17, 5, 1, "", "get_receipt"], [17, 5, 1, "", "get_storage"], [17, 5, 1, "", "get_test_account"], [17, 5, 1, "", "get_transaction_trace"], [17, 5, 1, "", "get_transactions_by_account_nonce"], [17, 5, 1, "", "get_transactions_by_block"], [17, 5, 1, "", "get_virtual_machine_error"], [17, 4, 1, "", "http_uri"], [17, 4, 1, "", "is_connected"], [17, 5, 1, "", "make_request"], [17, 4, 1, "", "max_gas"], [17, 5, 1, "", "mine"], [17, 1, 1, "", "name"], [17, 1, 1, "", "network"], [17, 4, 1, "", "network_choice"], [17, 5, 1, "", "poll_blocks"], [17, 5, 1, "", "poll_logs"], [17, 5, 1, "", "prepare_transaction"], [17, 4, 1, "", "priority_fee"], [17, 1, 1, "", "provider_settings"], [17, 5, 1, "", "relock_account"], [17, 1, 1, "", "request_header"], [17, 5, 1, "", "restore"], [17, 5, 1, "", "send_call"], [17, 5, 1, "", "send_private_transaction"], [17, 5, 1, "", "send_transaction"], [17, 5, 1, "", "set_balance"], [17, 5, 1, "", "set_code"], [17, 5, 1, "", "set_storage"], [17, 5, 1, "", "set_timestamp"], [17, 4, 1, "", "settings"], [17, 5, 1, "", "snapshot"], [17, 5, 1, "", "stream_request"], [17, 4, 1, "", "supports_tracing"], [17, 5, 1, "", "unlock_account"], [17, 5, 1, "", "update_settings"], [17, 4, 1, "", "ws_uri"]], "ape.api.providers.SubprocessProvider": [[17, 5, 1, "", "build_command"], [17, 5, 1, "", "connect"], [17, 4, 1, "", "connection_id"], [17, 5, 1, "", "disconnect"], [17, 4, 1, "", "process_name"], [17, 5, 1, "", "start"], [17, 5, 1, "", "stop"]], "ape.api.providers.TestProviderAPI": [[17, 4, 1, "", "auto_mine"], [17, 5, 1, "", "mine"], [17, 5, 1, "", "restore"], [17, 5, 1, "", "set_timestamp"], [17, 5, 1, "", "snapshot"]], "ape.api.query": [[17, 3, 1, "", "AccountTransactionQuery"], [17, 3, 1, "", "BlockQuery"], [17, 3, 1, "", "BlockTransactionQuery"], [17, 3, 1, "", "ContractCreation"], [17, 3, 1, "", "ContractCreationQuery"], [17, 3, 1, "", "ContractEventQuery"], [17, 3, 1, "", "ContractMethodQuery"], [17, 3, 1, "", "QueryAPI"]], "ape.api.query.AccountTransactionQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.BlockQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.BlockTransactionQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractCreation": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "block"], [17, 1, 1, "", "deployer"], [17, 1, 1, "", "factory"], [17, 5, 1, "", "from_receipt"], [17, 4, 1, "", "receipt"], [17, 1, 1, "", "txn_hash"]], "ape.api.query.ContractCreationQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractEventQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractMethodQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.QueryAPI": [[17, 5, 1, "", "estimate_query"], [17, 5, 1, "", "perform_query"], [17, 5, 1, "", "update_cache"]], "ape.api.transactions": [[17, 3, 1, "", "ReceiptAPI"], [17, 3, 1, "", "TransactionAPI"]], "ape.api.transactions.ReceiptAPI": [[17, 5, 1, "", "await_confirmations"], [17, 4, 1, "", "confirmed"], [17, 4, 1, "", "debug_logs_lines"], [17, 4, 1, "", "debug_logs_typed"], [17, 5, 1, "", "decode_logs"], [17, 4, 1, "", "events"], [17, 4, 1, "", "failed"], [17, 4, 1, "", "method_called"], [17, 5, 1, "", "raise_for_status"], [17, 4, 1, "", "ran_out_of_gas"], [17, 4, 1, "", "return_value"], [17, 5, 1, "", "show_debug_logs"], [17, 5, 1, "", "show_events"], [17, 5, 1, "", "show_gas_report"], [17, 5, 1, "", "show_source_traceback"], [17, 5, 1, "", "show_trace"], [17, 4, 1, "", "source_traceback"], [17, 4, 1, "", "total_fees_paid"], [17, 4, 1, "", "trace"], [17, 5, 1, "", "track_coverage"], [17, 5, 1, "", "track_gas"]], "ape.api.transactions.TransactionAPI": [[17, 4, 1, "", "receipt"], [17, 5, 1, "", "serialize_transaction"], [17, 4, 1, "", "total_transfer_value"], [17, 4, 1, "", "trace"], [17, 4, 1, "", "txn_hash"]], "ape.cli": [[18, 2, 0, "-", "arguments"], [18, 2, 0, "-", "choices"], [18, 2, 0, "-", "commands"], [18, 2, 0, "-", "options"], [18, 2, 0, "-", "paramtype"]], "ape.cli.arguments": [[18, 0, 1, "", "contract_file_paths_argument"], [18, 0, 1, "", "existing_alias_argument"], [18, 0, 1, "", "non_existing_alias_argument"]], "ape.cli.choices": [[18, 3, 1, "", "AccountAliasPromptChoice"], [18, 3, 1, "", "Alias"], [18, 3, 1, "", "LazyChoice"], [18, 3, 1, "", "NetworkChoice"], [18, 3, 1, "", "OutputFormat"], [18, 3, 1, "", "PromptChoice"], [18, 0, 1, "", "output_format_choice"], [18, 0, 1, "", "select_account"]], "ape.cli.choices.AccountAliasPromptChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "print_choices"], [18, 5, 1, "", "select_account"]], "ape.cli.choices.Alias": [[18, 1, 1, "", "name"]], "ape.cli.choices.NetworkChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "get_metavar"]], "ape.cli.choices.OutputFormat": [[18, 1, 1, "", "TREE"], [18, 1, 1, "", "YAML"]], "ape.cli.choices.PromptChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "print_choices"]], "ape.cli.commands": [[18, 3, 1, "", "ConnectedProviderCommand"]], "ape.cli.commands.ConnectedProviderCommand": [[18, 5, 1, "", "invoke"], [18, 5, 1, "", "parse_args"]], "ape.cli.options": [[18, 3, 1, "", "ApeCliContextObject"], [18, 3, 1, "", "NetworkOption"], [18, 0, 1, "", "account_option"], [18, 0, 1, "", "ape_cli_context"], [18, 0, 1, "", "contract_option"], [18, 0, 1, "", "incompatible_with"], [18, 0, 1, "", "network_option"], [18, 0, 1, "", "output_format_option"], [18, 0, 1, "", "skip_confirmation_option"], [18, 0, 1, "", "verbosity_option"]], "ape.cli.options.ApeCliContextObject": [[18, 5, 1, "", "abort"]], "ape.cli.paramtype": [[18, 3, 1, "", "JSON"], [18, 3, 1, "", "Noop"], [18, 3, 1, "", "Path"]], "ape.cli.paramtype.JSON": [[18, 5, 1, "", "convert"]], "ape.cli.paramtype.Noop": [[18, 5, 1, "", "convert"]], "ape.contracts.base": [[19, 3, 1, "", "ContractContainer"], [19, 3, 1, "", "ContractEvent"], [19, 3, 1, "", "ContractInstance"], [19, 3, 1, "", "ContractTypeWrapper"]], "ape.contracts.base.ContractContainer": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__eq__"], [19, 1, 1, "", "__hash__"], [19, 5, 1, "", "__repr__"], [19, 5, 1, "", "at"], [19, 5, 1, "", "deploy"], [19, 4, 1, "", "deployments"]], "ape.contracts.base.ContractEvent": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__iter__"], [19, 5, 1, "", "__repr__"], [19, 1, 1, "", "__signature__"], [19, 5, 1, "", "from_receipt"], [19, 4, 1, "", "info"], [19, 4, 1, "", "name"], [19, 5, 1, "", "poll_logs"], [19, 5, 1, "", "query"], [19, 5, 1, "", "range"]], "ape.contracts.base.ContractInstance": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__repr__"], [19, 4, 1, "", "address"], [19, 5, 1, "", "call_view_method"], [19, 4, 1, "", "creation_metadata"], [19, 5, 1, "", "from_receipt"], [19, 5, 1, "", "get_error_by_signature"], [19, 5, 1, "", "get_event_by_signature"], [19, 5, 1, "", "invoke_transaction"]], "ape.contracts.base.ContractTypeWrapper": [[19, 5, 1, "", "decode_input"], [19, 4, 1, "", "identifier_lookup"], [19, 4, 1, "", "selector_identifiers"], [19, 4, 1, "", "source_path"]], "ape.exceptions": [[20, 6, 1, "", "APINotImplementedError"], [20, 6, 1, "", "Abort"], [20, 6, 1, "", "AccountsError"], [20, 6, 1, "", "AliasAlreadyInUseError"], [20, 6, 1, "", "ApeAttributeError"], [20, 6, 1, "", "ApeException"], [20, 6, 1, "", "ApeIndexError"], [20, 6, 1, "", "ArgumentsLengthError"], [20, 6, 1, "", "BlockNotFoundError"], [20, 6, 1, "", "ChainError"], [20, 6, 1, "", "CompilerError"], [20, 6, 1, "", "ConfigError"], [20, 6, 1, "", "ContractDataError"], [20, 6, 1, "", "ContractLogicError"], [20, 6, 1, "", "ContractNotFoundError"], [20, 6, 1, "", "ConversionError"], [20, 6, 1, "", "CustomError"], [20, 6, 1, "", "DecodingError"], [20, 6, 1, "", "EcosystemNotFoundError"], [20, 6, 1, "", "MethodNonPayableError"], [20, 6, 1, "", "MissingDeploymentBytecodeError"], [20, 6, 1, "", "NetworkError"], [20, 6, 1, "", "NetworkMismatchError"], [20, 6, 1, "", "NetworkNotFoundError"], [20, 6, 1, "", "OutOfGasError"], [20, 6, 1, "", "PluginInstallError"], [20, 6, 1, "", "PluginVersionError"], [20, 6, 1, "", "ProjectError"], [20, 6, 1, "", "ProviderError"], [20, 6, 1, "", "ProviderNotConnectedError"], [20, 6, 1, "", "ProviderNotFoundError"], [20, 6, 1, "", "QueryEngineError"], [20, 6, 1, "", "RPCTimeoutError"], [20, 6, 1, "", "SignatureError"], [20, 6, 1, "", "SubprocessError"], [20, 6, 1, "", "SubprocessTimeoutError"], [20, 6, 1, "", "TransactionError"], [20, 6, 1, "", "TransactionNotFoundError"], [20, 6, 1, "", "UnknownSnapshotError"], [20, 6, 1, "", "UnknownVersionError"], [20, 6, 1, "", "VirtualMachineError"], [20, 0, 1, "", "handle_ape_exception"]], "ape.exceptions.Abort": [[20, 5, 1, "", "show"]], "ape.exceptions.ContractLogicError": [[20, 4, 1, "", "dev_message"], [20, 5, 1, "", "from_error"]], "ape.exceptions.CustomError": [[20, 4, 1, "", "name"]], "ape.managers": [[21, 2, 0, "-", "accounts"], [21, 2, 0, "-", "compilers"], [21, 2, 0, "-", "config"], [21, 2, 0, "-", "converters"], [21, 2, 0, "-", "networks"], [21, 2, 0, "-", "project"], [21, 2, 0, "-", "query"]], "ape.managers.accounts": [[21, 3, 1, "", "AccountManager"], [21, 3, 1, "", "TestAccountManager"]], "ape.managers.accounts.AccountManager": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 4, 1, "", "aliases"], [21, 4, 1, "", "containers"], [21, 5, 1, "", "get_accounts_by_type"], [21, 5, 1, "", "load"], [21, 4, 1, "", "test_accounts"]], "ape.managers.accounts.TestAccountManager": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "impersonate_account"], [21, 5, 1, "", "stop_impersonating"]], "ape.managers.chain": [[21, 3, 1, "", "AccountHistory"], [21, 3, 1, "", "BlockContainer"], [21, 3, 1, "", "ChainManager"], [21, 3, 1, "", "ContractCache"], [21, 3, 1, "", "TransactionHistory"]], "ape.managers.chain.AccountHistory": [[21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 1, 1, "", "__signature__"], [21, 1, 1, "", "address"], [21, 5, 1, "", "append"], [21, 4, 1, "", "outgoing"], [21, 5, 1, "", "query"], [21, 5, 1, "", "revert_to_block"], [21, 1, 1, "", "sessional"]], "ape.managers.chain.BlockContainer": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 4, 1, "", "head"], [21, 4, 1, "", "height"], [21, 5, 1, "", "poll_blocks"], [21, 5, 1, "", "query"], [21, 5, 1, "", "range"]], "ape.managers.chain.ChainManager": [[21, 5, 1, "", "__repr__"], [21, 4, 1, "", "base_fee"], [21, 4, 1, "", "blocks"], [21, 4, 1, "", "chain_id"], [21, 4, 1, "", "gas_price"], [21, 5, 1, "", "get_receipt"], [21, 4, 1, "", "history"], [21, 5, 1, "", "isolate"], [21, 5, 1, "", "mine"], [21, 4, 1, "", "pending_timestamp"], [21, 5, 1, "", "restore"], [21, 5, 1, "", "snapshot"]], "ape.managers.chain.ContractCache": [[21, 5, 1, "", "__delitem__"], [21, 5, 1, "", "__setitem__"], [21, 5, 1, "", "cache_blueprint"], [21, 5, 1, "", "cache_deployment"], [21, 5, 1, "", "cache_proxy_info"], [21, 5, 1, "", "clear_local_caches"], [21, 5, 1, "", "get"], [21, 5, 1, "", "get_blueprint"], [21, 5, 1, "", "get_container"], [21, 5, 1, "", "get_creation_metadata"], [21, 5, 1, "", "get_deployments"], [21, 5, 1, "", "get_multiple"], [21, 5, 1, "", "get_proxy_info"], [21, 5, 1, "", "instance_at"], [21, 5, 1, "", "instance_from_receipt"]], "ape.managers.chain.TransactionHistory": [[21, 5, 1, "", "append"], [21, 5, 1, "", "revert_to_block"]], "ape.managers.compilers": [[21, 3, 1, "", "CompilerManager"]], "ape.managers.compilers.CompilerManager": [[21, 5, 1, "", "can_trace_source"], [21, 5, 1, "", "compile"], [21, 5, 1, "", "compile_source"], [21, 5, 1, "", "enrich_error"], [21, 5, 1, "", "flatten_contract"], [21, 5, 1, "", "get_custom_error"], [21, 5, 1, "", "get_imports"], [21, 5, 1, "", "get_references"], [21, 4, 1, "", "registered_compilers"]], "ape.managers.config": [[21, 3, 1, "", "ConfigManager"]], "ape.managers.config.ConfigManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "__str__"], [21, 5, 1, "", "extract_config"], [21, 4, 1, "", "global_config"], [21, 5, 1, "", "isolate_data_folder"]], "ape.managers.converters": [[21, 3, 1, "", "AccountIntConverter"], [21, 3, 1, "", "AddressAPIConverter"], [21, 3, 1, "", "BytesAddressConverter"], [21, 3, 1, "", "ConversionManager"], [21, 3, 1, "", "HexAddressConverter"], [21, 3, 1, "", "HexConverter"], [21, 3, 1, "", "HexIntConverter"], [21, 3, 1, "", "HexIterableConverter"], [21, 3, 1, "", "IntAddressConverter"], [21, 3, 1, "", "StringDecimalConverter"], [21, 3, 1, "", "StringIntConverter"], [21, 3, 1, "", "TimestampConverter"]], "ape.managers.converters.AccountIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.AddressAPIConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.BytesAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.ConversionManager": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_type"]], "ape.managers.converters.HexAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexIterableConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.IntAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.StringDecimalConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.StringIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.TimestampConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.networks": [[21, 3, 1, "", "NetworkManager"]], "ape.managers.networks.NetworkManager": [[21, 4, 1, "", "active_provider"], [21, 5, 1, "", "create_custom_provider"], [21, 4, 1, "", "custom_networks"], [21, 4, 1, "", "default_ecosystem"], [21, 4, 1, "", "ecosystem"], [21, 4, 1, "", "ecosystem_names"], [21, 4, 1, "", "ecosystems"], [21, 5, 1, "", "fork"], [21, 5, 1, "", "get_ecosystem"], [21, 5, 1, "", "get_network_choices"], [21, 5, 1, "", "get_provider_from_choice"], [21, 5, 1, "", "get_request_headers"], [21, 4, 1, "", "network"], [21, 4, 1, "", "network_data"], [21, 4, 1, "", "network_names"], [21, 5, 1, "", "parse_network_choice"], [21, 4, 1, "", "provider_names"], [21, 5, 1, "", "set_default_ecosystem"]], "ape.managers.project": [[21, 3, 1, "", "ContractManager"], [21, 3, 1, "", "Dependency"], [21, 3, 1, "", "DependencyManager"], [21, 3, 1, "", "DependencyVersionMap"], [21, 3, 1, "", "DeploymentManager"], [21, 3, 1, "", "LocalProject"], [21, 3, 1, "", "PackagesCache"], [21, 3, 1, "", "Project"], [21, 3, 1, "", "ProjectManager"], [21, 3, 1, "", "SourceManager"]], "ape.managers.project.ContractManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"]], "ape.managers.project.Dependency": [[21, 5, 1, "", "__eq__"], [21, 5, 1, "", "__hash__"], [21, 5, 1, "", "__repr__"], [21, 4, 1, "", "api_path"], [21, 5, 1, "", "compile"], [21, 5, 1, "", "install"], [21, 4, 1, "", "installed"], [21, 4, 1, "", "manifest_path"], [21, 4, 1, "", "name"], [21, 4, 1, "", "package_id"], [21, 4, 1, "", "project"], [21, 4, 1, "", "project_path"], [21, 5, 1, "", "unpack"], [21, 4, 1, "", "uri"], [21, 4, 1, "", "version"]], "ape.managers.project.DependencyManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "add"], [21, 5, 1, "", "decode_dependency"], [21, 5, 1, "", "get_dependency"], [21, 5, 1, "", "get_project_dependencies"], [21, 5, 1, "", "get_versions"], [21, 5, 1, "", "install"], [21, 4, 1, "", "installed"], [21, 4, 1, "", "packages_cache"], [21, 4, 1, "", "specified"], [21, 5, 1, "", "unpack"], [21, 4, 1, "", "uri_map"]], "ape.managers.project.DependencyVersionMap": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"]], "ape.managers.project.DeploymentManager": [[21, 5, 1, "", "__iter__"], [21, 4, 1, "", "instance_map"], [21, 5, 1, "", "track"]], "ape.managers.project.LocalProject": [[21, 5, 1, "", "__repr__"], [21, 4, 1, "", "config"], [21, 4, 1, "", "contracts"], [21, 4, 1, "", "contracts_folder"], [21, 4, 1, "", "deployments"], [21, 4, 1, "", "exclusions"], [21, 5, 1, "", "extract_manifest"], [21, 4, 1, "", "in_tempdir"], [21, 4, 1, "", "interfaces_folder"], [21, 5, 1, "", "isolate_in_tempdir"], [21, 5, 1, "", "load_manifest"], [21, 4, 1, "", "meta"], [21, 4, 1, "", "path"], [21, 4, 1, "", "project_api"], [21, 5, 1, "", "refresh_sources"], [21, 5, 1, "", "reload_config"], [21, 4, 1, "", "sources"], [21, 5, 1, "", "unpack"], [21, 5, 1, "", "update_manifest"]], "ape.managers.project.PackagesCache": [[21, 5, 1, "", "cache_api"], [21, 5, 1, "", "get_api_path"], [21, 5, 1, "", "get_manifest_path"], [21, 5, 1, "", "get_project_path"], [21, 5, 1, "", "get_project_versions_path"]], "ape.managers.project.Project": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "add_compiler_data"], [21, 4, 1, "", "dependencies"], [21, 4, 1, "", "is_compiled"], [21, 5, 1, "", "isolate_in_tempdir"], [21, 5, 1, "", "reconfigure"], [21, 5, 1, "", "unpack"], [21, 5, 1, "", "update_manifest"]], "ape.managers.project.ProjectManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "from_manifest"], [21, 5, 1, "", "from_python_library"]], "ape.managers.project.SourceManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"], [21, 5, 1, "", "is_excluded"], [21, 5, 1, "", "lookup"], [21, 4, 1, "", "paths"], [21, 5, 1, "", "refresh"]], "ape.managers.query": [[21, 3, 1, "", "DefaultQueryProvider"], [21, 3, 1, "", "QueryManager"]], "ape.managers.query.DefaultQueryProvider": [[21, 5, 1, "", "estimate_query"], [21, 5, 1, "", "perform_query"]], "ape.managers.query.QueryManager": [[21, 4, 1, "", "engines"], [21, 5, 1, "", "query"]], "ape.plugins": [[22, 2, 0, "-", "account"], [22, 2, 0, "-", "compiler"], [22, 2, 0, "-", "config"], [22, 2, 0, "-", "converter"], [22, 2, 0, "-", "network"], [22, 2, 0, "-", "pluggy_patch"], [22, 2, 0, "-", "project"], [22, 2, 0, "-", "query"], [22, 0, 1, "", "register"]], "ape.plugins.account": [[22, 3, 1, "", "AccountPlugin"]], "ape.plugins.account.AccountPlugin": [[22, 5, 1, "", "account_types"]], "ape.plugins.compiler": [[22, 3, 1, "", "CompilerPlugin"]], "ape.plugins.compiler.CompilerPlugin": [[22, 5, 1, "", "register_compiler"]], "ape.plugins.config": [[22, 3, 1, "", "Config"]], "ape.plugins.config.Config": [[22, 5, 1, "", "config_class"]], "ape.plugins.converter": [[22, 3, 1, "", "ConversionPlugin"]], "ape.plugins.converter.ConversionPlugin": [[22, 5, 1, "", "converters"]], "ape.plugins.network": [[22, 3, 1, "", "EcosystemPlugin"], [22, 3, 1, "", "ExplorerPlugin"], [22, 3, 1, "", "NetworkPlugin"], [22, 3, 1, "", "ProviderPlugin"]], "ape.plugins.network.EcosystemPlugin": [[22, 5, 1, "", "ecosystems"]], "ape.plugins.network.ExplorerPlugin": [[22, 5, 1, "", "explorers"]], "ape.plugins.network.NetworkPlugin": [[22, 5, 1, "", "networks"]], "ape.plugins.network.ProviderPlugin": [[22, 5, 1, "", "providers"]], "ape.plugins.pluggy_patch": [[22, 3, 1, "", "PluginType"], [22, 7, 1, "", "plugin_manager"]], "ape.plugins.project": [[22, 3, 1, "", "DependencyPlugin"], [22, 3, 1, "", "ProjectPlugin"]], "ape.plugins.project.DependencyPlugin": [[22, 5, 1, "", "dependencies"]], "ape.plugins.project.ProjectPlugin": [[22, 5, 1, "", "projects"]], "ape.plugins.query": [[22, 3, 1, "", "QueryPlugin"]], "ape.plugins.query.QueryPlugin": [[22, 5, 1, "", "query_engines"]], "ape.types": [[23, 2, 0, "-", "address"], [23, 2, 0, "-", "basic"], [23, 2, 0, "-", "coverage"], [23, 2, 0, "-", "events"], [23, 2, 0, "-", "gas"], [23, 2, 0, "-", "trace"], [23, 2, 0, "-", "units"], [23, 2, 0, "-", "vm"]], "ape.types.address": [[23, 7, 1, "", "AddressType"], [23, 7, 1, "", "RawAddress"]], "ape.types.basic": [[23, 7, 1, "", "HexInt"]], "ape.types.coverage": [[23, 3, 1, "", "ContractCoverage"], [23, 3, 1, "", "ContractSourceCoverage"], [23, 3, 1, "", "CoverageProject"], [23, 3, 1, "", "CoverageReport"], [23, 3, 1, "", "CoverageStatement"], [23, 3, 1, "", "FunctionCoverage"]], "ape.types.coverage.ContractCoverage": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 1, 1, "", "functions"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 4, 1, "", "statements"]], "ape.types.coverage.ContractSourceCoverage": [[23, 1, 1, "", "contracts"], [23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 5, 1, "", "include"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "source_id"], [23, 4, 1, "", "statements"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageProject": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 1, 1, "", "sources"], [23, 4, 1, "", "statements"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageReport": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 5, 1, "", "get_html"], [23, 5, 1, "", "get_xml"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "projects"], [23, 1, 1, "", "source_folders"], [23, 4, 1, "", "sources"], [23, 4, 1, "", "statements"], [23, 1, 1, "", "timestamp"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageStatement": [[23, 1, 1, "", "hit_count"], [23, 1, 1, "", "location"], [23, 1, 1, "", "pcs"], [23, 1, 1, "", "tag"]], "ape.types.coverage.FunctionCoverage": [[23, 1, 1, "", "full_name"], [23, 1, 1, "", "hit_count"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 5, 1, "", "profile_statement"], [23, 1, 1, "", "statements"]], "ape.types.events": [[23, 3, 1, "", "ContractLog"], [23, 3, 1, "", "ContractLogContainer"], [23, 3, 1, "", "LogFilter"], [23, 3, 1, "", "MockContractLog"]], "ape.types.events.ContractLog": [[23, 1, 1, "", "block_hash"], [23, 1, 1, "", "block_number"], [23, 1, 1, "", "log_index"], [23, 4, 1, "", "timestamp"], [23, 1, 1, "", "transaction_hash"], [23, 1, 1, "", "transaction_index"]], "ape.types.events.LogFilter": [[23, 5, 1, "", "from_event"], [23, 5, 1, "", "model_dump"]], "ape.types.gas": [[23, 3, 1, "", "AutoGasLimit"], [23, 7, 1, "", "GasLimit"]], "ape.types.gas.AutoGasLimit": [[23, 1, 1, "", "multiplier"]], "ape.types.signatures": [[23, 3, 1, "", "MessageSignature"], [23, 3, 1, "", "SignableMessage"], [23, 3, 1, "", "TransactionSignature"], [23, 5, 1, "", "recover_signer"]], "ape.types.signatures.SignableMessage": [[23, 1, 1, "", "body"], [23, 1, 1, "", "header"], [23, 1, 1, "", "version"]], "ape.types.trace": [[23, 3, 1, "", "ControlFlow"], [23, 1, 1, "", "GasReport"], [23, 3, 1, "", "SourceTraceback"]], "ape.types.trace.ControlFlow": [[23, 4, 1, "", "begin_lineno"], [23, 1, 1, "", "closure"], [23, 1, 1, "", "depth"], [23, 4, 1, "", "end_lineno"], [23, 5, 1, "", "extend"], [23, 5, 1, "", "format"], [23, 4, 1, "", "line_numbers"], [23, 4, 1, "", "next_statement"], [23, 1, 1, "", "source_path"], [23, 4, 1, "", "source_statements"], [23, 1, 1, "", "statements"], [23, 4, 1, "", "ws_begin_lineno"]], "ape.types.trace.SourceTraceback": [[23, 5, 1, "", "add_builtin_jump"], [23, 5, 1, "", "add_jump"], [23, 5, 1, "", "append"], [23, 4, 1, "", "execution"], [23, 5, 1, "", "extend"], [23, 5, 1, "", "extend_last"], [23, 5, 1, "", "format"], [23, 4, 1, "", "last"], [23, 4, 1, "", "revert_type"], [23, 4, 1, "", "source_statements"], [23, 4, 1, "", "statements"]], "ape.types.units": [[23, 1, 1, "", "CurrencyValue"], [23, 1, 1, "", "CurrencyValueComparable"]], "ape.types.vm": [[23, 7, 1, "", "BlockID"], [23, 7, 1, "", "SnapshotID"]], "ape.utils": [[24, 2, 0, "-", "abi"], [24, 2, 0, "-", "basemodel"], [24, 2, 0, "-", "misc"], [24, 2, 0, "-", "os"], [24, 2, 0, "-", "process"], [24, 2, 0, "-", "rpc"], [24, 2, 0, "-", "testing"], [24, 2, 0, "-", "trace"]], "ape.utils.abi": [[24, 3, 1, "", "Struct"], [24, 3, 1, "", "StructParser"], [24, 0, 1, "", "create_struct"], [24, 0, 1, "", "is_array"], [24, 0, 1, "", "is_named_tuple"], [24, 0, 1, "", "is_struct"], [24, 0, 1, "", "returns_array"]], "ape.utils.abi.Struct": [[24, 5, 1, "", "items"]], "ape.utils.abi.StructParser": [[24, 5, 1, "", "decode_output"], [24, 4, 1, "", "default_name"], [24, 5, 1, "", "encode_input"]], "ape.utils.basemodel": [[24, 3, 1, "", "BaseInterface"], [24, 3, 1, "", "BaseInterfaceModel"], [24, 3, 1, "", "BaseModel"], [24, 3, 1, "", "ExtraAttributesMixin"], [24, 3, 1, "", "ExtraModelAttributes"], [24, 3, 1, "", "ManagerAccessMixin"], [24, 3, 1, "", "injected_before_use"], [24, 3, 1, "", "manager_access"]], "ape.utils.basemodel.BaseModel": [[24, 5, 1, "", "model_copy"]], "ape.utils.basemodel.ExtraModelAttributes": [[24, 1, 1, "", "additional_error_message"], [24, 1, 1, "", "attributes"], [24, 5, 1, "", "get"], [24, 1, 1, "", "include_getattr"], [24, 1, 1, "", "include_getitem"], [24, 1, 1, "", "name"]], "ape.utils.basemodel.ManagerAccessMixin": [[24, 1, 1, "", "Project"]], "ape.utils.misc": [[24, 0, 1, "", "extract_nested_value"], [24, 0, 1, "", "gas_estimation_error_message"], [24, 0, 1, "", "get_current_timestamp_ms"], [24, 0, 1, "", "get_package_version"], [24, 0, 1, "", "is_evm_precompile"], [24, 0, 1, "", "is_zero_hex"], [24, 0, 1, "", "load_config"], [24, 0, 1, "", "log_instead_of_fail"], [24, 0, 1, "", "pragma_str_to_specifier_set"], [24, 0, 1, "", "raises_not_implemented"], [24, 0, 1, "", "run_until_complete"], [24, 3, 1, "", "singledispatchmethod"], [24, 0, 1, "", "to_int"]], "ape.utils.misc.singledispatchmethod": [[24, 5, 1, "", "register"]], "ape.utils.os": [[24, 0, 1, "", "clean_path"], [24, 0, 1, "", "create_tempdir"], [24, 0, 1, "", "expand_environment_variables"], [24, 0, 1, "", "extract_archive"], [24, 0, 1, "", "get_all_files_in_directory"], [24, 0, 1, "", "get_full_extension"], [24, 0, 1, "", "get_package_path"], [24, 0, 1, "", "get_relative_path"], [24, 0, 1, "", "in_tempdir"], [24, 0, 1, "", "is_relative_to"], [24, 0, 1, "", "path_match"], [24, 0, 1, "", "run_in_tempdir"], [24, 3, 1, "", "use_temp_sys_path"]], "ape.utils.process": [[24, 3, 1, "", "JoinableQueue"], [24, 0, 1, "", "spawn"]], "ape.utils.process.JoinableQueue": [[24, 5, 1, "", "join"]], "ape.utils.rpc": [[24, 3, 1, "", "RPCHeaders"], [24, 0, 1, "", "allow_disconnected"], [24, 0, 1, "", "stream_response"]], "ape.utils.testing": [[24, 3, 1, "", "GeneratedDevAccount"], [24, 0, 1, "", "generate_dev_accounts"]], "ape.utils.testing.GeneratedDevAccount": [[24, 1, 1, "", "address"], [24, 1, 1, "", "private_key"]], "ape.utils.trace": [[24, 3, 1, "", "TraceStyles"]], "ape.utils.trace.TraceStyles": [[24, 1, 1, "", "CONTRACTS"], [24, 1, 1, "", "DELEGATE"], [24, 1, 1, "", "GAS_COST"], [24, 1, 1, "", "INPUTS"], [24, 1, 1, "", "METHODS"], [24, 1, 1, "", "OUTPUTS"], [24, 1, 1, "", "VALUE"]], "ape_ethereum": [[13, 2, 0, "-", "multicall"]], "ape_ethereum.multicall": [[13, 3, 1, "", "BaseMulticall"], [13, 3, 1, "", "Call"], [13, 3, 1, "", "Transaction"]], "ape_ethereum.multicall.BaseMulticall": [[13, 5, 1, "", "add"], [13, 5, 1, "", "inject"]], "ape_ethereum.multicall.Call": [[13, 5, 1, "", "__call__"], [13, 5, 1, "", "add"], [13, 5, 1, "", "as_transaction"]], "ape_ethereum.multicall.Transaction": [[13, 5, 1, "", "__call__"], [13, 5, 1, "", "as_transaction"]], "ape_node": [[14, 3, 1, "", "EthereumNetworkConfig"], [14, 3, 1, "", "EthereumNodeConfig"], [14, 3, 1, "", "GethDev"], [14, 3, 1, "", "Node"], [14, 3, 1, "", "OtterscanQueryEngine"]], "ape_node.EthereumNodeConfig": [[14, 1, 1, "", "call_trace_approach"], [14, 1, 1, "", "data_dir"], [14, 1, 1, "", "ethereum"], [14, 1, 1, "", "executable"], [14, 1, 1, "", "ipc_path"], [14, 1, 1, "", "request_headers"]], "ape_node.GethDev": [[14, 4, 1, "", "auto_mine"], [14, 5, 1, "", "build_command"], [14, 4, 1, "", "chain_id"], [14, 5, 1, "", "connect"], [14, 5, 1, "", "disconnect"], [14, 5, 1, "", "get_test_account"], [14, 5, 1, "", "mine"], [14, 1, 1, "", "name"], [14, 4, 1, "", "process_name"], [14, 5, 1, "", "restore"], [14, 5, 1, "", "set_timestamp"], [14, 5, 1, "", "snapshot"], [14, 5, 1, "", "start"]], "ape_node.Node": [[14, 5, 1, "", "connect"], [14, 5, 1, "", "send_transaction"]], "ape_node.OtterscanQueryEngine": [[14, 5, 1, "", "estimate_query"], [14, 5, 1, "", "perform_query"]], "compile": [[1, 8, 1, "cmdoption-compile-config-override", "--config-override"], [1, 8, 1, "cmdoption-compile-f", "--force"], [1, 8, 1, "cmdoption-compile-include-dependencies", "--include-dependencies"], [1, 8, 1, "cmdoption-compile-project", "--project"], [1, 8, 1, "cmdoption-compile-s", "--size"], [1, 8, 1, "cmdoption-compile-v", "--verbosity"], [1, 8, 1, "cmdoption-compile-f", "-f"], [1, 8, 1, "cmdoption-compile-s", "-s"], [1, 8, 1, "cmdoption-compile-v", "-v"], [1, 8, 1, "cmdoption-compile-arg-FILE_PATHS", "FILE_PATHS"]], "console": [[2, 8, 1, "cmdoption-console-c", "--code"], [2, 8, 1, "cmdoption-console-v", "--verbosity"], [2, 8, 1, "cmdoption-console-c", "-c"], [2, 8, 1, "cmdoption-console-v", "-v"]], "init": [[3, 8, 1, "cmdoption-init-github", "--github"], [3, 8, 1, "cmdoption-init-name", "--name"], [3, 8, 1, "cmdoption-init-v", "--verbosity"], [3, 8, 1, "cmdoption-init-v", "-v"]], "networks-list": [[4, 8, 1, "cmdoption-networks-list-ecosystem", "--ecosystem"], [4, 8, 1, "cmdoption-networks-list-format", "--format"], [4, 8, 1, "cmdoption-networks-list-network", "--network"], [4, 8, 1, "cmdoption-networks-list-provider", "--provider"], [4, 8, 1, "cmdoption-networks-list-v", "--verbosity"], [4, 8, 1, "cmdoption-networks-list-v", "-v"]], "networks-run": [[4, 8, 1, "cmdoption-networks-run-network", "--network"], [4, 8, 1, "cmdoption-networks-run-v", "--verbosity"], [4, 8, 1, "cmdoption-networks-run-v", "-v"]], "plugins-change-version": [[5, 8, 1, "cmdoption-plugins-change-version-arg-VERSION", "VERSION"]], "plugins-install": [[5, 8, 1, "cmdoption-plugins-install-U", "--upgrade"], [5, 8, 1, "cmdoption-plugins-install-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-install-y", "--yes"], [5, 8, 1, "cmdoption-plugins-install-U", "-U"], [5, 8, 1, "cmdoption-plugins-install-v", "-v"], [5, 8, 1, "cmdoption-plugins-install-y", "-y"], [5, 8, 1, "cmdoption-plugins-install-arg-PLUGIN-NAMES", "PLUGIN-NAMES"]], "plugins-list": [[5, 8, 1, "cmdoption-plugins-list-a", "--all"], [5, 8, 1, "cmdoption-plugins-list-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-list-a", "-a"], [5, 8, 1, "cmdoption-plugins-list-v", "-v"]], "plugins-uninstall": [[5, 8, 1, "cmdoption-plugins-uninstall-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-uninstall-y", "--yes"], [5, 8, 1, "cmdoption-plugins-uninstall-v", "-v"], [5, 8, 1, "cmdoption-plugins-uninstall-y", "-y"], [5, 8, 1, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", "PLUGIN-NAMES"]], "pm-compile": [[6, 8, 1, "cmdoption-pm-compile-config-override", "--config-override"], [6, 8, 1, "cmdoption-pm-compile-f", "--force"], [6, 8, 1, "cmdoption-pm-compile-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-compile-version", "--version"], [6, 8, 1, "cmdoption-pm-compile-f", "-f"], [6, 8, 1, "cmdoption-pm-compile-v", "-v"], [6, 8, 1, "cmdoption-pm-compile-arg-NAME", "NAME"]], "pm-install": [[6, 8, 1, "cmdoption-pm-install-config-override", "--config-override"], [6, 8, 1, "cmdoption-pm-install-f", "--force"], [6, 8, 1, "cmdoption-pm-install-name", "--name"], [6, 8, 1, "cmdoption-pm-install-ref", "--ref"], [6, 8, 1, "cmdoption-pm-install-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-install-version", "--version"], [6, 8, 1, "cmdoption-pm-install-f", "-f"], [6, 8, 1, "cmdoption-pm-install-v", "-v"], [6, 8, 1, "cmdoption-pm-install-arg-PACKAGE", "PACKAGE"]], "pm-list": [[6, 8, 1, "cmdoption-pm-list-all", "--all"], [6, 8, 1, "cmdoption-pm-list-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-list-v", "-v"]], "pm-uninstall": [[6, 8, 1, "cmdoption-pm-uninstall-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-uninstall-y", "--yes"], [6, 8, 1, "cmdoption-pm-uninstall-v", "-v"], [6, 8, 1, "cmdoption-pm-uninstall-y", "-y"], [6, 8, 1, "cmdoption-pm-uninstall-arg-NAME", "NAME"], [6, 8, 1, "cmdoption-pm-uninstall-arg-VERSIONS", "VERSIONS"]], "run": [[7, 8, 1, "cmdoption-run-I", "--interactive"], [7, 8, 1, "cmdoption-run-I", "-I"]], "test": [[8, 8, 1, "cmdoption-test-v", "--verbosity"], [8, 8, 1, "cmdoption-test-w", "--watch"], [8, 8, 1, "cmdoption-test-watch-delay", "--watch-delay"], [8, 8, 1, "cmdoption-test-watch-folders", "--watch-folders"], [8, 8, 1, "cmdoption-test-v", "-v"], [8, 8, 1, "cmdoption-test-w", "-w"], [8, 8, 1, "cmdoption-test-arg-PYTEST_ARGS", "PYTEST_ARGS"]]}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "attribute", "Python attribute"], "2": ["py", "module", "Python module"], "3": ["py", "class", "Python class"], "4": ["py", "property", "Python property"], "5": ["py", "method", "Python method"], "6": ["py", "exception", "Python exception"], "7": ["py", "data", "Python data"], "8": ["std", "cmdoption", "program option"]}, "objtypes": {"0": "py:function", "1": "py:attribute", "2": "py:module", "3": "py:class", "4": "py:property", "5": "py:method", "6": "py:exception", "7": "py:data", "8": "std:cmdoption"}, "terms": {"": [1, 5, 6, 8, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46], "0": [0, 6, 8, 13, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 37, 38, 39, 42, 44], "0000": 45, "00040634": 29, "00afd7": 24, "0b2": 28, "0x": [17, 21, 24, 30, 39, 42, 45], "0x0": 46, "0x00": [45, 46], "0x0000000000000000000000000000000000000000": 23, "0x0000000000000000000000000000000000000000000000000000000000000000": 17, "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d": 45, "0x123": [30, 40], "0x1234": [28, 37], "0x1234556b5ed9202110d7ecd637a4581db8b9879f": 27, "0x12c17f958d2ee523a2206206994597c13d831e34": 40, "0x1c": 45, "0x27e235e3": 30, "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5": [17, 21], "0x35": 45, "0x3fb5c1cb00000000000000000000000000000000000000000000000000000000000000de": 30, "0x5668ead1edb8e2a4d724c8fb9cb5ffeabeb422dc": 45, "0x5fbdb2315678afecb367f032d93f642f64180aa3": 28, "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45": 30, "0x68f768988e9bd4be971d527f72483f321975fa52aff9692b6d0e0af71fb77aaf": 29, "0x70a08231": 30, "0x80067013d7f7af4e86b3890489acafe79f31a4cb": 30, "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": 30, "0xab5801a7d398351b8be11c439e05c5b3259aec9b": [44, 46], "0xabc1230001112223334445566611855443322111": 19, "0xb0b0b0b0b0b0b000000000000000000000000000": 25, "0xb7d7f1d5ce7743e821d3026647df486f517946ef1342a1ae93c96e4a8016eab7": 45, "0xca11bde05977b3631167028862be2a173976ca11": 13, "0xcccccccccccccccccccccccccccccccccccccccc": 25, "0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826": 25, "0xd8da6bf26964af9d7eed9e03e53415d37aa96045": [17, 21], "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": 30, "0xe3747e6341e0d3430e6ea9e2346cddcc2f8a4b5b": 29, "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512": 28, "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee": 45, "0xf4b8a02d4e8d76070bd7092b54d2cbbe90fa72e9": 30, "0xsplit": 39, "1": [6, 10, 14, 17, 19, 21, 23, 24, 25, 28, 29, 30, 31, 32, 37, 38, 44, 45, 46], "10": [17, 19, 21, 24, 27, 28, 36, 37], "100": [17, 30, 44, 46], "1000000000": [17, 21], "1000000000000000000": [17, 21], "100_000": 44, "109": 37, "1164": 45, "1167": 39, "11946": 45, "12": [0, 25, 32, 41], "120": 37, "123": [28, 30, 40, 42], "1234": [28, 37], "1291": 45, "1302": 45, "13028": 45, "1337": [14, 33, 45], "1377": 45, "1421947": 45, "14388241": 29, "15": [14, 17, 37], "1558": 41, "1559": [17, 21, 37, 46], "16": [14, 28, 37], "1647323479": 29, "18": 17, "1822": 39, "191": [17, 23], "1967": 39, "1e18": 25, "2": [6, 17, 21, 23, 24, 28, 29, 30, 31, 32, 35, 37, 39, 44, 45, 46], "20": [14, 17, 31, 36, 37, 46], "21": 36, "21000": 46, "22414": 45, "23827": 44, "24564": 44, "25845": 45, "2678": [17, 21, 40], "28307": 44, "2930": 46, "3": [27, 29, 30, 32, 41, 42, 44, 46], "30": 36, "31337": 37, "32": [17, 25], "33493": 44, "34783": 44, "35000000000000000000000000": 45, "3600": 21, "38679": 44, "3fb5c1c": 30, "3rd": 41, "4": [17, 21, 28, 29, 30, 32, 37, 42, 45], "40": 36, "40000": 30, "44": [0, 24, 44], "45739": 44, "5": [8, 25, 28, 30, 32, 35, 42, 44, 46], "50": [17, 19, 21, 46], "500": 37, "5000": 14, "5030": 28, "51021": 44, "5202": [17, 21], "5253": 45, "57198": 44, "6": [14, 32, 35, 44], "60": [0, 24, 37, 44], "600": 46, "6057": 45, "61": 29, "7": [27, 35, 44], "71": 44, "712": 23, "8": [27, 32, 42, 44], "80": 44, "82848": 44, "85": 44, "8545": 14, "86000": 44, "897": 39, "9": [17, 23, 24, 32, 39, 41], "90": 23, "91398": 44, "98": 42, "A": [3, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 28, 29, 30, 32, 33, 35, 37, 38, 39, 44, 45, 46], "AND": 21, "And": [17, 24, 26, 32, 37, 42, 44], "As": [33, 37, 42, 44], "At": [30, 44], "But": 38, "By": [17, 27, 32, 35, 43, 44, 46], "For": [14, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 42, 43, 44, 46], "If": [6, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "In": [18, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 37, 38, 39, 41, 42, 44, 46], "It": [18, 22, 24, 25, 26, 30, 31, 33, 36, 37, 43, 44, 45], "No": [21, 37], "ON": 24, "On": [30, 31], "One": [0, 1, 2, 3, 4, 5, 6, 8, 29, 30, 42, 44, 46], "Or": [17, 25, 27, 28, 29, 30, 33, 35], "That": [26, 30, 46], "The": [1, 6, 10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 44, 46], "Then": [17, 25, 27, 28, 29, 30, 32, 33, 34, 44, 46], "There": [22, 23, 25, 26, 28, 30, 32, 35, 37, 38, 41, 43, 44, 46], "These": [21, 28, 30, 42, 44], "To": [17, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 46], "Will": 26, "With": 41, "_": [29, 30, 38, 43], "__builtin__": 44, "__call__": [13, 19], "__contains__": [17, 21], "__delitem__": [17, 21], "__eq__": [19, 21], "__expected_": 18, "__getattr__": [19, 24], "__getitem__": [17, 21, 24], "__hash__": [19, 21], "__init__": [17, 19, 21, 30, 33], "__iter__": [19, 21], "__len__": [17, 21], "__local__": [32, 38], "__pydantic_extra__": 17, "__pydantic_fields_set__": 17, "__pydantic_private__": 17, "__repr__": [17, 19, 21, 24], "__setitem__": 21, "__signature__": [17, 19, 21], "__str__": [17, 21], "__version__": 24, "_addressvalid": [17, 21, 23], "_asset": 45, "_baseblockqueri": 17, "_basequeri": 17, "_before_": 24, "_caller": 45, "_case_sensit": [14, 17], "_chainid_": 25, "_cli": 33, "_cli_avoid_json": [14, 17], "_cli_enforce_requir": [14, 17], "_cli_exit_on_error": [14, 17], "_cli_flag_prefix_char": [14, 17], "_cli_hide_none_typ": [14, 17], "_cli_ignore_unknown_arg": [14, 17], "_cli_implicit_flag": [14, 17], "_cli_parse_arg": [14, 17], "_cli_parse_none_str": [14, 17], "_cli_prefix": [14, 17], "_cli_prog_nam": [14, 17], "_cli_settings_sourc": [14, 17], "_cli_use_class_docs_for_group": [14, 17], "_contract": 45, "_data": 45, "_env_fil": [14, 17], "_env_file_encod": [14, 17], "_env_ignore_empti": [14, 17], "_env_nested_delimit": [14, 17], "_env_parse_enum": [14, 17], "_env_parse_none_str": [14, 17], "_env_prefix": [14, 17], "_exchangedata": 45, "_foo_intern": 44, "_fork": 34, "_hex_int_valid": [17, 23], "_immutable_numb": 44, "_local_deployments_map": 21, "_lognam": 45, "_manag": 22, "_mock": 27, "_name_": 25, "_nested_model_default_partial_upd": [14, 17], "_number": 44, "_outside_": 18, "_passphras": 25, "_secrets_dir": [14, 17], "_signatur": 23, "_sourcetraceback__iter": 23, "_sourcetraceback__object": 23, "_target": 45, "_type": 23, "_valu": 44, "_verifyingcontract_": 25, "_version_": 25, "_web3": 33, "_would_": 23, "_x": 44, "abbrevi": 32, "abc": [17, 24], "abi": [10, 17, 19, 20, 21, 22, 27, 42, 46], "abi_typ": [17, 24, 30], "abi_w_selector_t": 19, "abityp": [17, 24], "abl": [13, 17, 21, 24, 25, 27, 30, 37, 39, 44, 45], "abort": [18, 20, 26], "about": [17, 20, 21, 23, 25, 26, 27, 28, 30, 32, 33, 34, 35, 37, 39, 40, 41, 43, 44, 45, 46], "abov": [25, 30, 36, 37, 41, 43, 44, 45, 46], "abridg": 45, "absolut": [17, 24, 28], "abstract": [17, 20, 24, 30, 33, 37], "academ": 41, "academi": 44, "accept": [17, 18, 21, 25, 30, 37, 40], "access": [10, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 29, 30, 32, 33, 37, 38, 40, 43, 44], "access_list": 46, "accident": 25, "accord": 33, "account": [9, 10, 14, 18, 19, 20, 24, 27, 28, 29, 30, 32, 33, 37, 39, 40, 41, 42, 45, 46], "account_id": 21, "account_manag": [24, 26], "account_opt": [18, 26], "account_str": 21, "account_typ": [17, 18, 22, 26], "accountaliaspromptchoic": 18, "accountapi": [17, 18, 21, 22, 25, 26, 30, 33], "accountcontain": 22, "accountcontainerapi": [17, 21, 22], "accounthistori": [17, 21], "accountintconvert": 21, "accountmanag": [10, 21, 29], "accountplugin": 22, "accountserror": [17, 20], "accountsmanag": 21, "accounttransactionqueri": [14, 17, 21], "acct": [30, 31], "accumul": 23, "accur": 24, "achiev": [17, 30, 32, 37, 45], "across": [17, 21, 28, 29, 37], "action": [25, 44], "activ": [17, 18, 19, 21, 29, 30, 43, 44], "active_provid": [21, 29], "actual": [17, 19, 23, 30, 44], "ad": [17, 20, 21, 23, 24, 25, 26, 29, 37, 44], "add": [13, 14, 17, 18, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 43, 44, 46], "add_builtin_jump": 23, "add_compiler_data": 21, "add_jump": 23, "add_network": 17, "addbal": 30, "addit": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 32, 37, 45, 46], "addition": [17, 26, 32, 35, 37], "additional_error_messag": 24, "address": [10, 13, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 39, 42, 44, 46], "addressapiconvert": 21, "addresstyp": [13, 17, 19, 20, 21, 23], "adequ": 44, "adhoc": [17, 18, 21, 32], "adjust": [27, 37, 38, 44], "advanc": [17, 31], "advantag": 43, "advis": 41, "affect": 27, "affili": 21, "afford": [17, 45], "after": [7, 17, 19, 21, 22, 25, 27, 30, 32, 37, 38, 41, 42, 44, 46], "afterward": [26, 44], "again": 13, "against": [21, 22, 38, 44], "agent": [14, 24, 37], "alchemi": [17, 22, 26, 28, 34, 35, 37, 43, 45, 46], "algorithm": [19, 21], "alia": [0, 17, 18, 19, 20, 21, 23, 24, 25, 26, 29, 30, 32, 33, 40], "alias": [17, 18, 21, 26], "aliasalreadyinuseerror": 20, "alic": 25, "alik": [20, 38], "all": [0, 1, 4, 5, 6, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 44, 46], "all_path": 17, "allot": 17, "allow": [3, 13, 17, 18, 21, 22, 26, 28, 29, 30, 32, 35, 37, 39, 41, 42, 43, 44, 45, 46], "allow_disconnect": 24, "allow_instal": 21, "allowfailur": 13, "alon": [24, 26, 37], "along": [19, 32], "alphabet": 28, "alreadi": [17, 18, 20, 21, 24, 25, 26, 29, 30, 32, 34, 37, 40], "also": [1, 6, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 40, 41, 42, 43, 44, 46], "alter": [24, 29], "altern": [25, 26, 27, 30, 32, 35, 36, 37, 44], "altogeth": 37, "alwai": [17, 27, 28, 30, 32, 43], "amoi": 43, "amount": [13, 17, 19, 21, 30, 31, 37, 46], "an": [0, 3, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "analysi": 45, "analyz": 30, "ancestor": 24, "anchor": 24, "ani": [1, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 32, 33, 37, 38, 41, 42, 43, 44, 46], "annot": [17, 21, 23], "anonym": 17, "anoth": [17, 20, 23, 37, 44, 46], "anvil": [37, 44], "anyth": [17, 18, 26, 29, 30, 33, 36, 38], "anywher": [30, 32, 36], "ap": [1, 3, 4, 5, 6, 7, 8, 9, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 45], "ape_": 33, "ape_account": [25, 26], "ape_accounts_": 25, "ape_cli_context": [18, 26, 43], "ape_cli_subcommand": 33, "ape_consol": 29, "ape_console_extra": 29, "ape_ethereum": [13, 21, 30, 33], "ape_init_extra": 29, "ape_myplugin": 33, "ape_nod": 14, "ape_vyp": 42, "apeacademi": 46, "apeattributeerror": 20, "apeclicontextobject": [18, 26], "apeconfig": [17, 21], "apeexcept": 20, "apeindexerror": 20, "apelogg": 18, "apenet": 37, "apeproject": [17, 22, 38, 42], "apeworx": [33, 34, 35, 37, 40, 41], "api": [9, 20, 21, 22, 24, 25, 28, 32, 37, 39, 45], "api_path": 21, "api_uri": 37, "apinotimplementederror": [14, 17, 20], "appear": [21, 24], "append": [17, 21, 23, 24, 27, 37], "appli": [17, 21, 28, 33, 44, 46], "applic": [17, 24, 28, 32, 46], "application_prefix": 26, "applydiscount": 30, "approach": [14, 25, 37, 43, 44], "appropri": 21, "approv": 45, "approxim": 17, "ar": [6, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "arbitrari": 17, "arbitrum": 37, "architectur": 35, "archiv": 24, "archive_fil": 24, "area": [26, 44], "arg": [0, 4, 5, 6, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 29, 30, 31], "arg1": 30, "arg2": 30, "argument": [0, 1, 5, 6, 8, 13, 14, 17, 19, 20, 21, 23, 24, 25, 26, 29, 30, 32, 33, 37, 40, 43, 46], "arguments_length": 20, "argumentslengtherror": 20, "around": [17, 19, 20, 21, 27], "arrai": [24, 42], "arriv": 18, "artifact": [17, 21, 27, 38], "as_transact": 13, "ask": [5, 17, 25, 32], "assert": [20, 25, 30, 37, 42, 44, 46], "assertionerror": 44, "assign": 42, "assist": [25, 26, 33], "associ": [17, 21], "assum": [17, 19, 21, 24, 30, 37, 40, 42, 43, 44, 45, 46], "ast": 23, "async": 24, "asyncio": 24, "attach": [17, 18, 46], "attempt": [17, 20, 21, 32, 33, 39, 44], "attribut": [17, 19, 21, 24, 30], "attributeerror": [20, 46], "author": [17, 30, 42, 44, 45], "authorized_method": 44, "auto": [18, 23, 25, 28, 37, 44], "auto_gas_multipli": 17, "auto_min": [14, 17, 44], "autogaslimit": 23, "autom": 38, "automat": [1, 6, 17, 18, 21, 22, 23, 24, 26, 28, 29, 30, 32, 37, 40, 42, 43, 44, 45, 46], "automin": [14, 17], "autoreload": 29, "avail": [0, 5, 14, 17, 19, 21, 22, 23, 25, 29, 30, 31, 32, 33, 35, 36, 37, 42, 44, 46], "avalanch": 37, "avoid": [21, 25, 30, 41, 42, 43], "await": 24, "await_confirm": 17, "b": 13, "back": [1, 17, 19, 21, 23, 30, 37], "backend": 32, "backward": 21, "bad": 26, "balanc": [17, 19, 25, 29, 30, 42, 44], "balanceof": [30, 44, 45], "bar": [17, 18, 24, 37, 44, 46], "barev": 46, "base": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 30, 31, 33, 35, 37, 43, 44, 45, 46], "base_ecosystem_plugin": 37, "base_err": 20, "base_error": 18, "base_fe": [17, 21, 46], "base_fee_multipli": [17, 37], "base_path": [17, 20, 21, 28, 32], "base_typ": 18, "baseaddress": [17, 19, 21], "basecontractlog": 23, "baseinterfac": [17, 24], "baseinterfacemodel": [17, 19, 21, 24], "basemodel": [17, 23], "basemultical": 13, "baseset": 17, "basic": 30, "baz": 46, "beacon": 39, "becaus": [20, 21, 24, 25, 30, 32, 33, 37, 43, 44, 45], "becom": [42, 44], "been": [17, 21, 23, 24, 42, 44], "befor": [17, 19, 21, 24, 26, 30, 37, 43, 44, 46], "beforehand": 46, "beforevalid": [17, 23], "begin": [21, 30], "begin_lineno": 23, "behav": 44, "behavior": [17, 21, 23, 32, 36, 37], "being": [17, 20, 21, 23, 29, 37, 42], "belong": 19, "below": [25, 30, 32, 37, 44], "benefit": 33, "besid": [37, 42], "best": [14, 17, 21, 37, 43, 44, 45], "beta": 31, "better": [24, 37], "between": [8, 17, 19, 21, 23, 37], "biggest_block_s": 21, "binari": 27, "blank": 21, "blast": 37, "block": [17, 19, 20, 21, 22, 23, 24, 28, 29, 33, 42, 44], "block_hash": 23, "block_id": [17, 20], "block_identifi": 17, "block_numb": [17, 19, 21, 23, 37], "block_page_s": [14, 17], "block_tim": [17, 19, 21, 37], "blockapi": [17, 21, 31], "blockchain": [10, 14, 17, 20, 21, 22, 23, 25, 30, 35, 37, 44], "blockcontain": 21, "blockid": [17, 20, 23], "blocknotfounderror": [17, 20], "blockqueri": [14, 17, 21], "blocktransactionqueri": [14, 17, 21], "blue": [17, 36], "blueprint": [17, 21], "blueprint_id": 21, "bob": 25, "bodi": 23, "bool": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 28, 44], "boolean": [26, 28], "boost": 24, "borrow": 24, "both": [17, 21, 22, 24, 26, 29, 30, 33, 35, 37, 38, 46], "bound": 42, "box": [32, 35, 37, 44], "branch": [6, 17, 32, 35], "bridg": 37, "bright_blu": 24, "bright_green": 24, "bright_magenta": 24, "broadcast": 13, "broken": 46, "browni": [17, 21], "browser": 25, "bsc": 37, "build": [24, 27, 32, 38, 40, 41, 43, 44, 45], "build_command": [14, 17], "builder": 13, "built": [21, 23, 33, 41, 44], "builtin": [23, 42], "bundl": 44, "burn": 45, "by_alia": [17, 23], "bypass": [19, 21, 32], "byte": [17, 19, 21, 23, 24, 30], "bytecod": [1, 17], "bytes_valu": 30, "bytesaddressconvert": 21, "c": [2, 29], "cach": [6, 17, 21, 29, 32, 38, 44], "cache_api": 21, "cache_blueprint": 21, "cache_clear": 24, "cache_deploy": 21, "cache_nam": 21, "cache_proxy_info": 21, "cairo": 44, "calcul": [17, 21, 23], "call": [7, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 37, 39, 42, 43, 44, 46], "call_arg": 13, "call_kwarg": 13, "call_trace_approach": 14, "call_view_method": 19, "callabl": [18, 20, 21, 22, 24, 26], "callback": 18, "calldata": [17, 19, 30], "can": [0, 6, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "can_trace_sourc": 21, "cannot": [17, 18, 24, 44, 46], "capabl": [23, 45], "capit": 38, "captur": 44, "care": [37, 46], "carefulli": 37, "case": [17, 19, 20, 21, 23, 24, 26, 27, 28, 30, 32, 33, 37, 38, 39, 42, 43, 44], "case_sensit": 18, "caseinsensitivedict": 24, "catch": 10, "caus": [37, 44], "cd": 25, "cell": 29, "certain": [18, 21, 44, 46], "chain": [10, 13, 14, 17, 20, 22, 24, 29, 30, 31, 37, 41, 43, 45], "chain_id": [14, 17, 20, 21, 29, 37, 43], "chainerror": [20, 21], "chainid": 17, "chainlist": [14, 17, 21], "chainmanag": [10, 14, 17, 20, 21, 29, 44], "challeng": 41, "chanc": [17, 37, 41], "chang": [1, 8, 17, 18, 19, 21, 23, 24, 28, 29, 32, 34, 35, 36, 37, 42, 43, 44, 45], "changeonstatu": 44, "check": [17, 19, 21, 23, 24, 25, 30, 32, 39, 41, 42, 44], "check_for_chang": 21, "check_signatur": [17, 25], "check_valu": 44, "checksum": [21, 23], "checksumaddress": [17, 21, 23], "choic": [17, 21, 26, 37, 46], "choice_callback": 18, "choos": [6, 14, 18, 21], "ci": [25, 30], "circuit": 21, "cl": [18, 24, 26, 43], "claim": 17, "clarifi": 37, "class": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 38, 42], "classmethod": [13, 17, 19, 20, 21, 23], "classvar": [17, 19, 21], "clean_path": 24, "clear_local_cach": 21, "cli": [7, 17, 20, 21, 24, 25, 27, 29, 35, 41, 44], "cli_0": 26, "cli_1": 26, "cli_2": 43, "cli_ctx": [26, 33, 43], "cli_logg": 18, "click": [7, 18, 26, 33, 35, 37, 43], "clickexcept": 20, "client": [14, 17], "clisettingssourc": [14, 17], "clone": [3, 21, 32, 39], "close": 29, "closer": 37, "closest": 37, "closur": 23, "cloudflar": 14, "cmd": [18, 26, 37], "cmd_1": 26, "cmd_2": 26, "cmd_3": 26, "code": [2, 17, 18, 20, 21, 23, 26, 30, 32, 33, 40, 41, 44, 45], "codecov": 23, "codes": 17, "col_offset": 23, "collect": [17, 18, 20, 21, 23, 32], "collis": [21, 30], "colon": [26, 44], "color": [17, 24, 36], "column": [17, 19, 21, 23], "com": [14, 35, 37, 41], "combin": [17, 21, 37, 44], "come": [19, 21, 23, 24, 25, 27, 29, 30, 32, 35, 36, 37, 44], "comma": 44, "command": [0, 4, 5, 6, 7, 14, 17, 21, 25, 26, 27, 28, 30, 32, 33, 35, 36, 37, 38, 41, 43], "comment": 44, "common": [18, 24, 28, 32, 33, 37, 38], "commonli": 37, "compar": 23, "comparison": 23, "compat": [18, 23, 35], "compil": [9, 10, 20, 23, 24, 26, 28, 29, 30, 35, 38, 41, 42, 44], "compile_cod": 17, "compile_miss": 21, "compile_sourc": [21, 27], "compiler_data": 21, "compiler_nam": 21, "compiler_set": 17, "compilerapi": [17, 21, 22, 33, 35], "compilererror": [20, 21], "compilermanag": [10, 21], "compilerplugin": 22, "complet": [14, 17, 21, 24, 43, 44], "complex": [30, 32], "compon": 23, "compos": 33, "comprehens": [14, 17, 21], "comput": [17, 24, 25, 38], "concaten": 21, "concept": [17, 23, 24, 44], "concurr": [14, 17, 21], "condit": 33, "config": [1, 3, 6, 10, 24, 25, 27, 28, 29, 34, 35, 38, 44, 46], "config_class": 22, "config_file_nam": 17, "config_overrid": [17, 21, 32, 38], "configdict": 17, "configenum": 17, "configerror": [17, 20], "configmanag": [10, 17, 21, 22], "configur": [9, 14, 17, 19, 20, 21, 22, 24, 25, 27, 32, 38, 41, 44], "confirm": [5, 6, 17, 18, 19, 21, 25, 32, 46], "conform": [22, 33], "conftest": 44, "confus": 23, "connect": [14, 17, 19, 20, 21, 26, 28, 33, 34, 35, 43, 44, 45, 46], "connectedprovidercommand": [18, 26, 37, 43], "connection_id": 17, "connection_str": [17, 21], "consid": [17, 21, 24, 37], "consist": 18, "consol": [0, 7, 9, 25, 30, 31, 33, 34, 37, 38, 41, 44], "constant": 31, "constraint": 35, "construct": 23, "constructor": [17, 19, 30, 40], "constructorabi": [17, 20, 21, 24], "consult": 37, "consum": 24, "contact": 23, "contain": [17, 19, 21, 22, 23, 24, 27, 30, 32, 34, 37, 38, 40, 41, 44, 46], "container": 41, "content": [17, 21, 23, 24, 28], "context": [17, 18, 20, 21, 23, 24, 25, 29, 33, 42, 43, 44], "continu": [30, 37, 42], "contract": [1, 8, 9, 10, 13, 17, 18, 20, 21, 23, 24, 25, 27, 29, 37, 38, 40, 41, 42, 45, 46], "contract2": 30, "contract_a": 46, "contract_address": [17, 20, 23], "contract_contain": [19, 21], "contract_ev": 31, "contract_file_paths_argu": [18, 26], "contract_filepath": [17, 21], "contract_inst": [21, 31], "contract_method_defined_in_contract": 46, "contract_nam": [23, 44], "contract_opt": 18, "contract_sourc": 17, "contract_typ": [10, 17, 19, 20, 21, 28, 38], "contractcach": 21, "contractcod": 17, "contractcontain": [17, 19, 21, 30], "contractcoverag": 23, "contractcr": [14, 17, 19, 21], "contractcreationqueri": [14, 17, 21], "contractdataerror": 20, "contracterror": 18, "contractev": [17, 19, 23, 46], "contracteventqueri": [14, 17, 21], "contractfromdepend": 38, "contractinst": [10, 17, 19, 21, 30, 46], "contractlog": [17, 19, 21, 23, 31, 46], "contractlogcontain": [17, 23], "contractlogicerror": [17, 20, 21, 42, 44], "contractmanag": 21, "contractmethodhandl": 13, "contractmethodqueri": [14, 17, 21], "contractnam": [21, 27], "contractnotfounderror": [20, 21], "contracts_fold": [17, 21, 27, 28, 32, 38], "contractsourc": 17, "contractsourcecoverag": 23, "contracttyp": [17, 19, 20, 21], "contracttypewrapp": 19, "control": [17, 21, 23, 25, 26, 37, 43, 44, 46], "controlflow": 23, "conveni": [17, 21, 23], "convent": [23, 28], "convers": [10, 17, 22], "conversionerror": [17, 20, 21], "conversionmanag": [10, 21], "conversionplugin": 22, "convert": [10, 18, 20, 24, 28, 29, 30], "convertedtyp": 17, "converterapi": [17, 21, 22], "copi": [24, 30], "core": [5, 17, 25, 28, 30, 32, 33, 37], "coroutin": 24, "correct": [18, 32, 37, 44], "correctli": 37, "correspond": [17, 19, 23, 26, 37, 44], "cost": [17, 21, 30], "could": [17, 29, 30], "count": [0, 21, 23, 24, 25], "counter": 23, "coupl": 26, "cov": 44, "cover": [23, 30, 44], "coverag": [17, 45], "coverageproject": 23, "coveragereport": 23, "coveragestat": 23, "crash": 42, "creat": [0, 3, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 37, 38, 44, 45], "create_account": 26, "create_custom_provid": 21, "create_forwarder_to": 39, "create_network_typ": 17, "create_struct": 24, "create_tempdir": 24, "create_transact": 17, "creation": [17, 19, 21, 26], "creation_metadata": [19, 46], "cross": 19, "ctrl": 44, "ctx": 18, "currenc": [17, 23, 46], "currencyvalu": 23, "currencyvaluecompar": 23, "current": [13, 17, 18, 21, 24, 35, 37, 38], "custom": [17, 18, 20, 21, 23, 25, 26, 28, 29, 33, 36], "custom_hd_path": 0, "custom_network": [17, 21], "customcontext": 26, "customerror": [17, 19, 20, 21], "customiz": 37, "customnetwork": 37, "cut": 37, "cycl": 8, "d": [25, 41, 44], "d75f00": 24, "daemon": [17, 19, 21, 24], "dai": 45, "dapphub": 32, "dappnix": 32, "dapptoolserc20": 32, "data": [9, 10, 14, 17, 18, 19, 20, 21, 23, 24, 25, 28, 29, 30, 32, 37, 44], "data_dir": 14, "data_fold": [14, 17, 21], "databas": [29, 31], "dataclass": [24, 31], "datafram": [19, 21], "date": [21, 41], "datetim": [17, 21], "de": 17, "debug": [0, 1, 2, 3, 4, 5, 6, 8, 17, 25, 29, 31, 36, 37, 46], "debug_": 44, "debug_logs_lin": 17, "debug_logs_typ": 17, "debug_setcod": 13, "debug_trace_transaction_paramet": 45, "debug_tracecal": 45, "debug_tracetransact": 45, "decentr": 37, "decid": 25, "decim": [17, 21, 44], "decis": 37, "declar": [17, 28, 33, 46], "decod": [17, 19, 20, 21, 24, 37], "decode_address": 17, "decode_block": 17, "decode_calldata": 17, "decode_custom_error": 17, "decode_depend": 21, "decode_hex": 29, "decode_input": [19, 30], "decode_log": [17, 46], "decode_output": 24, "decode_primitive_valu": 17, "decode_receipt": 17, "decode_returndata": 17, "decodingerror": 20, "deconstruct": 22, "decor": [18, 22, 24, 30, 33, 43, 44], "deduc": [14, 17, 35], "deep": 24, "deeper": [41, 44, 45], "def": [13, 17, 18, 21, 22, 24, 25, 26, 29, 30, 33, 34, 36, 37, 43, 44, 46], "default": [0, 3, 4, 8, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 32, 35, 37, 43, 44, 46], "default_": 37, "default_ecosystem": [17, 21, 28, 37], "default_log_level": 18, "default_nam": 24, "default_network": [28, 34, 37], "default_network_nam": 17, "default_provid": [28, 34, 37], "default_provider_nam": 17, "default_transaction_typ": 37, "defaultqueryprovid": 21, "defin": [7, 14, 17, 19, 20, 21, 22, 23, 24, 28, 29, 30, 33, 37, 42, 43, 44], "definit": [17, 21, 37], "defisaverlogg": 45, "delai": [8, 37, 43], "deleg": [19, 21, 24, 39, 45], "delet": [17, 21, 32, 33], "delete_account": 26, "deltatim": 21, "demo": [28, 38, 46], "demonstr": [30, 43, 44, 46], "depend": [1, 6, 9, 17, 21, 22, 23, 33], "dependency_contract": 32, "dependency_id": 21, "dependency_project": 32, "dependencyapi": [17, 21, 22, 32], "dependencycontracttyp": 32, "dependencymanag": 21, "dependencyplugin": 22, "dependencyversionmap": 21, "dependend": 21, "deploi": [13, 17, 19, 20, 21, 27, 31, 32, 38, 40, 44, 46], "deploy": [1, 17, 19, 21, 38], "deployed_contract": 32, "deployment_bytecod": 17, "deployment_data": 17, "deploymentconfig": 17, "deploymentmanag": 21, "deployments_map": 21, "depth": [23, 41, 46], "deriv": [0, 19, 24, 37, 44], "describ": [23, 25, 37], "descript": [17, 18, 33, 39], "descriptor": 24, "design": [21, 23, 33], "desir": [13, 19], "despit": 44, "destin": [10, 17, 21, 24], "detail": [17, 19, 23, 38], "detect": [17, 19, 20, 21, 39, 42], "determin": [14, 17, 19, 21, 24, 39], "dev": [10, 17, 20, 21, 23, 24, 30, 44, 46], "dev_messag": [10, 20], "develop": [9, 14, 17, 19, 21, 24, 26, 31, 35, 37, 41, 46], "df": 31, "dict": [14, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "dictionari": [17, 18, 21, 23, 24, 30, 38, 44, 45], "did": [34, 45], "differ": [17, 19, 21, 23, 24, 28, 32, 33, 35, 37, 38, 39, 44], "dig": 24, "dim": 24, "dir": [5, 21], "dir_a": 24, "dir_b": 24, "directli": [17, 19, 21, 23, 25, 26, 27, 29, 30, 31, 32, 37, 38, 45, 46], "directori": [14, 17, 21, 24, 25, 27, 28, 29, 31, 32, 33, 35, 37, 38, 40, 43, 44], "disabl": 44, "disallow": 44, "disconnect": [14, 17, 21, 26, 37, 44], "disconnect_aft": [17, 21, 37], "disconnect_on_exit": [17, 21], "discord": 41, "discuss": [37, 44], "disk": [17, 21, 25], "dispatch": 24, "displai": [5, 17, 20, 23, 24, 25, 29, 37], "dist": 44, "distinguish": 44, "dive": 44, "divid": 23, "divis": 44, "do": [1, 13, 17, 20, 21, 24, 25, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 44, 46], "doc": [17, 23, 24, 33], "dockerfil": 41, "document": [19, 22, 25, 27, 28], "doe": [17, 18, 19, 20, 21, 24, 26, 28, 30, 32, 33, 35, 37, 41, 44, 45], "doesn": [17, 23, 45], "domain": [21, 30], "don": [5, 21, 30, 32, 33, 37, 44, 46], "dotenvtyp": [14, 17], "down": [14, 17, 23, 24], "download": [6, 17, 22, 24, 32], "download_url": 24, "doxx": 24, "drop": [7, 24], "ds_store": 27, "dsguard": 45, "dsproxi": 45, "dst": 45, "duck": [17, 23], "due": 44, "dump": [17, 23, 30], "duplic": 17, "durat": [18, 21, 30], "dure": [17, 21, 23, 27, 32, 36, 43, 44], "dynarrai": 30, "e": [17, 21, 25, 28, 30, 32, 37, 44, 45, 46], "e501": [17, 21], "each": [1, 13, 14, 17, 21, 22, 23, 24, 25, 28, 31, 32, 33, 37, 43, 44, 46], "earlier": 44, "earliest": [17, 19, 21, 23], "easi": [23, 26, 30, 35, 41, 44], "easier": 28, "easili": [17, 37, 46], "ecdsa": 23, "echo": [18, 26, 33, 43], "ecosystem": [4, 17, 18, 20, 21, 22, 26, 31, 34, 35, 37, 43, 44], "ecosystem_config": 17, "ecosystem_filt": [4, 21], "ecosystem_nam": [17, 21, 43], "ecosystemapi": [17, 21, 22, 35, 37], "ecosystemnotfounderror": 20, "ecosystemplugin": 22, "ecurepassphras": 25, "edit": [27, 28, 33, 35, 37], "effect": 37, "eip": [17, 21, 23, 37, 39, 40, 46], "eip712": 25, "eip712messag": [17, 25], "eip712typ": 25, "either": [7, 17, 18, 19, 21, 24, 25, 26, 30, 32, 33, 37, 41], "elect": 25, "elimin": 25, "els": [17, 19, 21, 24, 26, 36, 37, 43, 44], "elsewher": [21, 27, 28], "embed": 29, "emit": [17, 23, 46], "empti": [17, 20, 22, 23, 24, 44], "emul": 13, "en": [17, 21, 22, 28, 30, 35], "enabl": [14, 17, 19, 25, 30, 44], "enablememori": 45, "enact": 44, "encod": [13, 17, 23, 37], "encode_": 23, "encode_address": 17, "encode_calldata": 17, "encode_contract_blueprint": 17, "encode_defunct": [23, 25], "encode_deploy": 17, "encode_hex": 29, "encode_input": [24, 30], "encode_intended_valid": 23, "encode_structured_data": 23, "encode_transact": 17, "encode_typed_data": 23, "encompass": 44, "encount": [23, 42], "encourag": [18, 32], "encrypt": 25, "end": [17, 18, 19, 21, 24, 27, 37, 44], "end_coloffset": 23, "end_lineno": 23, "endcolumn": 23, "endeavor": 26, "endlin": 23, "enforc": 18, "engin": [14, 17, 19, 20, 21], "engine_to_us": [19, 21], "enhanc": 17, "enough": [17, 30], "enrich": [17, 21], "enrich_error": [17, 21], "enrich_trac": 17, "ensur": [21, 22, 23, 30, 34, 37, 44], "enter": [17, 25, 36, 37, 44], "entir": [33, 35, 37, 44], "entireti": 30, "entri": [21, 33, 37], "entropi": 25, "entry_point": 33, "entrypoint": 33, "enum": [17, 18, 27], "env": 41, "environ": [24, 25, 28, 29, 37, 41], "eoa": 17, "ephemer": 37, "epoch": 21, "equal": [17, 23, 25, 46], "equival": [17, 28], "erc20": 32, "erc721": 32, "err": [17, 20, 21, 42], "error": [0, 1, 2, 3, 4, 5, 6, 8, 17, 18, 19, 20, 21, 23, 24, 26, 29, 30, 36, 37], "error_messag": 20, "errorabi": [20, 21], "especi": [17, 32], "estim": [14, 17, 21, 23, 24, 28, 37, 44], "estimate_gas_cost": [17, 46], "estimate_queri": [14, 17, 21], "etc": [26, 42, 46], "eth": [10, 14, 17, 21, 25, 29, 30, 31, 37, 41, 44, 46], "eth_account": 25, "eth_cal": [13, 30], "eth_createaccesslist": 46, "eth_estimatega": 28, "eth_pydantic_typ": [17, 30], "eth_sendprivatetransact": [17, 30], "eth_sendrawtransact": 30, "eth_sendtransact": [13, 30], "eth_subscrib": 17, "eth_typ": [17, 21], "eth_util": 29, "ether": [13, 25, 30, 31, 46], "ethereum": [4, 9, 14, 17, 21, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 37, 39, 43, 44, 45, 46], "ethereumnetworkconfig": 14, "ethereumnodeconfig": 14, "ethereumnodeprovid": 21, "etherscan": [17, 19, 22, 30, 35, 37, 46], "ethpandaop": 14, "ethpm": [21, 38, 40], "ethpm_typ": [17, 19, 21, 23], "ethtest": [37, 44], "evalu": [18, 24], "even": [17, 21, 36, 37], "event": [17, 19, 20, 30, 46], "event_argu": 23, "event_nam": 23, "event_typ": 46, "eventabi": [17, 19, 21, 23, 24], "everi": [13, 21, 23, 24, 36, 37, 39], "everyth": [17, 33, 35], "evm": [17, 21, 30, 37, 42, 45], "evm_vers": [27, 28, 32], "exact": [23, 44], "exactli": 44, "exampl": [6, 10, 13, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46], "exc": 20, "exce": [20, 46], "except": [9, 10, 17, 18, 19, 21, 24, 29, 30, 37, 42, 44, 46], "exclud": [17, 21, 23, 24, 32, 44], "exclude_default": [17, 23], "exclude_glob": 21, "exclude_non": [17, 23], "exclude_unset": [17, 23], "exclus": [21, 24, 27], "execut": [13, 14, 17, 18, 19, 21, 23, 26, 30, 36, 43, 44, 45], "exist": [0, 17, 18, 21, 23, 24, 26, 27, 29, 33, 37, 40, 44], "existing_alias_argu": [18, 26, 33], "exit": [17, 21, 29, 44], "expand": [24, 28], "expand_envar": 24, "expand_environment_vari": 24, "expans": 28, "expect": [10, 13, 19, 21, 23, 44, 46], "expected_messag": 10, "experi": 41, "explain": [24, 37, 44], "explan": [24, 38], "explicitli": [17, 23, 27, 44], "explictli": 44, "explor": [22, 30, 39], "explorerapi": [17, 21, 22, 40], "explorerplugin": 22, "export": 42, "extend": [18, 23, 26, 35], "extend_last": 23, "extens": [17, 18, 21, 22, 24, 29, 33, 38, 40, 44], "extern": [30, 44], "extra": [17, 24, 25, 28, 32, 41], "extra_address": 19, "extraattributesmixin": [17, 19, 24], "extract": [24, 32], "extract_arch": 24, "extract_config": [17, 21], "extract_manifest": 21, "extract_nested_valu": 24, "extramodelattribut": 24, "f": [1, 6, 17, 18, 19, 21, 25, 26, 33, 41, 42, 43], "face": 20, "facilit": 28, "fact": 44, "factori": [17, 18, 19, 21, 28, 30, 38, 46], "fail": [13, 17, 18, 20, 21, 24, 30, 32, 33, 37, 42, 44], "failur": 44, "fallback": [21, 42], "fallbackabi": 21, "fallbacknotdefinederror": 42, "fals": [14, 17, 18, 19, 20, 21, 23, 24, 32, 42, 44, 45], "familiar": 37, "fantom": [28, 35, 37, 44], "fashion": 30, "faster": [21, 24], "fdel": 24, "featur": [17, 18, 23, 25, 26, 28, 30, 31, 32, 34, 42, 44, 45, 46], "fee": [17, 31, 37, 42], "fee_token_decim": 17, "fee_token_symbol": 17, "feed": 37, "fetch": [17, 19, 21, 30, 31, 37], "few": [31, 32, 44], "ff8c00": 24, "fget": 24, "field": [17, 21, 23, 24, 32, 35, 44], "figur": [23, 30], "file": [8, 17, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 35, 37, 38, 42, 43, 44, 46], "file_a": 24, "file_b": 24, "file_c": 24, "file_path": [1, 26], "filenam": 21, "filepath": 21, "filesystem": 24, "fill": [21, 23], "filter": [4, 17, 18, 19, 23, 26], "final": [17, 21, 24, 27, 44], "find": [17, 19, 20, 21, 23, 24, 25, 32, 33, 39, 44, 46], "finish": 33, "first": [17, 19, 21, 23, 24, 25, 26, 29, 30, 31, 32, 35, 37, 40, 43, 46], "fixtur": [13, 17, 21, 25, 37], "flag": [6, 17, 21, 25, 26, 27, 32, 35, 36, 37, 42, 43, 44, 45, 46], "flatten": [17, 18, 21], "flatten_contract": [17, 21], "flexibl": 43, "float": [17, 21, 23], "flow": [23, 44], "fly": 37, "fn": 24, "folder": [3, 7, 8, 17, 21, 23, 27, 29, 31, 44, 46], "follow": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46], "foo": [17, 18, 21, 24, 30, 37, 44], "foo_bar": 26, "foo_method": 44, "foobar": [21, 35, 43], "fooevent": 46, "foohappen": 31, "foomethod": 46, "forbid": 45, "forc": [1, 6, 17, 21, 32], "fork": [4, 9, 17, 21, 28, 44, 46], "forkednetworkapi": 17, "form": [21, 23, 24, 30, 36, 44], "format": [4, 17, 18, 21, 23, 24], "formerli": 39, "forward": [13, 30, 42], "found": [17, 19, 20, 21, 24, 25, 26, 27, 30, 32, 33, 37, 43, 44], "foundri": [26, 30, 34, 37, 44, 45], "frame": [20, 45], "framework": [26, 30, 32, 36, 41, 44, 46], "friendlier": 17, "fro": 37, "from": [0, 3, 6, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "from_error": 20, "from_ev": 23, "from_manifest": [21, 38], "from_python_librari": [21, 38], "from_receipt": [17, 19, 46], "fset": 24, "full": [17, 21, 23, 24, 26, 27, 32, 37, 41, 44], "full_nam": 23, "fulli": [28, 30], "func": [17, 23, 24, 44], "function": [17, 18, 19, 21, 23, 24, 25, 26, 30, 31, 37, 42], "function_hit": 23, "function_r": 23, "functioncoverag": 23, "fund": [17, 20, 25, 30, 42, 44], "fundm": 44, "fundmycontract": 46, "further": 41, "futur": [17, 19, 21], "g": [17, 21, 25, 28, 30, 32, 37, 44, 45, 46], "ga": [17, 20, 24, 28, 30, 37, 42], "ganach": 17, "gap": 23, "gas_cost": 24, "gas_estimation_error_messag": 24, "gas_limit": [17, 23, 28, 37], "gas_pric": [17, 21, 46], "gas_us": [17, 30], "gaslimit": 23, "gasreport": 23, "gather": 24, "ge": [17, 23], "gener": [14, 17, 18, 21, 23, 24, 27, 30, 32, 36, 37, 40, 44], "generate_account": [17, 25], "generate_dev_account": 24, "generate_test_account": 25, "generateddevaccount": [17, 24], "generic_method": 24, "genericconfig": 17, "genesi": [24, 37], "get": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 32, 37, 38, 40, 41, 42, 43, 44, 45, 46], "get_accounts_by_typ": 21, "get_address_url": 17, "get_all_files_in_directori": 24, "get_api_path": 21, "get_bal": 17, "get_block": [17, 29, 37], "get_blueprint": 21, "get_choic": 18, "get_cod": 17, "get_compil": 27, "get_compiler_set": 17, "get_config": 17, "get_contain": 21, "get_contract": 30, "get_contract_log": 17, "get_contract_typ": 17, "get_contracts_path": 21, "get_creation_metadata": 21, "get_current_timestamp_m": 24, "get_custom_error": 21, "get_depend": [21, 38], "get_deploy": [21, 30], "get_ecosystem": 21, "get_error_by_signatur": 19, "get_event_by_signatur": [19, 46], "get_full_extens": 24, "get_html": 23, "get_import": [17, 21], "get_manifest_path": 21, "get_metavar": 18, "get_method_selector": 17, "get_multipl": 21, "get_network": [17, 43], "get_network_choic": 21, "get_network_data": 17, "get_nonc": 17, "get_package_path": 24, "get_package_vers": 24, "get_project_depend": 21, "get_project_path": 21, "get_project_versions_path": 21, "get_provid": 17, "get_provider_from_choic": 21, "get_proxy_info": [17, 21], "get_python_typ": 17, "get_raw_fram": 45, "get_receipt": [17, 21, 45], "get_refer": 21, "get_relative_path": 24, "get_request_head": 21, "get_static_list": 30, "get_storag": 17, "get_test_account": [14, 17], "get_transaction_trac": [17, 45], "get_transaction_url": 17, "get_transactions_by_account_nonc": 17, "get_transactions_by_block": 17, "get_user_selected_choic": 18, "get_vers": [17, 21], "get_version_map": 17, "get_virtual_machine_error": 17, "get_xml": 23, "getattr": 29, "geth": [14, 17, 20, 21, 24, 35, 37], "gethdev": 14, "getmarketborrowr": 45, "getmodifiedbal": 30, "getreserv": 30, "getsecret": 44, "getter": [23, 44], "gh": 32, "ghcr": 41, "git": [32, 35], "github": [3, 6, 17, 22, 28, 35, 37, 41], "gitmodul": 22, "give": [23, 24, 25, 26, 32, 39, 43], "given": [7, 8, 10, 17, 18, 19, 20, 21, 23, 24, 26, 28, 30, 37, 44], "glob": [21, 24, 27, 32], "global": [21, 28, 37, 38, 44], "global_config": 21, "globalcontract": 28, "gnosi": 39, "go": [17, 21, 37], "goe": [24, 37], "goerli": 4, "good": [18, 33], "got": 46, "gotten": 24, "gpl": 42, "grab": 44, "gracefulli": 26, "granular": [21, 30], "great": [17, 32, 41], "greater": [17, 21, 23], "green": [17, 36], "group": [7, 23, 26, 30, 33, 43], "gt": 17, "guess": 21, "guid": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "guidelin": 32, "gwei": [17, 21, 30, 46], "gz": 24, "h": 29, "ha": [17, 19, 20, 21, 24, 30, 31, 37, 40, 42, 44, 46], "hacker": [42, 44], "had": 42, "hand": [23, 30], "handi": 21, "handl": [17, 18, 20, 21, 22, 23, 24, 26, 29, 37, 42], "handle_ape_except": 20, "handler": [13, 17, 18, 19, 30, 46], "happen": [18, 22, 23, 27, 30, 32, 37, 44, 46], "haramb": 41, "hard": [18, 24], "hardcod": 17, "hardhat": [14, 17, 28, 34, 35, 37, 44], "has_explor": 20, "haserror": 44, "hash": [17, 19, 21, 23, 29], "hashbytes20": 23, "hashstr20": 23, "have": [1, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46], "hd": [0, 14, 17, 24, 25], "hd_path": [24, 44], "hdpath": 25, "head": [21, 29], "header": [14, 17, 21, 23, 24], "height": 21, "hello": [25, 43], "helloworld": 43, "help": [18, 19, 24, 25, 28, 29, 32, 33, 35, 37, 41, 44], "helper": [0, 4, 5], "henc": 37, "here": [17, 21, 22, 25, 26, 27, 28, 30, 33, 34, 35, 37, 38, 42, 43, 44, 45], "hex": [21, 23, 24, 25, 30], "hexaddressconvert": 21, "hexbyt": [17, 19, 21, 23, 30], "hexconvert": 21, "hexint": 23, "hexintconvert": 21, "hexiterableconvert": 21, "hexstr": [17, 23], "hide": [0, 25], "higher": [30, 37, 44], "highest": 46, "highli": 25, "highlight": 32, "histor": [17, 19, 21], "histori": [17, 21, 30, 31], "hit": 23, "hit_count": 23, "holeski": [4, 14], "home": [17, 24, 25, 28, 29, 31, 37, 41, 42], "homebrew": 41, "hood": [21, 25], "hook": [17, 22, 33], "hookimpl_kwarg": 22, "hop": 43, "host": [27, 39], "how": [17, 18, 23, 24, 25, 27, 28, 30, 31, 32, 37, 42, 43, 44, 46], "howev": [17, 19, 21, 25, 28, 32, 33, 35, 37, 38, 39, 43, 44, 46], "html": [23, 44], "htmlcov": 44, "http": [14, 17, 21, 23, 24, 28, 32, 33, 35, 36, 37, 41], "http_uri": [17, 37], "httpprovid": [14, 33], "huge": 24, "human": 29, "i": [1, 7, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "id": [14, 17, 19, 20, 21, 23, 27, 28, 30, 32, 37], "ideal": [21, 43], "idempot": [17, 23], "ident": 37, "identifi": [17, 19, 21, 30, 37, 42], "identifier_lookup": [19, 30], "ifi": 32, "ignor": [17, 18, 21, 23, 32, 33], "imag": 41, "imagin": 28, "immedi": [17, 29, 37], "imperson": [17, 21, 25, 44], "impersonate_account": [21, 44], "impersonatedaccount": [17, 21], "implement": [17, 18, 20, 21, 22, 24, 25, 26, 32, 37, 39, 45], "implicit": 23, "import": [7, 13, 17, 18, 19, 21, 24, 26, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "import_account_from_mnemon": 25, "import_account_from_private_kei": 25, "import_remap": 32, "import_source_id": [17, 21], "imports_dict": 21, "improv": [37, 44], "in_tempdir": [21, 24], "inaccess": 21, "incentiv": 17, "includ": [1, 5, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 35, 37, 40, 41, 44, 46], "include_depend": 32, "include_getattr": 24, "include_getitem": 24, "incompat": 18, "incompatible_opt": 18, "incompatible_with": 18, "incorpor": 31, "incorrect": 44, "increas": [25, 41, 44, 46], "increment": [21, 23], "independ": [4, 38], "index": [14, 17, 19, 23, 24, 26, 28, 30, 44], "index_of_test_account": 26, "indexerror": [17, 20, 24], "indic": [14, 17, 21, 24, 30, 36], "indiffer": 33, "individu": [23, 35, 45], "influenc": 40, "info": [0, 1, 2, 3, 4, 5, 6, 8, 10, 19, 21, 26, 29, 33, 36, 44], "inform": [17, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 36, 37, 40, 44, 46], "infura": [17, 22, 28, 31, 33, 37], "inherit": 23, "init": [9, 17, 31, 38], "init_coverage_profil": 17, "initi": [17, 19, 23, 29, 30, 31, 39, 43], "inject": [13, 22, 24], "injected_before_us": 24, "input": [17, 18, 19, 20, 23, 24, 25], "input_dict": 30, "ins": 7, "insensit": 24, "insid": [17, 24, 31], "inspect": [17, 19, 21, 44], "inspir": [20, 23], "instal": [17, 19, 20, 21, 25, 27, 28, 30, 31, 33, 34, 37, 43, 44], "instanc": [10, 13, 17, 19, 21, 23, 24, 26, 27, 28, 30, 40, 42, 43, 44, 46], "instance_at": 21, "instance_from_receipt": 21, "instance_map": 21, "instanti": [10, 17, 27], "instead": [6, 17, 21, 23, 24, 27, 28, 32, 33, 37], "instruct": 41, "insur": [17, 28], "int": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28], "intaddressconvert": 21, "integ": [17, 21, 23, 24], "integr": 37, "intend": [17, 33], "intent": [17, 21], "intention": 25, "interact": [7, 17, 19, 21, 25, 26, 29, 39, 41, 42, 44, 45, 46], "interchang": [14, 17, 33], "interest": 24, "interf": 41, "interfac": [17, 20, 21, 22, 27, 33, 37, 39, 43, 44], "interfacecompil": 22, "interfaces_fold": [17, 21], "intern": [23, 29, 44], "interoper": 41, "interv": 44, "introduc": 42, "intuit": 44, "invalid": [17, 21, 44], "invalidopt": 13, "invoc": [18, 44], "invok": [13, 17, 18, 19, 21, 26, 29, 30, 42, 44, 46], "invoke_transact": 19, "involv": [26, 32], "io": [14, 17, 23, 41], "ipc": [14, 17, 37], "ipc_path": [14, 37], "ipool": 30, "ipython": [29, 46], "is_adhoc": 17, "is_arrai": 24, "is_compil": 21, "is_connect": [17, 26], "is_contract": 17, "is_convert": [17, 21], "is_dev": 17, "is_evm_precompil": 24, "is_exclud": 21, "is_fork": 17, "is_loc": 17, "is_mainnet": 17, "is_named_tupl": 24, "is_relative_to": 24, "is_stop": [14, 17], "is_struct": 24, "is_typ": 21, "is_valid": 17, "is_zero_hex": 24, "isinst": 44, "isnumer": 28, "isol": [21, 44], "isolate_data_fold": 21, "isolate_in_tempdir": 21, "issu": [20, 36, 41], "item": [17, 20, 21, 22, 23, 24, 29, 30, 32, 33, 43], "iter": [13, 14, 17, 19, 20, 21, 22, 23, 24], "iter_path": 17, "its": [14, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 36, 37, 38, 40, 44, 46], "itself": [13, 17, 18, 37, 38, 44], "java": 23, "join": [24, 41], "joinablequeu": [14, 17, 24], "json": [17, 18, 21, 22, 23, 24, 28, 30, 32, 38], "json_schema_input_typ": [17, 23], "jump": [23, 37], "junk": [24, 25, 28, 44], "just": [21, 23, 26, 30, 32, 34, 38], "keccak": 17, "keep": [28, 30, 33, 44], "kei": [0, 1, 6, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 33, 37, 44, 46], "keyerror": [17, 21], "keyfileaccount": [17, 22, 26], "keyword": [17, 29, 37], "kill": 17, "know": [17, 21, 23, 24, 26, 27, 30, 32, 33, 37, 44], "known": [17, 21, 24, 26, 27, 30], "kwarg": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 30, 32, 33, 37, 40, 44, 46], "l2": [17, 34], "lack": [28, 32], "lambda": 26, "languag": [17, 30, 35, 41], "larg": [17, 31, 37, 38], "larger": 27, "last": [19, 21, 23, 24, 30, 31, 44], "later": [17, 21, 44], "latest": [17, 19, 21, 23, 29, 32, 37, 41, 46], "latest_block": 21, "launch": [8, 29, 37, 46], "layer": 37, "lazi": 18, "lazili": [18, 24], "lazychoic": 18, "leak": 25, "learn": [25, 27, 28, 30, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46], "leav": [26, 44], "ledger": [17, 25, 33], "ledger_0": 33, "left": 44, "len": 21, "lendingrateoracl": 45, "length": [21, 25], "less": [17, 19, 21, 24, 36, 45], "lessen": 18, "let": [25, 27, 29, 30, 32, 37, 44], "level": [17, 18, 21, 24, 28, 30, 33, 36, 37, 38, 41, 44, 45], "librari": [24, 25, 30, 32, 33, 37], "licens": [17, 42], "like": [17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46], "likewis": 37, "limit": [17, 18, 23, 27, 28, 32, 37, 44, 45], "line": [0, 4, 5, 17, 18, 21, 23, 41, 42, 43, 44], "line_numb": 23, "line_r": 23, "linear": 23, "lineno": 23, "lines_cov": 23, "lines_valid": 23, "link": [17, 44], "linux": [41, 44], "list": [13, 14, 17, 18, 19, 20, 21, 23, 24, 26, 27, 28, 30, 31, 33, 35, 37, 44], "listen": 17, "liter": 23, "live": [14, 17, 19, 21, 30, 34, 46], "load": [0, 1, 18, 19, 21, 24, 25, 26, 29, 30, 31, 32, 33, 40, 42, 46], "load_config": 24, "load_ext": 29, "load_manifest": 21, "loader": 21, "loanshift": 45, "loanshifterreceiv": 45, "loanshiftertak": 45, "local": [0, 1, 2, 4, 10, 14, 17, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 41, 44, 46], "localhost": [14, 28, 33], "localproject": 21, "locat": [14, 17, 21, 23, 27, 28, 32, 33, 37, 38, 44], "lock": [27, 44], "log": [9, 17, 18, 19, 21, 23, 24, 41, 45], "log_filt": 17, "log_index": 23, "log_instead_of_fail": 24, "logfilt": [17, 23], "logger": [18, 26, 36], "logic": [17, 20, 21, 30, 33, 37], "loglevel": [18, 36], "london": 46, "long": [21, 33, 36, 45], "longer": 46, "look": [19, 21, 26, 27, 28, 29, 32, 33, 37, 38, 42, 44, 45], "lookup": [21, 23, 24, 44], "loop": [26, 33], "low": 45, "ltd": 41, "lvl": [0, 1, 2, 3, 4, 5, 6, 8, 29], "m": [0, 24, 44], "machin": [17, 20], "maco": [41, 44], "made": [17, 21, 28, 30, 31, 37], "mai": [17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 42, 44, 46], "mail": 25, "main": [7, 17, 22, 30, 34, 36, 37, 42], "mainnet": [4, 14, 17, 21, 22, 26, 28, 29, 31, 34, 37, 40, 43, 45, 46], "mainnet_fork": 28, "maintain": 37, "make": [14, 17, 21, 22, 24, 25, 26, 28, 29, 30, 37, 43, 44, 45, 46], "make_context": 18, "make_request": 17, "manag": [0, 4, 5, 6, 9, 10, 14, 17, 18, 19, 20, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 40, 42, 43, 44], "manager_access": 24, "manageraccessmixin": [13, 17, 19, 24], "mani": [13, 17, 18, 31, 35, 37], "manifest": [1, 17, 21, 32, 40], "manifest_path": 21, "manual": [1, 14, 29, 37, 44], "map": [1, 6, 17, 19, 20, 21, 22, 23, 24, 30, 32, 44], "mark": [23, 36, 44, 46], "marker": 44, "master": 41, "match": [17, 18, 19, 21, 23, 24, 37, 44], "materi": 25, "matic": 37, "matter": [26, 28, 37], "max": [17, 21, 23, 24, 28, 37, 44, 45], "max_fe": [17, 46], "max_fil": 24, "max_ga": 17, "max_priority_fe": [17, 46], "max_receipt_retri": 37, "maxim": [25, 35], "maximum": [17, 23, 28, 37], "maxsiz": 24, "me": [24, 26, 46], "me2": 26, "mean": [17, 19, 21, 25, 26, 28, 44, 45], "meant": [17, 21, 23, 32, 37, 41], "measur": 30, "median": [44, 45], "medium": 46, "member": 17, "memori": [21, 24], "mempool": [17, 30], "mention": [33, 37], "mere": [30, 33], "merg": 37, "messag": [10, 17, 18, 20, 23, 24, 29, 33, 36, 37, 44], "messagesignatur": [17, 23], "meta": [17, 21], "metadata": [17, 21], "metamask": [25, 26], "metamask0": 29, "metavar": 18, "meth": [17, 18], "method": [0, 7, 13, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 30, 31, 33, 37, 38, 39, 40, 42, 44, 45, 46], "method_abi": 24, "method_arg": 17, "method_cal": 17, "method_id": 30, "method_nam": [19, 44], "methodabi": [17, 20, 21, 24], "methodnonpayableerror": 20, "methodtocal": 46, "mid": [21, 44], "middl": 37, "might": [17, 29, 42], "millisecond": [14, 17, 21, 23, 24], "mimic": [10, 21], "min": [21, 44, 45], "mine": [14, 17, 21], "miner": [17, 46], "minifi": 27, "minim": 39, "minimum": [17, 21], "minor": 35, "mint": [44, 45], "minut": [17, 37, 46], "misc": 24, "miss": [17, 18, 21, 23, 24, 44], "miss_count": 23, "missingdeploymentbytecodeerror": 20, "mix": 7, "mixin": 24, "mnemon": [0, 21, 24, 25, 28, 44], "mock": [23, 27, 32, 44], "mockcontractlog": [19, 23], "mocktoken": 44, "mode": [17, 23, 44], "model": [17, 19, 21, 23, 24, 46], "model_copi": 24, "model_dump": [17, 23], "modelmodel_dump": [17, 23], "modifi": [13, 17, 18, 21, 23, 24, 29, 30, 37], "modul": [13, 23, 24, 29, 30, 36], "modular": 41, "moduletyp": 13, "monei": [30, 46], "moonbeam": 37, "more": [10, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46], "most": [17, 19, 21, 25, 26, 28, 36, 37, 41], "mostli": 17, "move": [21, 24], "moveloan": 45, "msg": [17, 18, 23, 30, 42], "msghash": 17, "much": [22, 27, 32, 44, 46], "multi": [17, 18, 24, 37], "multical": [9, 30], "multicall3": [13, 30], "multipl": [17, 18, 23, 24, 32, 41], "multipli": [17, 23, 28, 37], "must": [7, 13, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 31, 32, 33, 37, 40, 41, 44], "must_exist": 24, "mweiconvers": 22, "my": [25, 26, 29, 30, 31, 32, 33, 37, 38, 46], "my_access_list": 46, "my_account": [21, 26, 32], "my_bool": 28, "my_cmd": [33, 36], "my_command": 33, "my_contract": [19, 30, 39, 42, 44], "my_depend": 32, "my_enum": 17, "my_event_typ": 19, "my_funct": 24, "my_int": 28, "my_interfac": 27, "my_ledger_account": 33, "my_manag": 26, "my_method": [27, 30, 39, 44], "my_other_project": 38, "my_project_kei": 28, "my_provider_plugin": 33, "my_script": 33, "my_secret_rpc": 28, "my_sign": 13, "my_str": 28, "my_sub_cmd": 33, "my_trezor_account": 33, "my_valu": 28, "myaccount": 46, "myblockexplor": 22, "myclass": 24, "myconfig": 17, "mycontract": [19, 21, 27, 28, 30, 31, 38, 40, 42, 44, 46], "mycustomerror": 44, "mydepend": 32, "myecosystem": 17, "myenum": 17, "myerror": 44, "myevent": [17, 19], "myfunct": 25, "myinterfac": 27, "mymanag": 26, "mymethod": 13, "mymutablemethod": 46, "mynumb": 30, "myorg": 32, "mypluginconfig": 22, "myprovid": [22, 33], "myriad": 46, "mysecurep": 25, "mysmartcontract": 30, "mysourc": 26, "mystarknetcontract": 44, "mytoken": 21, "myviewmethod": 46, "n": 25, "name": [3, 5, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 43, 44, 46], "namedtupl": 23, "namespac": [17, 18, 19, 21, 22, 33, 43], "nativ": 17, "natspec": 19, "necessari": [7, 18, 21, 46], "necessarili": 46, "need": [14, 17, 18, 21, 23, 25, 26, 28, 29, 30, 32, 33, 37, 41, 43, 44, 46], "neg": [17, 21], "nest": 24, "network": [7, 9, 10, 14, 18, 19, 20, 29, 30, 31, 33, 35, 40, 41, 42, 45, 46], "network_choic": [17, 20, 21, 43], "network_data": 21, "network_filt": [4, 21], "network_id": 17, "network_manag": 43, "network_nam": [17, 21, 43], "network_opt": [18, 26, 43], "networkapi": [14, 17, 20, 21, 22], "networkchoic": 18, "networkerror": [17, 20, 21], "networkmanag": [10, 21, 29, 44], "networkmismatcherror": [17, 20], "networknotfounderror": [17, 20], "networkopt": 18, "networkplugin": 22, "never": [17, 19, 21, 23, 25, 30, 44], "new": [17, 19, 21, 23, 24, 26, 32, 35, 37, 41], "new_bal": 30, "new_block": 21, "new_block_timeout": [17, 19, 21], "new_log": [17, 19], "new_set": 17, "new_timestamp": 17, "newest": 5, "newhead": 17, "newli": [0, 25], "next": [5, 17, 21, 23, 37, 42], "next_stat": 23, "nft": 44, "nice": [17, 20, 21], "nm": 43, "node": [4, 9, 17, 19, 21, 23, 30, 35, 37, 44, 46], "node_modul": 32, "non": [17, 19, 20, 23, 24, 27, 29, 36, 37, 42], "non_existing_alias_argu": [18, 26], "nonc": [17, 19, 21], "none": [13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 33, 42, 44], "nonpay": [21, 30], "nonreentr": 44, "noop": 18, "noqa": [17, 21], "nor": 37, "noreturn": [17, 18], "normal": [18, 24, 35, 39], "not_own": [42, 44], "notat": 24, "note": [1, 13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 33, 36, 37, 38, 41, 44, 46], "noth": [17, 20], "notic": [27, 30, 32, 37, 38, 43, 44], "notimplementederror": [17, 20, 21], "notimplementerror": 17, "now": [17, 25, 28, 33, 34, 35, 37, 41, 44], "null": 17, "num": 30, "num_block": [17, 21], "num_transact": 17, "number": [0, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 31, 37, 44], "number_of_account": [24, 25, 28, 44], "numer": [23, 24, 28, 36, 37], "nx": 29, "o": [14, 25, 41], "obj": 24, "obj_typ": [18, 26], "object": [7, 13, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 30, 38, 43, 44, 45, 46], "obtain": [17, 30, 38, 44, 45], "occasion": 17, "occupi": 23, "occur": [17, 19, 20, 21, 24, 28, 36, 39, 42, 44], "off": 33, "offer": 45, "offici": 32, "often": [17, 19, 30, 32, 37], "okai": [29, 33], "omit": [26, 35, 37, 46], "onc": [13, 21, 30, 32, 33, 35, 37, 40, 44], "one": [13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 28, 29, 32, 33, 34, 37, 41, 44, 46], "ones": [28, 33], "onli": [6, 7, 17, 18, 19, 21, 23, 24, 26, 28, 30, 31, 32, 37, 43, 44, 46], "opcod": 17, "open": [2, 32, 41, 44], "openzeppelin": [17, 28, 32, 39], "openzeppelin_openzeppelin": 32, "openzepplin": 17, "oper": [7, 17, 20, 30, 36], "opinion": [17, 21], "optim": [17, 34, 37, 44, 46], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 43, 44, 46], "order": [17, 21, 23, 25, 26, 30, 37], "org": [3, 17, 21, 32], "organ": [33, 35, 40, 41], "origin": [17, 23, 32, 41, 45], "oserror": 24, "ot": 17, "other": [10, 17, 18, 19, 21, 23, 24, 25, 26, 28, 29, 30, 32, 35, 37, 44, 46], "other_account": 46, "other_contract": [27, 44], "other_opt": 18, "other_project": 21, "othercontract": 44, "otherwis": [17, 19, 21, 22, 23, 28, 29, 32, 37, 46], "ots_": 19, "otterscan": 46, "otterscanqueryengin": 14, "our": [31, 33, 41, 43, 44], "out": [17, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 37, 38, 44, 45], "outgo": 21, "outofgaserror": 20, "outpuextra": 27, "output": [0, 17, 18, 19, 20, 23, 24, 29, 33, 36, 44, 45], "output_extra": 27, "output_format": 4, "output_format_choic": 18, "output_format_opt": 18, "output_typ": 17, "output_valu": 24, "outputformat": 18, "outputselect": 21, "outsid": [21, 28], "over": [17, 21, 23], "overal": 22, "overrid": [1, 4, 6, 14, 17, 18, 20, 21, 23, 24, 27, 37], "overridden": [14, 17, 20], "overridesf": 21, "overview": 9, "overwrit": [17, 21], "own": [21, 22, 28, 32, 36, 41, 44], "owner": [21, 27, 30, 31, 35, 42, 44], "oz": 39, "p": [24, 38], "packag": [6, 7, 17, 20, 21, 22, 24, 25, 27, 33, 38, 40, 41], "package_id": [17, 21, 32], "package_nam": [21, 24], "packagemanifest": [21, 22, 40], "packagemeta": [17, 21], "packagenam": 6, "packages_cach": 21, "packagescach": 21, "pai": [17, 42], "paid": [17, 31], "pair": [21, 24], "paragraph": 37, "parallel": [17, 24], "param": [17, 18, 26], "paramet": [13, 14, 17, 19, 20, 21, 22, 23, 24, 37, 44, 45], "paramtyp": 18, "parent": 24, "parent_hash": 17, "parenthash": 17, "pari": [27, 28, 32], "pariti": 45, "pars": [18, 21, 24, 26], "parse_arg": 18, "parse_network_choic": [17, 21, 37, 44], "parser": [18, 22], "part": [21, 23, 24, 26, 33, 37, 44, 46], "parti": [25, 35, 41], "partial": 17, "particular": [17, 21, 44], "particularli": 17, "pass": [2, 13, 14, 17, 18, 21, 23, 25, 26, 32, 33, 38, 44, 46], "passphras": 25, "password": 25, "past": [17, 21, 28], "path": [0, 1, 5, 10, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 30, 32, 37, 38, 44], "path_id": 21, "path_match": 24, "path_typ": 18, "pathlib": [17, 18, 21, 24, 26, 27], "pathtyp": [14, 17], "pattern": [13, 17, 21, 24, 32, 37], "payabl": [20, 30, 42], "pc": [17, 21, 23], "pd": [19, 21], "pend": [17, 19, 21, 23, 37, 44], "pending_timestamp": [21, 44], "peopl": 26, "per": [17, 21, 37], "perform": [13, 14, 17, 19, 21, 23, 24, 25, 30, 44], "perform_queri": [14, 17, 21], "perhap": 30, "perman": [21, 24, 31], "permit": 17, "persist": [17, 21], "person": [17, 25], "phase": 44, "phrase": [0, 24, 25], "pick": 18, "piec": 44, "pip": [32, 38], "place": [17, 28, 32, 37, 38, 43, 44], "placehold": 37, "plan": 31, "platform": 41, "pleas": [30, 46], "plu": 46, "pluggi": 22, "pluggy_patch": 22, "plugin": [0, 14, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 37, 42, 43, 44], "plugin_manag": 22, "plugin_nam": 17, "plugin_typ": 22, "pluginconfig": [17, 22], "plugininstallerror": 20, "pluginmanag": 22, "plugintyp": 22, "pluginversionerror": 20, "pm": [9, 32], "point": [17, 21, 23, 24, 26, 32, 33, 39, 41, 43, 44], "poll": [8, 17, 19, 21, 37, 44], "poll_block": [17, 21], "poll_log": [17, 19], "polygon": [37, 43], "pool": 30, "poolcontract": 44, "popen": [14, 17], "port": 17, "posit": [23, 44], "posixpath": [14, 17], "possibl": [20, 21, 22, 24, 25], "possibli": 30, "postgresengin": 22, "potenti": [32, 33, 36, 37], "power": 46, "practic": 23, "pragma": [24, 42], "pragma_str": 24, "pragma_str_to_specifier_set": 24, "pre": [17, 19, 24, 25, 27, 29], "preced": [17, 28], "predict": 46, "prefer": 28, "prefix": [19, 20, 21, 26, 27, 28, 29, 30, 32, 35], "prefund": 25, "premis": 25, "prepar": 17, "prepare_transact": 17, "present": [17, 21, 23, 32], "preserv": 18, "press": 44, "pretti": 45, "prevent": 33, "previou": [17, 21], "previous": [17, 21, 30, 32, 33, 44], "prevnumb": 30, "price": [17, 21, 44], "primarili": 33, "primit": 17, "print": [17, 19, 20, 21, 25, 26, 30, 32, 34, 37, 42, 43, 45, 46], "print_choic": 18, "prior": [17, 21, 33], "priorit": 46, "prioriti": 46, "priority_fe": [17, 46], "privat": [0, 17, 25], "private_kei": [24, 25], "probabl": 24, "problem": 20, "process": [14, 17, 22, 30, 33], "process_nam": [14, 17], "process_wait_timeout": [14, 17], "produc": [13, 17, 23], "product": [37, 41], "profil": [17, 23, 44], "profile_stat": 23, "program": [2, 17, 21, 23, 29, 42], "programmat": 25, "progress": [23, 24], "progress_bar_descript": 24, "project": [1, 2, 3, 5, 7, 8, 9, 10, 18, 19, 20, 23, 24, 26, 27, 28, 29, 32, 35, 37, 40, 41, 42, 43, 46], "project_api": 21, "project_nam": 3, "project_path": 21, "projectapi": [17, 21, 22], "projecterror": [20, 21], "projectmanag": [10, 17, 19, 20, 21, 24, 29, 38, 44], "projectmanifest": 21, "projectplugin": 22, "prompt": [6, 18, 25, 26, 32], "prompt_messag": 18, "promptchoic": 18, "proper": 37, "properli": [17, 21, 33, 45], "properti": [14, 17, 19, 20, 21, 23, 24, 25, 26, 30, 33, 37, 44, 46], "provid": [4, 6, 10, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 42, 43, 45, 46], "provider_cl": 21, "provider_filt": [4, 17, 21], "provider_nam": [17, 21, 34, 37, 43], "provider_set": [14, 17, 21], "providerapi": [14, 17, 21, 22, 24, 33, 35, 46], "providercontextmanag": [17, 21, 37, 43], "providererror": 20, "providernotconnectederror": [20, 21, 24], "providernotfounderror": 20, "providerpai": 17, "providerplugin": [22, 33], "proxi": [9, 17, 21], "proxy_info": 21, "proxyinfo": 21, "proxyinfoapi": [17, 21], "public": [21, 30, 42, 44], "publish": [9, 17, 19, 21, 32, 44], "publish_contract": [17, 40], "pull": 41, "puppynet": 37, "pure": 30, "purpos": [14, 17, 21, 23, 25, 28, 31, 36, 46], "push0": 39, "put": [21, 25, 28, 32, 36], "pwd": 41, "py": [14, 20, 23, 24, 28, 29, 33, 38, 42, 43, 44], "pydant": [17, 23, 24, 28], "pydantic_cor": [17, 23], "pydanticserializationerror": [17, 23], "pydanticundefin": [17, 23], "pypi": 21, "pyproject": [17, 28], "pytest": [8, 10, 13, 25, 29], "pytest_arg": 8, "python": [17, 19, 21, 23, 27, 28, 29, 30, 32, 33, 37, 40, 41, 42, 43, 44, 45, 46], "python3": 41, "qualiti": 33, "quantiti": 44, "queri": [9, 14, 19, 20, 23, 29], "query_engin": 22, "queryapi": [17, 21, 22], "queryengineerror": [20, 21], "querymanag": [21, 29], "queryplugin": 22, "querytyp": [14, 17, 21], "queue": 24, "quick": 43, "quicker": 17, "quit": [14, 17, 19], "r": [23, 27, 44], "race": 33, "rais": [10, 13, 14, 17, 20, 21, 23, 24, 30, 37, 42, 44], "raise_for_statu": 17, "raise_on_revert": 42, "raises_not_impl": 24, "ran": [17, 20, 38, 44], "ran_out_of_ga": 17, "random": [0, 25], "rang": [17, 19, 21], "rare": 26, "rate": [23, 37], "rate_limit": 37, "rather": [17, 21, 24, 28, 32, 44], "raw": [17, 18, 21, 23, 25, 27, 32, 37], "raw_address": 17, "raw_data": 17, "rawaddress": [17, 23], "re": [6, 8, 17, 21, 29, 32, 44], "read": [17, 21, 26, 28, 30, 37, 38, 41], "readabl": [29, 44], "readi": [14, 17, 21, 23], "readm": 37, "real": [25, 46], "reason": [20, 37, 42, 44], "recal": 37, "receipt": [17, 19, 21, 30, 37, 42, 44, 45, 46], "receiptapi": [13, 14, 17, 19, 20, 21, 30, 31, 45], "receiv": [17, 21, 25, 30, 44], "receiveabi": 21, "recent": 21, "recogn": 17, "recommend": [17, 21, 25, 26, 32, 37, 41, 43], "recompil": [1, 32], "reconfigur": 21, "reconnect": 17, "record": [17, 21], "recov": 25, "recover_sign": [23, 25], "recover_using_eip191": 17, "recovered_sign": 25, "recoveri": [17, 25], "recurs": 24, "red": [17, 20, 36], "reduc": [25, 37], "reentri": 44, "ref": [6, 32], "refer": [6, 17, 19, 21, 23, 28, 30, 32, 33, 37, 38, 42], "referenc": [21, 32], "referring_source_id": 21, "reflect": 29, "refresh": 21, "refresh_sourc": 21, "regard": 17, "regardless": [17, 21, 29, 37, 46], "regex": [24, 27], "regist": [4, 17, 21, 22, 24, 43], "register_compil": 22, "registered_compil": 21, "registr": [22, 33], "registri": [30, 33], "regress": [17, 21], "regular": [24, 44], "reinstal": 21, "reject": 37, "rel": [17, 21, 24], "relat": [17, 20, 21, 22, 23], "relative_to": 24, "releas": [31, 32, 35, 41], "relev": [20, 23, 24], "reli": [17, 21, 44], "reload": 21, "reload_config": 21, "relock": 17, "relock_account": 17, "remaind": 37, "remap": 21, "rememb": [25, 30], "remot": 37, "remov": [6, 17, 21, 24, 32, 44], "reopen": 29, "reorg": [17, 19, 21], "reorgan": [17, 21], "repeat": 30, "repetit": 25, "replac": [17, 24, 37], "repo": 3, "report": [17, 23, 37], "repositori": 17, "repr": [17, 19, 21], "repres": [14, 17, 18, 21, 22, 23, 24, 37, 44, 46], "represent": [17, 23, 29], "request": [14, 17, 21, 22, 32, 36], "request_head": [14, 17, 21, 28, 37], "requir": [0, 5, 17, 18, 19, 20, 21, 22, 26, 28, 30, 32, 35, 37, 41, 42, 44, 46], "required_confirm": [17, 19, 21], "resembl": 21, "reset": [17, 21], "reset_": 44, "resolut": [17, 20], "resolv": [22, 24, 32, 39], "resourc": 18, "respect": [17, 19, 21, 28], "respons": [17, 21, 22, 24, 37], "rest": [25, 33], "restor": [14, 17, 21], "result": [1, 4, 10, 17, 18, 19, 21, 24, 28, 29, 30, 42], "retri": [32, 37], "retriev": [14, 17, 21, 24, 30, 39], "return": [13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 37, 39, 42, 44, 46], "return_data": 13, "return_none_when_disconnect": 24, "return_valu": [17, 30], "returns_arrai": 24, "reusabl": 18, "rev": 44, "revert": [9, 10, 17, 20, 21, 23, 24, 30, 37], "revert_messag": 20, "revert_to_block": 21, "revert_typ": 23, "review": 30, "rich": 18, "right": [18, 44], "rinkebi": 30, "risk": 41, "root": [17, 21, 23, 24, 25, 26, 28, 29, 30, 32, 35, 38, 44], "root_path": 21, "rootmodelroottyp": 23, "ropsten": 22, "round_trip": [17, 23], "rout": 31, "rpc": [14, 17, 28, 30, 45, 46], "rpcheader": [21, 24], "rpctimeouterror": 20, "run": [8, 9, 17, 21, 23, 24, 26, 28, 29, 30, 31, 32, 35, 36, 38, 41, 43, 44, 45, 46], "run_in_tempdir": 24, "run_until_complet": 24, "runtim": [17, 18, 21], "safe": 39, "sai": [25, 30, 32, 37], "same": [17, 19, 21, 23, 24, 25, 28, 30, 32, 33, 37, 38, 44, 46], "sampl": [38, 44], "sanit": 24, "save": [1, 17, 21, 25, 30, 32, 42, 43], "saw": 37, "scan": 37, "scenario": [17, 19, 44], "schema": [17, 23], "scope": [13, 44], "script": [0, 7, 9, 18, 21, 25, 26, 29, 36, 37, 38, 41, 42, 44, 46], "scriptabl": 25, "sdk": 37, "search": [17, 19, 24], "search_top": [17, 19, 23], "second": [8, 17, 19, 20, 21, 30, 37, 44, 46], "secret": [25, 28], "secret_rpc": 28, "section": [21, 24, 26, 28, 30, 32, 37, 41, 43, 44, 45], "secur": 25, "securepassphras": 25, "see": [4, 10, 14, 17, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "seed": [0, 24, 25], "segment": 23, "select": [1, 14, 18, 19, 21, 25, 26, 29, 43], "select_account": [18, 26], "selected_account": 26, "selector": [17, 19, 23, 30, 44], "selector_identifi": [19, 30], "selector_str": 30, "self": [17, 19, 21, 24, 26, 30, 33, 42, 44], "semi": 26, "send": [13, 14, 17, 20, 30, 37, 44, 46], "send_cal": 17, "send_everyth": 17, "send_private_transact": 17, "send_transact": [14, 17], "sender": [13, 17, 19, 21, 27, 30, 39, 40, 42, 44, 46], "sens": 37, "sent": [31, 37], "separ": [23, 25, 30, 33, 44], "sepolia": [4, 14, 26, 28, 37, 43, 46], "sequenc": [13, 17, 18, 21, 23, 24], "serial": [17, 23, 24], "serializ": [17, 23], "serialize_as_ani": [17, 23], "serialize_transact": 17, "serv": 28, "server": [27, 41], "session": [7, 13, 14, 17, 21, 29, 37, 41], "set": [14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 38, 44, 46], "set_ape_traceback": 20, "set_autosign": 25, "set_bal": 17, "set_cod": 17, "set_default_ecosystem": 21, "set_default_network": 17, "set_default_provid": 17, "set_level": 36, "set_numb": 30, "set_own": 44, "set_storag": 17, "set_timestamp": [14, 17], "setnumb": [42, 44], "setup": [33, 44], "sever": [22, 26, 37], "shall": 14, "share": [21, 23, 24, 37, 44], "shareabl": 17, "shell": 46, "shibachain": 22, "shibanetwork": 22, "shibarium": 37, "shibrpc": 37, "ship": [25, 26, 27, 29, 35, 37], "short": [21, 36, 37, 39, 44], "short_help": 33, "shorten": [17, 21], "shorter": 44, "should": [7, 14, 17, 20, 21, 23, 24, 25, 27, 32, 33, 44, 45], "shouldn": [23, 24, 28], "show": [1, 17, 20, 24, 25, 26, 29, 30, 35, 36, 37, 42, 44, 45], "show_debug_log": 17, "show_ev": 17, "show_gas_report": [17, 45], "show_source_traceback": 17, "show_trac": [17, 45], "showcas": 26, "shown": 36, "shownet": 43, "shutil": 14, "sig": [23, 45], "sign": [17, 20, 23], "sign_messag": [17, 25], "sign_raw_msghash": 17, "sign_transact": 17, "signabl": 23, "signablemessag": [17, 23], "signatur": [17, 19, 21, 30], "signatureerror": [17, 20], "signer": [17, 23, 25, 26, 30], "signer_opt": 17, "silverback": 37, "similar": [19, 26, 29, 33, 37, 42, 44], "similarli": [21, 25, 26, 27, 30, 33, 37, 44, 45], "simpl": [17, 18, 28, 30, 46], "simplest": 46, "simpli": [28, 30, 42], "simul": [30, 37], "sinc": [17, 23, 30], "singl": [21, 24, 26, 30, 32, 43], "singledispatchmethod": 24, "singleton": [21, 22], "site": [21, 24, 32, 33, 41], "situat": [18, 23], "size": [1, 17, 21], "skip": [18, 25, 32], "skip_confirmation_opt": 18, "slice": 21, "slightli": 23, "slim": 41, "slot": 17, "slow": 24, "small": 37, "smaller": 17, "smallest": 17, "smart": [17, 19, 20, 23, 30, 32, 38, 40, 41, 42, 44, 46], "smart_contract_exampl": 38, "snapshot": [14, 17, 20, 21, 23, 24], "snapshot_id": [14, 17, 20, 21], "snapshotid": [14, 17, 20, 21, 23, 24], "snekmat": [28, 32, 38], "so": [13, 17, 21, 23, 24, 25, 26, 30, 32, 33, 34, 35, 37, 39, 41, 44], "softwar": 44, "sol": [21, 24, 27, 28, 32, 38], "soladypush0": 39, "solcx": 41, "sole": 25, "solid": [17, 21, 22, 27, 28, 30, 33, 35, 42, 44], "some": [17, 23, 25, 28, 30, 32, 34, 35, 37, 44, 45, 46], "someth": [20, 21, 29, 37, 44], "sometim": [27, 32, 37, 42, 44], "somewher": [21, 32], "soon": [22, 32], "sophist": 28, "sourc": [17, 18, 20, 21, 23, 26, 28, 29, 30, 31, 32, 33, 35, 38, 39, 40, 41, 44], "source_coverag": 17, "source_fold": 23, "source_id": [17, 19, 21, 23], "source_path": [19, 23], "source_stat": 23, "source_traceback": [17, 20], "sourcecoverag": 17, "sourceloc": 23, "sourcemanag": 21, "sourcestat": 23, "sourcetraceback": [17, 20, 23], "space": 23, "spawn": 24, "spdx": [17, 42], "special": [17, 22, 25, 32], "specif": [6, 17, 20, 21, 26, 35, 37, 41, 44, 46], "specifi": [0, 14, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 35, 37, 43, 44, 46], "specifierset": 24, "sqlite": 31, "sqrt": 44, "src": [27, 28, 32, 45], "ssphrase": 25, "stack": [18, 20], "stacktrac": 42, "stage": 31, "stai": 41, "standard": [18, 31, 36, 39], "stark_account": 44, "stark_contract": 44, "starknet": [17, 21, 35, 37, 44], "start": [4, 14, 17, 19, 21, 23, 24, 26, 29, 33, 34, 37, 40, 41, 43, 44], "start_block": [17, 19, 21, 23, 31], "start_index": 24, "start_nonc": [17, 21], "start_or_stop": [19, 21], "start_provid": 37, "startauct": 46, "startswith": 26, "state": [17, 19, 21, 25, 30, 42], "statement": [20, 23, 32, 42, 44], "statemut": [21, 30], "static": [18, 37], "statu": 17, "stderr": 4, "stderr_queu": [14, 17], "stdout": [4, 17], "stdout_queu": [14, 17], "step": [17, 19, 21, 40, 45, 46], "stick": 43, "still": [32, 39, 44, 45, 46], "stmt": 44, "stop": [17, 19, 21, 26, 44], "stop_block": [17, 19, 21, 23, 31], "stop_imperson": 21, "stop_nonc": [17, 21], "storag": [17, 30], "store": [13, 17, 21, 25, 30, 31, 32, 38], "str": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 33, 37], "strai": 37, "stream": [4, 17, 24], "stream_request": 17, "stream_respons": 24, "strict": 37, "string": [2, 17, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 37, 42, 44], "stringdecimalconvert": 21, "stringifi": [17, 19, 30], "stringintconvert": 21, "struct": 24, "struct_log": 45, "structabi": 21, "structpars": 24, "structur": [23, 24, 25, 28, 38, 43], "stuff": [31, 36, 37], "style": [17, 24, 27], "sub": [17, 18, 21, 30, 32, 42], "subclass": [14, 17, 18, 21, 22, 24, 30, 42], "subcommand": 33, "subdirectori": 43, "subject": 21, "submit": [17, 30], "submodul": 43, "subprocess": [4, 14, 17, 20], "subprocesserror": 20, "subprocessprovid": [17, 20], "subprocesstimeouterror": 20, "subsequ": [25, 32], "subset": [18, 23], "substr": 24, "subsystem": 41, "success": [0, 1, 2, 3, 4, 5, 6, 8, 17, 29, 36, 41], "successfulli": [17, 30, 37, 40], "suffix": [24, 37], "suit": [8, 35, 44], "suitabl": [17, 32], "sum": 31, "super": [23, 45], "suppli": 44, "support": [13, 17, 21, 24, 27, 28, 31, 35, 37, 39, 41, 42, 45, 46], "supported_chain": 13, "supports_chain": 17, "supports_source_trac": 17, "supports_trac": 17, "suppos": 43, "sure": [21, 23, 25, 37, 44], "sustain": 44, "switch": [17, 37, 43, 44], "sy": [24, 32], "symbol": [17, 29, 37], "syntax": 44, "synthes": [17, 19, 21], "system": [17, 21, 24, 25, 30, 31, 32, 33, 37, 38], "t": [5, 17, 21, 23, 24, 28, 30, 32, 33, 37, 41, 44, 45, 46], "tabl": [31, 44, 45], "tag": [6, 23, 32], "take": [17, 18, 24, 26, 28, 30, 37, 43, 44], "taken": 17, "talk": 37, "tar": 24, "target": [17, 21, 22, 24, 39], "task": [17, 24, 44], "task_don": 24, "team": 33, "tear": [14, 17], "technic": 41, "tell": 37, "tempfil": 24, "templat": [3, 33], "temporari": [17, 21, 24, 37], "temporarili": [17, 34], "temporarydirectori": 24, "tend": 37, "termin": [0, 17, 18, 19, 20, 21, 38, 41, 44], "test": [4, 9, 13, 14, 17, 21, 23, 26, 27, 29, 30, 32, 33, 37, 38, 41, 42, 45], "test_": 44, "test_account": [21, 24, 25, 27, 44], "test_account_bal": 44, "test_add": 44, "test_author": 44, "test_error_on_deploi": 44, "test_in_futur": 44, "test_mint": 44, "test_multi_chain": 44, "test_my_contract": [21, 44], "test_my_contract_method": 25, "test_my_ethereum_test": 44, "test_my_fantom_test": 44, "test_my_method": 44, "test_my_multichain_test": 44, "test_sampl": 38, "test_starknet_th": 44, "test_unauthor": 44, "test_unauthorized_withdraw": 44, "testaccountapi": [14, 17, 25], "testaccountcontain": 21, "testaccountcontainerapi": 17, "testaccountmanag": [21, 44], "testcontract": 44, "tester": [37, 44], "testnet": [37, 43], "testproviderapi": [14, 17], "text": [18, 20, 25], "than": [17, 19, 21, 23, 24, 26, 28, 32, 37, 44, 46], "thei": [17, 21, 22, 24, 29, 30, 32, 33, 36, 37, 43], "them": [17, 21, 22, 23, 25, 27, 28, 29, 30, 32, 33, 37, 43, 44], "themselv": 46, "therefor": 43, "thi": [1, 6, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "thing": [19, 26, 33, 37, 43], "think": [23, 26], "third": [25, 35], "those": [6, 21, 23, 26, 30, 32, 33, 37, 42, 44], "though": 37, "thread": [17, 21, 24], "three": [32, 41, 44], "through": [13, 17, 19, 24, 26, 31, 33, 40], "throughout": 36, "throw": [17, 21, 24], "thu": [23, 26, 30, 37, 43, 44], "ti": 33, "time": [1, 13, 14, 17, 19, 21, 23, 25, 26, 28, 30, 32, 44, 45, 46], "timedelta": 21, "timeout": [14, 17, 20, 24], "timestamp": [17, 21, 23, 24, 29, 44], "timestampconvert": 21, "timezon": 21, "tip": 17, "tmp": 21, "to_int": 24, "to_python": [17, 23], "to_typ": [10, 21], "todo": 24, "togeth": [25, 33], "token": [17, 32, 35, 37, 44, 45, 46], "tokenlist": 33, "tokenswapp": 21, "toml": [17, 28], "too": 21, "took": [45, 46], "tool": [6, 28, 30, 32, 41, 45, 46], "top": [17, 21, 30, 33, 37, 44, 45], "topic": [17, 19, 23, 30], "topic_filt": 23, "total": [17, 19, 21, 23], "total_fees_paid": [17, 31], "total_funct": 23, "total_transfer_valu": 17, "touch": 17, "trace": [9, 14, 17, 20, 21, 30, 42, 44], "trace_sourc": [17, 21], "trace_transact": 45, "traceabl": 21, "traceapi": [17, 20], "traceapproach": 14, "traceback": [17, 23], "tracestyl": 24, "track": [17, 21, 23, 30, 44], "track_coverag": 17, "track_ga": 17, "transact": [9, 13, 14, 19, 20, 21, 23, 24, 25, 28, 42, 45], "transaction_acceptance_timeout": [17, 37, 46], "transaction_hash": [17, 20, 21, 23], "transaction_index": 23, "transactionapi": [13, 14, 17, 19, 20, 21], "transactionerror": [17, 20, 30], "transactionhistori": 21, "transactionnotfounderror": 20, "transactionsignatur": [17, 23], "transactionstatusenum": 17, "transfer": [17, 30, 42], "translat": [17, 21], "treat": [21, 30, 38], "tree": [4, 17, 18, 23, 24, 45], "trezor": [25, 33], "trezor_0": 33, "tri": 17, "trigger": [1, 13, 44], "triplet": 37, "true": [13, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 30, 32, 37, 40, 42, 44, 45], "trust": [24, 35, 37], "try": [20, 21, 24, 32, 33, 42, 43, 44], "try_snapshot": 24, "tsconfig": 27, "tupl": [14, 17, 19, 21, 22, 23, 24], "tutori": [41, 46], "twice": 25, "two": [17, 21, 25, 28, 33, 37, 44, 46], "tx": [17, 30, 31, 45, 46], "tx_error": 24, "txn": [13, 14, 17, 20, 31, 37], "txn_cost": 46, "txn_hash": [17, 19, 21, 45], "txn_kwarg": 13, "txn_receipt": 21, "type": [9, 10, 13, 14, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 33, 38, 39, 40, 44, 46], "type_": 21, "typeerror": [21, 24], "typic": [17, 21, 23, 25, 27, 33, 37, 42, 44], "u": 5, "uint256": [25, 30, 44, 46], "unabl": [14, 17, 20, 21, 27], "unauth_address": [42, 44], "unauthor": [42, 44], "unblock": 24, "uncommon": 37, "under": [17, 21, 24, 25, 27, 32, 43], "underscor": [29, 43], "understand": [17, 41, 44], "undo": 44, "unfinish": 24, "unfund": 25, "uninstal": 21, "union": [17, 18, 19, 20, 21, 24], "uniqu": [17, 21, 23, 30, 37, 46], "uniswap": 32, "unit": 17, "unit256": 30, "unix": [23, 24], "unknown": [17, 20, 21, 37], "unknownsnapshoterror": [20, 21], "unknownversionerror": 20, "unless": [14, 17, 18, 19, 21, 36, 37], "unlik": 24, "unlock": [0, 17, 25], "unlock_account": 17, "unnam": 24, "unnecessari": 17, "unpack": [17, 21], "unprocessedabi": 21, "unspecifi": 17, "unsupportedchain": 13, "unsupportedchainerror": 13, "unsur": 37, "until": [23, 24, 37], "unwil": 27, "unwind": 42, "up": [14, 17, 21, 23, 24, 26, 28, 29, 34, 37, 41, 44, 46], "updat": [17, 24, 35, 44], "update_cach": 17, "update_manifest": 21, "update_set": 17, "upgrad": [5, 35, 39, 41], "upon": [21, 30, 32, 40], "upstream": [17, 34], "upstream_chain_id": 17, "upstream_network": 17, "upstream_provid": 17, "upstreamprovid": 17, "urandom": 25, "uri": [14, 17, 21, 28, 37], "uri_map": 21, "url": [17, 21, 28], "us": [0, 6, 8, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "usag": [10, 13, 17, 18, 19, 21, 22, 23, 24, 25, 28, 29, 32, 33, 44, 45], "usdc": 30, "use_arrow": 23, "use_cach": 21, "use_default_provid": [17, 37], "use_depend": 27, "use_multical": 13, "use_network": 44, "use_provid": [17, 21, 34, 37, 43, 44], "use_send": 25, "use_temp_sys_path": 24, "use_upstream_provid": 17, "user": [3, 14, 17, 18, 20, 21, 22, 23, 24, 26, 28, 30, 32, 36, 37, 41, 42, 44], "userguid": 46, "usethisonallrequeststoethereummainnet": 37, "usethisonallrequestsusingnodeprovid": 37, "usethisoneveryethereumrequest": 37, "usethisoneveryrequest": 37, "utc": 21, "util": [9, 10, 17, 18, 21, 25, 26, 29, 33, 43, 46], "uup": 39, "v": [0, 1, 2, 3, 4, 5, 6, 8, 18, 21, 23, 29, 32, 36], "v1": 32, "v2": 30, "v3": 32, "val": [1, 6], "valid": [17, 22, 23, 24, 25, 28, 37], "validate_fil": 17, "validate_s": 17, "valu": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 30, 31, 32, 35, 36, 37, 44, 46], "valueerror": [20, 21, 23], "variabl": [24, 25, 28, 29, 42, 44], "variou": [17, 21, 35, 39, 46], "venv": 41, "verbos": [0, 1, 2, 3, 4, 5, 6, 8, 17, 18, 23, 29, 36, 44], "verbosity_opt": 18, "veri": [17, 24, 37], "verif": [17, 19], "verifi": [17, 41], "verify_chain_id": 17, "vers_set": 21, "versa": [26, 30], "version": [6, 14, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 37, 41, 44], "version_id": 17, "versu": [17, 23, 28], "via": [13, 17, 18, 19, 20, 21, 22, 24, 25, 28, 30, 32, 33, 37, 41, 43, 44], "vice": 30, "view": [18, 19, 30, 45], "view_cost": 46, "view_method": 44, "virtual": [17, 20, 41], "virtualenv": 41, "virtualmachineerror": [17, 20], "visa": 26, "visit": 46, "vitalik": [17, 21, 44], "volum": 41, "vr": 23, "vvm": 41, "vy": [26, 27, 28, 38, 42, 44], "vyper": [17, 21, 22, 23, 27, 30, 32, 35, 39, 42, 44, 46], "vypercontract": 42, "w": [8, 14, 17, 37], "wa": [17, 20, 21, 23, 24, 27, 30, 37, 41, 46], "wai": [18, 21, 25, 28, 29, 30, 32, 35, 37, 38, 39, 41, 42, 44, 46], "wait": [14, 17, 19, 21, 37], "walk": 40, "wallet": 24, "want": [13, 18, 25, 27, 28, 30, 31, 32, 33, 34, 36, 37, 40, 41, 44, 45, 46], "warn": [0, 1, 2, 3, 4, 5, 6, 8, 17, 23, 24, 29, 32, 36, 41], "watch": [8, 44], "watch_delai": 8, "watch_fold": 8, "wdamount": 30, "we": [13, 17, 21, 23, 24, 25, 26, 30, 31, 32, 33, 35, 37, 41, 43, 44, 45, 46], "web": 27, "web3": [14, 28, 29, 33, 41], "websocket": 37, "wei": [17, 30], "well": [18, 21, 22, 23, 24, 30, 33, 35, 37, 46], "went": 17, "were": [17, 21, 23, 28, 30, 32, 37, 44], "what": [17, 21, 22, 25, 26, 29, 32, 33, 37, 43, 44], "whatev": [17, 26, 28, 37], "when": [0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39, 42, 43, 44, 45, 46], "whenev": [14, 20, 24], "where": [13, 14, 17, 18, 19, 21, 23, 24, 25, 26, 31, 32, 34, 37, 39, 42, 44, 46], "wherea": 37, "whether": [13, 14, 17, 18, 19, 21, 23, 24, 25, 30, 32, 37], "which": [14, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 30, 31, 33, 37, 40, 41, 44, 46], "while": [17, 20, 21, 32, 44], "whilst": 20, "white": 23, "whitespac": 23, "whole": 28, "why": [26, 30, 37, 46], "window": 41, "wish": [17, 21, 25, 34, 36, 37, 38, 40, 42], "withdraw": [30, 42, 44], "within": [14, 17, 20, 24, 31, 33, 35, 43, 44], "without": [17, 24, 25, 29, 30, 35, 37, 41, 42, 43, 44, 45, 46], "won": [23, 37, 44], "word": [0, 24, 25], "word_count": 0, "wordcount": 25, "work": [17, 19, 21, 22, 24, 28, 30, 31, 32, 33, 35, 37, 38, 43, 44], "workflow": 43, "world": 43, "would": [17, 21, 25, 26, 28, 31, 32, 37, 41, 43, 44, 46], "wrap": [21, 24], "wrapper": [17, 19, 20, 21, 27], "write": [17, 25, 43, 44], "write_to_disk": 17, "written": 21, "wrong": [17, 20], "ws_begin_lineno": 23, "ws_start": 23, "ws_uri": [17, 37], "wsl": 41, "wss": [17, 37], "www": 37, "x": [21, 29, 44], "xml": [23, 44], "y": [5, 6, 21, 32], "yaml": [3, 4, 17, 18, 21, 22, 24, 25, 27, 28, 29, 32, 35, 37, 38, 44, 46], "ychad": 30, "ye": [5, 6, 18, 32], "yellow": 36, "yet": [18, 26, 33, 35, 43, 44], "yield": [17, 19, 21, 22, 33, 44], "yml": [17, 28], "you": [0, 1, 6, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "your": [14, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "yourself": 43, "z": 13, "zeppelin": 32, "zero": [23, 24, 44], "zero_address": 45, "zeroag": 39, "zip": 24, "zkevm": 37}, "titles": ["accounts", "compile", "console", "init", "networks", "plugins", "pm", "run", "test", "<no title>", "ape", "ape-accounts", "ape-compile", "ape-ethereum", "ape-node", "ape-pm", "ape-test", "ape.api", "ape.cli", "ape.contracts", "ape.exceptions", "ape.managers", "ape.plugins", "ape.types", "ape.utils", "Accounts", "CLIs", "Compile", "Configure Ape", "Console", "Contracts", "Querying Data", "Dependencies", "Developing Plugins", "Forking Networks", "Plugins", "Logging", "Networks", "Developing Projects with Ape", "Proxy Contracts", "Publishing", "Overview", "Reverts", "Scripting", "Testing", "Traces", "Transactions"], "titleterms": {"712": 25, "By": 37, "The": [27, 38], "abi": [24, 30], "accept": 46, "access": 46, "account": [0, 11, 17, 21, 22, 25, 26, 31, 44], "address": [17, 23, 30], "advanc": 44, "ani": 30, "ap": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 38, 44, 46], "ape_cli_context": 33, "api": [17, 33], "argument": 18, "autom": 25, "bal": 29, "base": [22, 28], "basemodel": 24, "basic": 23, "block": [31, 37], "built": 42, "cach": 31, "call": [30, 45], "caveat": 44, "chain": [21, 44], "chang": [0, 5], "choic": 18, "class": 33, "cli": [9, 18, 26, 32, 33, 36, 37, 43], "code": [27, 29], "command": [18, 29, 44], "compil": [1, 6, 12, 17, 21, 22, 27, 32, 40], "config": [17, 21, 22, 32, 37], "configur": [28, 29, 34, 37], "connect": 37, "consider": 41, "consol": [2, 29, 46], "context": [26, 34, 37], "contract": [19, 26, 28, 30, 31, 32, 39, 44], "convert": [17, 21, 22], "core": [9, 35], "cost": 46, "coverag": [23, 44], "creat": 25, "custom": [32, 37, 42, 44], "data": 31, "decod": 30, "decor": 26, "default": [25, 28, 30, 34], "delet": 0, "depend": [27, 28, 32, 38], "deploi": 30, "deploy": [28, 30, 40, 46], "dev": 42, "dev_messag": 44, "develop": [33, 38], "direct": 30, "docker": 41, "document": 41, "dynam": 46, "ecosystem": 28, "eip": 25, "encod": 30, "error": [42, 44], "estim": 46, "ethereum": 13, "event": [23, 31], "evmchain": 37, "except": 20, "exclud": 27, "exclus": 32, "execut": 29, "exist": 25, "expected_messag": 44, "explor": [17, 37, 40], "export": [0, 25], "extra": [27, 29], "fallback": 30, "fee": 46, "file": [26, 27, 32], "fixtur": 44, "folder": [28, 32], "fork": [34, 37], "from": [30, 33, 46], "function": [29, 44], "ga": [23, 44, 45, 46], "gener": [0, 25], "get": 31, "github": 32, "global": 29, "guid": 9, "hardwar": 25, "header": [28, 37], "implement": 33, "import": [0, 25, 32, 33], "init": [3, 29], "initi": 33, "inlin": 44, "input": 30, "instal": [5, 6, 32, 35, 38, 41], "interact": [30, 37], "interfac": 30, "introspect": 30, "iter": 44, "json": 27, "keyfil": 25, "l2": 37, "languag": 44, "list": [0, 4, 5, 6, 32, 46], "live": [25, 37], "local": [32, 37, 38], "log": [33, 36, 46], "logger": 33, "magic": 29, "main": 43, "manag": [21, 32, 37], "manifest": 38, "messag": [25, 42], "metadata": 46, "method": 43, "mine": 44, "misc": 32, "miscellan": 24, "modul": 33, "more": 37, "multi": [30, 43, 44], "multical": 13, "namespac": 29, "network": [4, 17, 21, 22, 25, 26, 28, 34, 37, 43, 44], "new": 25, "node": [14, 28], "non": [28, 44], "npm": 32, "o": 24, "option": 18, "other": [27, 38], "output": 27, "outsid": 25, "overrid": 32, "overview": 41, "packag": 32, "paramet": 18, "password": 0, "path": [26, 28], "pattern": 44, "payabl": 46, "pip": 41, "pipx": 41, "plugin": [5, 9, 22, 27, 28, 33, 34, 35, 41], "pm": [6, 15], "prerequisit": 41, "previou": 30, "privat": 30, "process": [24, 37], "project": [17, 21, 22, 30, 33, 38, 44], "provid": [17, 37, 44], "proxi": 39, "publish": [30, 40], "pypi": 32, "pytest": 44, "python": [9, 36, 38], "queri": [17, 21, 22, 31], "quickstart": 41, "reentrant": 44, "refer": 9, "regist": 33, "remap": 32, "report": [44, 45], "request": [28, 37], "revert": [42, 44], "rpc": [24, 37], "run": [4, 7, 37], "script": [30, 43], "select": 37, "sender": 25, "set": [27, 28], "sign": 25, "signatur": [23, 25], "solid": 32, "sourc": 27, "static": 46, "structur": 44, "support": [25, 44], "system": 41, "test": [8, 16, 24, 25, 28, 44], "time": 37, "timeout": 46, "tip": 44, "tool": 26, "trace": [23, 24, 45, 46], "track": 40, "transact": [17, 30, 31, 37, 44, 46], "transfer": 46, "type": [18, 23, 32, 35, 37], "uninstal": [5, 6, 32], "unit": 23, "updat": 5, "url": 37, "us": [25, 31, 33], "user": 9, "util": 24, "verifi": 25, "version": [5, 35], "vm": 23, "wallet": 25}}) \ No newline at end of file diff --git a/stable/.doctrees/commands/console.doctree b/stable/.doctrees/commands/console.doctree index 7136e30e2e..558b27c8f3 100644 Binary files a/stable/.doctrees/commands/console.doctree and b/stable/.doctrees/commands/console.doctree differ diff --git a/stable/.doctrees/commands/init.doctree b/stable/.doctrees/commands/init.doctree index 418538e33a..9f2ace905c 100644 Binary files a/stable/.doctrees/commands/init.doctree and b/stable/.doctrees/commands/init.doctree differ diff --git a/stable/.doctrees/commands/networks.doctree b/stable/.doctrees/commands/networks.doctree index c546d2064e..163ad22fe7 100644 Binary files a/stable/.doctrees/commands/networks.doctree and b/stable/.doctrees/commands/networks.doctree differ diff --git a/stable/.doctrees/environment.pickle b/stable/.doctrees/environment.pickle index c3fa796611..f78aea9e50 100644 Binary files a/stable/.doctrees/environment.pickle and b/stable/.doctrees/environment.pickle differ diff --git a/stable/.doctrees/methoddocs/ape.doctree b/stable/.doctrees/methoddocs/ape.doctree index 8d160a05ce..d97975c623 100644 Binary files a/stable/.doctrees/methoddocs/ape.doctree and b/stable/.doctrees/methoddocs/ape.doctree differ diff --git a/stable/.doctrees/methoddocs/ape_ethereum.doctree b/stable/.doctrees/methoddocs/ape_ethereum.doctree index d3c42127a5..76667cdab1 100644 Binary files a/stable/.doctrees/methoddocs/ape_ethereum.doctree and b/stable/.doctrees/methoddocs/ape_ethereum.doctree differ diff --git a/stable/.doctrees/methoddocs/ape_node.doctree b/stable/.doctrees/methoddocs/ape_node.doctree index 3f83325b23..ca0eb576dc 100644 Binary files a/stable/.doctrees/methoddocs/ape_node.doctree and b/stable/.doctrees/methoddocs/ape_node.doctree differ diff --git a/stable/.doctrees/methoddocs/api.doctree b/stable/.doctrees/methoddocs/api.doctree index c385d3147e..7723186fd7 100644 Binary files a/stable/.doctrees/methoddocs/api.doctree and b/stable/.doctrees/methoddocs/api.doctree differ diff --git a/stable/.doctrees/methoddocs/cli.doctree b/stable/.doctrees/methoddocs/cli.doctree index 7752710b50..69269cdf96 100644 Binary files a/stable/.doctrees/methoddocs/cli.doctree and b/stable/.doctrees/methoddocs/cli.doctree differ diff --git a/stable/.doctrees/methoddocs/contracts.doctree b/stable/.doctrees/methoddocs/contracts.doctree index 7cb9fbba12..b591e01d00 100644 Binary files a/stable/.doctrees/methoddocs/contracts.doctree and b/stable/.doctrees/methoddocs/contracts.doctree differ diff --git a/stable/.doctrees/methoddocs/exceptions.doctree b/stable/.doctrees/methoddocs/exceptions.doctree index 845a2b5eaf..19d42cfc88 100644 Binary files a/stable/.doctrees/methoddocs/exceptions.doctree and b/stable/.doctrees/methoddocs/exceptions.doctree differ diff --git a/stable/.doctrees/methoddocs/managers.doctree b/stable/.doctrees/methoddocs/managers.doctree index a2e85a33f6..3cc5f10ffd 100644 Binary files a/stable/.doctrees/methoddocs/managers.doctree and b/stable/.doctrees/methoddocs/managers.doctree differ diff --git a/stable/.doctrees/methoddocs/plugins.doctree b/stable/.doctrees/methoddocs/plugins.doctree index ea42547720..392766d2ee 100644 Binary files a/stable/.doctrees/methoddocs/plugins.doctree and b/stable/.doctrees/methoddocs/plugins.doctree differ diff --git a/stable/.doctrees/methoddocs/types.doctree b/stable/.doctrees/methoddocs/types.doctree index 3cf27bd57d..46505dcd7e 100644 Binary files a/stable/.doctrees/methoddocs/types.doctree and b/stable/.doctrees/methoddocs/types.doctree differ diff --git a/stable/.doctrees/methoddocs/utils.doctree b/stable/.doctrees/methoddocs/utils.doctree index 5f21e35f4a..9508961c39 100644 Binary files a/stable/.doctrees/methoddocs/utils.doctree and b/stable/.doctrees/methoddocs/utils.doctree differ diff --git a/stable/.doctrees/userguides/console.doctree b/stable/.doctrees/userguides/console.doctree index e43e822a40..3ccbfa5f17 100644 Binary files a/stable/.doctrees/userguides/console.doctree and b/stable/.doctrees/userguides/console.doctree differ diff --git a/stable/.doctrees/userguides/networks.doctree b/stable/.doctrees/userguides/networks.doctree index 6f124e3f7d..ed16fe4bfc 100644 Binary files a/stable/.doctrees/userguides/networks.doctree and b/stable/.doctrees/userguides/networks.doctree differ diff --git a/stable/_sources/methoddocs/utils.md.txt b/stable/_sources/methoddocs/utils.md.txt index 9eb96e3cee..09bafdfbf3 100644 --- a/stable/_sources/methoddocs/utils.md.txt +++ b/stable/_sources/methoddocs/utils.md.txt @@ -1,8 +1,65 @@ # ape.utils +## ABI + +```{eval-rst} +.. automodule:: ape.utils.abi + :members: + :show-inheritance: +``` + +## Basemodel + +```{eval-rst} +.. automodule:: ape.utils.basemodel + :members: + :show-inheritance: +``` + +## Miscellaneous + +```{eval-rst} +.. automodule:: ape.utils.misc + :members: + :show-inheritance: +``` + +## OS + +```{eval-rst} +.. automodule:: ape.utils.os + :members: + :show-inheritance: +``` + +## Process + +```{eval-rst} +.. automodule:: ape.utils.process + :members: + :show-inheritance: +``` + +## RPC + +```{eval-rst} +.. automodule:: ape.utils.rpc + :members: + :show-inheritance: +``` + +## Testing + +```{eval-rst} +.. automodule:: ape.utils.testing + :members: + :show-inheritance: +``` + +## Trace + ```{eval-rst} -.. automodule:: ape.utils +.. automodule:: ape.utils.trace :members: :show-inheritance: - :exclude-members: abstractmethod, dataclass, __init__ ``` diff --git a/stable/_sources/userguides/console.md.txt b/stable/_sources/userguides/console.md.txt index b9d8690d94..27b6cf62a2 100644 --- a/stable/_sources/userguides/console.md.txt +++ b/stable/_sources/userguides/console.md.txt @@ -164,3 +164,18 @@ Out[3]: '0.00040634 ETH' In [4]: %bal 0xE3747e6341E0d3430e6Ea9e2346cdDCc2F8a4b5b Out[4]: '0.00040634 ETH' ``` + +## Executing Code + +You can also use the `ape console` to execute programs directly from strings. +This is similar to the `python -c|--code` option except it will display the output cell. +Anything available in `ape console` is also available in `ape console --code`. + +```shell +ape console -c 'project.name' +Out[1]: 'my-project' +ape console -c 'x = 3\nx + 1' +Out[1]: 4 +ape console -c 'networks.active_provider.name' +Out[1]: 'test' +``` diff --git a/stable/_sources/userguides/networks.md.txt b/stable/_sources/userguides/networks.md.txt index ae6237b0fb..9e91b89db6 100644 --- a/stable/_sources/userguides/networks.md.txt +++ b/stable/_sources/userguides/networks.md.txt @@ -1,8 +1,9 @@ # Networks When interacting with a blockchain, you will have to select an ecosystem (e.g. Ethereum, Arbitrum, or Fantom), a network (e.g. Mainnet or Sepolia) and a provider (e.g. Eth-Tester, Node (Geth), or Alchemy). -Networks are part of ecosystems and typically defined in plugins. -For example, the `ape-ethereum` plugin comes with Ape and can be used for handling EVM-like behavior. +The `ape-ethereum` ecosystem and network(s) plugin comes with Ape and can be used for handling EVM-like behavior. +Networks are part of ecosystems and typically defined in plugins or custom-network configurations. +However, Ape works out-of-the-box (in a limited way) with any network defined in the [evmchains](https://github.com/ApeWorX/evmchains) library. ## Selecting a Network @@ -25,7 +26,7 @@ ape test --network ethereum:local:foundry ape console --network arbitrum:testnet:alchemy # NOTICE: All networks, even from other ecosystems, use this. ``` -To see all possible values for `--network`, run the command: +To see all networks that work with the `--network` flag (besides those _only_ defined in `evmchains`), run the command: ```shell ape networks list @@ -100,6 +101,20 @@ ape networks list In the remainder of this guide, any example below using Ethereum, you can replace with an L2 ecosystem's name and network combination. +## evmchains Networks + +If a network is in the [evmchains](https://github.com/ApeWorX/evmchains) library, it will work in Ape automatically, even without a plugin or any custom configuration for that network. + +```shell +ape console --network moonbeam +``` + +This works because the `moonbeam` network data is available in the `evmchains` library, and Ape is able to look it up. + +```{warning} +Support for networks from evm-chains alone may be limited and require additional configuration to work in production use-cases. +``` + ## Custom Network Connection You can add custom networks to Ape without creating a plugin. diff --git a/stable/commands/console.html b/stable/commands/console.html index 38a554054b..01ec3e2646 100644 --- a/stable/commands/console.html +++ b/stable/commands/console.html @@ -172,6 +172,12 @@

console

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+
+-c, --code <code>
+

Program passed in as a string

+
+ diff --git a/stable/commands/init.html b/stable/commands/init.html index 111ac9e4b1..1dd6dfe94e 100644 --- a/stable/commands/init.html +++ b/stable/commands/init.html @@ -174,6 +174,12 @@

init<

Clone a template from Github

+
+
+--name <project_name>
+

A project name

+
+

On this page

    -
  • ape-ethereum -
  • +
  • ape-ethereum
  • ape-ethereum.multicall
    • BaseMulticall
      • .add()
      • @@ -346,1436 +178,13 @@

        ape-ethereum

        -
        -
        -class ape_ethereum.AccessListTransaction(*args, chainId: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = 0, to: Annotated[ChecksumAddress, _AddressValidator] | None = None, sender: Annotated[ChecksumAddress, _AddressValidator] | None = None, gas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, nonce: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, value: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, data: HexBytes = HexBytes('0x'), type: int = 1, max_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, max_priority_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, required_confirmations: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, signature: TransactionSignature | None = None, gasPrice: int | None = None, accessList: list[AccessList] = None)
        -

        EIP-2930 -transactions are similar to legacy transaction with an added access list functionality.

        -
        - -
        -
        -class ape_ethereum.BaseEthereumConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, default_network: str = 'local', request_headers: dict = {}, **values: Any)
        -

        L2 plugins should use this as their config base-class.

        -
        - -
        -
        -class ape_ethereum.BaseTransaction(*args, chainId: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = 0, to: Annotated[ChecksumAddress, _AddressValidator] | None = None, sender: Annotated[ChecksumAddress, _AddressValidator] | None = None, gas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, nonce: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, value: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, data: HexBytes = HexBytes('0x'), type: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], max_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, max_priority_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, required_confirmations: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, signature: TransactionSignature | None = None)
        -
        -
        -serialize_transaction() bytes
        -

        Serialize the transaction

        -
        - -
        -
        -property txn_hash: HexBytes
        -

        The calculated hash of the transaction.

        -
        - -
        - -
        -
        -class ape_ethereum.Block(*, num_transactions: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, hash: HexBytes | None = None, number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, parentHash: HexBytes = HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'), timestamp: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gasLimit: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gasUsed: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], baseFeePerGas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, difficulty: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, totalDifficulty: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, uncles: list[HexBytes] = [])
        -

        Class for representing a block on a chain.

        -
        -
        -hash: HexBytes | None
        -

        The block hash identifier.

        -
        - -
        -
        -parent_hash: HexBytes
        -

        The preceding block’s hash.

        -
        - -
        -
        -property size: int
        -

        The size of the block in gas. Most of the time, -this field is passed to the model at validation time, -but occasionally it is missing (like in eth_subscribe:newHeads), -in which case it gets calculated if and only if the user -requests it (or during serialization of this model to disk).

        -
        - -
        - -
        -
        -class ape_ethereum.CallTrace(*, call_trace_approach: TraceApproach = TraceApproach.GETH_STRUCT_LOG_PARSE, tx: dict, arguments: list[Any] = [], supports_debug_trace_call: bool | None = None)
        -
        -
        -arguments: list[Any]
        -

        Remaining eth-call arguments, minus the transaction.

        -
        - -
        -
        -call_trace_approach: TraceApproach
        -

        debug_traceCall must use the struct-log tracer.

        -
        - -
        -
        -get_calltree() CallTreeNode
        -

        Get an un-enriched call-tree node.

        -
        - -
        -
        -property raw_trace_frames: Iterator[dict]
        -

        The raw trace frames.

        -
        - -
        -
        -property return_value: Any
        -

        The return value deduced from the trace.

        -
        - -
        -
        -property transaction: dict
        -

        The transaction data (obtained differently on -calls versus transactions).

        -
        - -
        -
        -tx: dict
        -

        Transaction data. Is a dictionary to allow traces to easily -be created near sending the request.

        -
        - -
        - -
        -
        -class ape_ethereum.DynamicFeeTransaction(*args, chainId: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = 0, to: Annotated[ChecksumAddress, _AddressValidator] | None = None, sender: Annotated[ChecksumAddress, _AddressValidator] | None = None, gas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, nonce: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, value: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, data: HexBytes = HexBytes('0x'), type: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 2, maxFeePerGas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, maxPriorityFeePerGas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, required_confirmations: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, signature: TransactionSignature | None = None, accessList: list[AccessList] = None)
        -

        Transactions that are post-EIP-1559 and use the maxFeePerGas -and maxPriorityFeePerGas fields.

        -
        - -
        -
        -class ape_ethereum.Ethereum(*, name: str, request_header: dict = {}, fee_token_symbol: str = 'ETH', fee_token_decimals: int = 18)
        -
        -
        -property config: EthereumConfig
        -

        The configuration of the ecosystem. See ape.managers.config.ConfigManager -for more information on plugin configurations.

        -
        -
        Returns:
        -

        ape.api.config.PluginConfig

        -
        -
        -
        - -
        -
        -create_transaction(**kwargs) TransactionAPI
        -

        Returns a transaction using the given constructor kwargs.

        -

        NOTE: This generally should not be called by the user since this API method is used as a -hook for Ecosystems to customize how transactions are created.

        -
        -
        Returns:
        -

        TransactionAPI

        -
        -
        -
        - -
        -
        -classmethod decode_address(raw_address: str | int | HashStr20 | HashBytes20) Annotated[ChecksumAddress, _AddressValidator]
        -

        Convert a raw address to the ecosystem’s native address type.

        -
        -
        Parameters:
        -

        raw_address (RawAddress) – The address to -convert.

        -
        -
        Returns:
        -

        AddressType

        -
        -
        -
        - -
        -
        -decode_block(data: dict) BlockAPI
        -

        Decode data to a BlockAPI.

        -
        -
        Parameters:
        -

        data (Dict) – A dictionary of data to decode.

        -
        -
        Returns:
        -

        BlockAPI

        -
        -
        -
        - -
        -
        -decode_calldata(abi: ConstructorABI | MethodABI, calldata: bytes) dict
        -

        Decode method calldata.

        -
        -
        Parameters:
        -
          -
        • abi (Union[ConstructorABI, MethodABI]) – The method called.

        • -
        • calldata (bytes) – The raw calldata bytes.

        • -
        -
        -
        Returns:
        -

        A mapping of input names to decoded values. -If an input is anonymous, it should use the stringified -index of the input as the key.

        -
        -
        Return type:
        -

        Dict

        -
        -
        -
        - -
        -
        -decode_custom_error(data: HexBytes, address: Annotated[ChecksumAddress, _AddressValidator], **kwargs) CustomError | None
        -

        Decode a custom error class from an ABI defined in a contract.

        -
        -
        Parameters:
        -
          -
        • data (HexBytes) – The error data containing the selector -and input data.

        • -
        • address (AddressType) – The address of the contract containing -the error.

        • -
        • **kwargs – Additional init kwargs for the custom error class.

        • -
        -
        -
        Returns:
        -

        If it able to decode one, else None.

        -
        -
        Return type:
        -

        Optional[CustomError]

        -
        -
        -
        - -
        -
        -decode_logs(logs: Sequence[dict], *events: EventABI) Iterator[ContractLog]
        -

        Decode any contract logs that match the given event ABI from the raw log data.

        -
        -
        Parameters:
        -
          -
        • logs (Sequence[Dict]) – A list of raw log data from the chain.

        • -
        • *events (EventABI) – Event definitions to decode.

        • -
        -
        -
        Returns:
        -

        Iterator[ContractLog]

        -
        -
        -
        - -
        -
        -decode_primitive_value(value: Any, output_type: str | tuple | list) str | HexBytes | int | tuple | list
        -

        Decode a primitive value-type given its ABI type as a str -and the value itself. This method is a hook for converting -addresses, HexBytes, or other primitive data-types into -friendlier Python equivalents.

        -
        -
        Parameters:
        -
          -
        • value (Any) – The value to decode.

        • -
        • output_type (Union[str, tuple, list]) – The value type.

        • -
        -
        -
        Returns:
        -

        Union[str, HexBytes, tuple]

        -
        -
        -
        - -
        -
        -decode_receipt(data: dict) ReceiptAPI
        -

        Convert data to ReceiptAPI.

        -
        -
        Parameters:
        -

        data (Dict) – A dictionary of Receipt properties.

        -
        -
        Returns:
        -

        ReceiptAPI

        -
        -
        -
        - -
        -
        -decode_returndata(abi: MethodABI, raw_data: bytes) tuple[Any, ...]
        -

        Get the result of a contract call.

        -
        -
        Arg:

        abi (MethodABI): The method called. -raw_data (bytes): Raw returned data.

        -
        -
        -
        -
        Returns:
        -

        All of the values returned from the contract function.

        -
        -
        Return type:
        -

        Any

        -
        -
        -
        - -
        -
        -classmethod encode_address(address: Annotated[ChecksumAddress, _AddressValidator]) str | int | HashStr20 | HashBytes20
        -

        Convert the ecosystem’s native address type to a raw integer or str address.

        -
        -
        Parameters:
        -

        address (AddressType) – The address to convert.

        -
        -
        Returns:
        -

        RawAddress

        -
        -
        -
        - -
        -
        -encode_calldata(abi: ConstructorABI | MethodABI, *args) HexBytes
        -

        Encode method calldata.

        -
        -
        Parameters:
        -
          -
        • abi (Union[ConstructorABI, MethodABI]) – The ABI of the method called.

        • -
        • *args (Any) – The arguments given to the method.

        • -
        -
        -
        Returns:
        -

        The encoded calldata of the arguments to the given method.

        -
        -
        Return type:
        -

        HexBytes

        -
        -
        -
        - -
        -
        -encode_contract_blueprint(contract_type: ContractType, *args, **kwargs) TransactionAPI
        -

        Encode a unique type of transaction that allows contracts to be created -from other contracts, such as -EIP-5202 -or Starknet’s Declare transaction type.

        -
        -
        Parameters:
        -
          -
        • contract_type (ContractType) – The type of contract to create a blueprint for. -This is the type of contract that will get created by factory contracts.

        • -
        • *args (Any) – Calldata, if applicable.

        • -
        • **kwargs (Any) – Transaction specifications, such as value.

        • -
        -
        -
        Returns:
        -

        TransactionAPI

        -
        -
        -
        - -
        -
        -encode_deployment(deployment_bytecode: HexBytes, abi: ConstructorABI, *args, **kwargs) BaseTransaction
        -

        Create a deployment transaction in the given ecosystem. -This may require connecting to other networks.

        -
        -
        Parameters:
        -
          -
        • deployment_bytecode (HexBytes) – The bytecode to deploy.

        • -
        • abi (ConstructorABI) – The constructor interface of the contract.

        • -
        • *args (Any) – Constructor arguments.

        • -
        • **kwargs (Any) – Transaction arguments.

        • -
        -
        -
        Returns:
        -

        ~ape.api.transactions.TransactionAPI

        -
        -
        Return type:
        -

        class

        -
        -
        -
        - -
        -
        -encode_transaction(address: Annotated[ChecksumAddress, _AddressValidator], abi: MethodABI, *args, **kwargs) BaseTransaction
        -

        Encode a transaction object from a contract function’s ABI and call arguments. -Additionally, update the transaction arguments with the overrides in kwargs.

        -
        -
        Parameters:
        -
          -
        • address (AddressType) – The address of the contract.

        • -
        • abi (MethodABI) – The function to call on the contract.

        • -
        • *args (Any) – Function arguments.

        • -
        • **kwargs (Any) – Transaction arguments.

        • -
        -
        -
        Returns:
        -

        ~ape.api.transactions.TransactionAPI

        -
        -
        Return type:
        -

        class

        -
        -
        -
        - -
        -
        -enrich_trace(trace: TraceAPI, **kwargs) TraceAPI
        -

        Enhance the data in the call tree using information about the ecosystem.

        -
        -
        Parameters:
        -
          -
        • trace (TraceAPI) – The trace to enrich.

        • -
        • **kwargs – Additional kwargs to control enrichment, defined at the -plugin level.

        • -
        -
        -
        Returns:
        -

        TraceAPI

        -
        -
        -
        - -
        -
        -fee_token_symbol: str
        -

        The token symbol for the currency that pays for fees, such as ETH.

        -
        - -
        -
        -get_proxy_info(address: Annotated[ChecksumAddress, _AddressValidator]) ProxyInfo | None
        -

        Information about a proxy contract such as proxy type and implementation address.

        -
        -
        Parameters:
        -

        address (AddressType) – The address of the contract.

        -
        -
        Returns:
        -

        Returns None if the contract -does not use any known proxy pattern.

        -
        -
        Return type:
        -

        Optional[ProxyInfoAPI]

        -
        -
        -
        - -
        -
        -get_python_types(abi_type: ABIType) type | Sequence
        -

        Get the Python types for a given ABI type.

        -
        -
        Parameters:
        -

        abi_type (ABIType) – The ABI type to get the Python types for.

        -
        -
        Returns:
        -

        The Python types for the given ABI type.

        -
        -
        Return type:
        -

        Union[Type, Sequence]

        -
        -
        -
        - -
        - -
        -
        -class ape_ethereum.EthereumConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, default_network: str = 'local', request_headers: dict = {}, mainnet: ~ape_ethereum.ecosystem.NetworkConfig = NetworkConfig(required_confirmations=2, default_provider='node', block_time=13, transaction_acceptance_timeout=120, default_transaction_type=<TransactionType.DYNAMIC: 2>, max_receipt_retries=20, gas_limit='auto', base_fee_multiplier=1.4, is_mainnet=None, request_headers={}), holesky: ~ape_ethereum.ecosystem.NetworkConfig = NetworkConfig(required_confirmations=2, default_provider='node', block_time=13, transaction_acceptance_timeout=120, default_transaction_type=<TransactionType.DYNAMIC: 2>, max_receipt_retries=20, gas_limit='auto', base_fee_multiplier=1.4, is_mainnet=None, request_headers={}), sepolia: ~ape_ethereum.ecosystem.NetworkConfig = NetworkConfig(required_confirmations=2, default_provider='node', block_time=15, transaction_acceptance_timeout=120, default_transaction_type=<TransactionType.DYNAMIC: 2>, max_receipt_retries=20, gas_limit='auto', base_fee_multiplier=1.4, is_mainnet=None, request_headers={}), **values: ~typing.Any)
        -
        - -
        -
        -class ape_ethereum.EthereumNodeProvider(*args, name: str = 'node', network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {'User-Agent': "web3.py/6.20.1/<class 'web3.providers.rpc.HTTPProvider'>"}, block_page_size: int = 5000, concurrency: int = 16)
        -
        -
        -block_page_size: int
        -

        The amount of blocks to fetch in a response, as a default. -This is particularly useful for querying logs across a block range.

        -
        - -
        -
        -concurrency: int
        -

        How many parallel threads to use when fetching logs.

        -
        - -
        -
        -connect()
        -

        Connect a to a provider, such as start-up a process or create an HTTP connection.

        -
        - -
        -
        -property connection_id: str | None
        -

        A connection ID to uniquely identify and manage multiple -connections to providers, especially when working with multiple -providers of the same type, like multiple Geth –dev nodes.

        -
        - -
        -
        -property connection_str: str
        -

        The str representing how to connect -to the node, such as an HTTP URL -or an IPC path.

        -
        - -
        -
        -disconnect()
        -

        Disconnect from a provider, such as tear-down a process or quit an HTTP session.

        -
        - -
        -
        -property http_uri: str | None
        -

        The connected HTTP URI. If using providers -like ape-node, configure your URI and that will -be returned here instead.

        -
        - -
        -
        -name: str
        -

        The name of the provider (should be the plugin name).

        -
        - -
        -
        -request_header: dict
        -

        A header to set on HTTP/RPC requests.

        -
        - -
        -
        -property ws_uri: str | None
        -

        Return the raw WS/WSS URI to connect to this provider, if supported.

        -
        - -
        - -
        -
        -class ape_ethereum.ForkedNetworkConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, required_confirmations: int = 0, default_provider: str | None = 'node', block_time: int = 0, transaction_acceptance_timeout: int = 120, default_transaction_type: TransactionType = TransactionType.DYNAMIC, max_receipt_retries: int = 20, gas_limit: Literal['auto', 'max'] | int | str | AutoGasLimit = 'auto', base_fee_multiplier: float = 1.0, is_mainnet: bool | None = None, request_headers: dict = {}, upstream_provider: str | None = None, **values: Any)
        -
        -
        -upstream_provider: str | None
        -

        The provider to use as the upstream-provider for this forked network.

        -
        - -
        - -
        -
        -class ape_ethereum.NetworkConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, required_confirmations: int = 0, default_provider: str | None = 'node', block_time: int = 0, transaction_acceptance_timeout: int = 120, default_transaction_type: TransactionType = TransactionType.DYNAMIC, max_receipt_retries: int = 20, gas_limit: Literal['auto', 'max'] | int | str | AutoGasLimit = 'auto', base_fee_multiplier: float = 1.0, is_mainnet: bool | None = None, request_headers: dict = {}, **values: Any)
        -

        The Ethereum network config base class for each -network, e.g. "mainnet", `"local", etc.

        -
        -
        -base_fee_multiplier: float
        -

        A multiplier to apply to a transaction base fee.

        -
        - -
        -
        -block_time: int
        -

        Approximate amount of time for a block to be -added to the network.

        -
        - -
        -
        -default_provider: str | None
        -

        The default provider to use. If set to None, ape will rely on -an external plugin supplying the provider implementation, such as -ape-hardhat supplying forked-network providers.

        -
        - -
        -
        -default_transaction_type: TransactionType
        -

        The default type of transaction to use.

        -
        - -
        -
        -gas_limit: Literal['auto', 'max'] | int | str | AutoGasLimit
        -

        The gas limit override to use for the network. If set to "auto", ape will -estimate gas limits based on the transaction. If set to "max" the gas limit -will be set to the maximum block gas limit for the network. Otherwise an int -can be used to specify an explicit gas limit amount (either base 10 or 16).

        -

        The default for local networks is "max", otherwise "auto".

        -
        - -
        -
        -is_mainnet: bool | None
        -

        Set to True to declare as a mainnet or False to ensure -it isn’t detected as one.

        -
        - -
        -
        -max_receipt_retries: int
        -

        Maximum number of retries when getting a receipt -from a transaction before failing.

        -
        - -
        -
        -request_headers: dict
        -

        Optionally config extra request headers whenever using this network.

        -
        - -
        -
        -required_confirmations: int
        -

        The amount of blocks to wait before -considering a transaction ‘confirmed’.

        -
        - -
        -
        -transaction_acceptance_timeout: int
        -

        The amount tof time before failing when sending a -transaction and it leaving the mempool.

        -
        - -
        - -
        -
        -class ape_ethereum.Receipt(*, contract_address: Annotated[ChecksumAddress, _AddressValidator] | None = None, block_number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gas_used: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], logs: list[dict] = [], status: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], txn_hash: HexStr, transaction: TransactionAPI, gas_limit: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gas_price: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)])
        -
        -
        -property debug_logs_typed: list[tuple[Any]]
        -

        Extract messages to console outputted by contracts via print() or console.log() statements

        -
        - -
        -
        -decode_logs(abi: list[EventABI | ContractEvent] | EventABI | ContractEvent | None = None) ContractLogContainer
        -

        Decode the logs on the receipt.

        -
        -
        Parameters:
        -

        abi (EventABI) – The ABI of the event to decode into logs.

        -
        -
        Returns:
        -

        list[ContractLog]

        -
        -
        -
        - -
        -
        -property failed: bool
        -

        Whether the receipt represents a failing transaction. -Ecosystem plugins override this property when their receipts -are able to be failing.

        -
        - -
        -
        -property method_called: MethodABI | None
        -

        The method ABI of the method called to produce this receipt.

        -
        - -
        -
        -raise_for_status()
        -

        Handle provider-specific errors regarding a non-successful -TransactionStatusEnum.

        -
        - -
        -
        -property ran_out_of_gas: bool
        -

        Check if a transaction ran out of gas and failed.

        -
        -
        Returns:
        -

        True when the transaction failed and used the -same amount of gas as the given gas_limit.

        -
        -
        Return type:
        -

        bool

        -
        -
        -
        - -
        -
        -show_events(file: ~typing.IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
        -

        Show the events from the receipt.

        -
        - -
        -
        -show_gas_report(file: ~typing.IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
        -

        Display a gas report for the calls made in this transaction.

        -
        - -
        -
        -show_source_traceback(file: ~typing.IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
        -

        Show a receipt traceback mapping to lines in the source code. -Only works when the contract type and source code are both available, -like in local projects.

        -
        - -
        -
        -show_trace(verbose: bool = False, file: ~typing.IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
        -

        Display the complete sequence of contracts and methods called during -the transaction.

        -
        -
        Parameters:
        -
          -
        • verbose (bool) – Set to True to include more information.

        • -
        • file (IO[str]) – The file to send output to. Defaults to stdout.

        • -
        -
        -
        -
        - -
        -
        -property source_traceback: SourceTraceback
        -

        A Pythonic style traceback for both failing and non-failing receipts. -Requires a provider that implements -:meth:~ape.api.providers.ProviderAPI.get_transaction_trace`.

        -
        - -
        -
        -property total_fees_paid: int
        -

        The total amount of fees paid for the transaction.

        -
        - -
        - -
        -
        -class ape_ethereum.SharedBlobReceipt(*, contract_address: Annotated[ChecksumAddress, _AddressValidator] | None = None, block_number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gas_used: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], logs: list[dict] = [], status: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], txn_hash: HexStr, transaction: TransactionAPI, gas_limit: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gas_price: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], blobGasUsed: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, blobGasPrice: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)])
        -

        An EIP-4844” -blob transaction.

        -
        -
        -blob_gas_price: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]
        -

        The blob-gas price, independent from regular gas price.

        -
        - -
        -
        -blob_gas_used: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None
        -

        The total amount of blob gas consumed by the transactions within the block.

        -
        - -
        - -
        -
        -class ape_ethereum.SharedBlobTransaction(*args, chainId: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = 0, to: Annotated[ChecksumAddress, _AddressValidator] = '0x0000000000000000000000000000000000000000', sender: Annotated[ChecksumAddress, _AddressValidator] | None = None, gas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, nonce: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, value: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, data: HexBytes = HexBytes('0x'), type: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 2, maxFeePerGas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, maxPriorityFeePerGas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, required_confirmations: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, signature: TransactionSignature | None = None, accessList: list[AccessList] = None, maxFeePerBlobGas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, blobVersionedHashes: list[HexBytes] = None)
        -

        EIP-4844 transactions.

        -
        -
        -receiver: Annotated[ChecksumAddress, _AddressValidator]
        -

        Overridden because EIP-4844 states it cannot be nil.

        -
        - -
        - -
        -
        -class ape_ethereum.StaticFeeTransaction(*args, chainId: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = 0, to: Annotated[ChecksumAddress, _AddressValidator] | None = None, sender: Annotated[ChecksumAddress, _AddressValidator] | None = None, gas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, nonce: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, value: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, data: HexBytes = HexBytes('0x'), type: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, max_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, max_priority_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, required_confirmations: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, signature: TransactionSignature | None = None, gasPrice: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None)
        -

        Transactions that are pre-EIP-1559 and use the gasPrice field.

        -
        - -
        -
        -class ape_ethereum.Trace(*, call_trace_approach: TraceApproach | None = None)
        -

        Set to True to use an ERC-20’s SYMBOL as the contract’s identifier. -Is True when showing pretty traces without gas tables. When gas is -involved, Ape must use the .name as the identifier for all contracts.

        -
        -
        -call_trace_approach: TraceApproach | None
        -

        When None, attempts to deduce.

        -
        - -
        -
        -property debug_logs: Iterable[tuple[Any]]
        -

        Calls from console.log() and print() from a transactions call tree.

        -
        - -
        -
        -property enriched_calltree: dict
        -

        The fully enriched calltree node.

        -
        - -
        -
        -abstract get_calltree() CallTreeNode
        -

        Get an un-enriched call-tree node.

        -
        - -
        -
        -get_gas_report(exclude: Sequence[ContractFunctionPath] | None = None) dict[str, dict[str, list[int]]]
        -

        Get the gas report.

        -
        - -
        -
        -get_raw_calltree() dict
        -

        Get a raw calltree for deeper analysis.

        -
        - -
        -
        -get_raw_frames() Iterator[dict]
        -

        Get raw trace frames for deeper analysis.

        -
        - -
        -
        -abstract property raw_trace_frames: Iterator[dict]
        -

        The raw trace frames.

        -
        - -
        -
        -property return_value: Any
        -

        The return value deduced from the trace.

        -
        - -
        -
        -property revert_message: str | None
        -

        The revert message deduced from the trace.

        -
        - -
        -
        -show(verbose: bool = False, file: ~typing.IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
        -

        Show the enriched trace.

        -
        - -
        -
        -show_gas_report(verbose: bool = False, file: ~typing.IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
        -

        Show the gas report.

        -
        - -
        -
        -abstract property transaction: dict
        -

        The transaction data (obtained differently on -calls versus transactions).

        -
        - -
        - -
        -
        -class ape_ethereum.TransactionStatusEnum(value)
        -

        An Enum class representing the status of a transaction.

        -
        -
        -FAILING = 0
        -

        The transaction has failed or is in the process of failing.

        -
        - -
        -
        -NO_ERROR = 1
        -

        The transaction is successful and is confirmed or is in the process -of getting confirmed.

        -
        - -
        - -
        -
        -class ape_ethereum.TransactionTrace(*, call_trace_approach: TraceApproach | None = None, transaction_hash: HexStr, debug_trace_transaction_parameters: dict = {'enableMemory': True})
        -
        -
        -get_calltree() CallTreeNode
        -

        Get an un-enriched call-tree node.

        -
        - -
        -
        -property raw_trace_frames: Iterator[dict]
        -

        The raw trace "structLogs" from debug_traceTransaction -for deeper investigation.

        -
        - -
        -
        -property transaction: dict
        -

        The transaction data (obtained differently on -calls versus transactions).

        -
        - -
        - -
        -
        -class ape_ethereum.TransactionType(value)
        -

        Transaction enumerable type constants defined by -EIP-2718.

        -
        - -
        -
        -class ape_ethereum.Web3Provider(*args, name: str, network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {}, block_page_size: int = 100, concurrency: int = 4)
        -

        A base provider mixin class that uses the -web3.py python package.

        -
        -
        -property base_fee: int
        -

        The minimum value required to get your transaction included on the next block. -Only providers that implement EIP-1559 -will use this property.

        -
        -
        Raises:
        -

        NotImplementedError – When this provider does not implement - EIP-1559.

        -
        -
        -
        - -
        -
        -property call_trace_approach: TraceApproach | None
        -

        The default tracing approach to use when building up a call-tree. -By default, Ape attempts to use the faster approach. Meaning, if -geth-call-tracer or parity are available, Ape will use one of those -instead of building a call-trace entirely from struct-logs.

        -
        - -
        -
        -property chain_id: int
        -

        The blockchain ID. -See ChainList for a comprehensive list of IDs.

        -
        - -
        -
        -create_access_list(transaction: TransactionAPI, block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None) list[AccessList]
        -

        Get the access list for a transaction use eth_createAccessList.

        -
        -
        Parameters:
        -
          -
        • transaction (TransactionAPI) – The -transaction to check.

        • -
        • block_id (BlockID) – Optionally specify a block -ID. Defaults to using the latest block.

        • -
        -
        -
        Returns:
        -

        list[AccessList]

        -
        -
        -
        - -
        -
        -estimate_gas_cost(txn: TransactionAPI, block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None) int
        -

        Estimate the cost of gas for a transaction.

        -
        -
        Parameters:
        -
          -
        • txn (TransactionAPI) – The transaction to estimate the gas for.

        • -
        • block_id (Optional[BlockID]) – The block ID -to use when estimating the transaction. Useful for checking a -past estimation cost of a transaction.

        • -
        -
        -
        Returns:
        -

        The estimated cost of gas to execute the transaction -reported in the fee-currency’s smallest unit, e.g. Wei. If the -provider’s network has been configured with a gas limit override, it -will be returned. If the gas limit configuration is “max” this will -return the block maximum gas limit.

        -
        -
        Return type:
        -

        int

        -
        -
        -
        - -
        -
        -property gas_price: int
        -

        The price for what it costs to transact -(pre-EIP-1559).

        -
        - -
        -
        -get_balance(address: Annotated[ChecksumAddress, _AddressValidator], block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None) int
        -

        Get the balance of an account.

        -
        -
        Parameters:
        -
          -
        • address (AddressType) – The address of the account.

        • -
        • block_id (BlockID) – Optionally specify a block -ID. Defaults to using the latest block.

        • -
        -
        -
        Returns:
        -

        The account balance.

        -
        -
        Return type:
        -

        int

        -
        -
        -
        - -
        -
        -get_block(block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending']) BlockAPI
        -

        Get a block.

        -
        -
        Parameters:
        -

        block_id (BlockID) – The ID of the block to get. -Can be "latest", "earliest", "pending", a block hash or a block number.

        -
        -
        Raises:
        -

        BlockNotFoundError – Likely the exception raised when a block - is not found (depends on implementation).

        -
        -
        Returns:
        -

        The block for the given ID.

        -
        -
        Return type:
        -

        BlockID

        -
        -
        -
        - -
        -
        -get_code(address: Annotated[ChecksumAddress, _AddressValidator], block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None) str | bytes | HexBytes
        -

        Get the bytes a contract.

        -
        -
        Parameters:
        -
          -
        • address (AddressType) – The address of the contract.

        • -
        • block_id (Optional[BlockID]) – The block ID -for checking a previous account nonce.

        • -
        -
        -
        Returns:
        -

        The contract bytecode.

        -
        -
        Return type:
        -

        ContractCode

        -
        -
        -
        - -
        -
        -get_contract_logs(log_filter: LogFilter) Iterator[ContractLog]
        -

        Get logs from contracts.

        -
        -
        Parameters:
        -

        log_filter (LogFilter) – A mapping of event ABIs to -topic filters. Defaults to getting all events.

        -
        -
        Returns:
        -

        Iterator[ContractLog]

        -
        -
        -
        - -
        -
        -get_nonce(address: Annotated[ChecksumAddress, _AddressValidator], block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None) int
        -

        Get the number of times an account has transacted.

        -
        -
        Parameters:
        -
          -
        • address (AddressType) – The address of the account.

        • -
        • block_id (Optional[BlockID]) – The block ID -for checking a previous account nonce.

        • -
        -
        -
        Returns:
        -

        int

        -
        -
        -
        - -
        -
        -get_receipt(txn_hash: str, required_confirmations: int = 0, timeout: int | None = None, **kwargs) ReceiptAPI
        -

        Get the information about a transaction from a transaction hash.

        -
        -
        Parameters:
        -
          -
        • txn_hash (str) – The hash of the transaction to retrieve.

        • -
        • kwargs – Any other kwargs that other providers might allow when fetching a receipt.

        • -
        -
        -
        Returns:
        -

        The receipt of the transaction with the given hash.

        -
        -
        Return type:
        -

        ReceiptAPI

        -
        -
        -
        - -
        -
        -get_storage(address: Annotated[ChecksumAddress, _AddressValidator], slot: int, block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None) HexBytes
        -

        Gets the raw value of a storage slot of a contract.

        -
        -
        Parameters:
        -
          -
        • address (AddressType) – The address of the contract.

        • -
        • slot (int) – Storage slot to read the value of.

        • -
        • block_id (Optional[BlockID]) – The block ID -for checking a previous storage value.

        • -
        -
        -
        Returns:
        -

        The value of the storage slot.

        -
        -
        Return type:
        -

        HexBytes

        -
        -
        -
        - -
        -
        -get_transaction_trace(transaction_hash: str, **kwargs) TraceAPI
        -

        Provide a detailed description of opcodes.

        -
        -
        Parameters:
        -

        transaction_hash (Union[HexBytes, str]) – The hash of a transaction -to trace.

        -
        -
        Returns:
        -

        A transaction trace.

        -
        -
        Return type:
        -

        TraceAPI

        -
        -
        -
        - -
        -
        -get_transactions_by_account_nonce(account: Annotated[ChecksumAddress, _AddressValidator], start_nonce: int = 0, stop_nonce: int = -1) Iterator[ReceiptAPI]
        -

        Get account history for the given account.

        -
        -
        Parameters:
        -
          -
        • account (AddressType) – The address of the account.

        • -
        • start_nonce (int) – The nonce of the account to start the search with.

        • -
        • stop_nonce (int) – The nonce of the account to stop the search with.

        • -
        -
        -
        Returns:
        -

        Iterator[ReceiptAPI]

        -
        -
        -
        - -
        -
        -get_transactions_by_block(block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending']) Iterator[TransactionAPI]
        -

        Get the information about a set of transactions from a block.

        -
        -
        Parameters:
        -

        block_id (BlockID) – The ID of the block.

        -
        -
        Returns:
        -

        class: ~ape.api.transactions.TransactionAPI]

        -
        -
        Return type:
        -

        Iterator[

        -
        -
        -
        - -
        -
        -get_virtual_machine_error(exception: Exception, **kwargs) VirtualMachineError
        -

        Get a virtual machine error from an error returned from your RPC.

        -
        -
        Parameters:
        -

        exception (Exception) – The error returned from your RPC client.

        -
        -
        Returns:
        -

        -
        An error representing what

        went wrong in the call.

        -
        -
        -

        -
        -
        Return type:
        -

        VirtualMachineError

        -
        -
        -
        - -
        -
        -property http_uri: str | None
        -

        The connected HTTP URI. If using providers -like ape-node, configure your URI and that will -be returned here instead.

        -
        - -
        -
        -property is_connected: bool
        -

        True if currently connected to the provider. False otherwise.

        -
        - -
        -
        -make_request(rpc: str, parameters: Iterable | None = None) Any
        -

        Make a raw RPC request to the provider. -Advanced featues such as tracing may utilize this to by-pass unnecessary -class-serializations.

        -
        - -
        -
        -property max_gas: int
        -

        The max gas limit value you can use.

        -
        - -
        -
        -poll_blocks(stop_block: int | None = None, required_confirmations: int | None = None, new_block_timeout: int | None = None) Iterator[BlockAPI]
        -

        Poll new blocks.

        -

        NOTE: When a chain reorganization occurs, this method logs an error and -yields the missed blocks, even if they were previously yielded with different -block numbers.

        -

        NOTE: This is a daemon method; it does not terminate unless an exception occurs -or a stop_block is given.

        -
        -
        Parameters:
        -
          -
        • stop_block (Optional[int]) – Optionally set a future block number to stop at. -Defaults to never-ending.

        • -
        • required_confirmations (Optional[int]) – The amount of confirmations to wait -before yielding the block. The more confirmations, the less likely a reorg will occur. -Defaults to the network’s configured required confirmations.

        • -
        • new_block_timeout (Optional[float]) – The amount of time to wait for a new block before -timing out. Defaults to 10 seconds for local networks or 50 * block_time for live -networks.

        • -
        -
        -
        Returns:
        -

        Iterator[BlockAPI]

        -
        -
        -
        - -
        -
        -poll_logs(stop_block: int | None = None, address: Annotated[ChecksumAddress, _AddressValidator] | None = None, topics: list[str | list[str]] | None = None, required_confirmations: int | None = None, new_block_timeout: int | None = None, events: list[EventABI] | None = None) Iterator[ContractLog]
        -

        Poll new blocks. Optionally set a start block to include historical blocks.

        -

        NOTE: This is a daemon method; it does not terminate unless an exception occurs.

        -

        Usage example:

        -
        for new_log in contract.MyEvent.poll_logs():
        -    print(f"New event log found: block_number={new_log.block_number}")
        -
        -
        -
        -
        Parameters:
        -
          -
        • stop_block (Optional[int]) – Optionally set a future block number to stop at. -Defaults to never-ending.

        • -
        • address (Optional[str]) – The address of the contract to filter logs by. -Defaults to all addresses.

        • -
        • topics (Optional[list[Union[str, list[str]]]]) – The topics to filter logs by. -Defaults to all topics.

        • -
        • required_confirmations (Optional[int]) – The amount of confirmations to wait -before yielding the block. The more confirmations, the less likely a reorg will occur. -Defaults to the network’s configured required confirmations.

        • -
        • new_block_timeout (Optional[int]) – The amount of time to wait for a new block before -quitting. Defaults to 10 seconds for local networks or 50 * block_time for live -networks.

        • -
        • events (Optional[list[EventABI]]) – An optional list of events to listen on.

        • -
        -
        -
        Returns:
        -

        Iterator[ContractLog]

        -
        -
        -
        - -
        -
        -prepare_transaction(txn: TransactionAPI) TransactionAPI
        -

        Set default values on the transaction.

        -
        -
        Raises:
        -

        TransactionError – When given negative required confirmations.

        -
        -
        Parameters:
        -

        txn (TransactionAPI) – The transaction to prepare.

        -
        -
        Returns:
        -

        TransactionAPI

        -
        -
        -
        - -
        -
        -property priority_fee: int
        -

        A miner tip to incentivize them to include your transaction in a block.

        -
        -
        Raises:
        -

        NotImplementedError – When the provider does not implement - EIP-1559 typed transactions.

        -
        -
        -
        - -
        -
        -send_call(txn: TransactionAPI, block_id: int | HexStr | HexBytes | Literal['earliest', 'latest', 'pending'] | None = None, state: dict | None = None, **kwargs: Any) HexBytes
        -

        Execute a new transaction call immediately without creating a -transaction on the block chain.

        -
        -
        Parameters:
        -
          -
        • txnTransactionAPI

        • -
        • block_id (Optional[BlockID]) – The block ID -to use to send a call at a historical point of a contract. -Useful for checking a past estimation cost of a transaction.

        • -
        • state (Optional[dict]) – Modify the state of the blockchain -prior to sending the call, for testing purposes.

        • -
        • **kwargs – Provider-specific extra kwargs.

        • -
        -
        -
        Returns:
        -

        The result of the transaction call.

        -
        -
        Return type:
        -

        str

        -
        -
        -
        - -
        -
        -send_transaction(txn: TransactionAPI) ReceiptAPI
        -

        Send a transaction to the network.

        -
        -
        Parameters:
        -

        txn (TransactionAPI) – The transaction to send.

        -
        -
        Returns:
        -

        ReceiptAPI

        -
        -
        -
        - -
        -
        -stream_request(method: str, params: Iterable, iter_path: str = 'result.item')
        -

        Stream a request, great for large requests like events or traces.

        -
        -
        Parameters:
        -
          -
        • method (str) – The RPC method to call.

        • -
        • params (Iterable) – Parameters for the method.s

        • -
        • iter_path (str) – The response dict-path to the items.

        • -
        -
        -
        Returns:
        -

        An iterator of items.

        -
        -
        -
        - -
        -
        -property supports_tracing: bool
        -

        True when the provider can provide transaction traces.

        -
        - -
        -
        -update_settings(new_settings: dict)
        -

        Change a provider’s setting, such as configure a new port to run on. -May require a reconnect.

        -
        -
        Parameters:
        -

        new_settings (dict) – The new provider settings.

        -
        -
        -
        - -
        -
        -property web3: Web3
        -

        Access to the web3 object as if you did Web3(HTTPProvider(uri)).

        -
        - -
        -
        -property ws_uri: str | None
        -

        Return the raw WS/WSS URI to connect to this provider, if supported.

        -
        - -
        - -
        -
        -ape_ethereum.assert_web3_provider_uri_env_var_not_set()
        -

        Environment variable $WEB3_PROVIDER_URI causes problems -when used with Ape (ignores Ape’s networks). Use -this validator to eliminate the concern.

        -
        -
        Raises:
        -

        ProviderError – If environment variable - WEB3_PROVIDER_URI exists in os.environ.

        -
        -
        -
        -

        ape-ethereum.multicall

        -class ape_ethereum.multicall.BaseMulticall(address: Annotated[ChecksumAddress, _AddressValidator] = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)
        -

        Bases: ManagerAccessMixin

        +class ape_ethereum.multicall.BaseMulticall(address: AddressType = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None) +

        Bases: ManagerAccessMixin

        add(call: ContractMethodHandler, *args, allowFailure: bool = True, value: int = 0) BaseMulticall
        @@ -1826,7 +235,7 @@
        -class ape_ethereum.multicall.Call(address: Annotated[ChecksumAddress, _AddressValidator] = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)
        +class ape_ethereum.multicall.Call(address: AddressType = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)

        Bases: BaseMulticall

        Create a sequence of calls to execute at once using eth_call via the Multicall3 contract.

        Usage example:

        @@ -1918,7 +327,7 @@
        -class ape_ethereum.multicall.Transaction(address: Annotated[ChecksumAddress, _AddressValidator] = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)
        +class ape_ethereum.multicall.Transaction(address: AddressType = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)

        Bases: BaseMulticall

        Create a sequence of calls to execute at once using eth_sendTransaction via the Multicall3 contract.

        diff --git a/stable/methoddocs/ape_node.html b/stable/methoddocs/ape_node.html index 9c49fa1a3c..f60d3f6e75 100644 --- a/stable/methoddocs/ape_node.html +++ b/stable/methoddocs/ape_node.html @@ -153,7 +153,11 @@
      • start()
    • -
    • Node
    • +
    • Node +
    • OtterscanQueryEngine
-
-

ape.utils

+
+

ape.utils

+
+

ABI

-
-class ape.utils.BaseInterface
-

Bases: ManagerAccessMixin, ABC

-

Abstract class that has manager access.

+
+class ape.utils.abi.Struct
+

Bases: object

+

A class for contract return values using the struct data-structure.

+
+
+items() dict
+

Override

+
+
-
-class ape.utils.BaseInterfaceModel
-

Bases: BaseInterface, BaseModel

-

An abstract base-class with manager access on a pydantic base model.

-
-
-model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
-

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

+
+class ape.utils.abi.StructParser(method_abi: ConstructorABI | MethodABI | EventABI)
+

Bases: object

+

A utility class responsible for parsing structs out of values.

+
+
+decode_output(values: list | tuple) Any
+

Parse a list of output types and values into structs. +Values are only altered when they are a struct. +This method also handles structs within structs as well as arrays of structs.

+
+
Parameters:
+

values (Union[list, tuple]) – A list of of output values.

+
+
Returns:
+

The same input values only decoded into structs when applicable.

+
+
Return type:
+

Any

+
+
-
-
-model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}
-

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

+
+
+property default_name: str
+

The default struct return name for unnamed structs. +This value is also used for named tuples where the tuple does not have a name +(but each item in the tuple does have a name).

-
-
-model_fields: ClassVar[Dict[str, FieldInfo]] = {}
-

Metadata about the fields defined on the model, -mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

-

This replaces Model.__fields__ from Pydantic V1.

+
+
+encode_input(values: list | tuple | dict) Any
+

Convert dicts and other objects to struct inputs.

+
+
Parameters:
+

values (Union[list, tuple]) – A list of of input values.

+
+
Returns:
+

The same input values only decoded into structs when applicable.

+
+
Return type:
+

Any

+
+
+
+ +
+ +
+
+ape.utils.abi.create_struct(name: str, types: Sequence[ABIType], output_values: Sequence) Any
+

Create a dataclass representing an ABI struct that can be used as inputs or outputs. +The struct properties can be accessed via . notation, as keys in a dictionary, or +numeric tuple access.

+

NOTE: This method assumes you already know the values to give to the struct +properties.

+
+
Parameters:
+
    +
  • name (str) – The name of the struct.

  • +
  • (list[ABIType] (types) – The types of values in the struct.

  • +
  • output_values (list[Any]) – The struct property values.

  • +
+
+
Returns:
+

The struct dataclass.

+
+
Return type:
+

Any

+
+
+
+ +
+
+ape.utils.abi.is_array(abi_type: str | ABIType) bool
+

Returns True if the given type is a probably an array.

+
+
Parameters:
+

abi_type (Union[str, ABIType]) – The type to check.

+
+
Returns:
+

bool

+
+
+
+ +
+
+ape.utils.abi.is_named_tuple(outputs: Sequence[ABIType], output_values: Sequence) bool
+

Returns True if the given output is a tuple where every item is named.

+
+ +
+
+ape.utils.abi.is_struct(outputs: ABIType | Sequence[ABIType]) bool
+

Returns True if the given output is a struct.

+
+ +
+
+ape.utils.abi.returns_array(abi: MethodABI) bool
+

Returns True if the given method ABI likely returns an array.

+
+
Parameters:
+

abi (MethodABI) – An ABI method.

+
+
Returns:
+

bool

+
+
+
+
+

Basemodel

+

TODO: In 0.9, move this module to ape.types.

+
+
+class ape.utils.basemodel.BaseInterface
+

Bases: ManagerAccessMixin, ABC

+

Abstract class that has manager access.

+
+ +
+
+class ape.utils.basemodel.BaseInterfaceModel
+

Bases: BaseInterface, BaseModel

+

An abstract base-class with manager access on a pydantic base model.

-
-class ape.utils.ExtraAttributesMixin
+
+class ape.utils.basemodel.BaseModel
+

Bases: BaseModel

+

An ape-pydantic BaseModel.

+
+
+model_copy(*, update: dict[str, Any] | None = None, deep: bool = False, cache_clear: Sequence[str] | None = None) Model
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#model_copy

+

Returns a copy of the model.

+
+
Parameters:
+
    +
  • update – Values to change/add in the new model. Note: the data is not validated +before creating the new model. You should trust this data.

  • +
  • deep – Set to True to make a deep copy of the model.

  • +
+
+
Returns:
+

New model instance.

+
+
+
+ +
+ +
+
+class ape.utils.basemodel.ExtraAttributesMixin

Bases: object

A mixin to use on models that provide ExtraModelAttributes. NOTE: Must come _before_ your base-model class in subclass tuple to function.

-
-class ape.utils.ExtraModelAttributes(*, name: str, attributes: Any | Callable[[], Any] | Callable[[str], Any], include_getattr: bool = True, include_getitem: bool = False, additional_error_message: str | None = None)
+
+class ape.utils.basemodel.ExtraModelAttributes(*, name: str, attributes: Any | Callable[[], Any] | Callable[[str], Any], include_getattr: bool = True, include_getitem: bool = False, additional_error_message: str | None = None)

Bases: BaseModel

A class for defining extra model attributes.

-
-additional_error_message: str | None
+
+additional_error_message: str | None

An additional error message to include at the end of the normal IndexError message.

-
-attributes: Any | Callable[[], Any] | Callable[[str], Any]
+
+attributes: Any | Callable[[], Any] | Callable[[str], Any]

The attributes. The following types are supported:

  1. A model or dictionary to lookup attributes.

  2. @@ -319,8 +481,8 @@
-
-get(name: str) Any | None
+
+get(name: str) Any | None

Get an attribute.

Parameters:
@@ -336,40 +498,20 @@
-
-include_getattr: bool
+
+include_getattr: bool

Whether to use these in __getattr__.

-
-include_getitem: bool
+
+include_getitem: bool

Whether to use these in __getitem__.

-
-model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
-

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

-
- -
-
-model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}
-

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

-
- -
-
-model_fields: ClassVar[Dict[str, FieldInfo]] = {'additional_error_message': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'attributes': FieldInfo(annotation=Union[Any, Callable[list, Any], Callable[list, Any]], required=True), 'include_getattr': FieldInfo(annotation=bool, required=False, default=True), 'include_getitem': FieldInfo(annotation=bool, required=False, default=False), 'name': FieldInfo(annotation=str, required=True)}
-

Metadata about the fields defined on the model, -mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

-

This replaces Model.__fields__ from Pydantic V1.

-
- -
-
-name: str
+
+name: str

The name of the attributes. This is important in instances such as when an attribute is missing, we can show a more accurate exception message.

@@ -378,53 +520,8 @@
-
-class ape.utils.GeneratedDevAccount(address, private_key)
-

Bases: tuple

-

An account key-pair generated from the test mnemonic. Set the test mnemonic -in your ape-config.yaml file under the test section. Access your test -accounts using the test_accounts property.

-

Config example:

-
test:
-  mnemonic: test test test test test test test test test test test junk
-  number_of_accounts: 10
-
-
-
-
-address
-

Alias for field number 0

-
- -
-
-private_key
-

Alias for field number 1

-
- -
- -
-
-class ape.utils.JoinableQueue(maxsize=0)
-

Bases: Queue

-

A queue that can be joined, useful for multi-processing. -Borrowed from the py-geth library.

-
-
-join(timeout=None)
-

Blocks until all items in the Queue have been gotten and processed.

-

The count of unfinished tasks goes up whenever an item is added to the -queue. The count goes down whenever a consumer thread calls task_done() -to indicate the item was retrieved and all work on it is complete.

-

When the count of unfinished tasks drops to zero, join() unblocks.

-
- -
- -
-
-class ape.utils.ManagerAccessMixin
+
+class ape.utils.basemodel.ManagerAccessMixin

Bases: object

A mixin for accessing Ape’s manager at the class level.

Usage example:

@@ -439,201 +536,232 @@
-
-Project
+
+Project

alias of ProjectManager

-
-class ape.utils.RPCHeaders(data=None, **kwargs)
-

Bases: CaseInsensitiveDict

-

A dict-like data-structure for HTTP-headers. -It is case-insensitive and appends user-agent strings -rather than overrides.

+
+class ape.utils.basemodel.injected_before_use(fget=None, fset=None, fdel=None, doc=None)
+

Bases: property

+

Injected properties are injected class variables that must be set before use.

+

NOTE: do not appear in a Pydantic model’s set of properties.

-
-class ape.utils.Struct
-

Bases: object

-

A class for contract return values using the struct data-structure.

-
-
-items() dict
-

Override

-
- +
+class ape.utils.basemodel.manager_access(fn)
+

Bases: property

-
-
-class ape.utils.StructParser(method_abi: ConstructorABI | MethodABI | EventABI)
-

Bases: object

-

A utility class responsible for parsing structs out of values.

-
-
-decode_output(values: list | tuple) Any
-

Parse a list of output types and values into structs. -Values are only altered when they are a struct. -This method also handles structs within structs as well as arrays of structs.

+ +
+

Miscellaneous

+
+
+ape.utils.misc.extract_nested_value(root: Mapping, *args: str) dict | None
+

Dig through a nested dict using the given keys and return the +last-found object.

+

Usage example:

+
>>> extract_nested_value({"foo": {"bar": {"test": "VALUE"}}}, "foo", "bar", "test")
+'VALUE'
+
+
Parameters:
-

values (Union[list, tuple]) – A list of of output values.

+

root (dict) – Nested keys to form arguments.

Returns:
-

The same input values only decoded into structs when applicable.

+

The final value if it exists +else None if the tree ends at any point.

Return type:
-

Any

+

dict, optional

-
-
-property default_name: str
-

The default struct return name for unnamed structs. -This value is also used for named tuples where the tuple does not have a name -(but each item in the tuple does have a name).

-
- -
-
-encode_input(values: list | tuple | dict) Any
-

Convert dicts and other objects to struct inputs.

+
+
+ape.utils.misc.gas_estimation_error_message(tx_error: Exception) str
+

Get an error message containing the given error and an explanation of how the +gas estimation failed, as in ape.api.providers.ProviderAPI implementations.

Parameters:
-

values (Union[list, tuple]) – A list of of input values.

+

tx_error (Exception) – The error that occurred when trying to estimate gas.

Returns:
-

The same input values only decoded into structs when applicable.

+

An error message explaining that the gas failed and that the transaction +will likely revert.

Return type:
-

Any

+

str

+
+
+ape.utils.misc.get_current_timestamp_ms() int
+

Get the current UNIX timestamp in milliseconds.

+
+
Returns:
+

int

+
+
-
-
-class ape.utils.TraceStyles
-

Bases: object

-

Colors to use when displaying a call trace. -Each item in the class points to the part of -the trace it colors.

-
-
-CONTRACTS = '#ff8c00'
-

Contract type names.

-
- -
-
-DELEGATE = '#d75f00'
-

The part ‘(delegate)’ that appears before delegate calls.

-
- -
-
-GAS_COST = 'dim'
-

The gas used of the call.

-
- -
-
-INPUTS = 'bright_magenta'
-

Method arguments.

-
- -
-
-METHODS = 'bright_green'
-

Method names; not including arguments or return values.

-
- -
-
-OUTPUTS = 'bright_blue'
-

Method return values.

+
+
+ape.utils.misc.get_package_version(obj: Any) str
+

Get the version of a single package.

+
+
Parameters:
+

obj – object to search inside for __version__.

+
+
Returns:
+

version string.

+
+
Return type:
+

str

+
+
-
-
-VALUE = '#00afd7'
-

The transaction value, when it’s > 0.

+
+
+ape.utils.misc.is_evm_precompile(address: str) bool
+

Returns True if the given address string is a known +Ethereum pre-compile address.

+
+
Parameters:
+

address (str)

+
+
Returns:
+

bool

+
+
+
+
+ape.utils.misc.is_zero_hex(address: str) bool
+

Returns True if the hex str is only zero. +NOTE: Empty hexes like "0x" are considered zero.

+
+
Parameters:
+

address (str) – The address to check.

+
+
Returns:
+

bool

+
+
-
-ape.utils.add_padding_to_strings(str_list: list[str], extra_spaces: int = 0, space_character: str = ' ') list[str]
-

Append spacing to each string in a list of strings such that -they all have the same length.

+
+ape.utils.misc.load_config(path: Path, expand_envars=True, must_exist=False) dict
+

Load a configuration file into memory. +A file at the given path must exist or else it will throw OSError. +The configuration file must be a .json or .yaml or else it will throw TypeError.

Parameters:
    -
  • str_list (list[str]) – The list of strings that need padding.

  • -
  • extra_spaces (int) – Optionally append extra spacing. Defaults to 0.

  • -
  • space_character (str) – The character to use in the padding. Defaults to " ".

  • +
  • path (str) – path to filesystem to find.

  • +
  • expand_envars (bool) – True the variables in path +are able to expand to show full path.

  • +
  • must_exist (bool) – True will be set if the configuration file exist +and is able to be load.

Returns:
-

A list of equal-length strings with padded spaces.

+

Configured settings parsed from a config file.

Return type:
-

list[str]

+

dict

-
-ape.utils.allow_disconnected(fn: Callable)
-

A decorator that instead of raising ProviderNotConnectedError -warns and returns None.

-

Usage example:

-
from typing import Optional
-from ape.types import SnapshotID
-from ape.utils import return_none_when_disconnected
-
-@allow_disconnected
-def try_snapshot(self) -> Optional[SnapshotID]:
-    return self.chain.snapshot()
-
-
+
+ape.utils.misc.log_instead_of_fail(default: Any | None = None)
+

A decorator for logging errors instead of raising. +This is useful for methods like __repr__ which shouldn’t fail.

-
-ape.utils.as_our_module(cls_or_def: _MOD_T, doc_str: str | None = None) _MOD_T
-

Ape sometimes reclaims definitions from other packages, such as -class:~ape.types.signatures.SignableMessage). When doing so, the doc str -may be different than ours, and the module may still refer to -the original package. This method steals the given class as-if -it were ours. Logic borrowed from starknet-py. -https://github.com/software-mansion/starknet.py/blob/0.10.1-alpha/starknet_py/utils/docs.py#L10-L24

+
+ape.utils.misc.pragma_str_to_specifier_set(pragma_str: str) SpecifierSet | None
+

Convert the given pragma str to a packaging.version.SpecifierSet +if possible.

Parameters:
-
    -
  • cls_or_def (_MOD_T) – The class or definition to borrow.

  • -
  • doc_str (str) – Optionally change the doc string.

  • -
+

pragma_str (str) – The str to convert.

Returns:
-

The borrowed-version of the class or definition.

+

Optional[packaging.version.SpecifierSet]

+
+
+
+ +
+
+ape.utils.misc.raises_not_implemented(fn)
+

Decorator for raising helpful not implemented error.

+
+ +
+
+ape.utils.misc.run_until_complete(*item: Any) Any
+

Completes the given coroutine and returns its value.

+
+
Parameters:
+

*item (Any) – A coroutine or any return value from an async method. If +not given a coroutine, returns the given item. Provide multiple +coroutines to run tasks in parallel.

+
+
Returns:
+

The value that results in awaiting the coroutine. +Else, item if item is not a coroutine. If given multiple coroutines, +returns the result from asyncio.gather.

+
+
Return type:
+

(Any)

+
+
+class ape.utils.misc.singledispatchmethod(func)
+

Bases: object

+

Single-dispatch generic method descriptor.

+

Supports wrapping existing descriptors and handles non-descriptor +callables as instance methods.

+
+
+register(cls, func) func
+

Registers a new implementation for the given cls on a generic_method.

+
+ +
+
-
-ape.utils.clean_path(path: Path) str
+
+ape.utils.misc.to_int(value: Any) int
+

Convert the given value, such as hex-strs or hex-bytes, to an integer.

+
+ +
+
+

OS

+
+
+ape.utils.os.clean_path(path: Path) str

Replace the home directory with key $HOME and return the path as a str. This is used for outputting paths with less doxxing.

@@ -651,8 +779,8 @@
-
-ape.utils.create_tempdir(name: str | None = None) Iterator[Path]
+
+ape.utils.os.create_tempdir(name: str | None = None) Iterator[Path]

Create a temporary directory. Differs from TemporaryDirectory() context-call alone because it automatically resolves the path.

@@ -671,8 +799,8 @@
-
-ape.utils.expand_environment_variables(contents: str) str
+
+ape.utils.os.expand_environment_variables(contents: str) str

Replace substrings of the form $name or ${name} in the given path with the value of environment variable name.

@@ -691,8 +819,8 @@
-
-ape.utils.extract_archive(archive_file: Path, destination: Path | None = None)
+
+ape.utils.os.extract_archive(archive_file: Path, destination: Path | None = None)

Extract an archive file. Supports .zip or .tar.gz.

Parameters:
@@ -706,77 +834,8 @@
-
-ape.utils.extract_nested_value(root: Mapping, *args: str) dict | None
-

Dig through a nested dict using the given keys and return the -last-found object.

-

Usage example:

-
>>> extract_nested_value({"foo": {"bar": {"test": "VALUE"}}}, "foo", "bar", "test")
-'VALUE'
-
-
-
-
Parameters:
-

root (dict) – Nested keys to form arguments.

-
-
Returns:
-

The final value if it exists -else None if the tree ends at any point.

-
-
Return type:
-

dict, optional

-
-
-
- -
-
-ape.utils.gas_estimation_error_message(tx_error: Exception) str
-

Get an error message containing the given error and an explanation of how the -gas estimation failed, as in ape.api.providers.ProviderAPI implementations.

-
-
Parameters:
-

tx_error (Exception) – The error that occurred when trying to estimate gas.

-
-
Returns:
-

An error message explaining that the gas failed and that the transaction -will likely revert.

-
-
Return type:
-

str

-
-
-
- -
-
-ape.utils.generate_dev_accounts(mnemonic: str = 'test test test test test test test test test test test junk', number_of_accounts: int = 10, hd_path: str = "m/44'/60'/0'/0", start_index: int = 0) list[GeneratedDevAccount]
-

Create accounts from the given test mnemonic. -Use these accounts (or the mnemonic) in chain-genesis -for testing providers.

-
-
Parameters:
-
    -
  • mnemonic (str) – mnemonic phrase or seed words.

  • -
  • number_of_accounts (int) – Number of accounts. Defaults to 10.

  • -
  • hd_path (str) – Hard Wallets/HD Keys derivation path format. -Defaults to "m/44'/60'/0'/0".

  • -
  • start_index (int) – The index to start from in the path. Defaults -to 0.

  • -
-
-
Returns:
-

List of development accounts.

-
-
Return type:
-

list[GeneratedDevAccount]

-
-
-
- -
-
-ape.utils.get_all_files_in_directory(path: Path, pattern: Pattern | str | None = None, max_files: int | None = None) list[Path]
+
+ape.utils.os.get_all_files_in_directory(path: Path, pattern: Pattern | str | None = None, max_files: int | None = None) list[Path]

Returns all the files in a directory structure (recursive).

For example, given a directory structure like:

dir_a: dir_b, file_a, file_b
@@ -805,19 +864,8 @@
 
-
-ape.utils.get_current_timestamp_ms() int
-

Get the current UNIX timestamp in milliseconds.

-
-
Returns:
-

int

-
-
-
- -
-
-ape.utils.get_full_extension(path: Path | str) str
+
+ape.utils.os.get_full_extension(path: Path | str) str

For a path like Path("Contract.t.sol"), returns .t.sol, unlike the regular Path property .suffix which returns .sol.

@@ -835,8 +883,8 @@
-
-ape.utils.get_package_path(package_name: str) Path
+
+ape.utils.os.get_package_path(package_name: str) Path

Get the path to a package from site-packages.

Parameters:
@@ -849,28 +897,16 @@
-
-ape.utils.get_package_version(obj: Any) str
-

Get the version of a single package.

-
-
Parameters:
-

obj – object to search inside for __version__.

-
-
Returns:
-

version string.

-
-
Return type:
-

str

-
-
-
- -
-
-ape.utils.get_relative_path(target: Path, anchor: Path) Path
+
+ape.utils.os.get_relative_path(target: Path, anchor: Path) Path

Compute the relative path of target relative to anchor, which may or may not share a common ancestor.

-

NOTE: Both paths must be absolute.

+

NOTE ON PERFORMANCE: Both paths must be absolute to +use this method. If you know both methods are absolute, +this method is a performance boost. If you have to first +call .absolute() on the paths, use +target.relative_to(anchor) instead; as it will be +faster in that case.

Parameters:
    @@ -888,8 +924,8 @@
-
-ape.utils.in_tempdir(path: Path) bool
+
+ape.utils.os.in_tempdir(path: Path) bool

Returns True when the given path is in a temporary directory.

Parameters:
@@ -901,105 +937,29 @@
-
-
-class ape.utils.injected_before_use(fget=None, fset=None, fdel=None, doc=None)
-

Bases: property

-

Injected properties are injected class variables that must be set before use.

-

NOTE: do not appear in a Pydantic model’s set of properties.

-
- -
-
-ape.utils.is_array(abi_type: str | ABIType) bool
-

Returns True if the given type is a probably an array.

-
-
Parameters:
-

abi_type (Union[str, ABIType]) – The type to check.

-
-
Returns:
-

bool

-
-
-
- -
-
-ape.utils.is_evm_precompile(address: str) bool
-

Returns True if the given address string is a known -Ethereum pre-compile address.

-
-
Parameters:
-

address (str)

-
-
Returns:
-

bool

-
-
-
- -
-
-ape.utils.is_named_tuple(outputs: Sequence[ABIType], output_values: Sequence) bool
-

Returns True if the given output is a tuple where every item is named.

-
- -
-
-ape.utils.is_struct(outputs: ABIType | Sequence[ABIType]) bool
-

Returns True if the given output is a struct.

-
- -
-
-ape.utils.is_zero_hex(address: str) bool
-

Returns True if the hex str is only zero. -NOTE: Empty hexes like "0x" are considered zero.

-
-
Parameters:
-

address (str) – The address to check.

-
-
Returns:
-

bool

-
-
-
-
-
-ape.utils.load_config(path: Path, expand_envars=True, must_exist=False) dict
-

Load a configuration file into memory. -A file at the given path must exist or else it will throw OSError. -The configuration file must be a .json or .yaml or else it will throw TypeError.

+
+ape.utils.os.is_relative_to(path: Path, target: Path) bool
+

Search a path and determine its relevancy.

Parameters:
    -
  • path (str) – path to filesystem to find.

  • -
  • expand_envars (bool) – True the variables in path -are able to expand to show full path.

  • -
  • must_exist (bool) – True will be set if the configuration file exist -and is able to be load.

  • +
  • path (str) – Path represents a filesystem to find.

  • +
  • target (str) – Path represents a filesystem to match.

Returns:
-

Configured settings parsed from a config file.

+

True if the path is relative to the target path or False.

Return type:
-

dict

+

bool

-
-ape.utils.log_instead_of_fail(default: Any | None = None)
-

A decorator for logging errors instead of raising. -This is useful for methods like __repr__ which shouldn’t fail.

-
- -
-
-ape.utils.path_match(path: str | Path, *exclusions: str) bool
+
+ape.utils.os.path_match(path: str | Path, *exclusions: str) bool

A better glob-matching function. For example:

>>> from pathlib import Path
 >>> p = Path("test/to/.build/me/2/file.json")
@@ -1013,43 +973,8 @@
 
-
-ape.utils.pragma_str_to_specifier_set(pragma_str: str) SpecifierSet | None
-

Convert the given pragma str to a packaging.version.SpecifierSet -if possible.

-
-
Parameters:
-

pragma_str (str) – The str to convert.

-
-
Returns:
-

Optional[packaging.version.SpecifierSet]

-
-
-
- -
-
-ape.utils.raises_not_implemented(fn)
-

Decorator for raising helpful not implemented error.

-
- -
-
-ape.utils.returns_array(abi: MethodABI) bool
-

Returns True if the given method ABI likely returns an array.

-
-
Parameters:
-

abi (MethodABI) – An ABI method.

-
-
Returns:
-

bool

-
-
-
- -
-
-ape.utils.run_in_tempdir(fn: Callable[[Path], Any], name: str | None = None)
+
+ape.utils.os.run_in_tempdir(fn: Callable[[Path], Any], name: str | None = None)

Run the given function in a temporary directory with its path resolved.

@@ -1069,51 +994,73 @@
-
-
-ape.utils.run_until_complete(*item: Any) Any
-

Completes the given coroutine and returns its value.

-
-
Parameters:
-

*item (Any) – A coroutine or any return value from an async method. If -not given a coroutine, returns the given item. Provide multiple -coroutines to run tasks in parallel.

-
-
Returns:
-

The value that results in awaiting the coroutine. -Else, item if item is not a coroutine. If given multiple coroutines, -returns the result from asyncio.gather.

-
-
Return type:
-

(Any)

-
-
+
+
+class ape.utils.os.use_temp_sys_path(path: Path, exclude: list[Path] | None = None)
+

Bases: object

+

A context manager to manage injecting and removing paths from +a user’s sys paths without permanently modifying it.

+
+
+

Process

-
-class ape.utils.singledispatchmethod(func)
-

Bases: object

-

Single-dispatch generic method descriptor.

-

Supports wrapping existing descriptors and handles non-descriptor -callables as instance methods.

+
+class ape.utils.process.JoinableQueue(maxsize=0)
+

Bases: Queue

+

A queue that can be joined, useful for multi-processing. +Borrowed from the py-geth library.

-
-register(cls, func) func
-

Registers a new implementation for the given cls on a generic_method.

+
+join(timeout=None)
+

Blocks until all items in the Queue have been gotten and processed.

+

The count of unfinished tasks goes up whenever an item is added to the +queue. The count goes down whenever a consumer thread calls task_done() +to indicate the item was retrieved and all work on it is complete.

+

When the count of unfinished tasks drops to zero, join() unblocks.

-
-ape.utils.spawn(target, *args, **kwargs)
+
+ape.utils.process.spawn(target, *args, **kwargs)

Spawn a new daemon thread. Borrowed from the py-geth library.

+
+
+

RPC

+
+
+class ape.utils.rpc.RPCHeaders(data=None, **kwargs)
+

Bases: CaseInsensitiveDict

+

A dict-like data-structure for HTTP-headers. +It is case-insensitive and appends user-agent strings +rather than overrides.

+
+ +
+
+ape.utils.rpc.allow_disconnected(fn: Callable)
+

A decorator that instead of raising ProviderNotConnectedError +warns and returns None.

+

Usage example:

+
from typing import Optional
+from ape.types import SnapshotID
+from ape.utils import return_none_when_disconnected
+
+@allow_disconnected
+def try_snapshot(self) -> Optional[SnapshotID]:
+    return self.chain.snapshot()
+
+
+
+
-
-ape.utils.stream_response(download_url: str, progress_bar_description: str = 'Downloading') bytes
+
+ape.utils.rpc.stream_response(download_url: str, progress_bar_description: str = 'Downloading') bytes

Download HTTP content by streaming and returning the bytes. Progress bar will be displayed in the CLI.

@@ -1132,20 +1079,117 @@
+
+
+

Testing

+
+
+class ape.utils.testing.GeneratedDevAccount(address, private_key)
+

Bases: tuple

+

An account key-pair generated from the test mnemonic. Set the test mnemonic +in your ape-config.yaml file under the test section. Access your test +accounts using the test_accounts property.

+

Config example:

+
test:
+  mnemonic: test test test test test test test test test test test junk
+  number_of_accounts: 10
+
+
+
+
+address
+

Alias for field number 0

+
+ +
+
+private_key
+

Alias for field number 1

+
+ +
+
-
-ape.utils.to_int(value: Any) int
-

Convert the given value, such as hex-strs or hex-bytes, to an integer.

+
+ape.utils.testing.generate_dev_accounts(mnemonic: str = 'test test test test test test test test test test test junk', number_of_accounts: int = 10, hd_path: str = "m/44'/60'/0'/0", start_index: int = 0) list[GeneratedDevAccount]
+

Create accounts from the given test mnemonic. +Use these accounts (or the mnemonic) in chain-genesis +for testing providers.

+
+
Parameters:
+
    +
  • mnemonic (str) – mnemonic phrase or seed words.

  • +
  • number_of_accounts (int) – Number of accounts. Defaults to 10.

  • +
  • hd_path (str) – Hard Wallets/HD Keys derivation path format. +Defaults to "m/44'/60'/0'/0".

  • +
  • start_index (int) – The index to start from in the path. Defaults +to 0.

  • +
+
+
Returns:
+

List of development accounts.

+
+
Return type:
+

list[GeneratedDevAccount]

+
+
+
+
+

Trace

-
-class ape.utils.use_temp_sys_path(path: Path, exclude: list[Path] | None = None)
+
+class ape.utils.trace.TraceStyles

Bases: object

-

A context manager to manage injecting and removing paths from -a user’s sys paths without permanently modifying it.

+

Colors to use when displaying a call trace. +Each item in the class points to the part of +the trace it colors.

+
+
+CONTRACTS = '#ff8c00'
+

Contract type names.

+
+ +
+
+DELEGATE = '#d75f00'
+

The part ‘(delegate)’ that appears before delegate calls.

+
+ +
+
+GAS_COST = 'dim'
+

The gas used of the call.

+
+ +
+
+INPUTS = 'bright_magenta'
+

Method arguments.

+
+ +
+
+METHODS = 'bright_green'
+

Method names; not including arguments or return values.

+
+ +
+
+OUTPUTS = 'bright_blue'
+

Method return values.

+
+ +
+
+VALUE = '#00afd7'
+

The transaction value, when it’s > 0.

+
+
+
@@ -335,6 +336,20 @@

%bal +
+

Executing Code

+

You can also use the ape console to execute programs directly from strings. +This is similar to the python -c|--code option except it will display the output cell. +Anything available in ape console is also available in ape console --code.

+
ape console -c 'project.name'
+Out[1]: 'my-project'
+ape console -c 'x = 3\nx + 1'
+Out[1]: 4
+ape console -c 'networks.active_provider.name'
+Out[1]: 'test'
+
+
+
+ + + +
+ + + + +
+
+
+
+

accounts

+

Command-line helper for managing local accounts. You can unlock local accounts from +scripts or the console using the accounts.load() method.

+
accounts [OPTIONS] COMMAND [ARGS]...
+
+
+
+

change-password

+

Change the password of an existing account

+
accounts change-password [OPTIONS] {}
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +

Arguments

+
+
+ALIAS
+

Required argument

+
+ +
+
+

delete

+

Delete an existing account

+
accounts delete [OPTIONS] {}
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +

Arguments

+
+
+ALIAS
+

Required argument

+
+ +
+
+

export

+

Export an account private key

+
accounts export [OPTIONS] {}
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +

Arguments

+
+
+ALIAS
+

Required argument

+
+ +
+
+

generate

+

Create an account with a random mnemonic seed phrase

+
accounts generate [OPTIONS] ALIAS
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--hide-mnemonic
+

Hide the newly generated mnemonic from the terminal

+
+ +
+
+--word-count <word_count>
+

Number of words to use to generate seed phrase

+
+
Default:
+

12

+
+
+
+ +
+
+--hd-path <custom_hd_path>
+

Specify an HD path for deriving seed phrase

+
+
Default:
+

"m/44'/60'/0'/0/0"

+
+
+
+ +

Arguments

+
+
+ALIAS
+

Required argument

+
+ +
+
+

import

+

Import an account by private key or seed phrase

+
accounts import [OPTIONS] ALIAS
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--use-mnemonic
+

Import a key from a mnemonic

+
+ +
+
+--hd-path <custom_hd_path>
+

Account HD path to use when importing by mnemonic

+
+
Default:
+

"m/44'/60'/0'/0/0"

+
+
+
+ +

Arguments

+
+
+ALIAS
+

Required argument

+
+ +
+
+

list

+

List available local accounts

+
accounts list [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--all
+

Output accounts from all plugins

+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/compile.html b/v0.8.20/commands/compile.html new file mode 100644 index 0000000000..f54c952875 --- /dev/null +++ b/v0.8.20/commands/compile.html @@ -0,0 +1,259 @@ + + + + + compile - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

compile

+

Compiles the manifest for this project and saves the results +back to the manifest.

+

Note that ape automatically recompiles any changed contracts each time +a project is loaded. You do not have to manually trigger a recompile.

+
compile [OPTIONS] [FILE_PATHS]...
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--project <PATH>
+

The path to a local project or manifest

+
+ +
+
+-f, --force
+

Force recompiling selected contracts

+
+ +
+
+-s, --size
+

Show deployment bytecode size for all contracts

+
+ +
+
+--include-dependencies
+

Also compile dependencies

+
+ +
+
+--config-override <"KEY": "VAL">
+

Config override mappings

+
+ +

Arguments

+
+
+FILE_PATHS
+

Optional argument(s)

+
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/console.html b/v0.8.20/commands/console.html new file mode 100644 index 0000000000..01ec3e2646 --- /dev/null +++ b/v0.8.20/commands/console.html @@ -0,0 +1,231 @@ + + + + + console - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

console

+
+

console

+

Opens a console for the local project.

+
console [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+-c, --code <code>
+

Program passed in as a string

+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/init.html b/v0.8.20/commands/init.html new file mode 100644 index 0000000000..1dd6dfe94e --- /dev/null +++ b/v0.8.20/commands/init.html @@ -0,0 +1,232 @@ + + + + + init - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

init

+

ape init allows the user to create an ape project with +default folders and ape-config.yaml.

+
init [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--github <github-org/repo>
+

Clone a template from Github

+
+ +
+
+--name <project_name>
+

A project name

+
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/networks.html b/v0.8.20/commands/networks.html new file mode 100644 index 0000000000..cfe7e399ce --- /dev/null +++ b/v0.8.20/commands/networks.html @@ -0,0 +1,299 @@ + + + + + networks - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

networks

+

Command-line helper for managing networks.

+
networks [OPTIONS] COMMAND [ARGS]...
+
+
+
+

list

+

List all the registered ecosystems, networks, and providers.

+
networks list [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--format <output_format>
+
+
Options:
+

TREE | YAML

+
+
+
+ +
+
+--ecosystem <ecosystem_filter>
+

Filter the results by ecosystem

+
+
Options:
+

ethereum

+
+
+
+ +
+
+--network <network_filter>
+

Filter the results by network

+
+
Options:
+

holesky | mainnet | local | goerli | holesky-fork | mainnet-fork | sepolia-fork | sepolia

+
+
+
+ +
+
+--provider <provider_filter>
+

Filter the results by provider

+
+
Options:
+

test | node

+
+
+
+ +
+
+

run

+

Start a subprocess node as if running independently +and stream stdout and stderr.

+
networks run [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--network <network>
+

Override the default network and provider. (see ape networks list for options)

+
+
Options:
+

:goerli:node | ethereum:goerli:node | :goerli | ethereum:goerli | :mainnet:node | ethereum:mainnet:node | :mainnet | ethereum:mainnet | :sepolia:node | ethereum:sepolia:node | :sepolia | ethereum:sepolia | :holesky:node | ethereum:holesky:node | :holesky | ethereum:holesky | ::node | :local:node | ethereum::node | ethereum:local:node | ::test | :local:test | ethereum::test | ethereum:local:test | :local | ethereum:local | ethereum

+
+
+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/plugins.html b/v0.8.20/commands/plugins.html new file mode 100644 index 0000000000..ca14af72f7 --- /dev/null +++ b/v0.8.20/commands/plugins.html @@ -0,0 +1,320 @@ + + + + + plugins - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

plugins

+

Command-line helper for managing plugins.

+
plugins [OPTIONS] COMMAND [ARGS]...
+
+
+
+

change-version

+

Change ape and all plugins version

+
plugins change-version [OPTIONS] VERSION
+
+
+

Arguments

+
+
+VERSION
+

Required argument

+
+ +
+
+

install

+

Install plugins

+
plugins install [OPTIONS] PLUGIN-NAMES or path/to/project-dir
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+-y, --yes
+

Don’t ask for confirmation to install the plugins

+
+ +
+
+-U, --upgrade
+

Upgrade the plugin to the newest available version

+
+ +

Arguments

+
+
+PLUGIN-NAMES or path/to/project-dir
+

Optional argument(s)

+
+ +
+
+

list

+

Display plugins

+
plugins list [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+-a, --all
+

Display all plugins installed and available (including Core)

+
+ +
+
+

uninstall

+

Uninstall plugins

+
plugins uninstall [OPTIONS] PLUGIN-NAMES or path/to/project-dir
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+-y, --yes
+

Don’t ask for confirmation to install the plugins

+
+ +

Arguments

+
+
+PLUGIN-NAMES or path/to/project-dir
+

Optional argument(s)

+
+ +
+
+

update

+

Update Ape and all plugins to the next version

+
plugins update [OPTIONS]
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/pm.html b/v0.8.20/commands/pm.html new file mode 100644 index 0000000000..019192147a --- /dev/null +++ b/v0.8.20/commands/pm.html @@ -0,0 +1,371 @@ + + + + + pm - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

pm

+

Package management tools

+
pm [OPTIONS] COMMAND [ARGS]...
+
+
+
+

compile

+

Compile a package

+
pm compile [OPTIONS] [NAME]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--version <VERSION>
+

The dependency version

+
+ +
+
+-f, --force
+

Force a re-compile

+
+ +
+
+--config-override <"KEY": "VAL">
+

Config override mappings

+
+ +

Arguments

+
+
+NAME
+

Optional argument

+
+ +
+
+

install

+

Download and cache packages

+
pm install [OPTIONS] [PACKAGE]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--name <NAME>
+

The name of the dependency

+
+ +
+
+--version <VERSION>
+

The dependency’s version

+
+ +
+
+--ref <REF>
+

A reference flag, used for GitHub branches or tags instead of version

+
+ +
+
+-f, --force
+

Force a re-install

+
+ +
+
+--config-override <"KEY": "VAL">
+

Config override mappings

+
+ +

Arguments

+
+
+PACKAGE
+

Optional argument

+
+ +
+
+

list

+

List installed packages

+
pm list [OPTIONS]
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+--all
+

List all installed dependencies

+
+ +
+
+

uninstall

+

Uninstall a package

+

This command removes a package from the installed packages.

+

If specific versions are provided, only those versions of the package will be +removed. If no versions are provided, the command will prompt you to choose +versions to remove. You can also choose to remove all versions of the package.

+

Examples:

+
    +
  • Remove specific versions: ape pm uninstall <PackageName> “1.0.0” “2.0.0”

  • +
  • Prompt to choose versions: ape pm uninstall <PackageName>

  • +
  • Remove all versions: ape pm uninstall <PackageName> -y

  • +
+
pm uninstall [OPTIONS] [NAME] [VERSIONS]...
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+-y, --yes
+

Automatically confirm the removal of the package(s)

+
+ +

Arguments

+
+
+NAME
+

Optional argument

+
+ +
+
+VERSIONS
+

Optional argument(s)

+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/run.html b/v0.8.20/commands/run.html new file mode 100644 index 0000000000..420e87c96f --- /dev/null +++ b/v0.8.20/commands/run.html @@ -0,0 +1,229 @@ + + + + + run - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

run

+
+

run

+

Run scripts from the “scripts/” folder of a project. A script must either define a main() +method, or define a command named cli that is a click.Command or click.Group object. +Scripts with only a main() method will be called with a network option given to the command. +Scripts with a cli command should import any mix-ins necessary to operate from the +ape.cli package.

+
run [OPTIONS] COMMAND [ARGS]...
+
+
+

Options

+
+
+-I, --interactive
+

Drop into interactive console session after running

+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/commands/test.html b/v0.8.20/commands/test.html new file mode 100644 index 0000000000..5fc7dd1f4b --- /dev/null +++ b/v0.8.20/commands/test.html @@ -0,0 +1,244 @@ + + + + + test - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

test

+

Launches pytest and runs the tests for a project

+
test [OPTIONS] [PYTEST_ARGS]...
+
+
+

Options

+
+
+-v, --verbosity <LVL>
+

One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

+
+ +
+
+-w, --watch
+

Watch for changes to project files and re-run the test suite with the given options.

+
+ +
+
+--watch-folders <watch_folders>
+

Folders to watch for changes using ape test –watch. Defaults to contracts/ and tests/

+
+ +
+
+--watch-delay <watch_delay>
+

Delay between polling cycles for ape test –watch. Defaults to 0.5 seconds.

+
+ +

Arguments

+
+
+PYTEST_ARGS
+

Optional argument(s)

+
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/genindex.html b/v0.8.20/genindex.html new file mode 100644 index 0000000000..fc4fde4d1f --- /dev/null +++ b/v0.8.20/genindex.html @@ -0,0 +1,3750 @@ + + + + + Index - ape documentation + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+
+ + +

Index

+ +
+ Symbols + | _ + | A + | B + | C + | D + | E + | F + | G + | H + | I + | J + | L + | M + | N + | O + | P + | Q + | R + | S + | T + | U + | V + | W + | Y + +
+

Symbols

+ + + +
+ +

_

+ + + +
+ +

A

+ + + +
+ +

B

+ + + +
+ +

C

+ + + +
+ +

D

+ + + +
+ +

E

+ + + +
+ +

F

+ + + +
+ +

G

+ + + +
+ +

H

+ + + +
+ +

I

+ + + +
+ +

J

+ + + +
+ +

L

+ + + +
+ +

M

+ + + +
+ +

N

+ + + +
+ +

O

+ + + +
+ +

P

+ + + +
+ +

Q

+ + + +
+ +

R

+ + + +
+ +

S

+ + + +
+ +

T

+ + + +
+ +

U

+ + + +
+ +

V

+ + + +
+ +

W

+ + + +
+ +

Y

+ + +
+ + + +
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/v0.8.20/index.html b/v0.8.20/index.html new file mode 100644 index 0000000000..a611f0c267 --- /dev/null +++ b/v0.8.20/index.html @@ -0,0 +1,266 @@ + + + + + ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape.html b/v0.8.20/methoddocs/ape.html new file mode 100644 index 0000000000..1a6a434fd3 --- /dev/null +++ b/v0.8.20/methoddocs/ape.html @@ -0,0 +1,319 @@ + + + + + ape - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape

+
+
+ape.accounts
+

Manage accounts. +See the AccountManager for more info.

+
+ +
+
+ape.chain
+

Manage the blockchain. +See the ChainManager for more info.

+
+ +
+
+ape.networks
+

Manage networks. +See the NetworkManager for more info.

+
+ +
+
+ape.project
+

Access the local project. +See the ProjectManager for more info.

+
+ +
+
+ape.config
+

Access the local project config. +See the ConfigManager for more info.

+
+ +
+
+ape.Project(path)
+

Instantiate other projects. +See the ProjectManager for more info.

+
+
Path:
+

The path to the project.

+
+
+
+ +
+
+ape.Contract(address, contract_type)
+

Instantiate contract-classes at a given address. +See the ContractInstance for more info.

+
+
Address:
+

The address of the instance.

+
+
Contract_type:
+

Optionally provide the ABI or contract type data.

+
+
+
+ +
+
+ape.convert(value, to_type)
+

Conversion utility. +See the ConversionManager for more info.

+
+
Value:
+

The value to convert.

+
+
To_type:
+

The destination type.

+
+
+

Example usage:

+
result = ape.convert("1 ETH", int)
+
+
+
+ +
+
+ape.compilers
+

Access compiler classes. +See the CompilerManager for more info.

+
+ +
+
+ape.reverts(expected_message, dev_message)
+

Catch contract-revert exceptions. +Mimics pytest.raises.

+
+
Expected_message:
+

The expected revert message (optional).

+
+
Dev_message:
+

The expected dev-message (optional).

+
+
+
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape_accounts.html b/v0.8.20/methoddocs/ape_accounts.html new file mode 100644 index 0000000000..24c3d4e824 --- /dev/null +++ b/v0.8.20/methoddocs/ape_accounts.html @@ -0,0 +1,208 @@ + + + + + ape-accounts - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape-accounts

+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape_compile.html b/v0.8.20/methoddocs/ape_compile.html new file mode 100644 index 0000000000..89efa622e4 --- /dev/null +++ b/v0.8.20/methoddocs/ape_compile.html @@ -0,0 +1,208 @@ + + + + + ape-compile - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape-compile

+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape_ethereum.html b/v0.8.20/methoddocs/ape_ethereum.html new file mode 100644 index 0000000000..6ab26abd92 --- /dev/null +++ b/v0.8.20/methoddocs/ape_ethereum.html @@ -0,0 +1,433 @@ + + + + + ape-ethereum - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape-ethereum

+
+
+

ape-ethereum.multicall

+
+
+class ape_ethereum.multicall.BaseMulticall(address: AddressType = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)
+

Bases: ManagerAccessMixin

+
+
+add(call: ContractMethodHandler, *args, allowFailure: bool = True, value: int = 0) BaseMulticall
+

Adds a call to the Multicall session object.

+
+
Raises:
+

InvalidOption – If one + of the kwarg modifiers is not able to be used.

+
+
Parameters:
+
    +
  • call (ContractMethodHandler) – The method to call.

  • +
  • *args – The arguments to invoke the method with.

  • +
  • allowFailure (bool) – Whether the call is allowed to fail.

  • +
  • value (int) – The amount of ether to forward with the call.

  • +
+
+
Returns:
+

+
returns itself

to emulate a builder pattern.

+
+
+

+
+
Return type:
+

BaseMulticall

+
+
+
+ +
+
+classmethod inject() ModuleType
+

Create the multicall module contract on-chain, so we can use it. +Must use a provider that supports debug_setCode.

+

Usage example:

+
from ape_ethereum import multicall
+
+@pytest.fixture(scope="session")
+def use_multicall():
+    # NOTE: use this fixture any test where you want to use a multicall
+    return multicall.BaseMulticall.inject()
+
+
+
+ +
+ +
+
+class ape_ethereum.multicall.Call(address: AddressType = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)
+

Bases: BaseMulticall

+

Create a sequence of calls to execute at once using eth_call via the Multicall3 contract.

+

Usage example:

+
from ape_ethereum import multicall
+
+call = multicall.Call()
+call.add(contract.myMethod, *call_args)
+call.add(contract.myMethod, *call_args)
+...  # Add as many calls as desired
+call.add(contract.myMethod, *call_args)
+a, b, ..., z = call()  # Performs multicall
+# or, using a builder pattern:
+call = multicall.Call()
+    .add(contract.myMethod, *call_args)
+    .add(contract.myMethod, *call_args)
+    ...  # Add as many calls as desired
+    .add(contract.myMethod, *call_args)
+a, b, ..., z = call()  # Performs multicall
+
+
+
+
+__call__(**call_kwargs) Iterator[Any]
+

Perform the Multicall call. This call will trigger again every time the Call object +is called.

+
+
Raises:
+

UnsupportedChainError – If there is not an instance of Multicall3 deployed + on the current chain at the expected address.

+
+
Parameters:
+

**call_kwargs – the kwargs to pass through to the call handler.

+
+
Returns:
+

+
the sequence of values produced by performing each call stored

by this instance.

+
+
+

+
+
Return type:
+

Iterator[Any]

+
+
+
+ +
+
+add(call: ContractMethodHandler, *args, **kwargs)
+

Adds a call to the Multicall session object.

+
+
Raises:
+

InvalidOption – If one + of the kwarg modifiers is not able to be used.

+
+
Parameters:
+
    +
  • call (ContractMethodHandler) – The method to call.

  • +
  • *args – The arguments to invoke the method with.

  • +
  • allowFailure (bool) – Whether the call is allowed to fail.

  • +
  • value (int) – The amount of ether to forward with the call.

  • +
+
+
Returns:
+

+
returns itself

to emulate a builder pattern.

+
+
+

+
+
Return type:
+

BaseMulticall

+
+
+
+ +
+
+as_transaction(**txn_kwargs) TransactionAPI
+

Encode the Multicall transaction as a TransactionAPI object, but do not execute it.

+
+
Returns:
+

TransactionAPI

+
+
+
+ +
+ +
+
+class ape_ethereum.multicall.Transaction(address: AddressType = '0xcA11bde05977b3631167028862bE2a173976CA11', supported_chains: list[int] | None = None)
+

Bases: BaseMulticall

+

Create a sequence of calls to execute at once using eth_sendTransaction +via the Multicall3 contract.

+

Usage example:

+
from ape_ethereum.multicall import Transaction
+
+txn = Transaction()
+txn.add(contract.myMethod, *call_args)
+txn.add(contract.myMethod, *call_args)
+...  # Add as many calls as desired to execute
+txn.add(contract.myMethod, *call_args)
+a, b, ..., z = txn(sender=my_signer).return_data  # Sends the multicall transaction
+# or, using a builder pattern:
+txn = Transaction()
+    .add(contract.myMethod, *call_args)
+    .add(contract.myMethod, *call_args)
+    ...  # Add as many calls as desired to execute
+    .add(contract.myMethod, *call_args)
+a, b, ..., z = txn(sender=my_signer).return_data  # Sends the multicall transaction
+
+
+
+
+__call__(**txn_kwargs) ReceiptAPI
+

Execute the Multicall transaction. The transaction will broadcast again every time +the Transaction object is called.

+
+
Raises:
+

UnsupportedChain – If there is not an instance of Multicall3 deployed + on the current chain at the expected address.

+
+
Parameters:
+

**txn_kwargs – the kwargs to pass through to the transaction handler.

+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+as_transaction(**txn_kwargs) TransactionAPI
+

Encode the Multicall transaction as a TransactionAPI object, but do not execute it.

+
+
Returns:
+

TransactionAPI

+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape_node.html b/v0.8.20/methoddocs/ape_node.html new file mode 100644 index 0000000000..f60d3f6e75 --- /dev/null +++ b/v0.8.20/methoddocs/ape_node.html @@ -0,0 +1,496 @@ + + + + + ape-node - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape-node

+
+
+class ape_node.EthereumNetworkConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, mainnet: dict = {'uri': 'https://cloudflare-eth.com'}, holesky: dict = {'uri': 'https://rpc.holesky.ethpandaops.io'}, sepolia: dict = {'uri': 'https://rpc.sepolia.ethpandaops.io'}, local: dict = {'chain_id': 1337, 'uri': 'http://localhost:8545'}, **values: Any)
+
+ +
+
+class ape_node.EthereumNodeConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, ethereum: EthereumNetworkConfig = EthereumNetworkConfig(mainnet={'uri': 'https://cloudflare-eth.com'}, holesky={'uri': 'https://rpc.holesky.ethpandaops.io'}, sepolia={'uri': 'https://rpc.sepolia.ethpandaops.io'}, local={'uri': 'http://localhost:8545', 'chain_id': 1337}), executable: str | None = None, data_dir: Path | None = None, ipc_path: Path | None = None, call_trace_approach: TraceApproach | None = None, request_headers: dict = {}, **values: Any)
+

Configure your node: in Ape, the default provider +plugin for live-network nodes. Also, ape node can +start-up a local development node for testing purposes.

+
+
+call_trace_approach: TraceApproach | None
+

Select the trace approach to use. Defaults to deducing one +based on your node’s client-version and available RPCs.

+
+ +
+
+data_dir: Path | None
+

For node-management, choose where the geth data directory shall +be located. Defaults to using a location within Ape’s DATA_FOLDER.

+
+ +
+
+ethereum: EthereumNetworkConfig
+

Configure the Ethereum network settings for the ape node provider, +such as which URIs to use for each network.

+
+ +
+
+executable: str | None
+

For starting nodes, select the executable. Defaults to using +shutil.which("geth").

+
+ +
+
+ipc_path: Path | None
+

For IPC connections, select the IPC path. If managing a process, +web3.py can determine the IPC w/o needing to manually configure.

+
+ +
+
+request_headers: dict
+

Optionally specify request headers to use whenever using this provider.

+
+ +
+ +
+
+class ape_node.GethDev(*args, name: str = 'node', network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {'User-Agent': "web3.py/6.20.1/<class 'web3.providers.rpc.HTTPProvider'>"}, block_page_size: int = 5000, concurrency: int = 16, PROCESS_WAIT_TIMEOUT: int = 15, process: Popen | None = None, is_stopping: bool = False, stdout_queue: JoinableQueue | None = None, stderr_queue: JoinableQueue | None = None)
+
+
+property auto_mine: bool
+

Whether automine is enabled.

+
+ +
+
+build_command() list[str]
+

Get the command as a list of str. +Subclasses should override and add command arguments if needed.

+
+
Returns:
+

The command to pass to subprocess.Popen.

+
+
Return type:
+

list[str]

+
+
+
+ +
+
+property chain_id: int
+

The blockchain ID. +See ChainList for a comprehensive list of IDs.

+
+ +
+
+connect()
+

Connect to a provider, such as start-up a process or create an HTTP connection.

+
+ +
+
+disconnect()
+

Disconnect from a provider, such as tear-down a process or quit an HTTP session.

+
+ +
+
+get_test_account(index: int) TestAccountAPI
+

Retrieve one of the provider-generated test accounts.

+
+
Parameters:
+

index (int) – The index of the test account in the HD-Path.

+
+
Returns:
+

TestAccountAPI

+
+
+
+ +
+
+mine(**kwargs)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+name: str
+

The name of the provider (should be the plugin name).

+
+ +
+
+property process_name: str
+

The name of the process, such as Hardhat node.

+
+ +
+
+restore(snapshot_id: SnapshotID)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+set_timestamp(**kwargs)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+snapshot() SnapshotID
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+start(timeout: int = 20)
+

Start the process and wait for its RPC to be ready.

+
+ +
+ +
+
+class ape_node.Node(*args, name: str = 'node', network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {'User-Agent': "web3.py/6.20.1/<class 'web3.providers.rpc.HTTPProvider'>"}, block_page_size: int = 5000, concurrency: int = 16)
+
+
+connect()
+

Connect to a provider, such as start-up a process or create an HTTP connection.

+
+ +
+
+send_transaction(txn: TransactionAPI) ReceiptAPI
+

Send a transaction to the network.

+
+
Parameters:
+

txn (TransactionAPI) – The transaction to send.

+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+ +
+
+class ape_node.OtterscanQueryEngine
+
+
+estimate_query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery) int | None
+
+estimate_query(query: ContractCreationQuery) int | None
+

Estimation of time needed to complete the query. The estimation is returned +as an int representing milliseconds. A value of None indicates that the +query engine is not available for use or is unable to complete the query.

+
+
Parameters:
+

query (QueryType) – Query to estimate.

+
+
Returns:
+

Represents milliseconds, returns None if unable to execute.

+
+
Return type:
+

Optional[int]

+
+
+
+ +
+
+perform_query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery) Iterator
+
+perform_query(query: ContractCreationQuery) Iterator[ContractCreation]
+

Executes the query using best performing estimate_query query engine.

+
+
Parameters:
+

query (QueryType) – query to execute

+
+
Returns:
+

Iterator

+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape_pm.html b/v0.8.20/methoddocs/ape_pm.html new file mode 100644 index 0000000000..fbdb507658 --- /dev/null +++ b/v0.8.20/methoddocs/ape_pm.html @@ -0,0 +1,208 @@ + + + + + ape-pm - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape-pm

+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/ape_test.html b/v0.8.20/methoddocs/ape_test.html new file mode 100644 index 0000000000..0ccc8b807b --- /dev/null +++ b/v0.8.20/methoddocs/ape_test.html @@ -0,0 +1,200 @@ + + + + + ape-test - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape-test

+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/api.html b/v0.8.20/methoddocs/api.html new file mode 100644 index 0000000000..eac186ee29 --- /dev/null +++ b/v0.8.20/methoddocs/api.html @@ -0,0 +1,4599 @@ + + + + + ape.api - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.api

+
+

Accounts

+
+
+class ape.api.accounts.AccountAPI
+

Bases: BaseInterfaceModel, BaseAddress

+

An API class representing an account.

+
+
+__signature__: ClassVar[Signature] = <Signature () -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+property alias: str | None
+

A shortened-name for quicker access to the account.

+
+ +
+
+call(txn: TransactionAPI, send_everything: bool = False, private: bool = False, **signer_options) ReceiptAPI
+

Make a transaction call.

+
+
Raises:
+
    +
  • AccountsError – When the nonce is invalid or the sender does + not have enough funds.

  • +
  • TransactionError – When the required confirmations are negative.

  • +
  • SignatureError – When the user does not sign the transaction.

  • +
  • APINotImplementedError – When setting private=True and using + a provider that does not support private transactions.

  • +
+
+
Parameters:
+
    +
  • txn (TransactionAPI) – An invoke-transaction.

  • +
  • send_everything (bool) – True will send the difference from balance and fee. +Defaults to False.

  • +
  • private (bool) – True will use the +send_private_transaction() method.

  • +
  • **signer_options – Additional kwargs given to the signer to modify the signing operation.

  • +
+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+check_signature(data: SignableMessage | TransactionAPI | str | EIP712Message | int | bytes, signature: MessageSignature | None = None, recover_using_eip191: bool = True) bool
+

Verify a message or transaction was signed by this account.

+
+
Parameters:
+
    +
  • data (Union[SignableMessage, TransactionAPI]) – # noqa: E501 +The message or transaction to verify.

  • +
  • signature (Optional[MessageSignature]) – The signature to check. Defaults to None and is not needed when the first +argument is a transaction class.

  • +
  • recover_using_eip191 (bool) – Perform recovery using EIP-191 signed message check. If set False, then will attempt +recovery as raw hash. data` must be a 32 byte hash if this is set False. +Defaults to True.

  • +
+
+
Returns:
+

True if the data was signed by this account. False otherwise.

+
+
Return type:
+

bool

+
+
+
+ +
+
+declare(contract: ContractContainer, *args, **kwargs) ReceiptAPI
+

Deploy the “blueprint” of a contract type. For EVM providers, this likely means +using EIP-5202, which is implemented +in the core ape-ethereum plugin.

+
+
Parameters:
+

contract (ContractContainer) – The contract container +to declare.

+
+
Returns:
+

The receipt of the declare transaction.

+
+
Return type:
+

ReceiptAPI

+
+
+
+ +
+
+deploy(contract: ContractContainer, *args, publish: bool = False, **kwargs) ContractInstance
+

Create a smart contract on the blockchain. The smart contract must compile before +deploying and a provider must be active.

+
+
Parameters:
+
    +
  • contract (ContractContainer) – The type of contract to +deploy.

  • +
  • publish (bool) – Set to True to attempt explorer contract verification. +Defaults to False.

  • +
+
+
Returns:
+

An instance of the deployed contract.

+
+
Return type:
+

ContractInstance

+
+
+
+ +
+
+prepare_transaction(txn: TransactionAPI) TransactionAPI
+

Set default values on a transaction.

+
+
Raises:
+
    +
  • AccountsError – When the account cannot afford the transaction + or the nonce is invalid.

  • +
  • TransactionError – When given negative required confirmations.

  • +
+
+
Parameters:
+

txn (TransactionAPI) – The transaction to prepare.

+
+
Returns:
+

TransactionAPI

+
+
+
+ +
+
+abstract sign_message(msg: Any, **signer_options) MessageSignature | None
+

Sign a message.

+
+
Parameters:
+
    +
  • msg (Any) – The message to sign. Account plugins can handle various types of messages. +For example, KeyfileAccount can handle +SignableMessage, str, int, and bytes. +See these +docs # noqa: E501 +for more type information on the SignableMessage type.

  • +
  • **signer_options – Additional kwargs given to the signer to modify the signing operation.

  • +
+
+
Returns:
+

The signature corresponding to the message.

+
+
Return type:
+

MessageSignature (optional)

+
+
+
+ +
+
+sign_raw_msghash(msghash: HexBytes) MessageSignature | None
+

Sign a raw message hash.

+
+
Parameters:
+

msghash (HexBytes) – The message hash to sign. Plugins may or may not support this operation. +Default implementation is to raise NotImplementedError.

+
+
Returns:
+

The signature corresponding to the message.

+
+
Return type:
+

MessageSignature (optional)

+
+
+
+ +
+
+abstract sign_transaction(txn: TransactionAPI, **signer_options) TransactionAPI | None
+

Sign a transaction.

+
+
Parameters:
+
    +
  • txn (TransactionAPI) – The transaction to sign.

  • +
  • **signer_options – Additional kwargs given to the signer to modify the signing operation.

  • +
+
+
Returns:
+

+
A signed transaction.

The TransactionAPI returned by this method may not correspond to txn given as +input, however returning a properly-formatted transaction here is meant to be executed. +Returns None if the account does not have a transaction it wishes to execute.

+
+
+

+
+
Return type:
+

TransactionAPI (optional)

+
+
+
+ +
+
+transfer(account: str | Annotated[ChecksumAddress, _AddressValidator] | BaseAddress, value: str | int | None = None, data: bytes | str | None = None, private: bool = False, **kwargs) ReceiptAPI
+

Send funds to an account.

+
+
Raises:
+

APINotImplementedError – When setting private=True + and using a provider that does not support private transactions.

+
+
Parameters:
+
    +
  • account (Union[str, AddressType, BaseAddress]) – The receiver of the funds.

  • +
  • value (Optional[Union[str, int]]) – The amount to send.

  • +
  • data (Optional[Union[bytes, str]]) – Extra data to include in the transaction.

  • +
  • private (bool) – True asks the provider to make the transaction +private. For example, EVM providers typically use the RPC +eth_sendPrivateTransaction to achieve this. Local providers may ignore +this value.

  • +
  • **kwargs – Additional transaction kwargs passed to +create_transaction(), such as gas +max_fee, or max_priority_fee. For a list of available transaction +kwargs, see TransactionAPI.

  • +
+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+ +
+
+class ape.api.accounts.AccountContainerAPI(*, name: str, account_type: type[AccountAPI])
+

Bases: BaseInterfaceModel

+

An API class representing a collection of AccountAPI +instances.

+
+
+__contains__(address: Annotated[ChecksumAddress, _AddressValidator]) bool
+

Check if the address is an existing account in ape.

+
+
Raises:
+

IndexError – When the given account address is not in this container.

+
+
Parameters:
+

address (AddressType) – An account address.

+
+
Returns:
+

True if ape manages the account with the given address.

+
+
Return type:
+

bool

+
+
+
+ +
+
+__delitem__(address: Annotated[ChecksumAddress, _AddressValidator])
+

Delete an account.

+
+
Raises:
+

NotImplementError – When not overridden within a plugin.

+
+
Parameters:
+

address (AddressType) – The address of the account to delete.

+
+
+
+ +
+
+__getitem__(address: Annotated[ChecksumAddress, _AddressValidator]) AccountAPI
+

Get an account by address.

+
+
Parameters:
+

address (AddressType) – The address to get. The type is an alias to +ChecksumAddress. # noqa: E501

+
+
Raises:
+

KeyError – When there is no local account with the given address.

+
+
Returns:
+

AccountAPI

+
+
+
+ +
+
+abstract __len__() int
+

Number of accounts.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, name: str, account_type: type[ape.api.accounts.AccountAPI]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+account_type: type[AccountAPI]
+

The type of account in this container. +See AccountAPI.

+
+ +
+
+abstract property accounts: Iterator[AccountAPI]
+

All accounts.

+
+
Returns:
+

Iterator[AccountAPI]

+
+
+
+ +
+
+abstract property aliases: Iterator[str]
+

All available aliases.

+
+
Returns:
+

Iterator[str]

+
+
+
+ +
+
+append(account: AccountAPI)
+

Add an account to the container.

+
+
Raises:
+

AccountsError – When the account is already in the container.

+
+
Parameters:
+

account (AccountAPI) – The account to add.

+
+
+
+ +
+
+property data_folder: Path
+

The path to the account data files. +Defaults to $HOME/.ape/<plugin_name> unless overridden.

+
+ +
+
+name: str
+

The name of the account container. +For example, the ape-ledger plugin +uses "ledger" as its name.

+
+ +
+
+remove(account: AccountAPI)
+

Delete an account.

+
+
Raises:
+

AccountsError – When the account is not known to ape.

+
+
Parameters:
+

account (AccountAPI) – The account to remove.

+
+
+
+ +
+ +
+
+class ape.api.accounts.ImpersonatedAccount(*, raw_address: Annotated[ChecksumAddress, _AddressValidator])
+

Bases: AccountAPI

+

An account to use that does not require signing.

+
+
+__signature__: ClassVar[Signature] = <Signature (*, raw_address: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+property address: Annotated[ChecksumAddress, _AddressValidator]
+

The address of this account. Subclasses must override and provide this value.

+
+ +
+
+call(txn: TransactionAPI, send_everything: bool = False, private: bool = False, **kwargs) ReceiptAPI
+

Make a transaction call.

+
+
Raises:
+
    +
  • AccountsError – When the nonce is invalid or the sender does + not have enough funds.

  • +
  • TransactionError – When the required confirmations are negative.

  • +
  • SignatureError – When the user does not sign the transaction.

  • +
  • APINotImplementedError – When setting private=True and using + a provider that does not support private transactions.

  • +
+
+
Parameters:
+
    +
  • txn (TransactionAPI) – An invoke-transaction.

  • +
  • send_everything (bool) – True will send the difference from balance and fee. +Defaults to False.

  • +
  • private (bool) – True will use the +send_private_transaction() method.

  • +
  • **signer_options – Additional kwargs given to the signer to modify the signing operation.

  • +
+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+raw_address: Annotated[ChecksumAddress, _AddressValidator]
+

The field-address of the account.

+
+ +
+
+sign_message(msg: Any, **signer_options) MessageSignature | None
+

Sign a message.

+
+
Parameters:
+
    +
  • msg (Any) – The message to sign. Account plugins can handle various types of messages. +For example, KeyfileAccount can handle +SignableMessage, str, int, and bytes. +See these +docs # noqa: E501 +for more type information on the SignableMessage type.

  • +
  • **signer_options – Additional kwargs given to the signer to modify the signing operation.

  • +
+
+
Returns:
+

The signature corresponding to the message.

+
+
Return type:
+

MessageSignature (optional)

+
+
+
+ +
+
+sign_transaction(txn: TransactionAPI, **signer_options) TransactionAPI | None
+

Sign a transaction.

+
+
Parameters:
+
    +
  • txn (TransactionAPI) – The transaction to sign.

  • +
  • **signer_options – Additional kwargs given to the signer to modify the signing operation.

  • +
+
+
Returns:
+

+
A signed transaction.

The TransactionAPI returned by this method may not correspond to txn given as +input, however returning a properly-formatted transaction here is meant to be executed. +Returns None if the account does not have a transaction it wishes to execute.

+
+
+

+
+
Return type:
+

TransactionAPI (optional)

+
+
+
+ +
+ +
+
+class ape.api.accounts.TestAccountAPI
+

Bases: AccountAPI

+

Test accounts for ape test (such accounts that use +GeneratedDevAccounts) should implement this API +instead of AccountAPI directly. Then, they show up in the accounts test fixture.

+
+
+__signature__: ClassVar[Signature] = <Signature () -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.accounts.TestAccountContainerAPI(*, name: str, account_type: type[AccountAPI])
+

Bases: AccountContainerAPI

+

Test account containers for ape test (such containers that generate accounts using +GeneratedDevAccounts) should implement this API instead of +AccountContainerAPI directly. Then, they show up in the accounts test fixture.

+
+
+__signature__: ClassVar[Signature] = <Signature (*, name: str, account_type: type[ape.api.accounts.AccountAPI]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+property data_folder: Path
+

Test account containers do not touch +persistent data. By default and unless overridden, +this property returns the path to /dev/null and +it is not used for anything.

+
+
Type:
+

NOTE

+
+
+
+ +
+
+abstract generate_account(index: int | None = None) TestAccountAPI
+

Generate a new test account.

+
+ +
+
+get_test_account(**kwargs)
+

Get the test account at the given index.

+
+
Parameters:
+

index (int) – The index of the test account.

+
+
Returns:
+

TestAccountAPI

+
+
+
+ +
+
+reset()
+

Reset the account container to an original state.

+
+ +
+ +
+
+

Address

+
+
+class ape.api.address.Address(address: Annotated[ChecksumAddress, _AddressValidator])
+

Bases: BaseAddress

+

A generic blockchain address.

+

Typically, this is used when we do not know the contract type at a given address, +or to refer to an EOA the user doesn’t personally control.

+
+
+property address: Annotated[ChecksumAddress, _AddressValidator]
+

The raw address type.

+
+
Returns:
+

An alias to +ChecksumAddress. # noqa: E501

+
+
Return type:
+

AddressType

+
+
+
+ +
+ +
+
+class ape.api.address.BaseAddress
+

Bases: BaseInterface

+

A base address API class. All account-types subclass this type.

+
+
+abstract property address: Annotated[ChecksumAddress, _AddressValidator]
+

The address of this account. Subclasses must override and provide this value.

+
+ +
+
+property balance: int
+

The total balance of the account.

+
+ +
+
+property code: ContractCode
+

The raw bytes of the smart-contract code at the address.

+
+ +
+
+property codesize: int
+

The number of bytes in the smart contract.

+
+ +
+
+property history: AccountHistory
+

The list of transactions that this account has made on the current chain.

+
+ +
+
+property is_contract: bool
+

True when there is code associated with the address.

+
+ +
+
+property nonce: int
+

The number of transactions associated with the address.

+
+ +
+ +
+
+

Compiler

+
+
+class ape.api.compiler.CompilerAPI(*, compiler_settings: dict = {})
+

Bases: BaseInterfaceModel

+

Compiler plugins, such as for languages like +Solidity or +Vyper, implement this API.

+

See the repository for the ape-solidity plugin or +the ape-vyper plugin as example implementations of +this API.

+
+
+abstract compile(contract_filepaths: Iterable[Path], project: ProjectManager | None, settings: dict | None = None) Iterator[ContractType]
+

Compile the given source files. All compiler plugins must implement this function.

+
+
Parameters:
+
    +
  • contract_filepaths (Iterable[pathlib.Path]) – A list of source file paths to compile.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

  • +
  • settings (Optional[dict]) – Adhoc compiler settings.

  • +
+
+
Returns:
+

list[ContractType]

+
+
+
+ +
+
+compile_code(**kwargs)
+

Compile a program.

+
+
Parameters:
+
    +
  • code (str) – The code to compile.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

  • +
  • settings (Optional[Dict]) – Adhoc compiler settings.

  • +
  • **kwargs – Additional overrides for the ethpm_types.ContractType model.

  • +
+
+
Returns:
+

A compiled contract artifact.

+
+
Return type:
+

ContractType

+
+
+
+ +
+
+compiler_settings: dict
+

Adhoc compiler settings.

+
+ +
+
+enrich_error(err: ContractLogicError) ContractLogicError
+

Enrich a contract logic error using compiler information, such as +known PC locations for compiler runtime errors.

+
+
Parameters:
+

err (ContractLogicError) – The exception +to enrich.

+
+
Returns:
+

The enriched exception.

+
+
Return type:
+

ContractLogicError

+
+
+
+ +
+
+flatten_contract(**kwargs)
+

Get the content of a flattened contract via its source path. +Plugin implementations handle import resolution, SPDX de-duplication, +and anything else needed.

+
+
Parameters:
+
    +
  • path (pathlib.Path) – The source path of the contract.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

  • +
  • **kwargs (Any) – Additional compiler-specific settings. See specific +compiler plugins when applicable.

  • +
+
+
Returns:
+

The flattened contract content.

+
+
Return type:
+

ethpm_types.source.Content

+
+
+
+ +
+
+get_compiler_settings(**kwargs)
+

Get a mapping of the settings that would be used to compile each of the sources +by the compiler version number.

+
+
Parameters:
+
    +
  • contract_filepaths (Iterable[pathlib.Path]) – The list of paths.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

  • +
  • **overrides – Settings overrides.

  • +
+
+
Returns:
+

A dict of compiler settings by compiler version.

+
+
Return type:
+

dict[Version, dict]

+
+
+
+ +
+
+get_config(project: ProjectManager | None = None) PluginConfig
+

The combination of settings from ape-config.yaml and .compiler_settings.

+
+
Parameters:
+

project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

+
+
Returns:
+

PluginConfig

+
+
+
+ +
+
+get_imports(**kwargs)
+

Returns a list of imports as source_ids for each contract’s source_id in a given +compiler.

+
+
Parameters:
+
    +
  • contract_filepaths (Iterable[pathlib.Path]) – A list of source file paths to compile.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

  • +
+
+
Returns:
+

A dictionary like {source_id: [import_source_id, ...], ...}

+
+
Return type:
+

dict[str, list[str]]

+
+
+
+ +
+
+get_version_map(**kwargs)
+

Get a map of versions to source paths.

+
+
Parameters:
+
    +
  • contract_filepaths (Iterable[Path]) – Input source paths. Defaults to all source paths +per compiler.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project containing the base paths and full source set. Defaults to the local +project. Dependencies will change this value to their respective projects.

  • +
+
+
Returns:
+

dict[Version, set[Path]]

+
+
+
+ +
+
+get_versions(**kwargs)
+

Retrieve the set of available compiler versions for this plugin to compile all_paths.

+
+
Parameters:
+

all_paths (Iterable[pathlib.Path]) – The list of paths.

+
+
Returns:
+

A set of available compiler versions.

+
+
Return type:
+

set[str]

+
+
+
+ +
+
+init_coverage_profile(**kwargs)
+

Initialize an empty report for the given source ID. Modifies the given source +coverage in-place.

+
+
Parameters:
+
    +
  • source_coverage (SourceCoverage) – The source +to generate an empty coverage profile for.

  • +
  • contract_source (ethpm_types.source.ContractSource) – The contract with +source content.

  • +
+
+
+
+ +
+
+abstract property name: str
+

The name of the compiler.

+
+ +
+
+property supports_source_tracing: bool
+

Returns True if this compiler is able to provider a source +traceback for a given trace.

+
+ +
+
+trace_source(**kwargs)
+

Get a source-traceback for the given contract type. +The source traceback object contains all the control paths taken in the transaction. +When available, source-code location information is accessible from the object.

+
+
Parameters:
+
    +
  • contract_source (ContractSource) – A contract type with a local-source that was +compiled by this compiler.

  • +
  • trace (TraceAPI]) – The resulting trace from executing a +function defined in the given contract type.

  • +
  • calldata (HexBytes) – Calldata passed to the top-level call.

  • +
+
+
Returns:
+

SourceTraceback

+
+
+
+ +
+ +
+
+

Config

+
+
+class ape.api.config.ApeConfig(*args, contracts_folder: str | None = None, default_ecosystem: str = 'ethereum', dependencies: list[dict] = [], deployments: dict[str, dict[str, list[DeploymentConfig]]] = None, interfaces_folder: str = 'interfaces', meta: PackageMeta = PackageMeta(authors=None, license=None, description=None, keywords=None, links=None), name: str = '', base_path: str | None = None, request_headers: dict = {}, version: str = '', **kwargs)
+

Bases: ExtraAttributesMixin, BaseSettings, ManagerAccessMixin

+

The top-level config.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*args, contracts_folder: Optional[str] = None, default_ecosystem: str = 'ethereum', dependencies: list[dict] = [], deployments: dict[str, dict[str, list[ape.api.config.DeploymentConfig]]] = None, interfaces_folder: str = 'interfaces', meta: ethpm_types.manifest.PackageMeta = PackageMeta(authors=None, license=None, description=None, keywords=None, links=None), name: str = '', base_path: Optional[str] = None, request_headers: dict = {}, version: str = '', **kwargs) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+__str__() str
+

Return str(self).

+
+ +
+
+base_path: str | None
+

Use this when the project’s base-path is not the +root of the project.

+
+ +
+
+contracts_folder: str | None
+

The path to the folder containing the contract source files. +NOTE: Non-absolute paths are relative to the project-root. +If not set, defaults to deducing the contracts folder. +When deducing, Ape first tries "contracts", but if +that folder does not exist, Ape tries to find a folder with +contracts.

+
+ +
+
+default_ecosystem: str
+

The default ecosystem to use in Ape.

+
+ +
+
+dependencies: list[dict]
+

Project dependency declarations. +Note: The actual dependency classes are decoded later.

+
+ +
+
+deployment_data: dict[str, dict[str, list[DeploymentConfig]]]
+

Data for deployed contracts from the project.

+
+ +
+
+interfaces_folder: str
+

The path to the project’s interfaces.

+
+ +
+
+meta: PackageMeta
+

Metadata about the active project as per EIP +https://eips.ethereum.org/EIPS/eip-2678#the-package-meta-object

+
+ +
+
+model_dump(*args, **kwargs)
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+
+name: str
+

The name of the project.

+
+ +
+
+request_headers: dict
+

Extra request headers for all HTTP requests.

+
+ +
+
+classmethod validate_file(path: Path, **overrides) ApeConfig
+

Create an ApeConfig class using the given path. +Supports both pyproject.toml and ape-config.[.yml|.yaml|.json] files.

+
+
Raises:
+

ConfigError – When given an unknown file type + or the data is invalid.

+
+
Parameters:
+
    +
  • path (Path) – The path to the file.

  • +
  • **overrides – Config overrides.

  • +
+
+
Returns:
+

ApeConfig

+
+
+
+ +
+
+version: str
+

The version of the project.

+
+ +
+
+write_to_disk(destination: Path, replace: bool = False)
+

Write this config to a file.

+
+
Parameters:
+
    +
  • destination (Path) – The path to write to.

  • +
  • replace (bool) – Set to True to overwrite the file if it exists.

  • +
+
+
+
+ +
+ +
+
+class ape.api.config.ConfigEnum(value)
+

Bases: str, Enum

+

A configuration Enum type. +Use this to limit the values of a config item, such as colors "RED", "BLUE", +"GREEN", rather than any arbitrary str.

+

Usage example:

+
class MyEnum(ConfigEnum):
+    FOO = "FOO"
+    BAR = "BAR"
+
+class MyConfig(PluginConfig):
+    my_enum: MyEnum
+
+model = MyConfig(my_enum="FOO")
+
+
+
+
+__repr__()
+

Return repr(self).

+
+ +
+
+__str__()
+

Return str(self).

+
+ +
+ +
+
+class ape.api.config.DeploymentConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, *, address: Annotated[ChecksumAddress, _AddressValidator], contract_type: str, **values: Any)
+

Bases: PluginConfig

+

Add ‘deployments’ to your config.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (_case_sensitive: 'bool | None' = None, _nested_model_default_partial_update: 'bool | None' = None, _env_prefix: 'str | None' = None, _env_file: 'DotenvType | None' = PosixPath('.'), _env_file_encoding: 'str | None' = None, _env_ignore_empty: 'bool | None' = None, _env_nested_delimiter: 'str | None' = None, _env_parse_none_str: 'str | None' = None, _env_parse_enums: 'bool | None' = None, _cli_prog_name: 'str | None' = None, _cli_parse_args: 'bool | list[str] | tuple[str, ...] | None' = None, _cli_settings_source: 'CliSettingsSource[Any] | None' = None, _cli_parse_none_str: 'str | None' = None, _cli_hide_none_type: 'bool | None' = None, _cli_avoid_json: 'bool | None' = None, _cli_enforce_required: 'bool | None' = None, _cli_use_class_docs_for_groups: 'bool | None' = None, _cli_exit_on_error: 'bool | None' = None, _cli_prefix: 'str | None' = None, _cli_flag_prefix_char: 'str | None' = None, _cli_implicit_flags: 'bool | None' = None, _cli_ignore_unknown_args: 'bool | None' = None, _secrets_dir: 'PathType | None' = None, *, address: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>], contract_type: str, **values: Any) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+address: Annotated[ChecksumAddress, _AddressValidator]
+

The address of the deployment.

+
+ +
+
+contract_type: str
+

The contract type name reference +(must be a contract in the project).

+
+ +
+ +
+
+class ape.api.config.GenericConfig
+

Bases: ConfigDict

+

The default class used when no specialized class is used.

+
+ +
+
+class ape.api.config.PluginConfig(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = PosixPath('.'), _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | None = None, _cli_ignore_unknown_args: bool | None = None, _secrets_dir: PathType | None = None, **values: Any)
+

Bases: BaseSettings

+

A base plugin configuration class. Each plugin that includes +a config API must register a subclass of this class.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (_case_sensitive: 'bool | None' = None, _nested_model_default_partial_update: 'bool | None' = None, _env_prefix: 'str | None' = None, _env_file: 'DotenvType | None' = PosixPath('.'), _env_file_encoding: 'str | None' = None, _env_ignore_empty: 'bool | None' = None, _env_nested_delimiter: 'str | None' = None, _env_parse_none_str: 'str | None' = None, _env_parse_enums: 'bool | None' = None, _cli_prog_name: 'str | None' = None, _cli_parse_args: 'bool | list[str] | tuple[str, ...] | None' = None, _cli_settings_source: 'CliSettingsSource[Any] | None' = None, _cli_parse_none_str: 'str | None' = None, _cli_hide_none_type: 'bool | None' = None, _cli_avoid_json: 'bool | None' = None, _cli_enforce_required: 'bool | None' = None, _cli_use_class_docs_for_groups: 'bool | None' = None, _cli_exit_on_error: 'bool | None' = None, _cli_prefix: 'str | None' = None, _cli_flag_prefix_char: 'str | None' = None, _cli_implicit_flags: 'bool | None' = None, _cli_ignore_unknown_args: 'bool | None' = None, _secrets_dir: 'PathType | None' = None, **values: Any) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+__str__() str
+

Return str(self).

+
+ +
+ +
+
+

Convert

+
+
+class ape.api.convert.ConverterAPI
+

Bases: BaseInterfaceModel, Generic[ConvertedType]

+
+
+__signature__: ClassVar[Signature] = <Signature () -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+abstract convert(value: Any) ConvertedType
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+abstract is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+

Explorers

+
+
+class ape.api.explorers.ExplorerAPI(*, name: str, network: NetworkAPI)
+

Bases: BaseInterfaceModel

+

An API class representing a blockchain explorer for a particular network +in a particular ecosystem.

+
+
+abstract get_address_url(address: AddressType) str
+

Get an address URL, such as for a transaction.

+
+
Parameters:
+

address (AddressType) – The address.

+
+
Returns:
+

The URL.

+
+
Return type:
+

str

+
+
+
+ +
+
+abstract get_contract_type(address: AddressType) ContractType | None
+

Get the contract type for a given address if it has been published to this explorer.

+
+
Parameters:
+

address (AddressType) – The contract address.

+
+
Returns:
+

If not published, returns None.

+
+
Return type:
+

Optional[ContractType]

+
+
+
+ +
+
+abstract get_transaction_url(transaction_hash: str) str
+

Get the transaction URL for the given transaction.

+
+
Parameters:
+

transaction_hash (str) – The transaction hash.

+
+
Returns:
+

The URL.

+
+
Return type:
+

str

+
+
+
+ +
+
+abstract publish_contract(address: AddressType)
+

Publish a contract to the explorer.

+
+
Parameters:
+

address (AddressType) – The address of the deployed contract.

+
+
+
+ +
+
+classmethod supports_chain(chain_id: int) bool
+

Returns True when the given chain ID is claimed to be +supported by this explorer. Adhoc / custom networks rely on +this feature to have automatic-explorer support. Explorer +plugins should override this.

+
+
Parameters:
+

chain_id (int) – The chain ID to check.

+
+
Returns:
+

bool

+
+
+
+ +
+ +
+
+

Networks

+
+
+class ape.api.networks.EcosystemAPI(*, name: str, request_header: dict = {}, fee_token_symbol: str, fee_token_decimals: int = 18)
+

Bases: ExtraAttributesMixin, BaseInterfaceModel

+

A set of related networks, such as Ethereum.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, name: str, request_header: dict = {}, fee_token_symbol: str, fee_token_decimals: int = 18) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+add_network(network_name: str, network: NetworkAPI)
+

Attach a new network to an ecosystem (e.g. L2 networks like Optimism).

+
+
Raises:
+

NetworkError – When the network already exists.

+
+
Parameters:
+
    +
  • network_name (str) – The name of the network to add.

  • +
  • network (NetworkAPI) – The network to add.

  • +
+
+
+
+ +
+
+property config: PluginConfig
+

The configuration of the ecosystem. See ape.managers.config.ConfigManager +for more information on plugin configurations.

+
+
Returns:
+

ape.api.config.PluginConfig

+
+
+
+ +
+
+abstract create_transaction(**kwargs) TransactionAPI
+

Create a transaction using key-value arguments.

+
+
Parameters:
+

**kwargs – Everything the transaction needs initialize.

+
+
Returns:
+

~ape.api.transactions.TransactionAPI

+
+
Return type:
+

class

+
+
+
+ +
+
+property custom_network: NetworkAPI
+

A NetworkAPI for custom networks where the +network is either not known, unspecified, or does not have an Ape plugin.

+
+ +
+
+property data_folder: Path
+

The path to the ecosystem’s data folder, +e.g. $HOME/.ape/{self.name} unless overridden.

+
+ +
+
+abstract classmethod decode_address(raw_address: RawAddress) Annotated[ChecksumAddress, _AddressValidator]
+

Convert a raw address to the ecosystem’s native address type.

+
+
Parameters:
+

raw_address (RawAddress) – The address to +convert.

+
+
Returns:
+

AddressType

+
+
+
+ +
+
+abstract decode_block(data: dict) BlockAPI
+

Decode data to a BlockAPI.

+
+
Parameters:
+

data (Dict) – A dictionary of data to decode.

+
+
Returns:
+

BlockAPI

+
+
+
+ +
+
+abstract decode_calldata(abi: ConstructorABI | MethodABI, calldata: bytes) dict
+

Decode method calldata.

+
+
Parameters:
+
    +
  • abi (Union[ConstructorABI, MethodABI]) – The method called.

  • +
  • calldata (bytes) – The raw calldata bytes.

  • +
+
+
Returns:
+

A mapping of input names to decoded values. +If an input is anonymous, it should use the stringified +index of the input as the key.

+
+
Return type:
+

Dict

+
+
+
+ +
+
+decode_custom_error(**kwargs)
+

Decode a custom error class from an ABI defined in a contract.

+
+
Parameters:
+
    +
  • data (HexBytes) – The error data containing the selector +and input data.

  • +
  • address (AddressType) – The address of the contract containing +the error.

  • +
  • **kwargs – Additional init kwargs for the custom error class.

  • +
+
+
Returns:
+

If it able to decode one, else None.

+
+
Return type:
+

Optional[CustomError]

+
+
+
+ +
+
+abstract decode_logs(logs: Sequence[dict], *events: EventABI) Iterator[ContractLog]
+

Decode any contract logs that match the given event ABI from the raw log data.

+
+
Parameters:
+
    +
  • logs (Sequence[dict]) – A list of raw log data from the chain.

  • +
  • *events (EventABI) – Event definitions to decode.

  • +
+
+
Returns:
+

Iterator[ContractLog]

+
+
+
+ +
+
+decode_primitive_value(**kwargs)
+

Decode a primitive value-type given its ABI type as a str +and the value itself. This method is a hook for converting +addresses, HexBytes, or other primitive data-types into +friendlier Python equivalents.

+
+
Parameters:
+
    +
  • value (Any) – The value to decode.

  • +
  • output_type (Union[str, tuple, list]) – The value type.

  • +
+
+
Returns:
+

Union[str, HexBytes, tuple]

+
+
+
+ +
+
+abstract decode_receipt(data: dict) ReceiptAPI
+

Convert data to ReceiptAPI.

+
+
Parameters:
+

data (Dict) – A dictionary of Receipt properties.

+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+abstract decode_returndata(abi: MethodABI, raw_data: bytes) Any
+

Get the result of a contract call.

+
+
Arg:

abi (MethodABI): The method called. +raw_data (bytes): Raw returned data.

+
+
+
+
Returns:
+

All of the values returned from the contract function.

+
+
Return type:
+

Any

+
+
+
+ +
+
+property default_network_name: str
+

The name of the default network in this ecosystem.

+
+
Returns:
+

str

+
+
+
+ +
+
+abstract classmethod encode_address(address: Annotated[ChecksumAddress, _AddressValidator]) RawAddress
+

Convert the ecosystem’s native address type to a raw integer or str address.

+
+
Parameters:
+

address (AddressType) – The address to convert.

+
+
Returns:
+

RawAddress

+
+
+
+ +
+
+abstract encode_calldata(abi: ConstructorABI | MethodABI, *args: Any) HexBytes
+

Encode method calldata.

+
+
Parameters:
+
    +
  • abi (Union[ConstructorABI, MethodABI]) – The ABI of the method called.

  • +
  • *args (Any) – The arguments given to the method.

  • +
+
+
Returns:
+

The encoded calldata of the arguments to the given method.

+
+
Return type:
+

HexBytes

+
+
+
+ +
+
+encode_contract_blueprint(**kwargs)
+

Encode a unique type of transaction that allows contracts to be created +from other contracts, such as +EIP-5202 +or Starknet’s Declare transaction type.

+
+
Parameters:
+
    +
  • contract_type (ContractType) – The type of contract to create a blueprint for. +This is the type of contract that will get created by factory contracts.

  • +
  • *args (Any) – Calldata, if applicable.

  • +
  • **kwargs (Any) – Transaction specifications, such as value.

  • +
+
+
Returns:
+

TransactionAPI

+
+
+
+ +
+
+abstract encode_deployment(deployment_bytecode: HexBytes, abi: ConstructorABI, *args, **kwargs) TransactionAPI
+

Create a deployment transaction in the given ecosystem. +This may require connecting to other networks.

+
+
Parameters:
+
    +
  • deployment_bytecode (HexBytes) – The bytecode to deploy.

  • +
  • abi (ConstructorABI) – The constructor interface of the contract.

  • +
  • *args (Any) – Constructor arguments.

  • +
  • **kwargs (Any) – Transaction arguments.

  • +
+
+
Returns:
+

~ape.api.transactions.TransactionAPI

+
+
Return type:
+

class

+
+
+
+ +
+
+abstract encode_transaction(address: Annotated[ChecksumAddress, _AddressValidator], abi: MethodABI, *args, **kwargs) TransactionAPI
+

Encode a transaction object from a contract function’s ABI and call arguments. +Additionally, update the transaction arguments with the overrides in kwargs.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the contract.

  • +
  • abi (MethodABI) – The function to call on the contract.

  • +
  • *args (Any) – Function arguments.

  • +
  • **kwargs (Any) – Transaction arguments.

  • +
+
+
Returns:
+

~ape.api.transactions.TransactionAPI

+
+
Return type:
+

class

+
+
+
+ +
+
+enrich_trace(trace: TraceAPI, **kwargs) TraceAPI
+

Enhance the data in the call tree using information about the ecosystem.

+
+
Parameters:
+
    +
  • trace (TraceAPI) – The trace to enrich.

  • +
  • **kwargs – Additional kwargs to control enrichment, defined at the +plugin level.

  • +
+
+
Returns:
+

TraceAPI

+
+
+
+ +
+
+fee_token_decimals: int
+

The number of the decimals the fee token has.

+
+ +
+
+fee_token_symbol: str
+

The token symbol for the currency that pays for fees, such as ETH.

+
+ +
+
+get_method_selector(abi: MethodABI) HexBytes
+

Get a contract method selector, typically via hashing such as keccak. +Defaults to using keccak but can be overridden in different ecosystems.

+

Override example:

+
from ape.api import EcosystemAPI
+from eth_pydantic_types import HexBytes
+
+class MyEcosystem(EcosystemAPI):
+    def get_method_selector(self, abi: MethodABI) -> HexBytes:
+        return HexBytes(abi.selector.encode())  # Simple bytes selector
+
+
+
+
Parameters:
+

abi (MethodABI) – The ABI object to use when calculating the +selector bytes.

+
+
Returns:
+

The hashed method selector value.

+
+
Return type:
+

HexBytes

+
+
+
+ +
+
+get_network(network_name: str) NetworkAPI
+

Get the network for the given name.

+
+
Parameters:
+

network_name (str) – The name of the network to get.

+
+
Raises:
+

NetworkNotFoundError – When the network is not present.

+
+
Returns:
+

NetworkAPI

+
+
+
+ +
+
+get_network_data(network_name: str, provider_filter: Collection[str] | None = None) dict
+

Get a dictionary of data about providers in the network.

+

NOTE: The keys are added in an opinionated order for nicely +translating into yaml.

+
+
Parameters:
+
    +
  • network_name (str) – The name of the network to get provider data from.

  • +
  • provider_filter (Optional[Collection[str]]) – Optionally filter the providers +by name.

  • +
+
+
Returns:
+

A dictionary containing the providers in a network.

+
+
Return type:
+

dict

+
+
+
+ +
+
+get_proxy_info(address: Annotated[ChecksumAddress, _AddressValidator]) ProxyInfoAPI | None
+

Information about a proxy contract such as proxy type and implementation address.

+
+
Parameters:
+

address (AddressType) – The address of the contract.

+
+
Returns:
+

Returns None if the contract +does not use any known proxy pattern.

+
+
Return type:
+

Optional[ProxyInfoAPI]

+
+
+
+ +
+
+get_python_types(**kwargs)
+

Get the Python types for a given ABI type.

+
+
Parameters:
+

abi_type (ABIType) – The ABI type to get the Python types for.

+
+
Returns:
+

The Python types for the given ABI type.

+
+
Return type:
+

Union[Type, Sequence]

+
+
+
+ +
+
+name: str
+

The name of the ecosystem. This should be set the same name as the plugin.

+
+ +
+
+property networks: dict[str, NetworkAPI]
+

A dictionary of network names mapped to their API implementation.

+
+
Returns:
+

dict[str, NetworkAPI]

+
+
+
+ +
+
+request_header: dict
+

A shareable HTTP header for network requests.

+
+ +
+
+serialize_transaction() bytes
+

Serialize a transaction to bytes.

+
+
Returns:
+

bytes

+
+
+
+ +
+
+set_default_network(network_name: str)
+

Change the default network.

+
+
Raises:
+

NetworkError – When the network does not exist.

+
+
Parameters:
+

network_name (str) – The name of the default network to switch to.

+
+
+
+ +
+ +
+
+class ape.api.networks.ForkedNetworkAPI(*, name: str, ecosystem: EcosystemAPI, request_header: dict = {})
+

Bases: NetworkAPI

+
+
+__signature__: ClassVar[Signature] = <Signature (*, name: str, ecosystem: ape.api.networks.EcosystemAPI, request_header: dict = {}) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+property upstream_chain_id: int
+

The chain Id of the upstream network. +For example, when on mainnet-fork, this should always +return the chain ID for mainnet. Some providers may use +a different chain ID for forked networks while some do not. +This property should ALWAYS be that of the forked network, regardless.

+
+ +
+
+property upstream_network: NetworkAPI
+

The network being forked.

+
+ +
+
+property upstream_provider: UpstreamProvider
+

The provider used when requesting data before the local fork. +Set this in your config under the network settings. +When not set, will attempt to use the default provider, if one +exists.

+
+ +
+
+use_upstream_provider() ProviderContextManager
+

Connect to the upstream provider.

+
+
Returns:
+

ProviderContextManager

+
+
+
+ +
+ +
+
+class ape.api.networks.NetworkAPI(*, name: str, ecosystem: EcosystemAPI, request_header: dict = {})
+

Bases: BaseInterfaceModel

+

A wrapper around a provider for a specific ecosystem.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, name: str, ecosystem: ape.api.networks.EcosystemAPI, request_header: dict = {}) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+property auto_gas_multiplier: float
+

The value to multiply estimated gas by for tx-insurance.

+
+ +
+
+property base_fee_multiplier: float
+

A multiplier to apply to a transaction base fee.

+
+ +
+
+property block_time: int
+

The approximate amount of time it takes for a new block to get mined to the chain. +Configure in your ape-config.yaml file.

+

Config example:

+
ethereum:
+  mainnet:
+    block_time: 15
+
+
+
+ +
+
+property chain_id: int
+

The ID of the blockchain.

+

NOTE: Unless overridden, returns same as +ape.api.providers.ProviderAPI.chain_id.

+
+ +
+
+property data_folder: Path
+

The path to the network’s data folder, +e.g. $HOME/.ape/{self.ecosystem_name}/{self.name} unless +overridden.

+
+ +
+
+property default_provider_name: str | None
+

The name of the default provider or None.

+
+
Returns:
+

Optional[str]

+
+
+
+ +
+
+ecosystem: EcosystemAPI
+

The ecosystem of the network.

+
+ +
+
+property ecosystem_config: PluginConfig
+

The configuration of the network. See ConfigManager +for more information on plugin configurations.

+
+ +
+
+property explorer: ExplorerAPI | None
+

The block-explorer for the given network.

+
+
Returns:
+

ape.api.explorers.ExplorerAPI, optional

+
+
+
+ +
+
+get_provider(provider_name: str | None = None, provider_settings: dict | None = None)
+

Get a provider for the given name. If given None, returns the default provider.

+
+
Parameters:
+
    +
  • provider_name (str, optional) – The name of the provider to get. Defaults to None. +When None, returns the default provider.

  • +
  • provider_settings (dict, optional) – Settings to apply to the provider. Defaults to +None.

  • +
+
+
Returns:
+

ProviderAPI

+
+
+
+ +
+
+property is_adhoc: bool
+

Is a custom network from CLI only, e.g. was not configured +in any CLI value and is mostly an “unknown” network.

+
+ +
+
+property is_dev: bool
+

True when using a local network, including forks.

+
+ +
+
+property is_fork: bool
+

True when using a forked network.

+
+ +
+
+property is_local: bool
+

True when using the local network.

+
+ +
+
+property is_mainnet: bool
+

True when the network is the mainnet network for the ecosystem.

+
+ +
+
+name: str
+

The name of the network.

+
+ +
+
+property network_id: int
+

The ID of the network.

+

NOTE: Unless overridden, returns same as +chain_id.

+
+ +
+
+property providers
+

The providers of the network, such as Infura, Alchemy, or Node.

+
+
Returns:
+

dict[str, partial[ProviderAPI]]

+
+
+
+ +
+
+publish_contract(address: Annotated[ChecksumAddress, _AddressValidator])
+

A convenience method to publish a contract to the explorer.

+
+
Raises:
+

NetworkError – When there is no explorer for this network.

+
+
Parameters:
+

address (AddressType) – The address of the contract.

+
+
+
+ +
+
+request_header: dict
+

A shareable network HTTP header.

+
+ +
+
+property required_confirmations: int
+

The default amount of confirmations recommended to wait +before considering a transaction “confirmed”. Confirmations +refer to the number of blocks that have been added since the +transaction’s block.

+
+ +
+
+set_default_provider(provider_name: str)
+

Change the default provider.

+
+
Raises:
+

NetworkError – When the given provider is not found.

+
+
Parameters:
+

provider_name (str) – The name of the provider to switch to.

+
+
+
+ +
+
+property transaction_acceptance_timeout: int
+

The amount of time to wait for a transaction to be accepted on the network. +Does not include waiting for block-confirmations. Defaults to two minutes. +Local networks use smaller timeouts.

+
+ +
+
+use_default_provider(provider_settings: dict | None = None, disconnect_after: bool = False) ProviderContextManager
+

Temporarily connect and use the default provider. When entering the context, it calls +method ape.api.providers.ProviderAPI.connect() and when exiting, it calls +method ape.api.providers.ProviderAPI.disconnect().

+

NOTE: If multiple providers exist, uses whatever was “first” registered.

+

Usage example:

+
from ape import networks
+mainnet = networks.ethereum.mainnet  # An instance of NetworkAPI
+with mainnet.use_default_provider():
+    ...
+
+
+
+
Parameters:
+
    +
  • provider_settings (dict, optional) – Settings to override the provider.

  • +
  • disconnect_after (bool) – Set to True to force a disconnect after ending +the context. This defaults to False so you can re-connect to the +same network, such as in a multi-chain testing scenario.

  • +
+
+
Returns:
+

ProviderContextManager

+
+
+
+ +
+
+use_provider(provider: str | ProviderAPI, provider_settings: dict | None = None, disconnect_after: bool = False, disconnect_on_exit: bool = True) ProviderContextManager
+

Use and connect to a provider in a temporary context. When entering the context, it calls +method ape.api.providers.ProviderAPI.connect() and when exiting, it calls +method ape.api.providers.ProviderAPI.disconnect().

+

Usage example:

+
from ape import networks
+
+mainnet = networks.ethereum.mainnet  # An instance of NetworkAPI
+with mainnet.use_provider("infura"):
+    ...
+
+
+
+
Parameters:
+
    +
  • provider (Union[str, ProviderAPI]) – The provider +instance or the name of the provider to use.

  • +
  • provider_settings (dict, optional) – Settings to apply to the provider. +Defaults to None.

  • +
  • disconnect_after (bool) – Set to True to force a disconnect after ending +the context. This defaults to False so you can re-connect to the +same network, such as in a multi-chain testing scenario.

  • +
  • disconnect_on_exit (bool) – Whether to disconnect on the exit of the python +session. Defaults to True.

  • +
+
+
Returns:
+

ProviderContextManager

+
+
+
+ +
+
+verify_chain_id(chain_id: int)
+

Verify a chain ID for this network.

+
+
Parameters:
+

chain_id (int) – The chain ID to verify.

+
+
Raises:
+

NetworkMismatchError – When the network is + not local or adhoc and has a different hardcoded chain ID than + the given one.

+
+
+
+ +
+ +
+
+class ape.api.networks.ProviderContextManager(provider: ProviderAPI, disconnect_after: bool = False, disconnect_on_exit: bool = True)
+

Bases: ManagerAccessMixin

+

A context manager for temporarily connecting to a network. +When entering the context, calls the ape.api.providers.ProviderAPI.connect() method. +And conversely, when exiting, calls the ape.api.providers.ProviderPAI.disconnect() +method, unless in a multi-chain context, in which case it disconnects all providers at +the very end of the Python session.

+

The method ape.api.networks.NetworkAPI.use_provider() returns +an instance of this context manager.

+

Usage example:

+
from ape import networks
+
+mainnet = networks.ethereum.mainnet  # An instance of NetworkAPI
+with mainnet.use_provider("infura"):
+    ...
+
+# Or, using choice-strings:
+
+with networks.parse_network_choice("ethereum:local:test"):
+    ...
+
+
+
+
+property empty: bool
+

True when there are no providers in the context.

+
+ +
+ +
+
+class ape.api.networks.ProxyInfoAPI(*, target: Annotated[ChecksumAddress, _AddressValidator])
+

Bases: BaseModel

+

Information about a proxy contract.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, target: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+target: Annotated[ChecksumAddress, _AddressValidator]
+

The address of the implementation contract.

+
+ +
+ +
+
+ape.api.networks.create_network_type(chain_id: int, network_id: int, is_fork: bool = False) type[NetworkAPI]
+

Easily create a NetworkAPI subclass.

+
+ +
+
+

Projects

+
+
+class ape.api.projects.ApeProject(*, path: Path, CONFIG_FILE_NAME: str = 'ape-config', EXTENSIONS: tuple[str, ...] = ('.yaml', '.yml', '.json'))
+

Bases: ProjectAPI

+

The default ProjectAPI implementation.

+
+
+extract_config(**overrides) ApeConfig
+

Extra configuration from the project so that +Ape understands the dependencies and how to compile everything.

+
+
Parameters:
+

**overrides – Config overrides.

+
+
Returns:
+

ApeConfig

+
+
+
+ +
+
+property is_valid: bool
+

Return True when detecting a project of this type.

+
+ +
+ +
+
+class ape.api.projects.DependencyAPI(*, name: str, config_override: dict = None)
+

Bases: BaseInterfaceModel

+

An API for obtaining sources.

+
+
+config_override: dict
+

Set different config than what Ape can deduce.

+
+ +
+
+abstract fetch(destination: Path)
+

Fetch the dependency. E.g. for GitHub dependency, +download the files to the destination.

+
+
Parameters:
+

destination (Path) – The destination for the dependency +files.

+
+
+
+ +
+
+name: str
+

The package-name of the dependency.

+
+ +
+
+abstract property package_id: str
+

The full name of the package, used for storage. +Example: OpenZeppelin/openzepplin-contracts.

+
+ +
+
+abstract property uri: str
+

The URI for the package.

+
+ +
+
+abstract property version_id: str
+

The ID to use as the sub-directory in the download cache. +Most often, this is either a version number or a branch name.

+
+ +
+ +
+
+class ape.api.projects.ProjectAPI(*, path: Path)
+

Bases: BaseInterfaceModel

+

An API for recognizing different project types, +such as brownie projects versus ape projects. +NOTE: This assumed the project sources are available and unpacked. +Use DependencyAPI to fetch different +projects. The main task of the project API is to generate +a configuration needed to compile in Ape.

+
+
+abstract extract_config(**overrides) ApeConfig
+

Extra configuration from the project so that +Ape understands the dependencies and how to compile everything.

+
+
Parameters:
+

**overrides – Config overrides.

+
+
Returns:
+

ApeConfig

+
+
+
+ +
+
+abstract property is_valid: bool
+

Return True when detecting a project of this type.

+
+ +
+
+path: Path
+

The location of the project.

+
+ +
+ +
+
+

Providers

+
+
+class ape.api.providers.BlockAPI(*, num_transactions: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, hash: Any | None = None, number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, parentHash: Any = HexBytes('0x0000000000000000000000000000000000000000000000000000000000000000'), timestamp: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)])
+

Bases: BaseInterfaceModel

+

An abstract class representing a block and its attributes.

+
+
+property datetime: datetime
+

The block timestamp as a datetime object.

+
+ +
+
+hash: Any | None
+

The block hash identifier.

+
+ +
+
+num_transactions: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]
+

The number of transactions in the block.

+
+ +
+
+number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None
+

The block number identifier.

+
+ +
+
+parent_hash: Any
+

The preceding block’s hash.

+
+ +
+
+property size: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]
+

The size of the block in gas. Most of the time, +this field is passed to the model at validation time, +but occasionally it is missing (like in eth_subscribe:newHeads), +in which case it gets calculated if and only if the user +requests it (or during serialization of this model to disk).

+
+ +
+
+timestamp: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]
+

The timestamp the block was produced. +NOTE: The pending block uses the current timestamp.

+
+ +
+
+property transactions: list[TransactionAPI]
+

All transactions in a block.

+
+ +
+
+classmethod validate_size(values, handler)
+

A validator for handling non-computed size. +Saves it to a private member on this class and +gets returned in computed field “size”.

+
+ +
+ +
+
+class ape.api.providers.ProviderAPI(*, name: str, network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {}, block_page_size: int = 100, concurrency: int = 4)
+

Bases: BaseInterfaceModel

+

An abstraction of a connection to a network in an ecosystem. Example ProviderAPI +implementations include the ape-infura +plugin or the ape-hardhat plugin.

+
+
+property base_fee: int
+

The minimum value required to get your transaction included on the next block. +Only providers that implement EIP-1559 +will use this property.

+
+
Raises:
+

NotImplementedError – When this provider does not implement + EIP-1559.

+
+
+
+ +
+
+block_page_size: int
+

The amount of blocks to fetch in a response, as a default. +This is particularly useful for querying logs across a block range.

+
+ +
+
+abstract property chain_id: int
+

The blockchain ID. +See ChainList for a comprehensive list of IDs.

+
+ +
+
+concurrency: int
+

How many parallel threads to use when fetching logs.

+
+ +
+
+property config: PluginConfig
+

The provider’s configuration.

+
+ +
+
+abstract connect()
+

Connect to a provider, such as start-up a process or create an HTTP connection.

+
+ +
+
+property connection_id: str | None
+

A connection ID to uniquely identify and manage multiple +connections to providers, especially when working with multiple +providers of the same type, like multiple Geth –dev nodes.

+
+ +
+
+property connection_str: str
+

The str representing how to connect +to the node, such as an HTTP URL +or an IPC path.

+
+ +
+
+property data_folder: Path
+

The path to the provider’s data, +e.g. $HOME/.api/{self.name} unless overridden.

+
+ +
+
+abstract disconnect()
+

Disconnect from a provider, such as tear-down a process or quit an HTTP session.

+
+ +
+
+abstract estimate_gas_cost(txn: TransactionAPI, block_id: BlockID | None = None) int
+

Estimate the cost of gas for a transaction.

+
+
Parameters:
+
    +
  • txn (TransactionAPI) – The transaction to estimate the gas for.

  • +
  • block_id (Optional[BlockID]) – The block ID +to use when estimating the transaction. Useful for checking a +past estimation cost of a transaction.

  • +
+
+
Returns:
+

The estimated cost of gas to execute the transaction +reported in the fee-currency’s smallest unit, e.g. Wei. If the +provider’s network has been configured with a gas limit override, it +will be returned. If the gas limit configuration is “max” this will +return the block maximum gas limit.

+
+
Return type:
+

int

+
+
+
+ +
+
+abstract property gas_price: int
+

The price for what it costs to transact +(pre-EIP-1559).

+
+ +
+
+abstract get_balance(address: AddressType, block_id: BlockID | None = None) int
+

Get the balance of an account.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the account.

  • +
  • block_id (BlockID) – Optionally specify a block +ID. Defaults to using the latest block.

  • +
+
+
Returns:
+

The account balance.

+
+
Return type:
+

int

+
+
+
+ +
+
+abstract get_block(block_id: BlockID) BlockAPI
+

Get a block.

+
+
Parameters:
+

block_id (BlockID) – The ID of the block to get. +Can be "latest", "earliest", "pending", a block hash or a block number.

+
+
Raises:
+

BlockNotFoundError – Likely the exception raised when a block + is not found (depends on implementation).

+
+
Returns:
+

The block for the given ID.

+
+
Return type:
+

BlockID

+
+
+
+ +
+
+abstract get_code(address: AddressType, block_id: BlockID | None = None) ContractCode
+

Get the bytes a contract.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the contract.

  • +
  • block_id (Optional[BlockID]) – The block ID +for checking a previous account nonce.

  • +
+
+
Returns:
+

The contract bytecode.

+
+
Return type:
+

ContractCode

+
+
+
+ +
+
+abstract get_contract_logs(log_filter: LogFilter) Iterator[ContractLog]
+

Get logs from contracts.

+
+
Parameters:
+

log_filter (LogFilter) – A mapping of event ABIs to +topic filters. Defaults to getting all events.

+
+
Returns:
+

Iterator[ContractLog]

+
+
+
+ +
+
+abstract get_nonce(address: AddressType, block_id: BlockID | None = None) int
+

Get the number of times an account has transacted.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the account.

  • +
  • block_id (Optional[BlockID]) – The block ID +for checking a previous account nonce.

  • +
+
+
Returns:
+

int

+
+
+
+ +
+
+abstract get_receipt(txn_hash: str, **kwargs) ReceiptAPI
+

Get the information about a transaction from a transaction hash.

+
+
Parameters:
+
    +
  • txn_hash (str) – The hash of the transaction to retrieve.

  • +
  • kwargs – Any other kwargs that other providers might allow when fetching a receipt.

  • +
+
+
Returns:
+

The receipt of the transaction with the given hash.

+
+
Return type:
+

ReceiptAPI

+
+
+
+ +
+
+get_storage(**kwargs)
+

Gets the raw value of a storage slot of a contract.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the contract.

  • +
  • slot (int) – Storage slot to read the value of.

  • +
  • block_id (Optional[BlockID]) – The block ID +for checking a previous storage value.

  • +
+
+
Returns:
+

The value of the storage slot.

+
+
Return type:
+

HexBytes

+
+
+
+ +
+
+get_test_account(**kwargs)
+

Retrieve one of the provider-generated test accounts.

+
+
Parameters:
+

index (int) – The index of the test account in the HD-Path.

+
+
Returns:
+

TestAccountAPI

+
+
+
+ +
+
+get_transaction_trace(**kwargs)
+

Provide a detailed description of opcodes.

+
+
Parameters:
+

txn_hash (Union[HexBytes, str]) – The hash of a transaction +to trace.

+
+
Returns:
+

A transaction trace.

+
+
Return type:
+

TraceAPI

+
+
+
+ +
+
+get_transactions_by_account_nonce(**kwargs)
+

Get account history for the given account.

+
+
Parameters:
+
    +
  • account (AddressType) – The address of the account.

  • +
  • start_nonce (int) – The nonce of the account to start the search with.

  • +
  • stop_nonce (int) – The nonce of the account to stop the search with.

  • +
+
+
Returns:
+

Iterator[ReceiptAPI]

+
+
+
+ +
+
+abstract get_transactions_by_block(block_id: BlockID) Iterator[TransactionAPI]
+

Get the information about a set of transactions from a block.

+
+
Parameters:
+

block_id (BlockID) – The ID of the block.

+
+
Returns:
+

class: ~ape.api.transactions.TransactionAPI]

+
+
Return type:
+

Iterator[

+
+
+
+ +
+
+get_virtual_machine_error(exception: Exception, **kwargs) VirtualMachineError
+

Get a virtual machine error from an error returned from your RPC.

+
+
Parameters:
+

exception (Exception) – The error returned from your RPC client.

+
+
Returns:
+

+
An error representing what

went wrong in the call.

+
+
+

+
+
Return type:
+

VirtualMachineError

+
+
+
+ +
+
+property http_uri: str | None
+

Return the raw HTTP/HTTPS URI to connect to this provider, if supported.

+
+ +
+
+abstract property is_connected: bool
+

True if currently connected to the provider. False otherwise.

+
+ +
+
+abstract make_request(rpc: str, parameters: Iterable | None = None) Any
+

Make a raw RPC request to the provider. +Advanced features such as tracing may utilize this to by-pass unnecessary +class-serializations.

+
+ +
+
+abstract property max_gas: int
+

The max gas limit value you can use.

+
+ +
+
+mine(**kwargs)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+name: str
+

The name of the provider (should be the plugin name).

+
+ +
+
+network: NetworkAPI
+

A reference to the network this provider provides.

+
+ +
+
+property network_choice: str
+

The connected network choice string.

+
+ +
+
+poll_blocks(**kwargs)
+

Poll new blocks.

+

NOTE: When a chain reorganization occurs, this method logs an error and +yields the missed blocks, even if they were previously yielded with different +block numbers.

+

NOTE: This is a daemon method; it does not terminate unless an exception occurs +or a stop_block is given.

+
+
Parameters:
+
    +
  • stop_block (Optional[int]) – Optionally set a future block number to stop at. +Defaults to never-ending.

  • +
  • required_confirmations (Optional[int]) – The amount of confirmations to wait +before yielding the block. The more confirmations, the less likely a reorg will occur. +Defaults to the network’s configured required confirmations.

  • +
  • new_block_timeout (Optional[float]) – The amount of time to wait for a new block before +timing out. Defaults to 10 seconds for local networks or 50 * block_time for live +networks.

  • +
+
+
Returns:
+

Iterator[BlockAPI]

+
+
+
+ +
+
+poll_logs(**kwargs)
+

Poll new blocks. Optionally set a start block to include historical blocks.

+

NOTE: This is a daemon method; it does not terminate unless an exception occurs.

+

Usage example:

+
for new_log in contract.MyEvent.poll_logs():
+    print(f"New event log found: block_number={new_log.block_number}")
+
+
+
+
Parameters:
+
    +
  • stop_block (Optional[int]) – Optionally set a future block number to stop at. +Defaults to never-ending.

  • +
  • address (Optional[str]) – The address of the contract to filter logs by. +Defaults to all addresses.

  • +
  • topics (Optional[list[Union[str, list[str]]]]) – The topics to filter logs by. +Defaults to all topics.

  • +
  • required_confirmations (Optional[int]) – The amount of confirmations to wait +before yielding the block. The more confirmations, the less likely a reorg will occur. +Defaults to the network’s configured required confirmations.

  • +
  • new_block_timeout (Optional[int]) – The amount of time to wait for a new block before +quitting. Defaults to 10 seconds for local networks or 50 * block_time for live +networks.

  • +
  • events (Optional[list[EventABI]]) – An optional list of events to listen on.

  • +
+
+
Returns:
+

Iterator[ContractLog]

+
+
+
+ +
+
+prepare_transaction(txn: TransactionAPI) TransactionAPI
+

Set default values on the transaction.

+
+
Raises:
+

TransactionError – When given negative required confirmations.

+
+
Parameters:
+

txn (TransactionAPI) – The transaction to prepare.

+
+
Returns:
+

TransactionAPI

+
+
+
+ +
+
+property priority_fee: int
+

A miner tip to incentivize them to include your transaction in a block.

+
+
Raises:
+

NotImplementedError – When the provider does not implement + EIP-1559 typed transactions.

+
+
+
+ +
+
+provider_settings: dict
+

The settings for the provider, as overrides to the configuration.

+
+ +
+
+relock_account(**kwargs)
+

Stop impersonating an account.

+
+
Parameters:
+

address (AddressType) – The address to relock.

+
+
+
+ +
+
+request_header: dict
+

A header to set on HTTP/RPC requests.

+
+ +
+
+restore(**kwargs)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+abstract send_call(txn: TransactionAPI, block_id: BlockID | None = None, state: dict | None = None, **kwargs) HexBytes
+

Execute a new transaction call immediately without creating a +transaction on the block chain.

+
+
Parameters:
+
    +
  • txnTransactionAPI

  • +
  • block_id (Optional[BlockID]) – The block ID +to use to send a call at a historical point of a contract. +Useful for checking a past estimation cost of a transaction.

  • +
  • state (Optional[dict]) – Modify the state of the blockchain +prior to sending the call, for testing purposes.

  • +
  • **kwargs – Provider-specific extra kwargs.

  • +
+
+
Returns:
+

The result of the transaction call.

+
+
Return type:
+

str

+
+
+
+ +
+
+send_private_transaction(txn: TransactionAPI, **kwargs) ReceiptAPI
+

Send a transaction through a private mempool (if supported by the Provider).

+
+
Raises:
+

APINotImplementedError – If using a non-local + network and not implemented by the provider.

+
+
Parameters:
+
    +
  • txn (TransactionAPI) – The transaction +to privately publish.

  • +
  • **kwargs – Additional kwargs to be optionally handled by the provider.

  • +
+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+abstract send_transaction(txn: TransactionAPI) ReceiptAPI
+

Send a transaction to the network.

+
+
Parameters:
+

txn (TransactionAPI) – The transaction to send.

+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+set_balance(**kwargs)
+

Change the balance of an account.

+
+
Parameters:
+
    +
  • address (AddressType) – An address on the network.

  • +
  • amount (int) – The balance to set in the address.

  • +
+
+
+
+ +
+
+set_code(**kwargs)
+

Change the code of a smart contract, for development purposes. +Test providers implement this method when they support it.

+
+
Parameters:
+
    +
  • address (AddressType) – An address on the network.

  • +
  • code (ContractCode) – The new bytecode.

  • +
+
+
+
+ +
+
+set_storage(**kwargs)
+

Sets the raw value of a storage slot of a contract.

+
+
Parameters:
+
    +
  • address (str) – The address of the contract.

  • +
  • slot (int) – Storage slot to write the value to.

  • +
  • value – (HexBytes): The value to overwrite the raw storage slot with.

  • +
+
+
+
+ +
+
+set_timestamp(**kwargs)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+property settings: PluginConfig
+

The combination of settings from ape-config.yaml and .provider_settings.

+
+ +
+
+snapshot(**kwargs)
+

Defined to make the ProviderAPI interchangeable with a +TestProviderAPI, as in +ape.managers.chain.ChainManager.

+
+
Raises:
+

APINotImplementedError – Unless overridden.

+
+
+
+ +
+
+stream_request(**kwargs)
+

Stream a request, great for large requests like events or traces.

+
+
Parameters:
+
    +
  • method (str) – The RPC method to call.

  • +
  • params (Iterable) – Parameters for the method.s

  • +
  • iter_path (str) – The response dict-path to the items.

  • +
+
+
Returns:
+

An iterator of items.

+
+
+
+ +
+
+property supports_tracing: bool
+

True when the provider can provide transaction traces.

+
+ +
+
+unlock_account(**kwargs)
+

Ask the provider to allow an address to submit transactions without validating +signatures. This feature is intended to be subclassed by a +TestProviderAPI so that during a fork-mode test, +a transaction can be submitted by an arbitrary account or contract without a private key.

+
+
Raises:
+

NotImplementedError – When this provider does not support unlocking an account.

+
+
Parameters:
+

address (AddressType) – The address to unlock.

+
+
Returns:
+

True if successfully unlocked account and False otherwise.

+
+
Return type:
+

bool

+
+
+
+ +
+
+abstract update_settings(new_settings: dict)
+

Change a provider’s setting, such as configure a new port to run on. +May require a reconnect.

+
+
Parameters:
+

new_settings (dict) – The new provider settings.

+
+
+
+ +
+
+property ws_uri: str | None
+

Return the raw WS/WSS URI to connect to this provider, if supported.

+
+ +
+ +
+
+class ape.api.providers.SubprocessProvider(*, name: str, network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {}, block_page_size: int = 100, concurrency: int = 4, PROCESS_WAIT_TIMEOUT: int = 15, process: Popen | None = None, is_stopping: bool = False, stdout_queue: JoinableQueue | None = None, stderr_queue: JoinableQueue | None = None)
+

Bases: ProviderAPI

+

A provider that manages a process, such as for ganache.

+
+
+abstract build_command() list[str]
+

Get the command as a list of str. +Subclasses should override and add command arguments if needed.

+
+
Returns:
+

The command to pass to subprocess.Popen.

+
+
Return type:
+

list[str]

+
+
+
+ +
+
+connect()
+

Start the process and connect to it. +Subclasses handle the connection-related tasks.

+
+ +
+
+property connection_id: str | None
+

A connection ID to uniquely identify and manage multiple +connections to providers, especially when working with multiple +providers of the same type, like multiple Geth –dev nodes.

+
+ +
+
+disconnect()
+

Stop the process if it exists. +Subclasses override this method to do provider-specific disconnection tasks.

+
+ +
+
+abstract property process_name: str
+

The name of the process, such as Hardhat node.

+
+ +
+
+start(timeout: int = 20)
+

Start the process and wait for its RPC to be ready.

+
+ +
+
+stop()
+

Kill the process.

+
+ +
+ +
+
+class ape.api.providers.TestProviderAPI(*, name: str, network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {}, block_page_size: int = 100, concurrency: int = 4)
+

Bases: ProviderAPI

+

An API for providers that have development functionality, such as snapshotting.

+
+
+abstract property auto_mine: bool
+

Whether automine is enabled.

+
+ +
+
+abstract mine(num_blocks: int = 1)
+

Advance by the given number of blocks.

+
+
Parameters:
+

num_blocks (int) – The number of blocks allotted to mine. Defaults to 1.

+
+
+
+ +
+
+abstract restore(snapshot_id: SnapshotID)
+

Regress the current call using the given snapshot ID. +Allows developers to go back to a previous state.

+
+
Parameters:
+

snapshot_id (str) – The snapshot ID.

+
+
+
+ +
+
+abstract set_timestamp(new_timestamp: int)
+

Change the pending timestamp.

+
+
Parameters:
+

new_timestamp (int) – The timestamp to set.

+
+
Returns:
+

The new timestamp.

+
+
Return type:
+

int

+
+
+
+ +
+
+abstract snapshot() SnapshotID
+

Record the current state of the blockchain with intent to later +call the method revert() +to go back to this point. This method is for local networks only.

+
+
Returns:
+

The snapshot ID.

+
+
Return type:
+

SnapshotID

+
+
+
+ +
+ +
+
+class ape.api.providers.UpstreamProvider(*, name: str, network: NetworkAPI, provider_settings: dict = {}, request_header: dict = {}, block_page_size: int = 100, concurrency: int = 4)
+

Bases: ProviderAPI

+

A provider that can also be set as another provider’s upstream.

+
+ +
+
+

Transactions

+
+
+class ape.api.transactions.ReceiptAPI(*, contract_address: Annotated[ChecksumAddress, _AddressValidator] | None = None, block_number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], gas_used: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], logs: list[dict] = [], status: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], txn_hash: HexStr, transaction: TransactionAPI)
+

Bases: ExtraAttributesMixin, BaseInterfaceModel

+

An abstract class to represent a transaction receipt. The receipt +contains information about the transaction, such as the status +and required confirmations.

+

NOTE: Use a required_confirmations of 0 in your transaction +to not wait for confirmations.

+

Get a receipt by making transactions in ape, such as interacting with +a ape.contracts.base.ContractInstance.

+
+
+await_confirmations() ReceiptAPI
+

Wait for a transaction to be considered confirmed.

+
+
Returns:
+

The receipt that is now confirmed.

+
+
Return type:
+

ReceiptAPI

+
+
+
+ +
+
+property confirmed: bool
+

True when the number of confirmations is equal or greater +to the required amount of confirmations.

+
+ +
+
+property debug_logs_lines: list[str]
+

Return any debug log data outputted by the transaction as strings suitable for printing

+
+ +
+
+property debug_logs_typed: list[tuple[Any]]
+

Return any debug log data outputted by the transaction.

+
+ +
+
+abstract decode_logs(abi: list[EventABI | ContractEvent] | EventABI | ContractEvent | None = None) ContractLogContainer
+

Decode the logs on the receipt.

+
+
Parameters:
+

abi (EventABI) – The ABI of the event to decode into logs.

+
+
Returns:
+

list[ContractLog]

+
+
+
+ +
+
+property events: ContractLogContainer
+

All the events that were emitted from this call.

+
+ +
+
+property failed: bool
+

Whether the receipt represents a failing transaction. +Ecosystem plugins override this property when their receipts +are able to be failing.

+
+ +
+
+property method_called: MethodABI | None
+

The method ABI of the method called to produce this receipt.

+
+ +
+
+raise_for_status() NoReturn | None
+

Handle provider-specific errors regarding a non-successful +TransactionStatusEnum.

+
+ +
+
+abstract property ran_out_of_gas: bool
+

Check if a transaction ran out of gas and failed.

+
+
Returns:
+

True when the transaction failed and used the +same amount of gas as the given gas_limit.

+
+
Return type:
+

bool

+
+
+
+ +
+
+property return_value: Any
+

Obtain the final return value of the call. Requires tracing to function, +since this is not available from the receipt object.

+
+ +
+
+show_debug_logs()
+

Output debug logs to logging system

+
+ +
+
+show_events(**kwargs)
+

Show the events from the receipt.

+
+ +
+
+show_gas_report(**kwargs)
+

Display a gas report for the calls made in this transaction.

+
+ +
+
+show_source_traceback(**kwargs)
+

Show a receipt traceback mapping to lines in the source code. +Only works when the contract type and source code are both available, +like in local projects.

+
+ +
+
+show_trace(**kwargs)
+

Display the complete sequence of contracts and methods called during +the transaction.

+
+
Parameters:
+
    +
  • verbose (bool) – Set to True to include more information.

  • +
  • file (IO[str]) – The file to send output to. Defaults to stdout.

  • +
+
+
+
+ +
+
+property source_traceback
+

A Pythonic style traceback for both failing and non-failing receipts. +Requires a provider that implements +:meth:~ape.api.providers.ProviderAPI.get_transaction_trace`.

+
+ +
+
+abstract property total_fees_paid: int
+

The total amount of fees paid for the transaction.

+
+ +
+
+property trace: TraceAPI
+

The TraceAPI of the transaction.

+
+ +
+
+track_coverage()
+

Track this receipt’s source code coverage in the on-going +session coverage report. Requires using a provider that supports +transaction traces to track full coverage. Else, is limited +to receipt-level tracking. This gets called when running tests with +the --coverage flag.

+
+ +
+
+track_gas()
+

Track this receipt’s gas in the on-going session gas-report. +Requires using a provider that supports transaction traces +to get full data. Else, is limited to receipt-level data. +This gets called when running tests with the --gas flag.

+
+ +
+ +
+
+class ape.api.transactions.TransactionAPI(*args, chainId: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = 0, to: Annotated[ChecksumAddress, _AddressValidator] | None = None, sender: Annotated[ChecksumAddress, _AddressValidator] | None = None, gas: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, nonce: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, value: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] = 0, data: HexBytes = HexBytes('0x'), type: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], max_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, max_priority_fee: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, required_confirmations: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None, signature: TransactionSignature | None = None)
+

Bases: BaseInterfaceModel

+

An API class representing a transaction. +Ecosystem plugins implement one or more of transaction APIs +depending on which schemas they permit, +such as typed-transactions from EIP-1559.

+
+
+property receipt: ReceiptAPI | None
+

This transaction’s associated published receipt, if it exists.

+
+ +
+
+abstract serialize_transaction() bytes
+

Serialize the transaction

+
+ +
+
+property total_transfer_value: int
+

The total amount of WEI that a transaction could use. +Useful for determining if an account balance can afford +to submit the transaction.

+
+ +
+
+property trace: TraceAPI
+

The transaction trace. Only works if this transaction was published +and you are using a provider that support tracing.

+
+
Raises:
+

APINotImplementedError – When using a provider + that does not support tracing.

+
+
+
+ +
+
+abstract property txn_hash: HexBytes
+

The calculated hash of the transaction.

+
+ +
+ +
+
+

Query

+
+
+class ape.api.query.AccountTransactionQuery(*, columns: Sequence[str], account: Annotated[ChecksumAddress, _AddressValidator], start_nonce: Annotated[int, Ge(ge=0)] = 0, stop_nonce: Annotated[int, Ge(ge=0)])
+

Bases: _BaseQuery

+

A QueryType that collects properties of TransactionAPI over a range +of transactions made by account between start_nonce and stop_nonce.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, columns: collections.abc.Sequence[str], account: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>], start_nonce: typing.Annotated[int, Ge(ge=0)] = 0, stop_nonce: typing.Annotated[int, Ge(ge=0)]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.query.BlockQuery(*, columns: Sequence[str], start_block: Annotated[int, Ge(ge=0)] = 0, stop_block: Annotated[int, Ge(ge=0)], step: Annotated[int, Gt(gt=0)] = 1)
+

Bases: _BaseBlockQuery

+

A QueryType that collects properties of BlockAPI over a range of +blocks between start_block and stop_block.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, columns: collections.abc.Sequence[str], start_block: typing.Annotated[int, Ge(ge=0)] = 0, stop_block: typing.Annotated[int, Ge(ge=0)], step: typing.Annotated[int, Gt(gt=0)] = 1) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.query.BlockTransactionQuery(*, columns: Sequence[str], block_id: Any)
+

Bases: _BaseQuery

+

A QueryType that collects properties of TransactionAPI over a range of +transactions collected inside the BlockAPI` object represented by ``block_id.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, columns: collections.abc.Sequence[str], block_id: Any) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.query.ContractCreation(*, txn_hash: str, block: int, deployer: Annotated[ChecksumAddress, _AddressValidator], factory: Annotated[ChecksumAddress, _AddressValidator] | None = None)
+

Bases: BaseModel, BaseInterface

+

Contract-creation metadata, such as the transaction +and deployer. Useful for contract-verification, +block_identifier= usage, and other use-cases.

+

To get contract-creation metadata, you need a query engine +that can provide it, such as the ape-etherscan plugin +or a node connected to the OTS namespace.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, txn_hash: str, block: int, deployer: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>], factory: Optional[Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>]] = None) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+block: int
+

The block number of the deploy transaction.

+
+ +
+
+deployer: Annotated[ChecksumAddress, _AddressValidator]
+

The contract deployer address.

+
+ +
+
+factory: Annotated[ChecksumAddress, _AddressValidator] | None
+

The address of the factory contract, if there is one +and it is known (depends on the query provider!).

+
+ +
+
+classmethod from_receipt(receipt: ReceiptAPI) ContractCreation
+

Create a metadata class.

+
+
Parameters:
+

receipt (ReceiptAPI) – The receipt +of the deploy transaction.

+
+
Returns:
+

ContractCreation

+
+
+
+ +
+
+property receipt: ReceiptAPI
+

The deploy transaction ReceiptAPI.

+
+ +
+
+txn_hash: str
+

The transaction hash of the deploy transaction.

+
+ +
+ +
+
+class ape.api.query.ContractCreationQuery(*, columns: Sequence[str], contract: Annotated[ChecksumAddress, _AddressValidator])
+

Bases: _BaseQuery

+

A QueryType that obtains information about contract deployment. +Returns ContractCreation(txn_hash, block, deployer, factory).

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, columns: collections.abc.Sequence[str], contract: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.query.ContractEventQuery(*, columns: Sequence[str], start_block: Annotated[int, Ge(ge=0)] = 0, stop_block: Annotated[int, Ge(ge=0)], step: Annotated[int, Gt(gt=0)] = 1, contract: list[Annotated[ChecksumAddress, _AddressValidator]] | Annotated[ChecksumAddress, _AddressValidator], event: EventABI, search_topics: dict[str, Any] | None = None)
+

Bases: _BaseBlockQuery

+

A QueryType that collects members from event over a range of +logs emitted by contract between start_block and stop_block.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, columns: collections.abc.Sequence[str], start_block: typing.Annotated[int, Ge(ge=0)] = 0, stop_block: typing.Annotated[int, Ge(ge=0)], step: typing.Annotated[int, Gt(gt=0)] = 1, contract: Union[list[Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>]], Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>]], event: ethpm_types.abi.EventABI, search_topics: Optional[dict[str, Any]] = None) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.query.ContractMethodQuery(*, columns: Sequence[str], start_block: Annotated[int, Ge(ge=0)] = 0, stop_block: Annotated[int, Ge(ge=0)], step: Annotated[int, Gt(gt=0)] = 1, contract: Annotated[ChecksumAddress, _AddressValidator], method: MethodABI, method_args: dict[str, Any])
+

Bases: _BaseBlockQuery

+

A QueryType that collects return values from calling method in contract +over a range of blocks between start_block and stop_block.

+
+
+__pydantic_extra__: dict[str, Any] | None
+

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

+
+ +
+
+__pydantic_fields_set__: set[str]
+

The names of fields explicitly set during instantiation.

+
+ +
+
+__pydantic_private__: dict[str, Any] | None
+

Values of private attributes set on the model instance.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, columns: collections.abc.Sequence[str], start_block: typing.Annotated[int, Ge(ge=0)] = 0, stop_block: typing.Annotated[int, Ge(ge=0)], step: typing.Annotated[int, Gt(gt=0)] = 1, contract: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>], method: ethpm_types.abi.MethodABI, method_args: dict[str, typing.Any]) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+ +
+
+class ape.api.query.QueryAPI
+

Bases: BaseInterface

+
+
+abstract estimate_query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery) int | None
+

Estimation of time needed to complete the query. The estimation is returned +as an int representing milliseconds. A value of None indicates that the +query engine is not available for use or is unable to complete the query.

+
+
Parameters:
+

query (QueryType) – Query to estimate.

+
+
Returns:
+

Represents milliseconds, returns None if unable to execute.

+
+
Return type:
+

Optional[int]

+
+
+
+ +
+
+abstract perform_query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery) Iterator
+

Executes the query using best performing estimate_query query engine.

+
+
Parameters:
+

query (QueryType) – query to execute

+
+
Returns:
+

Iterator

+
+
+
+ +
+
+update_cache(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery, result: Iterator[BaseInterfaceModel])
+

Allows a query plugin the chance to update any cache using the results obtained +from other query plugins. Defaults to doing nothing, override to store cache data.

+
+
Parameters:
+
    +
  • query (QueryType) – query that was executed

  • +
  • result (Iterator) – the result of the query

  • +
+
+
+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/cli.html b/v0.8.20/methoddocs/cli.html new file mode 100644 index 0000000000..cfe374fd87 --- /dev/null +++ b/v0.8.20/methoddocs/cli.html @@ -0,0 +1,811 @@ + + + + + ape.cli - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.cli

+

The ape.cli namespace is a collection of click extensions and reusable implementations, such as common arguments / +options for accounts, project file-paths, and generic utilities. Use these resources in plugins as well as in CLI-based +scripts.

+
+

Arguments

+
+
+ape.cli.arguments.contract_file_paths_argument()
+

A click.argument representing contract source file paths. +This argument takes 0-to-many values.

+

The return type from the callback is a flattened list of +source file-paths.

+
+ +
+
+ape.cli.arguments.existing_alias_argument(account_type: None | Sequence[AccountAPI] | type[AccountAPI] | Callable[[AccountAPI], bool] = None, **kwargs)
+

A click.argument for an existing account alias.

+
+
Parameters:
+
    +
  • account_type (type[AccountAPI], optional) – If given, limits the type of account the user may choose from.

  • +
  • **kwargs – click.argument overrides.

  • +
+
+
+
+ +
+
+ape.cli.arguments.non_existing_alias_argument(**kwargs)
+

A click.argument for an account alias that does not yet exist in ape.

+
+
Parameters:
+

**kwargs – click.argument overrides.

+
+
+
+ +
+
+

Choices

+
+
+class ape.cli.choices.AccountAliasPromptChoice(key: None | Sequence[AccountAPI] | type[AccountAPI] | Callable[[AccountAPI], bool] = None, prompt_message: str | None = None, name: str = 'account')
+

Bases: PromptChoice

+

Prompts the user to select an alias from their accounts. +Useful for adhoc scripts to lessen the need to hard-code aliases.

+
+
+convert(value: Any, param: Parameter | None, ctx: Context | None) AccountAPI | None
+

Convert the value to the correct type. This is not called if +the value is None (the missing value).

+

This must accept string values from the command line, as well as +values that are already the correct type. It may also convert +other compatible types.

+

The param and ctx arguments may be None in certain +situations, such as when converting prompt input.

+

If the value cannot be converted, call fail() with a +descriptive message.

+
+
Parameters:
+
    +
  • value – The value to convert.

  • +
  • param – The parameter that is using this type to convert +its value. May be None.

  • +
  • ctx – The current context that arrived at this value. May +be None.

  • +
+
+
+
+ +
+
+print_choices()
+

Echo the choices to the terminal.

+
+ +
+
+select_account() AccountAPI
+

Returns the selected account.

+
+
Returns:
+

AccountAPI

+
+
+
+ +
+ +
+
+class ape.cli.choices.Alias(key: None | Sequence[AccountAPI] | type[AccountAPI] | Callable[[AccountAPI], bool] = None)
+

Bases: Choice

+

A click.Choice for loading account aliases for the active project at runtime.

+

Provide an account_type to limit the type of account to choose from. +Defaults to all account types in choices().

+
+
+name: str = 'alias'
+

the descriptive name of this type

+
+ +
+ +
+
+class ape.cli.choices.LazyChoice(get_choices: Callable[[], Sequence[str]], case_sensitive: bool = False)
+

Bases: Choice

+

A simple lazy-choice where choices are evaluated lazily.

+
+ +
+
+class ape.cli.choices.NetworkChoice(case_sensitive=True, ecosystem: list[str] | str | None = None, network: list[str] | str | None = None, provider: list[str] | str | None = None, base_type: type | None = None, callback: Callable | None = None)
+

Bases: Choice

+

A click.Choice to provide network choice defaults for the active project.

+

Optionally provide a list of ecosystem names, network names, or provider names +to filter the results by.

+

This is used in network_option().

+
+
+convert(value: Any, param: Parameter | None, ctx: Context | None) Any
+

Convert the value to the correct type. This is not called if +the value is None (the missing value).

+

This must accept string values from the command line, as well as +values that are already the correct type. It may also convert +other compatible types.

+

The param and ctx arguments may be None in certain +situations, such as when converting prompt input.

+

If the value cannot be converted, call fail() with a +descriptive message.

+
+
Parameters:
+
    +
  • value – The value to convert.

  • +
  • param – The parameter that is using this type to convert +its value. May be None.

  • +
  • ctx – The current context that arrived at this value. May +be None.

  • +
+
+
+
+ +
+
+get_metavar(param)
+

Returns the metavar default for this param if it provides one.

+
+ +
+ +
+
+class ape.cli.choices.OutputFormat(value)
+

Bases: Enum

+

An enum representing output formats, such as TREE or YAML. +Use this to select a subset of common output formats to use +when creating a output_format_choice().

+
+
+TREE = 'TREE'
+

A rich text tree view of the data.

+
+ +
+
+YAML = 'YAML'
+

A standard .yaml format of the data.

+
+ +
+ +
+
+class ape.cli.choices.PromptChoice(choices: Sequence[str], name: str | None = None)
+

Bases: ParamType

+

A choice option or argument from user selection.

+

Usage example:

+
def choice_callback(ctx, param, value):
+    return param.type.get_user_selected_choice()
+
+@click.command()
+@click.option(
+    "--choice",
+    type=PromptChoice(["foo", "bar"]),
+    callback=choice_callback,
+)
+def cmd(choice):
+    click.echo(f"__expected_{choice}")
+
+
+
+
+convert(value: Any, param: Parameter | None, ctx: Context | None) Any | None
+

Convert the value to the correct type. This is not called if +the value is None (the missing value).

+

This must accept string values from the command line, as well as +values that are already the correct type. It may also convert +other compatible types.

+

The param and ctx arguments may be None in certain +situations, such as when converting prompt input.

+

If the value cannot be converted, call fail() with a +descriptive message.

+
+
Parameters:
+
    +
  • value – The value to convert.

  • +
  • param – The parameter that is using this type to convert +its value. May be None.

  • +
  • ctx – The current context that arrived at this value. May +be None.

  • +
+
+
+
+ +
+
+print_choices()
+

Echo the choices to the terminal.

+
+ +
+ +
+
+ape.cli.choices.output_format_choice(options: list[OutputFormat] | None = None) Choice
+

Returns a click.Choice() type for the given options.

+
+
Parameters:
+

options (list[OutputFormat], optional) – Limit the formats to accept. Defaults to allowing all formats.

+
+
Returns:
+

click.Choice

+
+
+
+ +
+
+ape.cli.choices.select_account(prompt_message: str | None = None, key: None | Sequence[AccountAPI] | type[AccountAPI] | Callable[[AccountAPI], bool] = None) AccountAPI
+

Prompt the user to pick from their accounts and return that account. +Use this method if you want to prompt users to select accounts _outside_ +of CLI options. For CLI options, use +account_option().

+
+
Parameters:
+
    +
  • prompt_message (Optional[str]) – Customize the prompt message.

  • +
  • key (Union[None, type[AccountAPI], Callable[[AccountAPI], bool]]) – If given, the user may only select a matching account. You can provide +a list of accounts, an account class type, or a callable for filtering +the accounts.

  • +
+
+
Returns:
+

AccountAPI

+
+
+
+ +
+
+

Commands

+
+
+class ape.cli.commands.ConnectedProviderCommand(*args, **kwargs)
+

Bases: Command

+

A command that uses the network_option(). +It will automatically set the network for the duration of the command execution.

+
+
+invoke(ctx: Context) Any
+

Given a context, this invokes the attached callback (if it exists) +in the right way.

+
+ +
+
+parse_args(ctx: Context, args: list[str]) list[str]
+

Given a context and a list of arguments this creates the parser +and parses the arguments, then modifies the context as necessary. +This is automatically invoked by make_context().

+
+ +
+ +
+
+

Options

+
+
+class ape.cli.options.ApeCliContextObject
+

Bases: dict

+

A click context object class. Use via ape_cli_context(). +It provides common CLI utilities for ape, such as logging or +access to the managers.

+
+
+static abort(msg: str, base_error: Exception | None = None) NoReturn
+

End execution of the current command invocation.

+
+
Parameters:
+
    +
  • msg (str) – A message to output to the terminal.

  • +
  • base_error (Exception, optional) – Optionally provide +an error to preserve the exception stack.

  • +
+
+
+
+ +
+ +
+
+class ape.cli.options.NetworkOption(*args, **kwargs)
+

Bases: Option

+

The class used in :meth:~ape.cli.options.network_option.

+
+ +
+
+ape.cli.options.account_option(account_type: None | Sequence[AccountAPI] | type[AccountAPI] | Callable[[AccountAPI], bool] = None) Callable
+

A CLI option that accepts either the account alias or the account number. +If not given anything, it will prompt the user to select an account.

+
+ +
+
+ape.cli.options.ape_cli_context(default_log_level: str | int | ~ape.logging.LogLevel | None = None, obj_type: type = <class 'ape.cli.options.ApeCliContextObject'>) Callable
+

A click context object with helpful utilities. +Use in your commands to get access to common utility features, +such as logging or accessing managers.

+
+
Parameters:
+
    +
  • default_log_level (str | int | LogLevel | None) – The log-level +value to pass to verbosity_option().

  • +
  • obj_type (Type) – The context object type. Defaults to +ApeCliContextObject. Sub-class +the context to extend its functionality in your CLIs, +such as if you want to add additional manager classes +to the context.

  • +
+
+
Returns:
+

click option

+
+
+
+ +
+
+ape.cli.options.contract_option(help=None, required=False, multiple=False) Callable
+

Contract(s) from the current project. +If you pass multiple=True, you will get a list of contract types from the callback.

+
+

ContractError: In the callback when it fails to load the contracts.

+
+
+ +
+
+ape.cli.options.incompatible_with(incompatible_opts) type[Option]
+

Factory for creating custom click.Option subclasses that +enforce incompatibility with the option strings passed to this function.

+

Usage example:

+
import click
+
+@click.command()
+@click.option("--option", cls=incompatible_with(["other_option"]))
+def cmd(option, other_option):
+    ....
+
+
+
+ +
+
+ape.cli.options.network_option(default: str | Callable | None = 'auto', ecosystem: list[str] | str | None = None, network: list[str] | str | None = None, provider: list[str] | str | None = None, required: bool = False, **kwargs) Callable
+

A click.option for specifying a network.

+
+
Parameters:
+
    +
  • default (Optional[str]) – Optionally, change which network to +use as the default. Defaults to how ape normally +selects a default network unless required=True, then defaults to None.

  • +
  • ecosystem (Optional[Union[list[str], str]]) – Filter the options by ecosystem. +Defaults to getting all ecosystems.

  • +
  • network (Optional[Union[list[str], str]]) – Filter the options by network. +Defaults to getting all networks in ecosystems.

  • +
  • provider (Optional[Union[list[str], str]]) – Filter the options by provider. +Defaults to getting all providers in networks.

  • +
  • required (bool) – Whether the option is required. Defaults to False. +When set to True, the default value is None.

  • +
  • kwargs – Additional overrides to click.option.

  • +
+
+
+
+ +
+
+ape.cli.options.output_format_option(default: OutputFormat = OutputFormat.TREE) Callable
+

A click.option for specifying a format to use when outputting data.

+
+
Parameters:
+

default (OutputFormat) – Defaults to TREE format.

+
+
+
+ +
+
+ape.cli.options.skip_confirmation_option(help='') Callable
+

A click.option for skipping confirmation (--yes).

+
+
Parameters:
+

help (str) – CLI option help text. Defaults to "".

+
+
+
+ +
+
+ape.cli.options.verbosity_option(cli_logger: ApeLogger | None = None, default: str | int | LogLevel | None = None, callback: Callable | None = None, **kwargs) Callable
+

A decorator that adds a –verbosity, -v option to the decorated +command.

+
+
Parameters:
+
    +
  • cli_logger (ApeLogger | None) – Optionally pass +a custom logger object.

  • +
  • default (str | int | LogLevel) – The default log-level +for this command.

  • +
  • callback (Callable | None) – A callback handler for passed-in verbosity values.

  • +
  • **kwargs – Additional click overrides.

  • +
+
+
Returns:
+

click option

+
+
+
+ +
+
+

Parameter Types

+
+
+class ape.cli.paramtype.JSON
+

Bases: ParamType

+

A type that accepts a raw-JSON str +and loads it into a dictionary.

+
+
+convert(value, param, ctx)
+

Convert the value to the correct type. This is not called if +the value is None (the missing value).

+

This must accept string values from the command line, as well as +values that are already the correct type. It may also convert +other compatible types.

+

The param and ctx arguments may be None in certain +situations, such as when converting prompt input.

+

If the value cannot be converted, call fail() with a +descriptive message.

+
+
Parameters:
+
    +
  • value – The value to convert.

  • +
  • param – The parameter that is using this type to convert +its value. May be None.

  • +
  • ctx – The current context that arrived at this value. May +be None.

  • +
+
+
+
+ +
+ +
+
+class ape.cli.paramtype.Noop
+

Bases: ParamType

+

A param-type for ignoring param-types. +Good to use when the multi-type handling +happens already in a callback or in the command itself.

+
+
+convert(value: Any, param, ctx) Any
+

Convert the value to the correct type. This is not called if +the value is None (the missing value).

+

This must accept string values from the command line, as well as +values that are already the correct type. It may also convert +other compatible types.

+

The param and ctx arguments may be None in certain +situations, such as when converting prompt input.

+

If the value cannot be converted, call fail() with a +descriptive message.

+
+
Parameters:
+
    +
  • value – The value to convert.

  • +
  • param – The parameter that is using this type to convert +its value. May be None.

  • +
  • ctx – The current context that arrived at this value. May +be None.

  • +
+
+
+
+ +
+ +
+
+class ape.cli.paramtype.Path(*args, **kwargs)
+

Bases: Path

+

This class exists to encourage the consistent usage +of pathlib.Path for path_type.

+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/contracts.html b/v0.8.20/methoddocs/contracts.html new file mode 100644 index 0000000000..b6674c690a --- /dev/null +++ b/v0.8.20/methoddocs/contracts.html @@ -0,0 +1,693 @@ + + + + + ape.contracts - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.contracts

+
+
+class ape.contracts.base.ContractTypeWrapper
+

Bases: ManagerAccessMixin

+
+
+decode_input(calldata: bytes) tuple[str, dict[str, Any]]
+

Decode the given calldata using this contract. +If the calldata has a method ID prefix, Ape will detect it and find +the corresponding method, else it will error.

+
+
Parameters:
+

calldata (bytes) – The calldata to decode.

+
+
Returns:
+

A tuple containing the method selector +along a mapping of input names to their decoded values. +If an input does not have a number, it will have the stringified +index as its key.

+
+
Return type:
+

tuple[str, dict[str, Any]]

+
+
+
+ +
+
+property identifier_lookup: dict[str, ABI_W_SELECTOR_T]
+

Provides a mapping of method, error, and event selector identifiers to +ABI Types.

+
+ +
+
+property selector_identifiers: dict[str, str]
+

Provides a mapping of function signatures (pre-hashed selectors) to +selector identifiers.

+
+ +
+
+property source_path: Path | None
+

Returns the path to the local contract if determined that this container +belongs to the active project by cross checking source_id.

+
+ +
+ +
+
+class ape.contracts.base.ContractInstance(address: AddressType, contract_type: ContractType, txn_hash: str | HexBytes | None = None)
+

Bases: BaseAddress, ContractTypeWrapper

+

An interactive instance of a smart contract. +After you deploy a contract using the deploy method, +you get back a contract instance.

+

Usage example:

+
from ape import accounts, project
+
+a = accounts.load("alias")  # Load an account by alias
+contract = a.deploy(project.MyContract)  # The result of 'deploy()' is a ContractInstance
+
+
+
+
+__call__(*args, **kwargs) ReceiptAPI
+

Call this address directly. For contracts, this may mean invoking their +default handler.

+
+
Parameters:
+

**kwargs – Transaction arguments, such as sender or data.

+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+property address: AddressType
+

The address of the contract.

+
+
Returns:
+

AddressType

+
+
+
+ +
+
+call_view_method(method_name: str, *args, **kwargs) Any
+

Call a contract’s view function directly using the method_name. +This is helpful in the scenario where the contract has a +method name matching an attribute of the +BaseAddress class, such as nonce +or balance

+
+
Parameters:
+
    +
  • method_name (str) – The contract method name to be called

  • +
  • *args – Contract method arguments.

  • +
  • **kwargs – Transaction values, such as value or sender

  • +
+
+
Returns:
+

Output of smart contract view call.

+
+
Return type:
+

Any

+
+
+
+ +
+
+property creation_metadata: ContractCreation | None
+

txn_hash, block, deployer, factory, receipt. +See ContractCreation for more details. +NOTE: Must be either connected to a node that provides this data, +such as a node with the ots_ namespace enabled, or have a query-plugin +installed that can fetch this data, such as ape-etherscan.

+
+
Type:
+

Contract creation details

+
+
+
+ +
+
+classmethod from_receipt(receipt: ReceiptAPI, contract_type: ContractType) ContractInstance
+

Create a contract instance from the contract deployment receipt.

+
+ +
+
+get_error_by_signature(signature: str) type[CustomError]
+

Get an error by its signature, similar to +get_event_by_signature().

+
+
Parameters:
+

signature (str) – The signature of the error.

+
+
Returns:
+

CustomError

+
+
+
+ +
+
+get_event_by_signature(signature: str) ContractEvent
+

Get an event by its signature. Most often, you can use the +__getattr__() +method on this class to access events. However, in the case +when you have more than one event with the same name, such +as the case where one event is coming from a base contract, +you can use this method to access the respective events.

+
+
Parameters:
+

signature (str) – The signature of the event.

+
+
Returns:
+

ContractEvent

+
+
+
+ +
+
+invoke_transaction(method_name: str, *args, **kwargs) ReceiptAPI
+

Call a contract’s function directly using the method_name. +This function is for non-view function’s which may change +contract state and will execute a transaction. +This is helpful in the scenario where the contract has a +method name matching an attribute of the +BaseAddress class, such as nonce +or balance

+
+
Parameters:
+
    +
  • method_name (str) – The contract method name to be called

  • +
  • *args – Contract method arguments.

  • +
  • **kwargs – Transaction values, such as value or sender

  • +
+
+
Returns:
+

Output of smart contract interaction.

+
+
Return type:
+

ReceiptAPI

+
+
+
+ +
+ +
+
+class ape.contracts.base.ContractContainer(contract_type: ContractType)
+

Bases: ContractTypeWrapper, ExtraAttributesMixin

+

A wrapper around the contract type that has access to the provider. +When you import your contracts from the ape.managers.project.ProjectManager, you +are using this class.

+

Usage example:

+
from ape import project
+
+contract_container = project.MyContract  # Assuming there is a contract named "MyContract"
+
+
+
+
+__call__(*args, **kwargs) TransactionAPI
+

Call self as a function.

+
+ +
+
+__eq__(other)
+

Return self==value.

+
+ +
+
+__hash__ = None
+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+at(address: AddressType, txn_hash: str | HexBytes | None = None) ContractInstance
+

Get a contract at the given address.

+

Usage example:

+
from ape import project
+
+my_contract = project.MyContract.at("0xAbC1230001112223334445566611855443322111")
+
+
+
+
Parameters:
+
    +
  • address (str) – The address to initialize a contract. +NOTE: Things will not work as expected if the contract is not actually +deployed to this address or if the contract at the given address has +a different ABI than contract_type.

  • +
  • txn_hash (Union[str, HexBytes]) – The hash of the transaction that deployed the +contract, if available. Defaults to None.

  • +
+
+
Returns:
+

ContractInstance

+
+
+
+ +
+
+deploy(*args, publish: bool = False, **kwargs) ContractInstance
+

Deploy a contract.

+
+
Parameters:
+
    +
  • *args (Any) – The contract’s constructor arguments as Python types.

  • +
  • publish (bool) – Whether to also perform contract-verification. +Defaults to False.

  • +
+
+
Returns:
+

ContractInstance

+
+
+
+ +
+
+property deployments
+

Contract deployments.

+

Usage example:

+
# Get the latest deployment
+my_contract = project.MyContract.deployments[-1]
+
+
+
+ +
+ +
+
+class ape.contracts.base.ContractEvent
+

Bases: BaseInterfaceModel

+

The types of events on a ContractInstance. +Use the event types via . access on the contract instances.

+

Usage example:

+
# 'my_contract' refers to a ContractInstance in this case.
+my_event_type = my_contract.MyEvent
+
+
+
+
+__call__(*args: Any, **kwargs: Any) MockContractLog
+

Call self as a function.

+
+ +
+
+__iter__() Iterator[ContractLog]
+

Get all logs that have occurred for this event.

+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*args, contract: ape.contracts.base.ContractTypeWrapper, abi: ethpm_types.abi.EventABI) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+from_receipt(receipt: ReceiptAPI) list[ContractLog]
+

Get all the events from the given receipt.

+
+
Parameters:
+

receipt (ReceiptAPI) – The receipt containing the logs.

+
+
Returns:
+

list[ContractLog]

+
+
+
+ +
+
+property info: str
+

NatSpec info derived from the contract-type developer-documentation.

+
+ +
+
+property name: str
+

The name of the contract event, as defined in the contract.

+
+ +
+
+poll_logs(start_block: int | None = None, stop_block: int | None = None, required_confirmations: int | None = None, new_block_timeout: int | None = None) Iterator[ContractLog]
+

Poll new blocks. Optionally set a start block to include historical blocks.

+

NOTE: This is a daemon method; it does not terminate unless an exception occurs.

+

Usage example:

+
for new_log in contract.MyEvent.poll_logs():
+    print(f"New event log found: block_number={new_log.block_number}")
+
+
+
+
Parameters:
+
    +
  • start_block (Optional[int]) – The block number to start with. Defaults to the pending +block number.

  • +
  • stop_block (Optional[int]) – Optionally set a future block number to stop at. +Defaults to never-ending.

  • +
  • required_confirmations (Optional[int]) – The amount of confirmations to wait +before yielding the block. The more confirmations, the less likely a reorg will occur. +Defaults to the network’s configured required confirmations.

  • +
  • new_block_timeout (Optional[int]) – The amount of time to wait for a new block before +quitting. Defaults to 10 seconds for local networks or 50 * block_time for live +networks.

  • +
+
+
Returns:
+

Iterator[ContractLog]

+
+
+
+ +
+
+query(*columns: str, start_block: int = 0, stop_block: int | None = None, step: int = 1, engine_to_use: str | None = None) DataFrame
+

Iterate through blocks for log events

+
+
Parameters:
+
    +
  • *columns (str) – *-based argument for columns in the DataFrame to +return.

  • +
  • start_block (int) – The first block, by number, to include in the +query. Defaults to 0.

  • +
  • stop_block (Optional[int]) – The last block, by number, to include +in the query. Defaults to the latest block.

  • +
  • step (int) – The number of blocks to iterate between block numbers. +Defaults to 1.

  • +
  • engine_to_use (Optional[str]) – query engine to use, bypasses query +engine selection algorithm.

  • +
+
+
Returns:
+

pd.DataFrame

+
+
+
+ +
+
+range(start_or_stop: int, stop: int | None = None, search_topics: dict[str, Any] | None = None, extra_addresses: list | None = None) Iterator[ContractLog]
+

Search through the logs for this event using the given filter parameters.

+
+
Parameters:
+
    +
  • start_or_stop (int) – When also given stop, this is the earliest +block number in the desired log set. +Otherwise, it is the total amount of blocks to get starting from 0.

  • +
  • stop (Optional[int]) – The latest block number in the +desired log set. Defaults to delegating to provider.

  • +
  • search_topics (Optional[dict]) – Search topics, such as indexed event inputs, +to query by. Defaults to getting all events.

  • +
  • extra_addresses (Optional[list[AddressType]]) – Additional contract addresses containing the same event type. Defaults to +only looking at the contract instance where this event is defined.

  • +
+
+
Returns:
+

Iterator[ContractLog]

+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/exceptions.html b/v0.8.20/methoddocs/exceptions.html new file mode 100644 index 0000000000..c806d90629 --- /dev/null +++ b/v0.8.20/methoddocs/exceptions.html @@ -0,0 +1,617 @@ + + + + + ape.exceptions - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.exceptions

+
+
+exception ape.exceptions.APINotImplementedError
+

Bases: ApeException, NotImplementedError

+

An error raised when an API class does not implement an abstract method.

+
+ +
+
+exception ape.exceptions.Abort(message: str | None = None)
+

Bases: ClickException

+

A wrapper around a CLI exception. When you raise this error, +the error is nicely printed to the terminal. This is +useful for all user-facing errors.

+
+
+show(file=None)
+

Override default show to print CLI errors in red text.

+
+ +
+ +
+
+exception ape.exceptions.AccountsError
+

Bases: ApeException

+

Raised when a problem occurs when using accounts.

+
+ +
+
+exception ape.exceptions.AliasAlreadyInUseError(alias: str)
+

Bases: AccountsError

+

Raised when attempting to add an account using an alias +that already maps to another account.

+
+ +
+
+exception ape.exceptions.ApeAttributeError
+

Bases: ProjectError, AttributeError

+

Raised when trying to access items via . access.

+
+ +
+
+exception ape.exceptions.ApeException
+

Bases: Exception

+

An exception raised by ape.

+
+ +
+
+exception ape.exceptions.ApeIndexError
+

Bases: ApeException, IndexError

+

An exception that is also an IndexError. +Useful for nicely displaying IndexErrors.

+
+ +
+
+exception ape.exceptions.ArgumentsLengthError(arguments_length: int, inputs: MethodABI | ConstructorABI | int | list | None = None, **kwargs)
+

Bases: ContractDataError

+

Raised when calling a contract method with the wrong number of arguments.

+
+ +
+
+exception ape.exceptions.BlockNotFoundError(block_id: BlockID, reason: str | None = None)
+

Bases: ProviderError

+

Raised when unable to find a block.

+
+ +
+
+exception ape.exceptions.ChainError
+

Bases: ApeException

+

Raised when problems occur in the ChainManager.

+
+ +
+
+exception ape.exceptions.CompilerError
+

Bases: ApeException

+

Raised when unable to compile.

+
+ +
+
+exception ape.exceptions.ConfigError
+

Bases: ApeException

+

Raised when a problem occurs from the configuration file.

+
+ +
+
+exception ape.exceptions.ContractDataError
+

Bases: ApeException

+

Raised when issues occur with local contract. +NOTE: This error has nothing to do with on-chain +contract logic errors; it is more about ABI-related +issues and alike.

+
+ +
+
+exception ape.exceptions.ContractLogicError(revert_message: str | None = None, txn: TransactionAPI | ReceiptAPI | None = None, trace: TraceAPI | Callable[[], TraceAPI | None] | None = None, contract_address: AddressType | None = None, source_traceback: SourceTraceback | Callable[[], SourceTraceback | None] | None = None, base_err: Exception | None = None, project: ProjectManager | None = None, set_ape_traceback: bool = True)
+

Bases: VirtualMachineError

+

Raised when there is a contract-defined revert, +such as from an assert/require statement.

+
+
+property dev_message: str | None
+

The dev-string message of the exception.

+
+
Raises:
+

ValueError – When unable to get dev message.

+
+
+
+ +
+
+classmethod from_error(err: Exception)
+

Creates this class from the error message of the given +error.

+

This should be overridden whenever possible to handle +provider-specific use-cases for raising this error.

+
+ +
+ +
+
+exception ape.exceptions.ContractNotFoundError(address: AddressType, has_explorer: bool, network_choice: str)
+

Bases: ChainError

+

Raised when a contract is not found at an address.

+
+ +
+
+exception ape.exceptions.ConversionError
+

Bases: ApeException

+

Raised when unable to convert a value.

+
+ +
+
+exception ape.exceptions.CustomError(abi: ErrorABI, inputs: dict[str, Any], txn: TransactionAPI | ReceiptAPI | None = None, trace: TraceAPI | Callable[[], TraceAPI | None] | None = None, contract_address: AddressType | None = None, base_err: Exception | None = None, source_traceback: SourceTraceback | Callable[[], SourceTraceback | None] | None = None)
+

Bases: ContractLogicError

+

An error defined in a smart contract.

+
+
+property name: str
+

The name of the error.

+
+ +
+ +
+
+exception ape.exceptions.DecodingError(message: str | None = None)
+

Bases: ContractDataError

+

Raised when issues occur while decoding data from +a contract call, transaction, or event.

+
+ +
+
+exception ape.exceptions.EcosystemNotFoundError(ecosystem: str, options: Collection[str] | None = None)
+

Bases: NetworkError

+

Raised when the ecosystem with the given name was not found.

+
+ +
+
+exception ape.exceptions.MethodNonPayableError
+

Bases: ContractDataError

+

Raises when sending funds to a non-payable method

+
+ +
+
+exception ape.exceptions.MissingDeploymentBytecodeError(contract_type: ContractType)
+

Bases: ContractDataError

+

Raised when trying to deploy an interface or empty data.

+
+ +
+
+exception ape.exceptions.NetworkError
+

Bases: ApeException

+

Raised when a problem occurs when using blockchain networks.

+
+ +
+
+exception ape.exceptions.NetworkMismatchError(chain_id: int, network: NetworkAPI)
+

Bases: ProviderError

+

Raised when connecting a provider to the wrong network.

+
+ +
+
+exception ape.exceptions.NetworkNotFoundError(network: str, ecosystem: str | None = None, options: Collection[str] | None = None)
+

Bases: NetworkError

+

Raised when the network with the given name was not found.

+
+ +
+
+exception ape.exceptions.OutOfGasError(code: int | None = None, txn: TransactionAPI | ReceiptAPI | None = None, base_err: Exception | None = None, set_ape_traceback: bool = False)
+

Bases: VirtualMachineError

+

Raised when detecting a transaction failed because it ran +out of gas.

+
+ +
+
+exception ape.exceptions.PluginInstallError
+

Bases: ApeException

+

An error to use when installing a plugin fails.

+
+ +
+
+exception ape.exceptions.PluginVersionError(operation: str, reason: str | None = None, resolution: str | None = None)
+

Bases: PluginInstallError

+

An error related to specified plugin version.

+
+ +
+
+exception ape.exceptions.ProjectError
+

Bases: ApeException

+

Raised when problems occur in a project.

+
+ +
+
+exception ape.exceptions.ProviderError
+

Bases: ApeException

+

Raised when a problem occurs when using providers.

+
+ +
+
+exception ape.exceptions.ProviderNotConnectedError
+

Bases: ProviderError

+

Raised when not connected to a provider.

+
+ +
+
+exception ape.exceptions.ProviderNotFoundError(provider: str, network: str | None = None, ecosystem: str | None = None, options: Collection[str] | None = None)
+

Bases: NetworkError

+

Raised when the provider with the given name was not found.

+
+ +
+
+exception ape.exceptions.QueryEngineError
+

Bases: ApeException

+

Raised when issues occur in a query engine.

+
+ +
+
+exception ape.exceptions.RPCTimeoutError(provider: SubprocessProvider, seconds: int | None = None, exception: Exception | None = None, *args, **kwargs)
+

Bases: SubprocessTimeoutError

+
+ +
+
+exception ape.exceptions.SignatureError
+

Bases: AccountsError

+

Raised when there are issues with signing.

+
+ +
+
+exception ape.exceptions.SubprocessError
+

Bases: ApeException

+

An error raised whilst managing a subprocess.

+
+ +
+
+exception ape.exceptions.SubprocessTimeoutError(provider: SubprocessProvider, message: str | None = None, seconds: int | None = None, exception: Exception | None = None, *args, **kwargs)
+

Bases: SubprocessError

+

A context-manager exception that raises if its operations exceed +the given timeout seconds.

+

This implementation was inspired from py-geth.

+
+ +
+
+exception ape.exceptions.TransactionError(message: str | None = None, base_err: Exception | None = None, code: int | None = None, txn: TransactionAPI | ReceiptAPI | None = None, trace: TraceAPI | Callable[[], TraceAPI | None] | None = None, contract_address: AddressType | None = None, source_traceback: SourceTraceback | Callable[[], SourceTraceback | None] | None = None, project: ProjectManager | None = None, set_ape_traceback: bool = False)
+

Bases: ApeException

+

Raised when issues occur related to transactions.

+
+ +
+
+exception ape.exceptions.TransactionNotFoundError(transaction_hash: str | None = None, error_message: str | None = None)
+

Bases: ProviderError

+

Raised when unable to find a transaction.

+
+ +
+
+exception ape.exceptions.UnknownSnapshotError(snapshot_id: SnapshotID)
+

Bases: ChainError

+

Raised when given an unknown snapshot ID.

+
+ +
+
+exception ape.exceptions.UnknownVersionError(version: str, name: str)
+

Bases: ProjectError

+

Raised when trying to install an unknown version of a package.

+
+ +
+
+exception ape.exceptions.VirtualMachineError(message: str | None = None, base_err: Exception | None = None, code: int | None = None, txn: TransactionAPI | ReceiptAPI | None = None, trace: TraceAPI | Callable[[], TraceAPI | None] | None = None, contract_address: AddressType | None = None, source_traceback: SourceTraceback | Callable[[], SourceTraceback | None] | None = None, project: ProjectManager | None = None, set_ape_traceback: bool = False)
+

Bases: TransactionError

+

Raised when a transaction error occurs in a virtual machine.

+
+ +
+
+ape.exceptions.handle_ape_exception(err: ApeException, base_paths: Iterable[Path | str]) bool
+

Handle a transaction error by showing relevant stack frames, +including custom contract frames added to the exception. +This method must be called within an except block or with +an exception on the exc-stack.

+
+
Parameters:
+
    +
  • err (TransactionError) – The transaction error +being handled.

  • +
  • base_paths (Optional[Iterable[Union[Path, str]]]) – Optionally include additional +source-path prefixes to use when finding relevant frames.

  • +
+
+
Returns:
+

True if outputted something.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/managers.html b/v0.8.20/methoddocs/managers.html new file mode 100644 index 0000000000..a314436077 --- /dev/null +++ b/v0.8.20/methoddocs/managers.html @@ -0,0 +1,3529 @@ + + + + + ape.managers - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.managers

+
+

Accounts

+
+
+class ape.managers.accounts.AccountManager
+

The AccountManager is a container of containers for +AccountAPI objects. +All containers must subclass AccountContainerAPI +and are treated as singletons.

+

Import the accounts manager singleton from the root ape namespace.

+

Usage example:

+
from ape import accounts  # "accounts" is the AccountManager singleton
+
+my_accounts = accounts.load("dev")
+
+
+
+
+__contains__(address: Annotated[ChecksumAddress, _AddressValidator]) bool
+

Determine if the given address matches an account in ape.

+
+
Parameters:
+

address (AddressType) – The address to check.

+
+
Returns:
+

True when the given address is found.

+
+
Return type:
+

bool

+
+
+
+ +
+
+__len__() int
+

The number of accounts managed by all account plugins.

+
+
Returns:
+

int

+
+
+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+property aliases: Iterator[str]
+

All account aliases from every account-related plugin. The “alias” +is part of the AccountAPI. Use the +account alias to load an account using method +load().

+
+
Returns:
+

Iterator[str]

+
+
+
+ +
+
+property containers: dict[str, AccountContainerAPI]
+

A dict of all AccountContainerAPI instances +across all installed plugins.

+
+
Returns:
+

dict[str, AccountContainerAPI]

+
+
+
+ +
+
+get_accounts_by_type(type_: type[AccountAPI]) list[AccountAPI]
+

Get a list of accounts by their type.

+
+
Parameters:
+

type (type[AccountAPI]) – The type of account +to get.

+
+
Returns:
+

list[AccountAPI]

+
+
+
+ +
+
+load(alias: str) AccountAPI
+

Get an account by its alias.

+
+
Raises:
+

KeyError – When there is no local account with the given alias.

+
+
Returns:
+

AccountAPI

+
+
+
+ +
+
+property test_accounts: TestAccountManager
+

Accounts generated from the configured test mnemonic. These accounts +are also the subject of a fixture available in the test plugin called +accounts. Configure these accounts, such as the mnemonic and / or +number-of-accounts using the test section of the ape-config.yaml file.

+

Usage example:

+
def test_my_contract(accounts):
+   # The "accounts" fixture uses the AccountsManager.test_accounts()
+   sender = accounts[0]
+   receiver = accounts[1]
+   ...
+
+
+
+
Returns:
+

TestAccountContainer

+
+
+
+ +
+ +
+
+class ape.managers.accounts.TestAccountManager(iterable=(), /)
+
+
+__contains__(address: Annotated[ChecksumAddress, _AddressValidator]) bool
+

Return key in self.

+
+ +
+
+__getitem__(account_id)
+
+__getitem__(account_id: int)
+
+__getitem__(account_id: slice)
+
+__getitem__(account_str: str)
+

x.__getitem__(y) <==> x[y]

+
+ +
+
+__iter__() Iterator[AccountAPI]
+

Implement iter(self).

+
+ +
+
+__len__() int
+

Return len(self).

+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+impersonate_account(address: Annotated[ChecksumAddress, _AddressValidator]) ImpersonatedAccount
+

Impersonate an account for testing purposes.

+
+
Parameters:
+

address (AddressType) – The address to impersonate.

+
+
+
+ +
+
+stop_impersonating(address: Annotated[ChecksumAddress, _AddressValidator])
+

End the impersonating of an account, if it is being impersonated.

+
+
Parameters:
+

address (AddressType) – The address to stop impersonating.

+
+
+
+ +
+ +
+
+

Compilers

+
+
+class ape.managers.compilers.CompilerManager
+

The singleton that manages CompilerAPI instances. +Each compiler plugin typically contains a single CompilerAPI.

+

NOTE: Typically, users compile their projects using the CLI via ape compile, +which uses the CompilerAPI under-the-hood.

+

Usage example:

+
from ape import compilers  # "compilers" is the CompilerManager singleton
+
+
+
+
+can_trace_source(filename: str) bool
+

Check if Ape is able trace the source lines for the given file. +Checks that both the compiler is registered and that it supports +the trace_source() API method.

+
+
Parameters:
+

filename (str) – The file to check.

+
+
Returns:
+

True when the source is traceable.

+
+
Return type:
+

bool

+
+
+
+ +
+
+compile(contract_filepaths: Path | str | Iterable[Path | str], project: ProjectManager | None = None, settings: dict | None = None) Iterator[ContractType]
+

Invoke ape.ape.compiler.CompilerAPI.compile() for each of the given files. +For example, use the ape-solidity plugin +to compile '.sol' files.

+
+
Raises:
+

CompilerError – When there is no compiler found for the given + file-extension as well as when there are contract-type collisions across compilers.

+
+
Parameters:
+
    +
  • contract_filepaths (Union[Path, str, Iterable[Union[Path, str]]]) – The files to +compile, as pathlib.Path objects or path-strs.

  • +
  • project (Optional[ProjectManager]) – Optionally +compile a different project that the one from the current-working directory.

  • +
  • settings (Optional[Dict]) – Adhoc compiler settings. Defaults to None. +Ensure the compiler name key is present in the dict for it to work.

  • +
+
+
Returns:
+

An iterator of contract types.

+
+
Return type:
+

Iterator[ContractType]

+
+
+
+ +
+
+compile_source(compiler_name: str, code: str, project: ProjectManager | None = None, settings: dict | None = None, **kwargs) ContractContainer
+

Compile the given program.

+

Usage example:

+
code = '[{"name":"foo","type":"fallback", "stateMutability":"nonpayable"}]'
+contract_type = compilers.compile_source(
+    "ethpm",
+    code,
+    contractName="MyContract",
+)
+
+
+
+
Parameters:
+
    +
  • compiler_name (str) – The name of the compiler to use.

  • +
  • code (str) – The source code to compile.

  • +
  • project (Optional[ProjectManager]) – Optionally +compile a different project that the one from the current-working directory.

  • +
  • settings (Optional[dict]) – Compiler settings.

  • +
  • **kwargs (Any) – Additional overrides for the ethpm_types.ContractType model.

  • +
+
+
Returns:
+

A contract container ready to be deployed.

+
+
Return type:
+

ContractContainer

+
+
+
+ +
+
+enrich_error(err: ContractLogicError) ContractLogicError
+

Enrich a contract logic error using compiler information, such +known PC locations for compiler runtime errors.

+
+
Parameters:
+

err (ContractLogicError) – The exception +to enrich.

+
+
Returns:
+

The enriched exception.

+
+
Return type:
+

ContractLogicError

+
+
+
+ +
+
+flatten_contract(path: Path, **kwargs) Content
+

Get the flattened version of a contract via its source path. +Delegates to the matching CompilerAPI.

+
+
Parameters:
+

path (pathlib.Path) – The source path of the contract.

+
+
Returns:
+

The flattened contract content.

+
+
Return type:
+

ethpm_types.source.Content

+
+
+
+ +
+
+get_custom_error(err: ContractLogicError) CustomError | None
+

Get a custom error for the given contract logic error using the contract-type +found from address-data in the error. Returns None if the given error is +not a custom-error or it is not able to find the associated contract type or +address.

+
+
Parameters:
+

err (ContractLogicError) – The error to enrich +as a custom error.

+
+
Returns:
+

Optional[CustomError]

+
+
+
+ +
+
+get_imports(contract_filepaths: Sequence[Path], project: ProjectManager | None = None) dict[str, list[str]]
+

Combine import dicts from all compilers, where the key is a contract’s source_id +and the value is a list of import source_ids.

+
+
Parameters:
+
    +
  • contract_filepaths (Sequence[pathlib.Path]) – A list of source file paths to compile.

  • +
  • project (Optional[ProjectManager]) – Optionally provide +the project.

  • +
+
+
Returns:
+

A dictionary like {source_id: [import_source_id, ...], ...}

+
+
Return type:
+

dict[str, list[str]]

+
+
+
+ +
+
+get_references(imports_dict: dict[str, list[str]]) dict[str, list[str]]
+

Provide a mapping containing all referenced source_ids for a given project. +Each entry contains a source_id as a key and list of source_ids that reference a +given contract.

+
+
Parameters:
+

imports_dict (dict[str, list[str]]) – A dictionary of source_ids from all compilers.

+
+
Returns:
+

A dictionary like {source_id: [referring_source_id, ...], ...}

+
+
Return type:
+

dict[str, list[str]]

+
+
+
+ +
+
+property registered_compilers: dict[str, CompilerAPI]
+

Each compile-able file extension mapped to its respective +CompilerAPI instance.

+
+
Returns:
+

The mapping of file-extensions +to compiler API classes.

+
+
Return type:
+

dict[str, CompilerAPI]

+
+
+
+ +
+ +
+
+

Chain

+
+
+class ape.managers.chain.TransactionHistory
+

A container mapping Transaction History to the transaction from the active session.

+
+
+append(txn_receipt: ReceiptAPI)
+

Add a transaction to the cache This is useful for sessional-transactions.

+
+
Raises:
+

ChainError – When trying to append a transaction + receipt that is already in the list.

+
+
Parameters:
+

txn_receipt (ReceiptAPI) – The transaction receipt.

+
+
+
+ +
+
+revert_to_block(block_number: int)
+

Remove all receipts past the given block number.

+
+
Parameters:
+

block_number (int) – The block number to revert to.

+
+
+
+ +
+ +
+
+class ape.managers.chain.AccountHistory(*, address: Annotated[ChecksumAddress, _AddressValidator], sessional: list[ReceiptAPI] = [])
+

A container mapping account addresses to the transaction from the active session.

+
+
+__iter__() Iterator[ReceiptAPI]
+

So dict(model) works.

+
+ +
+
+__len__() int
+

The transaction count of the address.

+
+ +
+
+__signature__: ClassVar[Signature] = <Signature (*, address: typing.Annotated[eth_typing.evm.ChecksumAddress, <class 'ape.types.address._AddressValidator'>], sessional: list[ape.api.transactions.ReceiptAPI] = []) -> None>
+

The synthesized __init__ [Signature][inspect.Signature] of the model.

+
+ +
+
+address: Annotated[ChecksumAddress, _AddressValidator]
+

The address to get history for.

+
+ +
+
+append(receipt: ReceiptAPI)
+

Add a receipt to the sessional cache.

+
+
Parameters:
+

receipt (ReceiptAPI) – The receipt to append.

+
+
+
+ +
+
+property outgoing: Iterator[ReceiptAPI]
+

All outgoing transactions, from earliest to latest.

+
+ +
+
+query(*columns: str, start_nonce: int = 0, stop_nonce: int | None = None, engine_to_use: str | None = None) DataFrame
+

A method for querying transactions made by an account and returning an Iterator. +If you do not provide a starting nonce, the first transaction is assumed. +If you do not provide a stopping block, the last transaction is assumed. +You can pass engine_to_use to short-circuit engine selection.

+
+
Raises:
+

ChainError – When stop_nonce is greater + than the account’s current nonce.

+
+
Parameters:
+
    +
  • *columns (str) – columns in the DataFrame to return

  • +
  • start_nonce (int) – The first transaction, by nonce, to include in the +query. Defaults to 0.

  • +
  • stop_nonce (Optional[int]) – The last transaction, by nonce, to include +in the query. Defaults to the latest transaction.

  • +
  • engine_to_use (Optional[str]) – query engine to use, bypasses query +engine selection algorithm.

  • +
+
+
Returns:
+

pd.DataFrame

+
+
+
+ +
+
+revert_to_block(block_number: int)
+

Remove all receipts after the given block number.

+
+
Parameters:
+

block_number (int) – The block number to revert to.

+
+
+
+ +
+
+sessional: list[ReceiptAPI]
+

The receipts from the current Python session.

+
+ +
+ +
+
+class ape.managers.chain.ContractCache
+

A collection of cached contracts. Contracts can be cached in two ways:

+
    +
  1. An in-memory cache of locally deployed contracts

  2. +
  3. A cache of contracts per network (only permanent networks are stored this way)

  4. +
+

When retrieving a contract, if a ExplorerAPI is used, +it will be cached to disk for faster look-up next time.

+
+
+__delitem__(address: Annotated[ChecksumAddress, _AddressValidator])
+

Delete a cached contract. +If using a live network, it will also delete the file-cache for the contract.

+
+
Parameters:
+

address (AddressType) – The address to remove from the cache.

+
+
+
+ +
+
+__setitem__(address: Annotated[ChecksumAddress, _AddressValidator], contract_type: ContractType)
+

Cache the given contract type. Contracts are cached in memory per session. +In live networks, contracts also get cached to disk at +.ape/{ecosystem_name}/{network_name}/contract_types/{address}.json +for faster look-up next time.

+
+
Parameters:
+
    +
  • address (AddressType) – The on-chain address of the contract.

  • +
  • contract_type (ContractType) – The contract’s type.

  • +
+
+
+
+ +
+
+cache_blueprint(blueprint_id: str, contract_type: ContractType)
+

Cache a contract blueprint.

+
+
Parameters:
+
    +
  • blueprint_id (str) – The ID of the blueprint. For example, in EIP-5202, +it would be the address of the deployed blueprint. For Starknet, it would +be the class identifier.

  • +
  • contract_type (ContractType) – The contract type associated with the blueprint.

  • +
+
+
+
+ +
+
+cache_deployment(contract_instance: ContractInstance)
+

Cache the given contract instance’s type and deployment information.

+
+
Parameters:
+

contract_instance (ContractInstance) – The contract +to cache.

+
+
+
+ +
+
+cache_proxy_info(address: Annotated[ChecksumAddress, _AddressValidator], proxy_info: ProxyInfoAPI)
+

Cache proxy info for a particular address, useful for plugins adding already +deployed proxies. When you deploy a proxy locally, it will also call this method.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the proxy contract.

  • +
  • proxy_info (ProxyInfo) – The proxy info class +to cache.

  • +
+
+
+
+ +
+
+clear_local_caches()
+

Reset local caches to a blank state.

+
+ +
+
+get(address: Annotated[ChecksumAddress, _AddressValidator], default: ContractType | None = None) ContractType | None
+

Get a contract type by address. +If the contract is cached, it will return the contract from the cache. +Otherwise, if on a live network, it fetches it from the +ExplorerAPI.

+
+
Parameters:
+
    +
  • address (AddressType) – The address of the contract.

  • +
  • default (Optional[ContractType]) – A default contract when none is found. +Defaults to None.

  • +
+
+
Returns:
+

+
The contract type if it was able to get one,

otherwise the default parameter.

+
+
+

+
+
Return type:
+

Optional[ContractType]

+
+
+
+ +
+
+get_blueprint(blueprint_id: str) ContractType | None
+

Get a cached blueprint contract type.

+
+
Parameters:
+

blueprint_id (str) – The unique identifier used when caching +the blueprint.

+
+
Returns:
+

ContractType

+
+
+
+ +
+
+classmethod get_container(contract_type: ContractType) ContractContainer
+

Get a contract container for the given contract type.

+
+
Parameters:
+

contract_type (ContractType) – The contract type to wrap.

+
+
Returns:
+

A container object you can deploy.

+
+
Return type:
+

ContractContainer

+
+
+
+ +
+
+get_creation_metadata(address: Annotated[ChecksumAddress, _AddressValidator]) ContractCreation | None
+

Get contract creation metadata containing txn_hash, deployer, factory, block.

+
+
Parameters:
+

address (AddressType) – The address of the contract.

+
+
Returns:
+

Optional[ContractCreation]

+
+
+
+ +
+
+get_deployments(contract_container: ContractContainer) list[ContractInstance]
+

Retrieves previous deployments of a contract container or contract type. +Locally deployed contracts are saved for the duration of the script and read from +_local_deployments_mapping, while those deployed on a live network are written to +disk in deployments_map.json.

+
+
Parameters:
+

contract_container (ContractContainer) – The +ContractContainer with deployments.

+
+
Returns:
+

Returns a list of contracts that +have been deployed.

+
+
Return type:
+

list[ContractInstance]

+
+
+
+ +
+
+get_multiple(addresses: Collection[Annotated[ChecksumAddress, _AddressValidator]], concurrency: int | None = None) dict[Annotated[ChecksumAddress, _AddressValidator], ContractType]
+

Get contract types for all given addresses.

+
+
Parameters:
+
    +
  • addresses (list[AddressType) – A list of addresses to get contract types for.

  • +
  • concurrency (Optional[int]) – The number of threads to use. Defaults to +min(4, len(addresses)).

  • +
+
+
Returns:
+

A mapping of addresses to their respective +contract types.

+
+
Return type:
+

dict[AddressType, ContractType]

+
+
+
+ +
+
+get_proxy_info(address: Annotated[ChecksumAddress, _AddressValidator]) ProxyInfoAPI | None
+

Get proxy information about a contract using its address, +either from a local cache, a disk cache, or the provider.

+
+
Parameters:
+

address (AddressType) – The address of the proxy contract.

+
+
Returns:
+

Optional[ProxyInfoAPI]

+
+
+
+ +
+
+instance_at(address: str | Annotated[ChecksumAddress, _AddressValidator], contract_type: ContractType | None = None, txn_hash: str | HexBytes | None = None, abi: list[ConstructorABI | FallbackABI | ReceiveABI | MethodABI | EventABI | ErrorABI | StructABI | UnprocessedABI] | dict | str | Path | None = None) ContractInstance
+

Get a contract at the given address. If the contract type of the contract is known, +either from a local deploy or a ExplorerAPI, it will use that +contract type. You can also provide the contract type from which it will cache and use +next time.

+
+
Raises:
+
    +
  • TypeError – When passing an invalid type for the contract_type arguments + (expects ContractType).

  • +
  • ContractNotFoundError – When the contract type is not found.

  • +
+
+
Parameters:
+
    +
  • address (Union[str, AddressType]) – The address of the plugin. If you are using the ENS +plugin, you can also provide an ENS domain name.

  • +
  • contract_type (Optional[ContractType]) – Optionally provide the contract type +in case it is not already known.

  • +
  • txn_hash (Optional[Union[str, HexBytes]]) – The hash of the transaction responsible for +deploying the contract, if known. Useful for publishing. Defaults to None.

  • +
  • abi (Optional[Union[list[ABI], dict, str, Path]]) – Use an ABI str, dict, path, +or ethpm models to create a contract instance class.

  • +
+
+
Returns:
+

ContractInstance

+
+
+
+ +
+
+instance_from_receipt(receipt: ReceiptAPI, contract_type: ContractType) ContractInstance
+

A convenience method for creating instances from receipts.

+
+
Parameters:
+

receipt (ReceiptAPI) – The receipt.

+
+
Returns:
+

ContractInstance

+
+
+
+ +
+ +
+
+class ape.managers.chain.BlockContainer
+

A list of blocks on the chain.

+

Usages example:

+
from ape import chain
+
+latest_block = chain.blocks[-1]
+
+
+
+
+__getitem__(block_number: int) BlockAPI
+

Get a block by number. Negative numbers start at the chain head and +move backwards. For example, -1 would be the latest block and +-2 would be the block prior to that one, and so on.

+
+
Parameters:
+

block_number (int) – The number of the block to get.

+
+
Returns:
+

BlockAPI

+
+
+
+ +
+
+__iter__() Iterator[BlockAPI]
+

Iterate over all the current blocks.

+
+
Returns:
+

Iterator[BlockAPI]

+
+
+
+ +
+
+__len__() int
+

The number of blocks in the chain.

+
+
Returns:
+

int

+
+
+
+ +
+
+property head: BlockAPI
+

The latest block.

+
+ +
+
+property height: int
+

The latest block number.

+
+ +
+
+poll_blocks(start_block: int | None = None, stop_block: int | None = None, required_confirmations: int | None = None, new_block_timeout: int | None = None) Iterator[BlockAPI]
+

Poll new blocks. Optionally set a start block to include historical blocks.

+

NOTE: When a chain reorganization occurs, this method logs an error and +yields the missed blocks, even if they were previously yielded with different +block numbers.

+

NOTE: This is a daemon method; it does not terminate unless an exception occurs +or a stop_block is given.

+

Usage example:

+
from ape import chain
+
+for new_block in chain.blocks.poll_blocks():
+    print(f"New block found: number={new_block.number}")
+
+
+
+
Parameters:
+
    +
  • start_block (Optional[int]) – The block number to start with. Defaults to the pending +block number.

  • +
  • stop_block (Optional[int]) – Optionally set a future block number to stop at. +Defaults to never-ending.

  • +
  • required_confirmations (Optional[int]) – The amount of confirmations to wait +before yielding the block. The more confirmations, the less likely a reorg will occur. +Defaults to the network’s configured required confirmations.

  • +
  • new_block_timeout (Optional[float]) – The amount of time to wait for a new block before +timing out. Defaults to 10 seconds for local networks or 50 * block_time for live +networks.

  • +
+
+
Returns:
+

Iterator[BlockAPI]

+
+
+
+ +
+
+query(*columns: str, start_block: int = 0, stop_block: int | None = None, step: int = 1, engine_to_use: str | None = None) DataFrame
+

A method for querying blocks and returning an Iterator. If you +do not provide a starting block, the 0 block is assumed. If you do not +provide a stopping block, the last block is assumed. You can pass +engine_to_use to short-circuit engine selection.

+
+
Raises:
+

ChainError – When stop_block is greater + than the chain length.

+
+
Parameters:
+
    +
  • *columns (str) – columns in the DataFrame to return

  • +
  • start_block (int) – The first block, by number, to include in the +query. Defaults to 0.

  • +
  • stop_block (Optional[int]) – The last block, by number, to include +in the query. Defaults to the latest block.

  • +
  • step (int) – The number of blocks to iterate between block numbers. +Defaults to 1.

  • +
  • engine_to_use (Optional[str]) – query engine to use, bypasses query +engine selection algorithm.

  • +
+
+
Returns:
+

pd.DataFrame

+
+
+
+ +
+
+range(start_or_stop: int, stop: int | None = None, step: int = 1, engine_to_use: str | None = None) Iterator[BlockAPI]
+

Iterate over blocks. Works similarly to python range().

+
+
Raises:
+
    +
  • ChainError – When stop is greater + than the chain length.

  • +
  • ChainError – When stop is less + than start_block.

  • +
  • ChainError – When stop is less + than 0.

  • +
  • ChainError – When start is less + than 0.

  • +
+
+
Parameters:
+
    +
  • start_or_stop (int) – When given just a single value, it is the stop. +Otherwise, it is the start. This mimics the behavior of range +built-in Python function.

  • +
  • stop (Optional[int]) – The block number to stop before. Also the total +number of blocks to get. If not setting a start value, is set by +the first argument.

  • +
  • step (Optional[int]) – The value to increment by. Defaults to 1. +number of blocks to get. Defaults to the latest block.

  • +
  • engine_to_use (Optional[str]) – query engine to use, bypasses query +engine selection algorithm.

  • +
+
+
Returns:
+

Iterator[BlockAPI]

+
+
+
+ +
+ +
+
+class ape.managers.chain.ChainManager
+

A class for managing the state of the active blockchain. +Also handy for querying data about the chain and managing local caches. +Access the chain manager singleton from the root ape namespace.

+

Usage example:

+
from ape import chain
+
+
+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+property base_fee: int
+

The minimum value required to get your transaction included on the next block. +Only providers that implement EIP-1559 +will use this property.

+
+
Raises:
+

NotImplementedError – When this provider does not implement + EIP-1559.

+
+
+
+ +
+
+property blocks: BlockContainer
+

The list of blocks on the chain.

+
+ +
+
+property chain_id: int
+

The blockchain ID. +See ChainList for a comprehensive list of IDs.

+
+ +
+
+property gas_price: int
+

The price for what it costs to transact.

+
+ +
+
+get_receipt(transaction_hash: str) ReceiptAPI
+

Get a transaction receipt from the chain.

+
+
Parameters:
+

transaction_hash (str) – The hash of the transaction.

+
+
Returns:
+

ReceiptAPI

+
+
+
+ +
+
+property history: TransactionHistory
+

A mapping of transactions from the active session to the account responsible.

+
+ +
+
+isolate()
+

Run code in an isolated context. +Requires using a local provider that supports snapshotting.

+

Usages example:

+
owner = accounts[0]
+with chain.isolate():
+    contract = owner.deploy(project.MyContract)
+    receipt = contract.fooBar(sender=owner)
+
+
+
+ +
+
+mine(num_blocks: int = 1, timestamp: int | None = None, deltatime: int | None = None) None
+

Mine any given number of blocks.

+
+
Raises:
+

ValueError – When a timestamp AND a deltatime argument are both passed

+
+
Parameters:
+
    +
  • num_blocks (int) – Choose the number of blocks to mine. +Defaults to 1 block.

  • +
  • timestamp (Optional[int]) – Designate a time (in seconds) to begin mining. +Defaults to None.

  • +
  • deltatime (Optional[int]) – Designate a change in time (in seconds) to begin mining. +Defaults to None.

  • +
+
+
+
+ +
+
+property pending_timestamp: int
+

The current epoch time of the chain, as an int. +You can also set the timestamp for development purposes.

+

Usage example:

+
from ape import chain
+chain.pending_timestamp += 3600
+
+
+
+ +
+
+restore(snapshot_id: SnapshotID | None = None)
+

Regress the current call using the given snapshot ID. +Allows developers to go back to a previous state.

+
+
Raises:
+
    +
  • NotImplementedError – When the active provider does not support + snapshotting.

  • +
  • UnknownSnapshotError – When the snapshot ID is not cached.

  • +
  • ChainError – When there are no snapshot IDs to select from.

  • +
+
+
Parameters:
+

snapshot_id (Optional[SnapshotID]) – The snapshot ID. Defaults +to the most recent snapshot ID.

+
+
+
+ +
+
+snapshot() SnapshotID
+

Record the current state of the blockchain with intent to later +call the method revert() +to go back to this point. This method is for local networks only.

+
+
Raises:
+

NotImplementedError – When the active provider does not support + snapshotting.

+
+
Returns:
+

The snapshot ID.

+
+
Return type:
+

SnapshotID

+
+
+
+ +
+ +
+
+

Config

+
+
+class ape.managers.config.ConfigManager(data_folder: Path | None = None, request_header: dict | None = None)
+

An Ape configuration manager, controlled by ape-config.yaml +files. NOTE: This is a singleton wrapper class that +points to the local project’s config. For the config field +definitions, see ApeConfig.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+__str__() str
+

Return str(self).

+
+ +
+
+classmethod extract_config(manifest: PackageManifest, **overrides) ApeConfig
+

Calculate the ape-config data from a package manifest.

+
+
Parameters:
+
    +
  • manifest (PackageManifest) – The manifest.

  • +
  • **overrides – Custom config settings.

  • +
+
+
Returns:
+

Config data.

+
+
Return type:
+

ApeConfig

+
+
+
+ +
+
+property global_config: ApeConfig
+

Root-level configurations, loaded from the +data folder. NOTE: This only needs to load +once and applies to all projects.

+
+ +
+
+isolate_data_folder() Iterator[Path]
+

Change Ape’s DATA_FOLDER to point a temporary path, +in a context, for testing purposes. Any data +cached to disk will not persist.

+
+ +
+ +
+
+

Converters

+
+
+class ape.managers.converters.AccountIntConverter
+
+
+convert(value: BaseAddress) int
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.AddressAPIConverter
+

A converter that converts an BaseAddress +to a :class`~ape.types.address.AddressType`.

+
+
+convert(value: BaseAddress) Annotated[ChecksumAddress, _AddressValidator]
+

Convert the given value to AddressType.

+
+
Parameters:
+

value (str) – The value to convert.

+
+
Returns:
+

An alias to +ChecksumAddress. # noqa: E501

+
+
Return type:
+

AddressType

+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.BytesAddressConverter
+

A converter that converts a raw bytes address to an AddressType.

+
+
+convert(value: bytes) Annotated[ChecksumAddress, _AddressValidator]
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.ConversionManager
+

A singleton that manages all the converters.

+

NOTE: typically, users will not interact with this class directly, +but rather its convert() method, which is accessible from +the root ape namespace.

+

Usage example:

+
from ape import convert
+
+amount = convert("1 gwei", int)
+
+
+
+
+convert(value: Any, to_type: type | tuple | list) Any
+

Convert the given value to the given type. This method accesses +all ConverterAPI instances known to +ape` and selects the appropriate one, so long that it exists.

+
+
Raises:
+

ConversionError – When there is not a registered + converter for the given arguments.

+
+
Parameters:
+
    +
  • value (any) – The value to convert.

  • +
  • to_type (to_type) – The type to convert the value to.

  • +
+
+
Returns:
+

The same given value but with the new given type.

+
+
Return type:
+

any

+
+
+
+ +
+
+is_type(value: Any, to_type: type) bool
+

Check if the value is the given type. +If given an AddressType, will also check +that it is checksummed.

+
+
Parameters:
+
    +
  • value (any) – The value to check.

  • +
  • to_type (type) – The type to check against.

  • +
+
+
Returns:
+

True when we consider the given value to be the given type.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.HexAddressConverter
+

A converter that converts a checksummed address str to a +AddressType.

+
+
+convert(value: str) Annotated[ChecksumAddress, _AddressValidator]
+

Convert the given value to a AddressType.

+
+
Parameters:
+

value (str) – The address str to convert.

+
+
Returns:
+

AddressType

+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.HexConverter
+

A converter that converts str to HexBytes. +NOTE: This utility converter ensures that all bytes args can accept hex too

+
+
+convert(value: str) bytes
+

Convert the given value to HexBytes.

+
+
Parameters:
+

value (str) – The value to convert.

+
+
Returns:
+

bytes

+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.HexIntConverter
+

Convert hex values to integers.

+

NOTE If value is a str, it must begin with “0x”.

+
+
+convert(value: Any) int
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.HexIterableConverter
+

Convert list of hex values to single concatenated HexBytes value.

+
+
+convert(value: Any) bytes
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.IntAddressConverter
+

A converter that converts an integer address to an AddressType.

+
+
+convert(value: Any) Annotated[ChecksumAddress, _AddressValidator]
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.StringDecimalConverter
+

Convert string-formatted floating point values to Decimal type.

+
+
+convert(value: str) Decimal
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.StringIntConverter
+
+
+convert(value: str) int
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: Any) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+class ape.managers.converters.TimestampConverter
+

Converts either a string, datetime object, or a timedelta object to a timestamp. +No timezone required, but should be formatted to UTC.

+
+
+convert(value: str | datetime | timedelta) int
+

Convert the given value to the type specified as the generic for this class. +Implementations of this API must throw a ConversionError +when the item fails to convert properly.

+

Usage example:

+
from ape import convert
+from ape.types import AddressType
+
+convert("1 gwei", int)
+# 1000000000
+
+convert("1 ETH", int)
+# 1000000000000000000
+
+convert("0x283Af0B28c62C092C9727F1Ee09c02CA627EB7F5", bytes)
+# HexBytes('0x283af0b28c62c092c9727f1ee09c02ca627eb7f5')
+
+convert("vitalik.eth", AddressType) # with ape-ens plugin installed
+# '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
+
+
+
+ +
+
+is_convertible(value: str | datetime | timedelta) bool
+

Returns True if string value provided by value is convertible using +ape.api.convert.ConverterAPI.convert().

+
+
Parameters:
+

value (Any) – The value to check.

+
+
Returns:
+

True when the given value can be converted.

+
+
Return type:
+

bool

+
+
+
+ +
+ +
+
+

Networks

+
+
+class ape.managers.networks.NetworkManager
+

The set of all blockchain network ecosystems registered from the plugin system. +Typically, you set the provider via the --network command line option. +However, use this singleton for more granular access to networks.

+

Usage example:

+
from ape import networks
+
+# "networks" is the NetworkManager singleton
+with networks.ethereum.mainnet.use_provider("node"):
+   ...
+
+
+
+
+property active_provider: ProviderAPI | None
+

The currently connected provider if one exists. Otherwise, returns None.

+
+ +
+
+create_custom_provider(connection_str: str, provider_cls: type[ProviderAPI] = <class 'ape_ethereum.provider.EthereumNodeProvider'>, provider_name: str | None = None) ProviderAPI
+

Create a custom connection to a URI using the EthereumNodeProvider provider. +NOTE: This provider will assume EVM-like behavior and this is generally not recommended. +Use plugins when possible!

+
+
Parameters:
+
    +
  • connection_str (str) – The connection string of the node, such as its URI +when using HTTP.

  • +
  • provider_cls (type[ProviderAPI]) – Defaults to +EthereumNodeProvider.

  • +
  • provider_name (Optional[str]) – The name of the provider. Defaults to best guess.

  • +
+
+
Returns:
+

+
The Geth provider

implementation that comes with Ape.

+
+
+

+
+
Return type:
+

ProviderAPI

+
+
+
+ +
+
+property custom_networks: list[dict]
+

Custom network data defined in various ape-config files +or added adhoc to the network manager.

+
+ +
+
+property default_ecosystem: EcosystemAPI
+

The default ecosystem. Call +set_default_ecosystem() to +change the default ecosystem. If a default is not set and there is +only a single ecosystem installed, such as Ethereum, then get +that ecosystem.

+
+ +
+
+property ecosystem: EcosystemAPI
+

The current ecosystem if connected to one.

+
+
Raises:
+

ProviderNotConnectedError – When there is + no active provider at runtime.

+
+
Returns:
+

ProviderAPI

+
+
+
+ +
+
+property ecosystem_names: set[str]
+

The set of all ecosystem names in ape.

+
+ +
+
+property ecosystems: dict[str, EcosystemAPI]
+

All the registered ecosystems in ape, such as ethereum.

+
+ +
+
+fork(provider_name: str | None = None, provider_settings: dict | None = None, block_number: int | None = None) ProviderContextManager
+

Fork the currently connected network.

+
+
Parameters:
+
    +
  • provider_name (str, optional) – The name of the provider to get. Defaults to None. +When None, returns the default provider.

  • +
  • provider_settings (dict, optional) – Settings to apply to the provider. Defaults to +None.

  • +
  • block_number (Optional[int]) – Optionally specify the block number you wish to fork. +Negative block numbers are relative to HEAD. Defaults to the configured fork +block number or HEAD.

  • +
+
+
Returns:
+

ProviderContextManager

+
+
+
+ +
+
+get_ecosystem(ecosystem_name: str) EcosystemAPI
+

Get the ecosystem for the given name.

+
+
Parameters:
+

ecosystem_name (str) – The name of the ecosystem to get.

+
+
Raises:
+

NetworkError – When the ecosystem is not found.

+
+
Returns:
+

EcosystemAPI

+
+
+
+ +
+
+get_network_choices(ecosystem_filter: list[str] | str | None = None, network_filter: list[str] | str | None = None, provider_filter: list[str] | str | None = None) Iterator[str]
+

The set of all possible network choices available as a “network selection” +e.g. --network [ECOSYSTEM:NETWORK:PROVIDER].

+

Each value is in the form ecosystem:network:provider and shortened options also +appear in the list. For example, ::node would default to :ethereum:local:node +and both will be in the returned list. The values come from each +ProviderAPI that is installed.

+

Use the CLI command ape networks list to list all the possible network +combinations.

+
+
Parameters:
+
    +
  • ecosystem_filter (Optional[Union[list[str], str]]) – Get only the specified ecosystems. +Defaults to getting all ecosystems.

  • +
  • network_filter (Optional[Union[list[str], str]]) – Get only the specified networks. +Defaults to getting all networks in ecosystems.

  • +
  • provider_filter (Optional[Union[list[str], str]]) – Get only the specified providers. +Defaults to getting all providers in networks.

  • +
+
+
Returns:
+

An iterator over all the network-choice possibilities.

+
+
Return type:
+

Iterator[str]

+
+
+
+ +
+
+get_provider_from_choice(network_choice: str | None = None, provider_settings: dict | None = None) ProviderAPI
+

Get a ProviderAPI from a network choice. +A network choice is any value returned from +get_network_choices(). Use the +CLI command ape networks list to list all the possible network +combinations.

+
+
Raises:
+

NetworkError – When the given network choice does not + match any known network.

+
+
Parameters:
+
    +
  • network_choice (str, optional) – The network choice +(see get_network_choices()). +Defaults to the default ecosystem, network, and provider combination.

  • +
  • provider_settings (dict, optional) – Settings for the provider. Defaults to None.

  • +
+
+
Returns:
+

ProviderAPI

+
+
+
+ +
+
+get_request_headers(ecosystem_name: str, network_name: str, provider_name: str) RPCHeaders
+

All request headers to be used when connecting to this network.

+
+ +
+
+property network: NetworkAPI
+

The current network if connected to one.

+
+
Raises:
+

ProviderNotConnectedError – When there is + no active provider at runtime.

+
+
Returns:
+

NetworkAPI

+
+
+
+ +
+
+property network_data: dict
+

Get a dictionary containing data about networks in the ecosystem.

+

NOTE: The keys are added in an opinionated order for nicely +translating into yaml.

+
+
Returns:
+

dict

+
+
+
+ +
+
+property network_names: set[str]
+

The set of all network names in ape.

+
+ +
+
+parse_network_choice(network_choice: str | None = None, provider_settings: dict | None = None, disconnect_after: bool = False, disconnect_on_exit: bool = True) ProviderContextManager
+

Parse a network choice into a context manager for managing a temporary +connection to a provider. See +get_network_choices() for all +available choices (or use CLI command ape networks list).

+
+
Raises:
+

NetworkError – When the given network choice does not + match any known network.

+
+
Parameters:
+
    +
  • network_choice (str, optional) – The network choice +(see get_network_choices()). +Defaults to the default ecosystem, network, and provider combination.

  • +
  • provider_settings (dict, optional) – Settings for the provider. Defaults to None.

  • +
  • disconnect_after (bool) – Set to True to terminate the connection completely +at the end of context. NOTE: May only work if the network was also started +from this session.

  • +
  • disconnect_on_exit (bool) – Whether to disconnect on the exit of the python +session. Defaults to True.

  • +
+
+
Returns:
+

ProviderContextManager

+
+
+
+ +
+
+property provider_names: set[str]
+

The set of all provider names in ape.

+
+ +
+
+set_default_ecosystem(ecosystem_name: str)
+

Change the default ecosystem.

+
+
Raises:
+

NetworkError – When the given ecosystem name is unknown.

+
+
Parameters:
+

ecosystem_name (str) – The name of the ecosystem to set +as the default.

+
+
+
+ +
+ +
+
+

Project

+
+
+class ape.managers.project.ContractManager(project: LocalProject, sources: SourceManager)
+

Local contract-type loader. Only dict-like behavior is public.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+get(name: str, compile_missing: bool = True, check_for_changes: bool = True) ContractContainer | None
+

Get a contract by name.

+
+
Parameters:
+
    +
  • name (str) – The name of the contract.

  • +
  • compile_missing (bool) – Set to False to not attempt compiling +if the contract can’t be found. Note: modified sources are +re-compiled regardless of this flag.

  • +
  • check_for_changes (bool) – Set to False if avoiding checking +for changes.

  • +
+
+
Returns:
+

ContractContainer | None

+
+
+
+ +
+ +
+
+class ape.managers.project.Dependency(api: DependencyAPI, project: ProjectManager | None = None)
+

A wrapper around a dependency. +Users will not create this class directly but access +them from project.dependencies.

+
+
+__eq__(other: Any) bool
+

Return self==value.

+
+ +
+
+__hash__()
+

Return hash(self).

+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+property api_path: Path
+

The path to the dependency’s API data-file. This data is necessary +for managing the install of the dependency.

+
+ +
+
+compile(use_cache: bool = True, config_override: dict | None = None) dict[str, ContractContainer]
+

Compile a dependency.

+
+
Parameters:
+
    +
  • use_cache (bool) – Set to False to force a re-compile.

  • +
  • config_override (Optional[dict]) – Optionally override the configuration, +which may be needed for compiling.

  • +
+
+
Returns:
+

dict[str, ContractContainer]

+
+
+
+ +
+
+install(use_cache: bool = True, config_override: dict | None = None) ProjectManager
+

Install this dependency.

+
+
Parameters:
+
    +
  • use_cache (bool) – To force a re-install, like a refresh, set this +to False.

  • +
  • config_override (dict) – Optionally change the configuration during install.

  • +
+
+
Returns:
+

The resulting project, ready +for compiling.

+
+
Return type:
+

ProjectManager

+
+
+
+ +
+
+property installed: bool
+

Installed does not mean +the dependency is compiled!

+
+
Type:
+

True when a project is available. Note

+
+
+
+ +
+
+property manifest_path: Path
+

The path to the dependency’s manifest. When compiling, the artifacts go here.

+
+ +
+
+property name: str
+

The short-name of the dependency, used for remappings.

+
+ +
+
+property package_id: str
+

The long-name of the dependency, used as an ID.

+
+ +
+
+property project: ProjectManager
+

The “project” of the dependency, use like any other +project in Ape (compile and interact with its contracts).

+
+ +
+
+property project_path: Path
+

The path to the dependency’s project root. When installing, this +is where the project files go.

+
+ +
+
+unpack(path: Path) Iterator[Dependency]
+

Move dependencies into a .cache folder. Also unpacks +dependencies of dependencies. Ideal for tmp-projects.

+
+
Parameters:
+

path (Path) – The destination where to unpack sources.

+
+
Returns:
+

Iterates over every dependency unpacked, so the user +knows the dependencies of dependencies.

+
+
+
+ +
+
+property uri: str
+

The dependency’s URI for refreshing.

+
+ +
+
+property version: str
+

The version of the dependency. Combined with the +package_id, you have a full identifier of the package.

+
+ +
+ +
+
+class ape.managers.project.DependencyManager(project: ProjectManager | None = None)
+

Manage dependencies for an Ape project. +Note: Every project gets its own dependency-set (DependencyManager).

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+add(dependency: dict | DependencyAPI) Dependency
+

Add the dependency API data. This sets up a dependency such that +it can be fetched.

+
+
Parameters:
+

dependency (dict | DependencyAPI) – The +API data necessary for fetching the dependency.

+
+
Returns:
+

~ape.managers.project.Dependency

+
+
Return type:
+

class

+
+
+
+ +
+
+decode_dependency(**item: Any) DependencyAPI
+

Decode data into a DependencyAPI.

+
+
Parameters:
+

**item – The same data you put in your dependencies: config.

+
+
Raises:
+

ProjectError – When unable to handle the + given API data.

+
+
Returns:
+

DependencyAPI

+
+
+
+ +
+
+get_dependency(dependency_id: str, version: str, allow_install: bool = True) Dependency
+

Get a dependency.

+
+
Parameters:
+
    +
  • dependency_id (str) – The package ID of the dependency. You can also +provide the short-name of the dependency.

  • +
  • version (str) – The version identifier.

  • +
  • allow_install (bool) – If the dependendency API is known but the +project is not installed, attempt to install it. Defaults to True.

  • +
+
+
Raises:
+

ProjectError – When unable to find the + dependency.

+
+
Returns:
+

~ape.managers.project.Dependency

+
+
Return type:
+

class

+
+
+
+ +
+
+get_project_dependencies(use_cache: bool = True, config_override: dict | None = None, name: str | None = None, version: str | None = None, allow_install: bool = True) Iterator[Dependency]
+

Get dependencies specified in the project’s ape-config.yaml file.

+
+
Parameters:
+
    +
  • use_cache (bool) – Set to False to force-reinstall dependencies. +Defaults to True. Does not work with allow_install=False.

  • +
  • config_override (Optional[dict]) – Override shared configuration for each dependency.

  • +
  • name (Optional[str]) – Optionally only get dependencies with a certain name.

  • +
  • version (Optional[str]) – Optionally only get dependencies with certain version.

  • +
  • allow_install (bool) – Set to False to not allow installing uninstalled +specified dependencies.

  • +
+
+
Returns:
+

Iterator[Dependency]

+
+
+
+ +
+
+get_versions(name: str) Iterator[Dependency]
+

Get all installed versions of a dependency.

+
+
Parameters:
+

name (str) – The name of the dependency.

+
+
Returns:
+

Iterator[Dependency]

+
+
+
+ +
+
+install(**dependency: Any) Dependency | list[Dependency]
+

Install dependencies.

+
+
Parameters:
+

**dependency – Dependency data, same to what you put in dependencies: config. +When excluded, installs all project-specified dependencies. Also, use +use_cache=False to force a re-install.

+
+
Returns:
+

Dependency when given data else a list +of them, one for each specified.

+
+
+
+ +
+
+property installed: Iterator[Dependency]
+

All installed dependencies, regardless of their project +affiliation.

+
+ +
+
+property packages_cache: PackagesCache
+

Where all dependency files go.

+
+ +
+
+property specified: Iterator[Dependency]
+

All dependencies specified in the config.

+
+ +
+
+unpack(base_path: Path, cache_name: str = '.cache')
+

Move dependencies into a .cache folder. +Ideal for isolated, temporary projects.

+
+
Parameters:
+
    +
  • base_path (Path) – The target path.

  • +
  • cache_name (str) – The cache folder name to create +at the target path. Defaults to .cache because +that is what is what ape-solidity uses.

  • +
+
+
+
+ +
+
+property uri_map: dict[str, Url]
+

A map of URIs for filling out the dependencies +field in a package manifest. +NOTE: Only uses specified dependencies! Make sure +you are specifying all the needed dependencies in your +config file instead of only relying on globally-installed +packages.

+
+ +
+ +
+
+class ape.managers.project.DependencyVersionMap(name: str)
+

A mapping of versions to dependencies. +This class exists to allow both v-prefixed versions +as well none v-prefixed versions.

+
+
+__contains__(version: Any) bool
+

True if the dictionary has the specified key, else False.

+
+ +
+
+__getitem__(version: str) ProjectManager
+

x.__getitem__(y) <==> x[y]

+
+ +
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+get(version: str, default: ProjectManager | None = None) ProjectManager | None
+

Return the value for key if key is in the dictionary, else default.

+
+ +
+ +
+
+class ape.managers.project.DeploymentManager(project: LocalProject)
+
+
+__iter__() Iterator[ContractInstance]
+

Get project deployments.

+
+
Returns:
+

Iterator[ethpm_types.ContractInstance]

+
+
+
+ +
+
+property instance_map: dict[str, dict[str, ContractInstance]]
+

The mapping needed for deployments publishing in an ethpm manifest.

+
+ +
+
+track(contract: ContractInstance)
+

Indicate that a contract deployment should be included in the package manifest +upon publication.

+

NOTE: Deployments are automatically tracked for contracts. However, only +deployments passed to this method are included in the final, publishable manifest.

+
+
Parameters:
+

contract (ContractInstance) – The contract +to track as a deployment of the project.

+
+
+
+ +
+ +
+
+class ape.managers.project.LocalProject(*args, **kwargs)
+

Manage project(s).

+

Usage example:

+
from ape import project, Project
+
+# Interact with local project contracts.
+project.MyToken.deploy(sender=...)
+
+# Interact with projects located elsewhere.
+other_project = Project("Path/somewhere/else")
+other_project.TokenSwapper.deploy(sender=...)
+
+
+
+
+__repr__()
+

Return repr(self).

+
+ +
+
+property config: ApeConfig
+

The project configuration (including global defaults).

+
+ +
+
+property contracts: ContractManager
+

Container for managing contracts from local sources.

+
+ +
+
+property contracts_folder: Path
+

The root contract source directory.

+
+ +
+
+property deployments: DeploymentManager
+

Project deployment manager for adding and reading +deployments.

+
+ +
+
+property exclusions: set[str | Pattern]
+

Source-file exclusion glob patterns.

+
+ +
+
+extract_manifest() PackageManifest
+

Get a finalized manifest for publishing.

+
+
Returns:
+

PackageManifest

+
+
+
+ +
+
+property in_tempdir: bool
+

True when this project is in the temporary directory, +meaning existing only in the temporary directory +namespace.

+
+ +
+
+property interfaces_folder: Path
+

The root interface source directory.

+
+ +
+
+isolate_in_tempdir(**config_override) Iterator[LocalProject]
+

Clone this project to a temporary directory and return +its project.vers_settings[“outputSelection”]

+
+ +
+
+load_manifest() PackageManifest
+

Load a publish-able manifest.

+
+
Returns:
+

ethpm_types.PackageManifest

+
+
+
+ +
+
+property meta: PackageMeta
+

Metadata about the active project as per EIP +https://eips.ethereum.org/EIPS/eip-2678#the-package-meta-object +Use when publishing your package manifest.

+
+ +
+
+property path: Path
+

The path to the project’s “base” (where contract source IDs are relative to).

+
+ +
+
+property project_api: ProjectAPI
+

The ‘type’ of project this is, such as an Ape project +or a Brownie project (or something else).

+
+ +
+
+refresh_sources()
+

Check for file-changes. Typically, you don’t need to call this method. +This method exists for when changing files mid-session, you can “refresh” +and Ape will know about the changes.

+
+ +
+
+reload_config()
+

Reload the local ape-config.yaml file. +This is useful if the file was modified in the +active python session.

+
+ +
+
+property sources: SourceManager
+

All the sources in the project.

+
+ +
+
+unpack(destination: Path, config_override: dict | None = None) LocalProject
+

Unpack the project to a location using the information +from the manifest. Converts a manifest-based project +to a local one.

+
+ +
+
+update_manifest(**kwargs)
+

Change manifest values. Overwrites.

+
+
Parameters:
+

**kwargs – Top-level manifest attributes.

+
+
+
+ +
+ +
+
+class ape.managers.project.PackagesCache
+
+
+cache_api(api: DependencyAPI) Path
+

Cache a dependency JSON for usage outside of the project.

+
+ +
+
+get_api_path(package_id: str, version: str) Path
+

Path to the manifest filepath the dependency project uses +as a base.

+
+ +
+
+get_manifest_path(package_id: str, version: str) Path
+

Path to the manifest filepath the dependency project uses +as a base.

+
+ +
+
+get_project_path(package_id: str, version: str) Path
+

Path to the dir of the cached project.

+
+ +
+
+get_project_versions_path(package_id: str) Path
+

The path to all the versions (projects) of a dependency.

+
+ +
+ +
+
+class ape.managers.project.Project(*args, **kwargs)
+

Base class for projects. Projects can come from either +manifests or local source-paths.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+add_compiler_data(compiler_data: Iterable[Compiler]) list[Compiler]
+

Add compiler data to the existing cached manifest.

+
+
Parameters:
+

compiler_data (Iterable[ethpm_types.Compiler]) – Compilers to add.

+
+
Returns:
+

The full list of compilers.

+
+
Return type:
+

List[ethpm_types.source.Compiler]

+
+
+
+ +
+
+property dependencies: DependencyManager
+

Project dependencies.

+
+ +
+
+property is_compiled: bool
+

True if the project is compiled at all. Does not +ensure the compilation is up-to-date.

+
+ +
+
+isolate_in_tempdir(**config_override) Iterator[LocalProject]
+

Clone this project to a temporary directory and return +its project.

+
+ +
+
+reconfigure(**overrides)
+

Change a project’s config.

+
+
Parameters:
+

**overrides – Config key-value pairs. Completely overridesfe +existing.

+
+
+
+ +
+
+unpack(destination: Path, config_override: dict | None = None) LocalProject
+

Unpack the project to a location using the information +from the manifest. Converts a manifest-based project +to a local one.

+
+ +
+
+update_manifest(**kwargs)
+

Change manifest values. Overwrites.

+
+
Parameters:
+

**kwargs – Top-level manifest attributes.

+
+
+
+ +
+ +
+
+class ape.managers.project.ProjectManager(*args, **kwargs)
+

The root project manager in Ape that can also create other projects.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+classmethod from_manifest(manifest: PackageManifest | Path | str, config_override: dict | None = None) Project
+

Create an Ape project using only a manifest.

+
+
Parameters:
+
    +
  • manifest (Union[PackageManifest, Path, str]) – Either a manifest or a +path to a manifest file.

  • +
  • config_override (Optional[Dict]) – Optionally provide a config override.

  • +
+
+
Returns:
+

ProjectManifest

+
+
+
+ +
+
+classmethod from_python_library(package_name: str, config_override: dict | None = None) LocalProject
+

Create an Ape project instance from an installed Python package. +This is useful for when Ape or Vyper projects are published to +pypi.

+
+
Parameters:
+
    +
  • package_name (str) – The name of the package’s folder that would +appear in site-packages.

  • +
  • config_override (dict | None) – Optionally override the configuration +for this project.

  • +
+
+
Returns:
+

LocalProject

+
+
+
+ +
+ +
+
+class ape.managers.project.SourceManager(root_path: Path, get_contracts_path: Callable, exclude_globs: set[str | Pattern] | None = None)
+

A manager of a local-project’s sources-paths. +Access via project.sources. Allows source-access +from both source_id as well as path. Handles +detecting modified sources as well as excluded sources. +Is meant to resemble a PackageManifest’s source dict +but with more functionality for active development.

+
+
+__repr__() str
+

Return repr(self).

+
+ +
+
+get(source_id: str) Source | None
+

Get a Source by source_id.

+
+
Parameters:
+

source_id (str) – The source identifier.

+
+
Returns:
+

Source | None

+
+
+
+ +
+
+is_excluded(path: Path) bool
+

Check if the given path is considered an “excluded” +file based on the configured ignore-patterns.

+
+
Parameters:
+

path (Path) – The path to check.

+
+
Returns:
+

bool

+
+
+
+ +
+
+lookup(path_id: str | Path) Path | None
+

Look-up a path by given a sub-path or a source ID.

+
+
Parameters:
+

path_id (Union[str, Path]) – Either part of a path +or a source ID.

+
+
Returns:
+

The full path to the source file.

+
+
Return type:
+

Path

+
+
+
+ +
+
+property paths: Iterator[Path]
+

All contract sources paths.

+
+ +
+
+refresh()
+

Reset file-caches to handle session-changes. +(Typically not needed to be called by users).

+
+ +
+ +
+
+

Query

+
+
+class ape.managers.query.DefaultQueryProvider
+

Default implementation of the QueryAPI. +Allows for the query of blockchain data using connected provider.

+
+
+estimate_query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery) int | None
+
+estimate_query(query: BlockQuery) int | None
+
+estimate_query(query: BlockTransactionQuery) int
+
+estimate_query(query: ContractEventQuery) int
+
+estimate_query(query: AccountTransactionQuery) int
+

Estimation of time needed to complete the query. The estimation is returned +as an int representing milliseconds. A value of None indicates that the +query engine is not available for use or is unable to complete the query.

+
+
Parameters:
+

query (QueryType) – Query to estimate.

+
+
Returns:
+

Represents milliseconds, returns None if unable to execute.

+
+
Return type:
+

Optional[int]

+
+
+
+ +
+
+perform_query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery) Iterator
+
+perform_query(query: BlockQuery) Iterator
+
+perform_query(query: BlockTransactionQuery) Iterator[TransactionAPI]
+
+perform_query(query: ContractEventQuery) Iterator[ContractLog]
+
+perform_query(query: AccountTransactionQuery) Iterator[ReceiptAPI]
+

Executes the query using best performing estimate_query query engine.

+
+
Parameters:
+

query (QueryType) – query to execute

+
+
Returns:
+

Iterator

+
+
+
+ +
+ +
+
+class ape.managers.query.QueryManager
+

A singleton that manages query engines and performs queries.

+
+
Parameters:
+

query (QueryType) – query to execute

+
+
+

Usage example:

+
biggest_block_size = chain.blocks.query("size").max()
+
+
+
+
+property engines: dict[str, QueryAPI]
+

A dict of all QueryAPI instances across all +installed plugins.

+
+
Returns:
+

dict[str, QueryAPI]

+
+
+
+ +
+
+query(query: BlockQuery | BlockTransactionQuery | AccountTransactionQuery | ContractCreationQuery | ContractEventQuery | ContractMethodQuery, engine_to_use: str | None = None) Iterator[BaseInterfaceModel]
+
+
Parameters:
+
    +
  • query (QueryType) – The type of query to execute

  • +
  • engine_to_use (Optional[str]) – Short-circuit selection logic using +a specific engine. Defaults is set by performance-based selection logic.

  • +
+
+
Raises:
+

QueryEngineError

When given an invalid or

+

inaccessible engine_to_use value.

+

+
+
Returns:
+

Iterator[BaseInterfaceModel]

+
+
+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/plugins.html b/v0.8.20/methoddocs/plugins.html new file mode 100644 index 0000000000..128a08282d --- /dev/null +++ b/v0.8.20/methoddocs/plugins.html @@ -0,0 +1,646 @@ + + + + + ape.plugins - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.plugins

+
+
+ape.plugins.register(plugin_type: type[PluginType], **hookimpl_kwargs) Callable
+

Register your plugin to ape. You must call this decorator to get your plugins +included in ape’s plugin ecosystem.

+

Usage example:

+
@plugins.register(plugins.AccountPlugin)  # 'register()' example
+def account_types():
+    return AccountContainer, KeyfileAccount
+
+
+
+
Parameters:
+
    +
  • plugin_type (type[PluginType]) – The plugin +type to register.

  • +
  • hookimpl_kwargs – Return-values required by the plugin type.

  • +
+
+
Returns:
+

Callable

+
+
+
+ +
+

Base

+
+
+class ape.plugins.pluggy_patch.PluginType
+

Bases: object

+

The base plugin class in ape. There are several types of plugins available in ape, such +as the Config or EcosystemPlugin. +Each one of them subclass this class. It is used to namespace the plugin hooks for the +registration process, and to ensure overall conformance to type interfaces as much as possible.

+
+ +
+
+ape.plugins.pluggy_patch.plugin_manager = <pluggy._manager.PluginManager object>
+

A manager responsible for registering and accessing plugins (singleton).

+
+ +
+
+

Accounts

+
+
+class ape.plugins.account.AccountPlugin
+

Bases: PluginType

+

An account-related plugin. The plugin must register both +an ape.api.accounts.AccountContainerAPI as well as an +ape.api.accounts.AccountAPI.

+
+
+account_types() tuple[type[AccountContainerAPI], type[AccountAPI]]
+

A hook for returning a tuple of an account container and an account type. +Each account-base plugin defines and returns their own types here.

+

Usage example:

+
@plugins.register(plugins.AccountPlugin)
+def account_types():
+    return AccountContainer, KeyfileAccount
+
+
+
+
Returns:
+

tuple[type[AccountContainerAPI], +type[AccountAPI]]

+
+
+
+ +
+ +
+
+

Compiler

+
+
+class ape.plugins.compiler.CompilerPlugin
+

Bases: PluginType

+

A plugin that implements the ape.api.CompilerAPI, such +as the ape-solidity plugin +or the ape-vyper plugin.

+
+
+register_compiler() tuple[tuple[str], type[CompilerAPI]]
+

A hook for returning the set of file extensions the plugin handles +and the compiler class that can be used to compile them.

+

Usage example:

+
@plugins.register(plugins.CompilerPlugin)
+def register_compiler():
+    return (".json",), InterfaceCompiler
+
+
+
+
Returns:
+

tuple[tuple[str], type[CompilerAPI]]

+
+
+
+ +
+ +
+
+

Config

+
+
+class ape.plugins.config.Config
+

Bases: PluginType

+

A registered config item. Plugins register config implementations +when they allow additional user-configuration, set in the ape-config.yaml. +See the ConfigManager documentation for more +information on the ape-config.yaml.

+
+
+config_class() type[PluginConfig]
+

A hook that returns a PluginConfig parser class that can be +used to deconstruct the user config options for this plugins.

+

NOTE: If none are specified, all injected ape.api.config.PluginConfig’s +are empty.

+

Usage example:

+
@plugins.register(plugins.Config)
+def config_class():
+    return MyPluginConfig
+
+
+
+
Returns:
+

type[PluginConfig]

+
+
+
+ +
+ +
+
+

Converter

+
+
+class ape.plugins.converter.ConversionPlugin
+

Bases: PluginType

+

A plugin for converting values. The ape-ens +plugin is an example of a conversion-plugin.

+
+
+converters() Iterator[tuple[str, type[ConverterAPI]]]
+

A hook that returns an iterator of tuples of a string ABI type and a +ConverterAPI subclass.

+

Usage example:

+
@plugins.register(plugins.ConversionPlugin)
+def converters():
+    yield int, MweiConversions
+
+
+
+
Returns:
+

Iterator[tuple[str, type[ConverterAPI]]]

+
+
+
+ +
+ +
+
+

Network

+
+
+class ape.plugins.network.EcosystemPlugin
+

Bases: PluginType

+

An ecosystem plugin, such as ape-ethereum. See the +ape.api.networks.EcosystemAPI for more information on +what is required to implement an ecosystem plugin.

+
+
+ecosystems() Iterator[type[EcosystemAPI]]
+

A hook that must return an iterator of ape.api.networks.EcosystemAPI +subclasses.

+

Usage example:

+
@plugins.register(plugins.EcosystemPlugin)
+def ecosystems():
+    yield Ethereum
+
+
+
+
Returns:
+

Iterator[type[EcosystemAPI]]

+
+
+
+ +
+ +
+
+class ape.plugins.network.ExplorerPlugin
+

Bases: PluginType

+

A plugin for a blockchain explorer, such as +ape-etherscan.

+
+
+explorers() Iterator[tuple[str, str, type[ExplorerAPI]]]
+

A hook that must return an iterator of tuples of:

+
    +
  • the target ecosystem plugin’s name

  • +
  • the network it works with (which must be valid network in the ecosystem)

  • +
  • a ExplorerAPI subclass

  • +
+

Usage example:

+
@plugins.register(plugins.ExplorerPlugin)
+def explorers():
+    yield "ethereum", "mainnet", MyBlockExplorer
+
+
+
+
Returns:
+

Iterator[tuple[str, str, type[ape.api.explorers.ExplorerAPI]]]

+
+
+
+ +
+ +
+
+class ape.plugins.network.NetworkPlugin
+

Bases: PluginType

+

A network plugin, such as mainnet or ropsten. Likely, registering networks +will happen soon after registering the ecosystem, as an ecosystem requires +networks.

+
+
+networks() Iterator[tuple[str, str, type[NetworkAPI]]]
+

A hook that must return an iterator of tuples of:

+ +

Usage example:

+
@plugins.register(plugins.NetworkPlugin)
+def networks():
+    yield "ethereum", "ShibaChain", ShibaNetwork
+
+
+
+
Returns:
+

Iterator[tuple[str, str, type[NetworkAPI]]]

+
+
+
+ +
+ +
+
+class ape.plugins.network.ProviderPlugin
+

Bases: PluginType

+

A plugin representing a network provider, which is the main API responsible +for making requests against a blockchain. Example provider plugins projects +include ape-infura as well as +ape-alchemy.

+
+
+providers() Iterator[tuple[str, str, type[ProviderAPI]]]
+

A hook that must return an iterator of tuples of:

+
    +
  • the target ecosystem plugin’s name

  • +
  • the network it works with (which must be valid network in the ecosystem)

  • +
  • a ape.api.providers.ProviderAPI subclass

  • +
+

Usage example:

+
@plugins.register(plugins.ProviderPlugin)
+def providers():
+    yield "ethereum", "local", MyProvider
+
+
+
+
Returns:
+

Iterator[tuple[str, str, type[ProviderAPI]]]

+
+
+
+ +
+ +
+
+

Project

+
+
+class ape.plugins.project.DependencyPlugin
+

Bases: PluginType

+

A plugin for downloading packages and creating +ProjectPlugin implementations.

+
+
+dependencies() dict[str, type[DependencyAPI]]
+

A hook that returns a DependencyAPI mapped +to its ape-config.yaml file dependencies special key. For example, +when configuring GitHub dependencies, you set the github key in +the dependencies: block of your ape-config.yaml file and it +will automatically use this DependencyAPI implementation.

+
+
Returns:
+

type[DependencyAPI]

+
+
+
+ +
+ +
+
+class ape.plugins.project.ProjectPlugin
+

Bases: PluginType

+

A plugin for converting files to a PackageManifest. +The default project plugin is the ApeProject. +Otherwise, you can define your own project implementation for converting +a set of files to a PackageManifest, such as one that resolves dependencies +via .gitmodules.

+
+
+projects() Iterator[type[ProjectAPI]]
+

A hook that returns a ProjectAPI subclass type.

+
+
Returns:
+

type[ProjectAPI]

+
+
+
+ +
+ +
+
+

Query

+
+
+class ape.plugins.query.QueryPlugin
+

Bases: PluginType

+

A plugin for querying chains.

+
+
+query_engines() Iterator[type[QueryAPI]]
+

A hook that returns an iterator of types of a QueryAPI subclasses

+

Usage example:

+
@plugins.register(plugins.QueryPlugin)
+def query_engines():
+    yield PostgresEngine
+
+
+
+
Returns:
+

Iterator[type[QueryAPI]]

+
+
+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/types.html b/v0.8.20/methoddocs/types.html new file mode 100644 index 0000000000..31926b070c --- /dev/null +++ b/v0.8.20/methoddocs/types.html @@ -0,0 +1,1441 @@ + + + + + ape.types - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.types

+
+

Address

+
+
+ape.types.address.AddressType
+

“A checksum address in Ape.”

+

alias of Annotated[ChecksumAddress, _AddressValidator]

+
+ +
+
+ape.types.address.RawAddress
+

A raw data-type representation of an address.

+

alias of str | int | HashStr20 | HashBytes20

+
+ +
+
+

Signatures

+
+
+class ape.types.signatures.SignableMessage(version: bytes, header: bytes, body: bytes)
+

Bases: NamedTuple

+

A message compatible with EIP-191 that is ready to be signed.

+

The properties are components of an EIP-191 signable message. Other message formats +can be encoded into this format for easy signing. This data structure doesn’t need +to know about the original message format. For example, you can think of +EIP-712 as compiling down to an EIP-191 message.

+

In typical usage, you should never need to create these by hand. Instead, use +one of the available encode_* methods in this module, like:

+
+
    +
  • encode_structured_data()

  • +
  • encode_intended_validator()

  • +
  • encode_defunct()

  • +
  • encode_typed_data()

  • +
+
+
+
+body: bytes
+

Alias for field number 2

+
+ +
+
+header: bytes
+

Alias for field number 1

+
+ +
+
+version: bytes
+

Alias for field number 0

+
+ +
+ +
+
+class ape.types.signatures.MessageSignature(v: int, r: bytes, s: bytes)
+

Bases: _Signature

+

A ECDSA signature (vrs) of a message.

+
+ +
+
+class ape.types.signatures.TransactionSignature(v: int, r: bytes, s: bytes)
+

Bases: _Signature

+

A ECDSA signature (vrs) of a transaction.

+
+ +
+
+signatures.recover_signer(sig: MessageSignature) AddressType
+

Get the address of the signer.

+
+
Parameters:
+
+
+
Returns:
+

address of message signer.

+
+
Return type:
+

AddressType

+
+
+
+ +
+
+

Coverage

+
+
+class ape.types.coverage.ContractCoverage(*, name: str, functions: list[FunctionCoverage] = [])
+

Bases: BaseModel

+

An individual contract’s coverage.

+
+
+property function_hits: Annotated[int, Ge(ge=0)]
+

The number of functions with a hit counter greater than zero.

+
+ +
+
+property function_rate: float
+

The rate of functions hit versus total functions.

+
+ +
+
+functions: list[FunctionCoverage]
+

The coverage of each function individually.

+
+ +
+
+property line_rate: float
+

The number of lines hit divided by number of lines.

+
+ +
+
+property lines_covered: Annotated[int, Ge(ge=0)]
+

All lines that have a hit count greater than zero.

+
+ +
+
+property lines_valid: Annotated[int, Ge(ge=0)]
+

The number of lines valid for coverage.

+
+ +
+
+property miss_count: Annotated[int, Ge(ge=0)]
+

The number of lines missed.

+
+ +
+
+model_dump(*args, **kwargs) dict
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+
+name: str
+

The name of the contract.

+
+ +
+
+property statements: list[CoverageStatement]
+

All valid coverage lines from every function in this contract.

+
+ +
+ +
+
+class ape.types.coverage.ContractSourceCoverage(*, source_id: str, contracts: list[ContractCoverage] = [])
+

Bases: BaseModel

+

An individual source file with coverage collected.

+
+
+contracts: list[ContractCoverage]
+

Coverage for each contract in the source file.

+
+ +
+
+property function_hits: Annotated[int, Ge(ge=0)]
+

The number of functions with a hit counter greater than zero.

+
+ +
+
+property function_rate: float
+

The rate of functions hit versus total functions.

+
+ +
+
+include(contract_name: str) ContractCoverage
+

Ensure a contract is included in the report.

+
+ +
+
+property line_rate: float
+

The number of lines hit divided by number of lines.

+
+ +
+
+property lines_covered: Annotated[int, Ge(ge=0)]
+

All lines with a hit count greater than zero from every function +in every contract in this source.

+
+ +
+
+property lines_valid: Annotated[int, Ge(ge=0)]
+

The number of lines valid for coverage.

+
+ +
+
+property miss_count: Annotated[int, Ge(ge=0)]
+

The number of lines missed.

+
+ +
+
+model_dump(*args, **kwargs) dict
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+
+source_id: str
+

The ID of the source covered.

+
+ +
+
+property statements: list[CoverageStatement]
+

All valid coverage lines from every function in every contract in this source.

+
+ +
+
+property total_functions: Annotated[int, Ge(ge=0)]
+

The total number of functions in this source.

+
+ +
+ +
+
+class ape.types.coverage.CoverageProject(*, name: str, sources: list[ContractSourceCoverage] = [])
+

Bases: BaseModel

+

A project with coverage collected.

+
+
+property function_hits: Annotated[int, Ge(ge=0)]
+

The number of functions with a hit counter greater than zero.

+
+ +
+
+property function_rate: float
+

The rate of functions hit versus total functions.

+
+ +
+
+property line_rate: float
+

The number of lines hit divided by number of lines.

+
+ +
+
+property lines_covered: Annotated[int, Ge(ge=0)]
+

The number of lines with a hit count greater than zero from every function +in every contract in every source in this this project.

+
+ +
+
+property lines_valid: Annotated[int, Ge(ge=0)]
+

The number of lines valid for coverage.

+
+ +
+
+property miss_count: Annotated[int, Ge(ge=0)]
+

The number of lines missed.

+
+ +
+
+model_dump(*args, **kwargs) dict
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+
+name: str
+

The name of the project being covered.

+
+ +
+
+sources: list[ContractSourceCoverage]
+

Coverage for each source in the project.

+
+ +
+
+property statements: list[CoverageStatement]
+

All valid coverage lines from every function in every contract in every source +in this project.

+
+ +
+
+property total_functions: Annotated[int, Ge(ge=0)]
+

The total number of functions in this source.

+
+ +
+ +
+
+class ape.types.coverage.CoverageReport(*, source_folders: list[Path], timestamp: int, projects: list[CoverageProject] = [])
+

Bases: BaseModel

+

Coverage report schema inspired from coverage.py.

+
+
+property function_hits: Annotated[int, Ge(ge=0)]
+

The number of functions with a hit counter greater than zero.

+
+ +
+
+property function_rate: float
+

The rate of functions hit versus total functions.

+
+ +
+
+get_html(verbose: bool = False) str
+

The coverage HTML report as a string.

+
+ +
+
+get_xml() str
+

The coverage XML report as a string. The XML coverage data schema is +meant to be compatible with codecov.io. Thus, some of coverage is modified +slightly, and some of the naming conventions (based on 90s Java) won’t be +super relevant to smart-contract projects.

+
+ +
+
+property line_rate: float
+

The number of lines hit divided by number of lines.

+
+ +
+
+property lines_covered: Annotated[int, Ge(ge=0)]
+

All lines with a hit count greater than zero from every function +in every contract in every source in every project in this report.

+
+ +
+
+property lines_valid: Annotated[int, Ge(ge=0)]
+

The number of lines valid for coverage.

+
+ +
+
+property miss_count: Annotated[int, Ge(ge=0)]
+

The number of lines missed.

+
+ +
+
+model_dump(*args, **kwargs) dict
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+
+projects: list[CoverageProject]
+

Each project with individual coverage tracked.

+
+ +
+
+source_folders: list[Path]
+

All source folders to use. This is needed for codecov.

+
+ +
+
+property sources: list[str]
+

Every source ID in the report.

+
+ +
+
+property statements: list[CoverageStatement]
+

All valid coverage lines from every function in every contract in every source +from every project in this report.

+
+ +
+
+timestamp: int
+

The timestamp the report was generated, in milliseconds.

+
+ +
+
+property total_functions: Annotated[int, Ge(ge=0)]
+

The total number of functions in this source.

+
+ +
+ +
+
+class ape.types.coverage.CoverageStatement(*, location: tuple[int, int, int, int] | None = None, pcs: set[int], hit_count: Annotated[int, Ge(ge=0)] = 0, tag: str | None = None)
+

Bases: BaseModel

+

An item that can get hit during coverage. Examples of coverage items are +line segments, which are generally calculated from groupings of AST nodes +occupying the same location, that can be tracked by their PC values. During +a transaction’s trace, we find these values and we find the corresponding +coverage item and increment the hit count. Another example of a coverage item +is a compiler-builtin check, also marked by a PC value. If we encounter such +PC in a trace, its hit count is incremented. Builtin compiler checks may or +may not correspond to an actual location in the source code, depending on the +type of check.

+
+
+hit_count: Annotated[int, Ge(ge=0)]
+

The times this node was hit.

+
+ +
+
+location: tuple[int, int, int, int] | None
+

The location of the item (line, column, endline, endcolumn). +If multiple PCs share an exact location, it is only tracked as one.

+
+ +
+
+pcs: set[int]
+

The PCs for this node.

+
+ +
+
+tag: str | None
+

An additional tag to mark this statement with. +This is useful if the location field is empty.

+
+ +
+ +
+
+class ape.types.coverage.FunctionCoverage(*, name: str, full_name: str, statements: list[CoverageStatement] = [], hit_count: Annotated[int, Ge(ge=0)] = 0)
+

Bases: BaseModel

+

The individual coverage of a function defined in a smart contact.

+
+
+full_name: str
+

The unique name of the function.

+
+ +
+
+hit_count: Annotated[int, Ge(ge=0)]
+

The times this function was called. +NOTE: This is needed as a separate data point since not all methods may have +statements (such as auto-getters).

+
+ +
+
+property line_rate: float
+

The number of lines hit divided by number of lines.

+
+ +
+
+property lines_covered: Annotated[int, Ge(ge=0)]
+

The number of lines with a hit counter greater than zero in this method.

+
+ +
+
+property lines_valid: Annotated[int, Ge(ge=0)]
+

All lines valid for coverage in this method.

+
+ +
+
+property miss_count: Annotated[int, Ge(ge=0)]
+

The number of lines missed.

+
+ +
+
+model_dump(*args, **kwargs) dict
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+
+name: str
+

The display name of the function.

+
+ +
+
+profile_statement(pc: int, location: tuple[int, int, int, int] | None = None, tag: str | None = None)
+

Initialize a statement in the coverage profile with a hit count starting at zero. +This statement is ready to accumulate hits as tests execute.

+
+
Parameters:
+
    +
  • pc (int) – The program counter of the statement.

  • +
  • location (Optional[ethpm_types.source.SourceStatement]) – The location of the statement, +if it exists.

  • +
  • tag (Optional[str]) – Optionally provide more information about the statements being hit. +This is useful for builtin statements that may be missing context otherwise.

  • +
+
+
+
+ +
+
+statements: list[CoverageStatement]
+

For statement coverage, these are the individual items. +See CoverageStatement for more details.

+
+ +
+ +
+
+

Events

+
+
+class ape.types.events.ContractLog(*, event_name: str, contract_address: Annotated[ChecksumAddress, _AddressValidator] = '0x0000000000000000000000000000000000000000', event_arguments: dict[str, Any] = {}, transaction_hash: Any, block_number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], block_hash: Any, log_index: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)], transaction_index: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None = None)
+

An instance of a log from a contract.

+
+
+block_hash: Any
+

The hash of the block containing the transaction that produced this log.

+
+ +
+
+block_number: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]
+

The number of the block containing the transaction that produced this log.

+
+ +
+
+log_index: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]
+

The index of the log on the transaction.

+
+ +
+
+property timestamp: int
+

The UNIX timestamp of when the event was emitted.

+

NOTE: This performs a block lookup.

+
+ +
+
+transaction_hash: Any
+

The hash of the transaction containing this log.

+
+ +
+
+transaction_index: Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)] | None
+

The index of the transaction’s position when the log was created. +Is None when from the pending block.

+
+ +
+ +
+
+class ape.types.events.ContractLogContainer(iterable=(), /)
+

Container for ContractLogs which is adding capability of filtering logs

+
+ +
+
+class ape.types.events.LogFilter(*, addresses: list[Annotated[ChecksumAddress, _AddressValidator]] = [], events: list[EventABI] = [], topic_filter: Sequence[HexStr | None | Sequence[HexStr | None]] = [], start_block: int = 0, stop_block: int | None = None, selectors: dict[str, EventABI] = {})
+
+
+classmethod from_event(event: EventABI | ContractEvent, search_topics: dict[str, Any] | None = None, addresses: list[Annotated[ChecksumAddress, _AddressValidator]] | None = None, start_block=None, stop_block=None)
+

Construct a log filter from an event topic query.

+
+ +
+
+model_dump(*args, **kwargs)
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#modelmodel_dump

+

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

+
+
Parameters:
+
    +
  • mode – The mode in which to_python should run. +If mode is ‘json’, the output will only contain JSON serializable types. +If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • +
  • include – A set of fields to include in the output.

  • +
  • exclude – A set of fields to exclude from the output.

  • +
  • context – Additional context to pass to the serializer.

  • +
  • by_alias – Whether to use the field’s alias in the dictionary key if defined.

  • +
  • exclude_unset – Whether to exclude fields that have not been explicitly set.

  • +
  • exclude_defaults – Whether to exclude fields that are set to their default value.

  • +
  • exclude_none – Whether to exclude fields that have a value of None.

  • +
  • round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • +
  • warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, +“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • +
  • serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.

  • +
+
+
Returns:
+

A dictionary representation of the model.

+
+
+
+ +
+ +
+
+class ape.types.events.MockContractLog(*, event_name: str, contract_address: Annotated[ChecksumAddress, _AddressValidator] = '0x0000000000000000000000000000000000000000', event_arguments: dict[str, Any] = {})
+

A mock version of the ContractLog class used for testing purposes. +This class is designed to match a subset of event arguments in a ContractLog instance +by only comparing those event arguments that the user explicitly provides.

+

Inherits from BaseContractLog, and overrides the +equality method for custom comparison +of event arguments between a MockContractLog and a ContractLog instance.

+
+ +
+
+

VM

+
+
+ape.types.vm.BlockID
+

An ID that can match a block, such as the literals "earliest", "latest", or "pending" +as well as a block number or hash (HexBytes).

+

alias of int | HexStr | HexBytes | Literal[‘earliest’, ‘latest’, ‘pending’]

+
+ +
+
+ape.types.vm.SnapshotID
+

An ID representing a point in time on a blockchain, as used in the +snapshot() and +snapshot() methods. Can be a str, int, or bytes. +Providers will expect and handle snapshot IDs differently. There shouldn’t be a need to change +providers when using this feature, so there should not be confusion over this type in practical use +cases.

+

alias of str | int | bytes

+
+ +
+
+

Gas

+
+
+class ape.types.gas.AutoGasLimit(*, multiplier: float = 1.0)
+

Additional settings for gas_limit: auto.

+
+
+multiplier: float
+

A multiplier to estimated gas.

+
+ +
+ +
+
+ape.types.gas.GasLimit
+

A value you can give to Ape for handling gas-limit calculations. +"auto" refers to automatically figuring out the gas, +"max" refers to using the maximum block gas limit, +and otherwise you can provide a numeric value.

+

alias of Literal[‘auto’, ‘max’] | int | str | AutoGasLimit

+
+ +
+
+

Trace

+
+
+class ape.types.trace.ControlFlow(*, statements: list[Statement], closure: Closure, source_path: Path | None = None, depth: int)
+

A collection of linear source nodes up until a jump.

+
+
+property begin_lineno: int | None
+

The first line number in the sequence.

+
+ +
+
+closure: Closure
+

The defining closure, such as a function or module, of the code sequence.

+
+ +
+
+depth: int
+

The depth at which this flow was executed, +where 1 is the first calling function.

+
+ +
+
+property end_lineno: int | None
+

The last line number.

+
+ +
+
+extend(location: SourceLocation, pcs: set[int] | None = None, ws_start: int | None = None)
+

Extend this node’s content with other content that follows it directly.

+
+
Raises:
+

ValueError – When there is a gap in content.

+
+
Parameters:
+
    +
  • location (SourceLocation) – The location of the content, in the form +(lineno, col_offset, end_lineno, end_coloffset).

  • +
  • pcs (Optional[set[int]]) – The PC values of the statements.

  • +
  • ws_start (Optional[int]) – Optionally provide a white-space starting point +to back-fill.

  • +
+
+
+
+ +
+
+format(use_arrow: bool = True) str
+

Format this trace node into a string presentable to the user.

+
+ +
+
+property line_numbers: list[int]
+

The list of all line numbers as part of this node.

+
+ +
+
+property next_statement: SourceStatement | None
+

Returns the next statement that _would_ execute +if the program were to progress to the next line.

+
+ +
+
+source_path: Path | None
+

The path to the local contract file. +Only exists when is from a local contract.

+
+ +
+
+property source_statements: list[SourceStatement]
+

All statements coming directly from a contract’s source. +Excludes implicit-compiler statements.

+
+ +
+
+statements: list[Statement]
+

The source node statements.

+
+ +
+
+property ws_begin_lineno: int | None
+

The first line number in the sequence, including whitespace.

+
+ +
+ +
+
+ape.types.trace.GasReport
+

A gas report in Ape.

+
+ +
+
+class ape.types.trace.SourceTraceback(root: RootModelRootType = PydanticUndefined)
+

A full execution traceback including source code.

+
+
+add_builtin_jump(name: str, _type: str, full_name: str | None = None, source_path: Path | None = None, pcs: set[int] | None = None)
+

A convenience method for appending a control flow that happened +from an internal compiler built-in code. See the ape-vyper plugin +for a usage example.

+
+
Parameters:
+
    +
  • name (str) – The name of the compiler built-in.

  • +
  • _type (str) – A str describing the type of check.

  • +
  • full_name (Optional[str]) – A full-name ID.

  • +
  • source_path (Optional[Path]) – The source file related, if there is one.

  • +
  • pcs (Optional[set[int]]) – Program counter values mapping to this check.

  • +
+
+
+
+ +
+
+add_jump(location: SourceLocation, function: Function, depth: int, pcs: set[int] | None = None, source_path: Path | None = None)
+

Add an execution sequence from a jump.

+
+
Parameters:
+
    +
  • location (SourceLocation) – The location to add.

  • +
  • function (Function) – The function executing.

  • +
  • source_path (Optional[Path]) – The path of the source file.

  • +
  • depth (int) – The depth of the function call in the call tree.

  • +
  • pcs (Optional[set[int]]) – The program counter values.

  • +
  • source_path – The path of the source file.

  • +
+
+
+
+ +
+
+append(_SourceTraceback__object) None
+

Append the given control flow to this one.

+
+ +
+
+property execution: list[ControlFlow]
+

All the control flows in order. Each set of statements in +a control flow is separated by a jump.

+
+ +
+
+extend(_SourceTraceback__iterable) None
+

Append all the control flows from the given traceback to this one.

+
+ +
+
+extend_last(location: SourceLocation, pcs: set[int] | None = None)
+

Extend the last node with more content.

+
+
Parameters:
+
    +
  • location (SourceLocation) – The location of the new content.

  • +
  • pcs (Optional[set[int]]) – The PC values to add on.

  • +
+
+
+
+ +
+
+format() str
+

Get a formatted traceback string for displaying to users.

+
+ +
+
+property last: ControlFlow | None
+

The last control flow in the traceback, if there is one.

+
+ +
+
+property revert_type: str | None
+

The revert type, such as a builtin-error code or a user dev-message, +if there is one.

+
+ +
+
+property source_statements: list[SourceStatement]
+

All source statements from each control flow.

+
+ +
+
+property statements: list[Statement]
+

All statements from each control flow.

+
+ +
+ +
+
+

Units

+
+
+ape.types.units.CurrencyValue
+

An alias to CurrencyValueComparable for +situations when you know for sure the type is a currency-value +(and not just comparable to one).

+
+ +
+
+ape.types.units.CurrencyValueComparable
+

alias of CurrencyValueComparable

+
+ +
+
+

Basic

+
+
+ape.types.basic.HexInt
+

Validate any hex-str or bytes into an integer. +To be used on pydantic-fields.

+

alias of Annotated[int, BeforeValidator(func=_hex_int_validator, json_schema_input_type=PydanticUndefined)]

+
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/methoddocs/utils.html b/v0.8.20/methoddocs/utils.html new file mode 100644 index 0000000000..492a37393e --- /dev/null +++ b/v0.8.20/methoddocs/utils.html @@ -0,0 +1,1242 @@ + + + + + ape.utils - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

ape.utils

+
+

ABI

+
+
+class ape.utils.abi.Struct
+

Bases: object

+

A class for contract return values using the struct data-structure.

+
+
+items() dict
+

Override

+
+ +
+ +
+
+class ape.utils.abi.StructParser(method_abi: ConstructorABI | MethodABI | EventABI)
+

Bases: object

+

A utility class responsible for parsing structs out of values.

+
+
+decode_output(values: list | tuple) Any
+

Parse a list of output types and values into structs. +Values are only altered when they are a struct. +This method also handles structs within structs as well as arrays of structs.

+
+
Parameters:
+

values (Union[list, tuple]) – A list of of output values.

+
+
Returns:
+

The same input values only decoded into structs when applicable.

+
+
Return type:
+

Any

+
+
+
+ +
+
+property default_name: str
+

The default struct return name for unnamed structs. +This value is also used for named tuples where the tuple does not have a name +(but each item in the tuple does have a name).

+
+ +
+
+encode_input(values: list | tuple | dict) Any
+

Convert dicts and other objects to struct inputs.

+
+
Parameters:
+

values (Union[list, tuple]) – A list of of input values.

+
+
Returns:
+

The same input values only decoded into structs when applicable.

+
+
Return type:
+

Any

+
+
+
+ +
+ +
+
+ape.utils.abi.create_struct(name: str, types: Sequence[ABIType], output_values: Sequence) Any
+

Create a dataclass representing an ABI struct that can be used as inputs or outputs. +The struct properties can be accessed via . notation, as keys in a dictionary, or +numeric tuple access.

+

NOTE: This method assumes you already know the values to give to the struct +properties.

+
+
Parameters:
+
    +
  • name (str) – The name of the struct.

  • +
  • (list[ABIType] (types) – The types of values in the struct.

  • +
  • output_values (list[Any]) – The struct property values.

  • +
+
+
Returns:
+

The struct dataclass.

+
+
Return type:
+

Any

+
+
+
+ +
+
+ape.utils.abi.is_array(abi_type: str | ABIType) bool
+

Returns True if the given type is a probably an array.

+
+
Parameters:
+

abi_type (Union[str, ABIType]) – The type to check.

+
+
Returns:
+

bool

+
+
+
+ +
+
+ape.utils.abi.is_named_tuple(outputs: Sequence[ABIType], output_values: Sequence) bool
+

Returns True if the given output is a tuple where every item is named.

+
+ +
+
+ape.utils.abi.is_struct(outputs: ABIType | Sequence[ABIType]) bool
+

Returns True if the given output is a struct.

+
+ +
+
+ape.utils.abi.returns_array(abi: MethodABI) bool
+

Returns True if the given method ABI likely returns an array.

+
+
Parameters:
+

abi (MethodABI) – An ABI method.

+
+
Returns:
+

bool

+
+
+
+ +
+
+

Basemodel

+

TODO: In 0.9, move this module to ape.types.

+
+
+class ape.utils.basemodel.BaseInterface
+

Bases: ManagerAccessMixin, ABC

+

Abstract class that has manager access.

+
+ +
+
+class ape.utils.basemodel.BaseInterfaceModel
+

Bases: BaseInterface, BaseModel

+

An abstract base-class with manager access on a pydantic base model.

+
+ +
+
+class ape.utils.basemodel.BaseModel
+

Bases: BaseModel

+

An ape-pydantic BaseModel.

+
+
+model_copy(*, update: dict[str, Any] | None = None, deep: bool = False, cache_clear: Sequence[str] | None = None) Model
+

Usage docs: https://docs.pydantic.dev/2.9/concepts/serialization/#model_copy

+

Returns a copy of the model.

+
+
Parameters:
+
    +
  • update – Values to change/add in the new model. Note: the data is not validated +before creating the new model. You should trust this data.

  • +
  • deep – Set to True to make a deep copy of the model.

  • +
+
+
Returns:
+

New model instance.

+
+
+
+ +
+ +
+
+class ape.utils.basemodel.ExtraAttributesMixin
+

Bases: object

+

A mixin to use on models that provide ExtraModelAttributes. +NOTE: Must come _before_ your base-model class in subclass tuple to function.

+
+ +
+
+class ape.utils.basemodel.ExtraModelAttributes(*, name: str, attributes: Any | Callable[[], Any] | Callable[[str], Any], include_getattr: bool = True, include_getitem: bool = False, additional_error_message: str | None = None)
+

Bases: BaseModel

+

A class for defining extra model attributes.

+
+
+additional_error_message: str | None
+

An additional error message to include at the end of +the normal IndexError message.

+
+ +
+
+attributes: Any | Callable[[], Any] | Callable[[str], Any]
+

The attributes. The following types are supported:

+
    +
  1. A model or dictionary to lookup attributes.

  2. +
  3. A callable with no arguments, for lazily evaluating a model or dictionary +for lookup.

  4. +
  5. A callable with a single argument that is the attribute name. This style +of lookup cannot be used for optionals.

  6. +
+
+ +
+
+get(name: str) Any | None
+

Get an attribute.

+
+
Parameters:
+

name (str) – The name of the attribute.

+
+
Returns:
+

The attribute if it exists, else None.

+
+
Return type:
+

Optional[Any]

+
+
+
+ +
+
+include_getattr: bool
+

Whether to use these in __getattr__.

+
+ +
+
+include_getitem: bool
+

Whether to use these in __getitem__.

+
+ +
+
+name: str
+

The name of the attributes. This is important +in instances such as when an attribute is missing, +we can show a more accurate exception message.

+
+ +
+ +
+
+class ape.utils.basemodel.ManagerAccessMixin
+

Bases: object

+

A mixin for accessing Ape’s manager at the class level.

+

Usage example:

+
+

from ape.utils import ManagerAccessMixin

+
+
class MyClass(ManagerAccessMixin):
+
def my_function(self):

accounts = self.account_manager # And so on!

+
+
+
+
+
+
+
+Project
+

alias of ProjectManager

+
+ +
+ +
+
+class ape.utils.basemodel.injected_before_use(fget=None, fset=None, fdel=None, doc=None)
+

Bases: property

+

Injected properties are injected class variables that must be set before use.

+

NOTE: do not appear in a Pydantic model’s set of properties.

+
+ +
+
+class ape.utils.basemodel.manager_access(fn)
+

Bases: property

+
+ +
+
+

Miscellaneous

+
+
+ape.utils.misc.extract_nested_value(root: Mapping, *args: str) dict | None
+

Dig through a nested dict using the given keys and return the +last-found object.

+

Usage example:

+
>>> extract_nested_value({"foo": {"bar": {"test": "VALUE"}}}, "foo", "bar", "test")
+'VALUE'
+
+
+
+
Parameters:
+

root (dict) – Nested keys to form arguments.

+
+
Returns:
+

The final value if it exists +else None if the tree ends at any point.

+
+
Return type:
+

dict, optional

+
+
+
+ +
+
+ape.utils.misc.gas_estimation_error_message(tx_error: Exception) str
+

Get an error message containing the given error and an explanation of how the +gas estimation failed, as in ape.api.providers.ProviderAPI implementations.

+
+
Parameters:
+

tx_error (Exception) – The error that occurred when trying to estimate gas.

+
+
Returns:
+

An error message explaining that the gas failed and that the transaction +will likely revert.

+
+
Return type:
+

str

+
+
+
+ +
+
+ape.utils.misc.get_current_timestamp_ms() int
+

Get the current UNIX timestamp in milliseconds.

+
+
Returns:
+

int

+
+
+
+ +
+
+ape.utils.misc.get_package_version(obj: Any) str
+

Get the version of a single package.

+
+
Parameters:
+

obj – object to search inside for __version__.

+
+
Returns:
+

version string.

+
+
Return type:
+

str

+
+
+
+ +
+
+ape.utils.misc.is_evm_precompile(address: str) bool
+

Returns True if the given address string is a known +Ethereum pre-compile address.

+
+
Parameters:
+

address (str)

+
+
Returns:
+

bool

+
+
+
+ +
+
+ape.utils.misc.is_zero_hex(address: str) bool
+

Returns True if the hex str is only zero. +NOTE: Empty hexes like "0x" are considered zero.

+
+
Parameters:
+

address (str) – The address to check.

+
+
Returns:
+

bool

+
+
+
+ +
+
+ape.utils.misc.load_config(path: Path, expand_envars=True, must_exist=False) dict
+

Load a configuration file into memory. +A file at the given path must exist or else it will throw OSError. +The configuration file must be a .json or .yaml or else it will throw TypeError.

+
+
Parameters:
+
    +
  • path (str) – path to filesystem to find.

  • +
  • expand_envars (bool) – True the variables in path +are able to expand to show full path.

  • +
  • must_exist (bool) – True will be set if the configuration file exist +and is able to be load.

  • +
+
+
Returns:
+

Configured settings parsed from a config file.

+
+
Return type:
+

dict

+
+
+
+ +
+
+ape.utils.misc.log_instead_of_fail(default: Any | None = None)
+

A decorator for logging errors instead of raising. +This is useful for methods like __repr__ which shouldn’t fail.

+
+ +
+
+ape.utils.misc.pragma_str_to_specifier_set(pragma_str: str) SpecifierSet | None
+

Convert the given pragma str to a packaging.version.SpecifierSet +if possible.

+
+
Parameters:
+

pragma_str (str) – The str to convert.

+
+
Returns:
+

Optional[packaging.version.SpecifierSet]

+
+
+
+ +
+
+ape.utils.misc.raises_not_implemented(fn)
+

Decorator for raising helpful not implemented error.

+
+ +
+
+ape.utils.misc.run_until_complete(*item: Any) Any
+

Completes the given coroutine and returns its value.

+
+
Parameters:
+

*item (Any) – A coroutine or any return value from an async method. If +not given a coroutine, returns the given item. Provide multiple +coroutines to run tasks in parallel.

+
+
Returns:
+

The value that results in awaiting the coroutine. +Else, item if item is not a coroutine. If given multiple coroutines, +returns the result from asyncio.gather.

+
+
Return type:
+

(Any)

+
+
+
+ +
+
+class ape.utils.misc.singledispatchmethod(func)
+

Bases: object

+

Single-dispatch generic method descriptor.

+

Supports wrapping existing descriptors and handles non-descriptor +callables as instance methods.

+
+
+register(cls, func) func
+

Registers a new implementation for the given cls on a generic_method.

+
+ +
+ +
+
+ape.utils.misc.to_int(value: Any) int
+

Convert the given value, such as hex-strs or hex-bytes, to an integer.

+
+ +
+
+

OS

+
+
+ape.utils.os.clean_path(path: Path) str
+

Replace the home directory with key $HOME and return +the path as a str. This is used for outputting paths +with less doxxing.

+
+
Parameters:
+

path (Path) – The path to sanitize.

+
+
Returns:
+

A sanitized path-str.

+
+
Return type:
+

str

+
+
+
+ +
+
+ape.utils.os.create_tempdir(name: str | None = None) Iterator[Path]
+

Create a temporary directory. Differs from TemporaryDirectory() +context-call alone because it automatically resolves the path.

+
+
Parameters:
+

name (Optional[str]) – Optional provide a name of the directory. +Else, defaults to root of tempfile.TemporaryDirectory() +(resolved).

+
+
Returns:
+

Context managing the temporary directory.

+
+
Return type:
+

Iterator[Path]

+
+
+
+ +
+
+ape.utils.os.expand_environment_variables(contents: str) str
+

Replace substrings of the form $name or ${name} in the given path +with the value of environment variable name.

+
+
Parameters:
+

contents (str) – A path-like object representing a file system. +A path-like object is either a string or bytes object +representing a path.

+
+
Returns:
+

The given content with all environment variables replaced with their values.

+
+
Return type:
+

str

+
+
+
+ +
+
+ape.utils.os.extract_archive(archive_file: Path, destination: Path | None = None)
+

Extract an archive file. Supports .zip or .tar.gz.

+
+
Parameters:
+
    +
  • archive_file (Path) – The file-path to the archive.

  • +
  • destination (Optional[Path]) – Optionally provide a destination. +Defaults to the parent directory of the archive file.

  • +
+
+
+
+ +
+
+ape.utils.os.get_all_files_in_directory(path: Path, pattern: Pattern | str | None = None, max_files: int | None = None) list[Path]
+

Returns all the files in a directory structure (recursive).

+

For example, given a directory structure like:

+
dir_a: dir_b, file_a, file_b
+dir_b: file_c
+
+
+

and you provide the path to dir_a, it will return a list containing +the paths to file_a, file_b and file_c.

+
+
Parameters:
+
    +
  • path (pathlib.Path) – A directory containing files of interest.

  • +
  • pattern (Optional[Union[Pattern, str]]) – Optionally provide a regex +pattern to match.

  • +
  • max_files (Optional[int]) – Optionally set a max file count. This is useful +because huge file structures will be very slow.

  • +
+
+
Returns:
+

A list of files in the given directory.

+
+
Return type:
+

list[pathlib.Path]

+
+
+
+ +
+
+ape.utils.os.get_full_extension(path: Path | str) str
+

For a path like Path("Contract.t.sol"), +returns .t.sol, unlike the regular Path +property .suffix which returns .sol.

+
+
Parameters:
+

path (Path | str) – The path with an extension.

+
+
Returns:
+

The full suffix

+
+
Return type:
+

str

+
+
+
+ +
+
+ape.utils.os.get_package_path(package_name: str) Path
+

Get the path to a package from site-packages.

+
+
Parameters:
+

package_name (str) – The name of the package.

+
+
Returns:
+

Path

+
+
+
+ +
+
+ape.utils.os.get_relative_path(target: Path, anchor: Path) Path
+

Compute the relative path of target relative to anchor, +which may or may not share a common ancestor.

+

NOTE ON PERFORMANCE: Both paths must be absolute to +use this method. If you know both methods are absolute, +this method is a performance boost. If you have to first +call .absolute() on the paths, use +target.relative_to(anchor) instead; as it will be +faster in that case.

+
+
Parameters:
+
    +
  • target (pathlib.Path) – The path we are interested in.

  • +
  • anchor (pathlib.Path) – The path we are starting from.

  • +
+
+
Returns:
+

The new path to the target path from the anchor path.

+
+
Return type:
+

pathlib.Path

+
+
+
+ +
+
+ape.utils.os.in_tempdir(path: Path) bool
+

Returns True when the given path is in a temporary directory.

+
+
Parameters:
+

path (Path) – The path to check.

+
+
Returns:
+

bool

+
+
+
+ +
+
+ape.utils.os.is_relative_to(path: Path, target: Path) bool
+

Search a path and determine its relevancy.

+
+
Parameters:
+
    +
  • path (str) – Path represents a filesystem to find.

  • +
  • target (str) – Path represents a filesystem to match.

  • +
+
+
Returns:
+

True if the path is relative to the target path or False.

+
+
Return type:
+

bool

+
+
+
+ +
+
+ape.utils.os.path_match(path: str | Path, *exclusions: str) bool
+

A better glob-matching function. For example:

+
>>> from pathlib import Path
+>>> p = Path("test/to/.build/me/2/file.json")
+>>> p.match("**/.build/**")
+False
+>>> from ape.utils.os import path_match
+>>> path_match(p, "**/.build/**")
+True
+
+
+
+ +
+
+ape.utils.os.run_in_tempdir(fn: Callable[[Path], Any], name: str | None = None)
+

Run the given function in a temporary directory with its path +resolved.

+
+
Parameters:
+
    +
  • fn (Callable) – A function that takes a path. It gets called +with the resolved path to the temporary directory.

  • +
  • name (Optional[str]) – Optionally name the temporary directory.

  • +
+
+
Returns:
+

The result of the function call.

+
+
Return type:
+

Any

+
+
+
+ +
+
+class ape.utils.os.use_temp_sys_path(path: Path, exclude: list[Path] | None = None)
+

Bases: object

+

A context manager to manage injecting and removing paths from +a user’s sys paths without permanently modifying it.

+
+ +
+
+

Process

+
+
+class ape.utils.process.JoinableQueue(maxsize=0)
+

Bases: Queue

+

A queue that can be joined, useful for multi-processing. +Borrowed from the py-geth library.

+
+
+join(timeout=None)
+

Blocks until all items in the Queue have been gotten and processed.

+

The count of unfinished tasks goes up whenever an item is added to the +queue. The count goes down whenever a consumer thread calls task_done() +to indicate the item was retrieved and all work on it is complete.

+

When the count of unfinished tasks drops to zero, join() unblocks.

+
+ +
+ +
+
+ape.utils.process.spawn(target, *args, **kwargs)
+

Spawn a new daemon thread. Borrowed from the py-geth library.

+
+ +
+
+

RPC

+
+
+class ape.utils.rpc.RPCHeaders(data=None, **kwargs)
+

Bases: CaseInsensitiveDict

+

A dict-like data-structure for HTTP-headers. +It is case-insensitive and appends user-agent strings +rather than overrides.

+
+ +
+
+ape.utils.rpc.allow_disconnected(fn: Callable)
+

A decorator that instead of raising ProviderNotConnectedError +warns and returns None.

+

Usage example:

+
from typing import Optional
+from ape.types import SnapshotID
+from ape.utils import return_none_when_disconnected
+
+@allow_disconnected
+def try_snapshot(self) -> Optional[SnapshotID]:
+    return self.chain.snapshot()
+
+
+
+ +
+
+ape.utils.rpc.stream_response(download_url: str, progress_bar_description: str = 'Downloading') bytes
+

Download HTTP content by streaming and returning the bytes. +Progress bar will be displayed in the CLI.

+
+
Parameters:
+
    +
  • download_url (str) – String to get files to download.

  • +
  • progress_bar_description (str) – Downloading word.

  • +
+
+
Returns:
+

Content in bytes to show the progress.

+
+
Return type:
+

bytes

+
+
+
+ +
+
+

Testing

+
+
+class ape.utils.testing.GeneratedDevAccount(address, private_key)
+

Bases: tuple

+

An account key-pair generated from the test mnemonic. Set the test mnemonic +in your ape-config.yaml file under the test section. Access your test +accounts using the test_accounts property.

+

Config example:

+
test:
+  mnemonic: test test test test test test test test test test test junk
+  number_of_accounts: 10
+
+
+
+
+address
+

Alias for field number 0

+
+ +
+
+private_key
+

Alias for field number 1

+
+ +
+ +
+
+ape.utils.testing.generate_dev_accounts(mnemonic: str = 'test test test test test test test test test test test junk', number_of_accounts: int = 10, hd_path: str = "m/44'/60'/0'/0", start_index: int = 0) list[GeneratedDevAccount]
+

Create accounts from the given test mnemonic. +Use these accounts (or the mnemonic) in chain-genesis +for testing providers.

+
+
Parameters:
+
    +
  • mnemonic (str) – mnemonic phrase or seed words.

  • +
  • number_of_accounts (int) – Number of accounts. Defaults to 10.

  • +
  • hd_path (str) – Hard Wallets/HD Keys derivation path format. +Defaults to "m/44'/60'/0'/0".

  • +
  • start_index (int) – The index to start from in the path. Defaults +to 0.

  • +
+
+
Returns:
+

List of development accounts.

+
+
Return type:
+

list[GeneratedDevAccount]

+
+
+
+ +
+
+

Trace

+
+
+class ape.utils.trace.TraceStyles
+

Bases: object

+

Colors to use when displaying a call trace. +Each item in the class points to the part of +the trace it colors.

+
+
+CONTRACTS = '#ff8c00'
+

Contract type names.

+
+ +
+
+DELEGATE = '#d75f00'
+

The part ‘(delegate)’ that appears before delegate calls.

+
+ +
+
+GAS_COST = 'dim'
+

The gas used of the call.

+
+ +
+
+INPUTS = 'bright_magenta'
+

Method arguments.

+
+ +
+
+METHODS = 'bright_green'
+

Method names; not including arguments or return values.

+
+ +
+
+OUTPUTS = 'bright_blue'
+

Method return values.

+
+ +
+
+VALUE = '#00afd7'
+

The transaction value, when it’s > 0.

+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/objects.inv b/v0.8.20/objects.inv new file mode 100644 index 0000000000..5dc374e4a4 Binary files /dev/null and b/v0.8.20/objects.inv differ diff --git a/v0.8.20/py-modindex.html b/v0.8.20/py-modindex.html new file mode 100644 index 0000000000..e0cbdb9937 --- /dev/null +++ b/v0.8.20/py-modindex.html @@ -0,0 +1,381 @@ + + + + + Python Module Index - ape documentation + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+
+ + +

Python Module Index

+ +
+ a +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
+ a
+ ape +
    + ape.api.accounts +
    + ape.api.address +
    + ape.api.compiler +
    + ape.api.config +
    + ape.api.convert +
    + ape.api.explorers +
    + ape.api.networks +
    + ape.api.projects +
    + ape.api.providers +
    + ape.api.query +
    + ape.cli.arguments +
    + ape.cli.choices +
    + ape.cli.commands +
    + ape.cli.options +
    + ape.cli.paramtype +
    + ape.exceptions +
    + ape.managers.accounts +
    + ape.managers.compilers +
    + ape.managers.config +
    + ape.managers.converters +
    + ape.managers.networks +
    + ape.managers.project +
    + ape.managers.query +
    + ape.plugins +
    + ape.plugins.account +
    + ape.plugins.compiler +
    + ape.plugins.config +
    + ape.plugins.converter +
    + ape.plugins.network +
    + ape.plugins.pluggy_patch +
    + ape.plugins.project +
    + ape.plugins.query +
    + ape.types.address +
    + ape.types.basic +
    + ape.types.coverage +
    + ape.types.events +
    + ape.types.gas +
    + ape.types.trace +
    + ape.types.units +
    + ape.types.vm +
    + ape.utils.abi +
    + ape.utils.basemodel +
    + ape.utils.misc +
    + ape.utils.os +
    + ape.utils.process +
    + ape.utils.rpc +
    + ape.utils.testing +
    + ape.utils.trace +
+ ape_accounts +
+ ape_compile +
+ ape_ethereum +
    + ape_ethereum.multicall +
+ ape_node +
+ ape_pm +
+ ape_test +
+ + +
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/v0.8.20/search.html b/v0.8.20/search.html new file mode 100644 index 0000000000..b12b7e935c --- /dev/null +++ b/v0.8.20/search.html @@ -0,0 +1,114 @@ + + + + + Search - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + +
+

+ + +
+ + +
+ +
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/searchindex.js b/v0.8.20/searchindex.js new file mode 100644 index 0000000000..b6cf070eda --- /dev/null +++ b/v0.8.20/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles": {"%ape": [[29, "ape"]], "%bal": [[29, "bal"]], "ABI": [[24, "module-ape.utils.abi"]], "Access List Transactions": [[46, "access-list-transactions"]], "Account Tools": [[26, "account-tools"]], "Accounts": [[17, "module-ape.api.accounts"], [21, "module-ape.managers.accounts"], [22, "module-ape.plugins.account"], [25, null]], "Address": [[17, "module-ape.api.address"], [23, "module-ape.types.address"]], "Advanced Testing Tips": [[44, "advanced-testing-tips"]], "Ape Context Decorator": [[26, "ape-context-decorator"]], "Ape Namespace": [[29, "ape-namespace"]], "Ape testing commands": [[44, "ape-testing-commands"]], "Arguments": [[18, "module-ape.cli.arguments"]], "Automation": [[25, "automation"]], "Base": [[22, "module-ape.plugins.pluggy_patch"]], "Base Path": [[28, "base-path"]], "Basemodel": [[24, "module-ape.utils.basemodel"]], "Basic": [[23, "module-ape.types.basic"]], "Block time, transaction type, and more config": [[37, "block-time-transaction-type-and-more-config"]], "Built-in Errors": [[42, "built-in-errors"]], "CLI Logging": [[36, "cli-logging"]], "CLI Plugins": [[33, "cli-plugins"]], "CLI Reference": [[9, null]], "CLI Scripts": [[43, "cli-scripts"]], "CLIs": [[26, null]], "Calling Transactions and Transacting Calls": [[30, "calling-transactions-and-transacting-calls"]], "Calls": [[30, "calls"]], "Caveats": [[44, "caveats"]], "Chain": [[21, "chain"]], "Choices": [[18, "module-ape.cli.choices"]], "Commands": [[18, "module-ape.cli.commands"]], "Compilation": [[40, "compilation"]], "Compile": [[27, null]], "Compile Source Code": [[27, "compile-source-code"]], "Compiler": [[17, "module-ape.api.compiler"], [22, "module-ape.plugins.compiler"]], "Compilers": [[21, "module-ape.managers.compilers"]], "Compiling Dependencies": [[32, "compiling-dependencies"]], "Config": [[17, "module-ape.api.config"], [21, "module-ape.managers.config"], [22, "module-ape.plugins.config"]], "Config Override": [[32, "config-override"]], "Configure": [[29, "configure"]], "Configure Ape": [[28, null]], "Configure Default": [[34, "configure-default"]], "Configuring Networks": [[37, "configuring-networks"]], "Considerations for Installing": [[41, "considerations-for-installing"]], "Console": [[29, null]], "Contract Coverage": [[44, "contract-coverage"]], "Contract File Paths": [[26, "contract-file-paths"]], "Contract Interaction": [[30, "contract-interaction"]], "Contract Interface Introspection": [[30, "contract-interface-introspection"]], "Contract fixture": [[44, "contract-fixture"]], "Contracts": [[30, null]], "Contracts Folder": [[28, "contracts-folder"]], "Convert": [[17, "module-ape.api.convert"]], "Converter": [[22, "module-ape.plugins.converter"]], "Converters": [[21, "module-ape.managers.converters"]], "Core Plugins": [[35, "core-plugins"]], "Core Python Reference": [[9, null]], "Coverage": [[23, "module-ape.types.coverage"]], "Creating new test accounts": [[25, "creating-new-test-accounts"]], "Custom Contracts Folder": [[32, "custom-contracts-folder"]], "Custom Errors": [[42, "custom-errors"], [44, "custom-errors"]], "Custom Network Connection": [[37, "custom-network-connection"]], "Custom Networks By Config": [[37, "custom-networks-by-config"]], "Custom Networks by CLI": [[37, "custom-networks-by-cli"]], "Decoding and Encoding Inputs": [[30, "decoding-and-encoding-inputs"]], "Default Ecosystem": [[28, "default-ecosystem"]], "Default Sender Support": [[25, "default-sender-support"], [25, "id1"]], "Default, Fallback, and Direct Calls": [[30, "default-fallback-and-direct-calls"]], "Dependencies": [[27, "dependencies"], [28, "dependencies"], [32, null], [38, "dependencies"]], "Deploy Scripts": [[30, "deploy-scripts"]], "Deployment": [[46, "deployment"]], "Deployment Metadata": [[46, "deployment-metadata"]], "Deployment from Ape Console": [[46, "deployment-from-ape-console"]], "Deployments": [[28, "deployments"]], "Dev Messages": [[42, "dev-messages"]], "Developing Plugins": [[33, null]], "Developing Projects with Ape": [[38, null]], "Documentation": [[41, "documentation"]], "Dynamic-Fee Transactions": [[46, "dynamic-fee-transactions"]], "EIP-712": [[25, "eip-712"]], "Estimate Gas Cost": [[46, "estimate-gas-cost"]], "Events": [[23, "module-ape.types.events"]], "Exclude Files": [[27, "exclude-files"]], "Executing Code": [[29, "executing-code"]], "Explorer URL": [[37, "explorer-url"]], "Explorers": [[17, "module-ape.api.explorers"]], "Exporting Accounts": [[25, "exporting-accounts"]], "File Exclusions": [[32, "file-exclusions"]], "Fixtures": [[44, "fixtures"]], "Forked Context": [[34, "forked-context"], [37, "forked-context"]], "Forking Custom Networks": [[37, "forking-custom-networks"]], "Forking Networks": [[34, null]], "Forking Plugin Networks": [[34, "forking-plugin-networks"]], "From ABIs": [[30, "from-abis"]], "From Any Address": [[30, "from-any-address"]], "From Deploy": [[30, "from-deploy"]], "From Previous Deployment": [[30, "from-previous-deployment"]], "From Project Contract Address": [[30, "from-project-contract-address"]], "Gas": [[23, "module-ape.types.gas"]], "Gas Reporting": [[44, "gas-reporting"]], "Gas Reports": [[45, "gas-reports"]], "Generating New Accounts": [[25, "generating-new-accounts"]], "Getting Account Transaction Data": [[31, "getting-account-transaction-data"]], "Getting Block Data": [[31, "getting-block-data"]], "Getting Contract Event Data": [[31, "getting-contract-event-data"]], "GitHub": [[32, "github"]], "Global Extras": [[29, "global-extras"]], "Hardware Wallets": [[25, "hardware-wallets"]], "Implementing API Classes": [[33, "implementing-api-classes"]], "Import the logger from the logging module": [[33, "import-the-logger-from-the-logging-module"]], "Importing Existing Accounts": [[25, "importing-existing-accounts"]], "Init Function": [[29, "init-function"]], "Initialize a Plugin Project": [[33, "initialize-a-plugin-project"]], "Inlining": [[44, "inlining"]], "Installation": [[41, "installation"]], "Installed Python Projects": [[38, "installed-python-projects"]], "Installing Plugins": [[35, "installing-plugins"]], "Installing with docker": [[41, "installing-with-docker"]], "Installing with pipx or pip": [[41, "installing-with-pipx-or-pip"]], "Iterative Testing": [[44, "iterative-testing"]], "Keyfile Accounts": [[25, "keyfile-accounts"]], "L2 Networks": [[37, "l2-networks"]], "Language Support": [[44, "language-support"]], "Live Network Accounts": [[25, "live-network-accounts"]], "Live Networks": [[37, "live-networks"]], "Local": [[32, "local"]], "Local Network": [[37, "local-network"]], "Logging": [[33, "logging"], [36, null]], "Magic Commands": [[29, "magic-commands"]], "Main Method Scripts": [[43, "main-method-scripts"]], "Mining": [[44, "mining"]], "Misc": [[32, "misc"]], "Miscellaneous": [[24, "module-ape.utils.misc"]], "Multi-Call and Multi-Transaction": [[30, "multi-call-and-multi-transaction"]], "Multi-chain Testing": [[44, "multi-chain-testing"]], "Multi-network Scripting": [[43, "multi-network-scripting"]], "NPM": [[32, "npm"]], "Namespace Extras": [[29, "namespace-extras"]], "Network": [[22, "module-ape.plugins.network"]], "Network Config": [[37, "network-config"]], "Network Tools": [[26, "network-tools"]], "Networks": [[17, "module-ape.api.networks"], [21, "module-ape.managers.networks"], [28, "networks"], [37, null]], "Node": [[28, "node"]], "Non-plugin settings": [[28, "non-plugin-settings"]], "Non-reentrant Functions": [[44, "non-reentrant-functions"]], "OS": [[24, "module-ape.utils.os"]], "Options": [[18, "module-ape.cli.options"]], "Other Compiler Plugins": [[27, "other-compiler-plugins"]], "Other Projects": [[38, "other-projects"]], "Output Extra": [[27, "output-extra"]], "Overview": [[41, null]], "Package Management CLI": [[32, "package-management-cli"]], "Parameter Types": [[18, "module-ape.cli.paramtype"]], "Payable Transactions": [[46, "payable-transactions"]], "Plugin Python Reference": [[9, null]], "Plugin Settings": [[28, "plugin-settings"]], "Plugin System": [[41, "plugin-system"]], "Plugin Types": [[35, "plugin-types"]], "Plugin Versions": [[35, "plugin-versions"]], "Plugins": [[28, "plugins"], [35, null]], "Prerequisite": [[41, "prerequisite"]], "Private Transactions": [[30, "private-transactions"]], "Process": [[24, "module-ape.utils.process"]], "Project": [[21, "module-ape.managers.project"], [22, "module-ape.plugins.project"]], "Project Manifests": [[38, "project-manifests"]], "Projects": [[17, "module-ape.api.projects"]], "Provider Context Manager": [[37, "provider-context-manager"]], "Provider Interaction": [[37, "provider-interaction"]], "Providers": [[17, "module-ape.api.providers"]], "Proxy Contracts": [[39, null]], "Publishing": [[30, "publishing"], [40, null]], "Publishing to Explorer": [[40, "publishing-to-explorer"]], "PyPI": [[32, "pypi"]], "Pytest": [[44, "pytest"]], "Python Logging": [[36, "python-logging"]], "Query": [[17, "module-ape.api.query"], [21, "module-ape.managers.query"], [22, "module-ape.plugins.query"]], "Querying Data": [[31, null]], "Quickstart": [[41, "quickstart"]], "RPC": [[24, "module-ape.utils.rpc"]], "RPC URL": [[37, "rpc-url"]], "Registering API Classes": [[33, "registering-api-classes"]], "Request Headers": [[28, "request-headers"], [37, "request-headers"]], "Reverts": [[42, null]], "Running a Network Process": [[37, "running-a-network-process"]], "Scripting": [[43, null]], "Selecting a Network": [[37, "selecting-a-network"]], "Settings": [[27, "settings"]], "Signatures": [[23, "signatures"]], "Signing Messages": [[25, "signing-messages"]], "Solidity Import Remapping": [[32, "solidity-import-remapping"]], "Static-Fee Transactions": [[46, "static-fee-transactions"]], "Test Accounts": [[25, "test-accounts"]], "Test Pattern": [[44, "test-pattern"]], "Test Providers": [[44, "test-providers"]], "Test Structure": [[44, "test-structure"]], "Testing": [[24, "module-ape.utils.testing"], [28, "testing"], [44, null]], "Testing Transaction Reverts": [[44, "testing-transaction-reverts"]], "The JSON Compiler": [[27, "the-json-compiler"]], "The Local Project": [[38, "the-local-project"]], "Trace": [[23, "module-ape.types.trace"], [24, "module-ape.utils.trace"]], "Traces": [[45, null], [46, "traces"]], "Tracing Calls": [[45, "tracing-calls"]], "Tracking Deployments": [[40, "tracking-deployments"]], "Transaction Acceptance Timeout": [[46, "transaction-acceptance-timeout"]], "Transaction Logs": [[46, "transaction-logs"]], "Transactions": [[17, "transactions"], [30, "transactions"], [46, null]], "Transfer": [[46, "transfer"]], "Types of Dependencies": [[32, "types-of-dependencies"]], "Units": [[23, "module-ape.types.units"]], "Use test accounts in tests": [[25, "use-test-accounts-in-tests"]], "Use test accounts outside of tests": [[25, "use-test-accounts-outside-of-tests"]], "Use the logger from the @ape_cli_context": [[33, "use-the-logger-from-the-ape-cli-context"]], "User Guides": [[9, null]], "Using Plugins": [[33, "using-plugins"]], "Using the Cache": [[31, "using-the-cache"]], "VM": [[23, "module-ape.types.vm"]], "Verifying Signature": [[25, "verifying-signature"]], "accounts": [[0, null]], "accounts fixture": [[44, "accounts-fixture"]], "ape": [[10, null]], "ape-accounts": [[11, null]], "ape-compile": [[12, null]], "ape-ethereum": [[13, null]], "ape-ethereum.multicall": [[13, "module-ape_ethereum.multicall"]], "ape-node": [[14, null]], "ape-pm": [[15, null]], "ape-test": [[16, null]], "ape.api": [[17, null]], "ape.cli": [[18, null]], "ape.contracts": [[19, null]], "ape.exceptions": [[20, null]], "ape.managers": [[21, null]], "ape.plugins": [[22, null]], "ape.types": [[23, null]], "ape.utils": [[24, null]], "chain fixture": [[44, "chain-fixture"]], "change-password": [[0, "accounts-change-password"]], "change-version": [[5, "plugins-change-version"]], "compile": [[1, null], [6, "pm-compile"], [32, "compile"]], "console": [[2, null], [2, "console"]], "delete": [[0, "accounts-delete"]], "dev_message": [[44, "dev-message"]], "evmchains Networks": [[37, "evmchains-networks"]], "expected_message": [[44, "expected-message"]], "export": [[0, "accounts-export"]], "generate": [[0, "accounts-generate"]], "import": [[0, "accounts-import"]], "init": [[3, null]], "install": [[5, "plugins-install"], [6, "pm-install"], [32, "install"]], "list": [[0, "accounts-list"], [4, "networks-list"], [5, "plugins-list"], [6, "pm-list"], [32, "list"]], "networks": [[4, null]], "networks fixture": [[44, "networks-fixture"]], "plugins": [[5, null]], "pm": [[6, null]], "project fixture": [[44, "project-fixture"]], "run": [[4, "networks-run"], [7, null], [7, "run"]], "test": [[8, null]], "uninstall": [[5, "plugins-uninstall"], [6, "pm-uninstall"], [32, "uninstall"]], "update": [[5, "plugins-update"]]}, "docnames": ["commands/accounts", "commands/compile", "commands/console", "commands/init", "commands/networks", "commands/plugins", "commands/pm", "commands/run", "commands/test", "index", "methoddocs/ape", "methoddocs/ape_accounts", "methoddocs/ape_compile", "methoddocs/ape_ethereum", "methoddocs/ape_node", "methoddocs/ape_pm", "methoddocs/ape_test", "methoddocs/api", "methoddocs/cli", "methoddocs/contracts", "methoddocs/exceptions", "methoddocs/managers", "methoddocs/plugins", "methoddocs/types", "methoddocs/utils", "userguides/accounts", "userguides/clis", "userguides/compile", "userguides/config", "userguides/console", "userguides/contracts", "userguides/data", "userguides/dependencies", "userguides/developing_plugins", "userguides/forking_networks", "userguides/installing_plugins", "userguides/logging", "userguides/networks", "userguides/projects", "userguides/proxy", "userguides/publishing", "userguides/quickstart", "userguides/reverts", "userguides/scripts", "userguides/testing", "userguides/trace", "userguides/transactions"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["commands/accounts.rst", "commands/compile.rst", "commands/console.rst", "commands/init.rst", "commands/networks.rst", "commands/plugins.rst", "commands/pm.rst", "commands/run.rst", "commands/test.rst", "index.rst", "methoddocs/ape.md", "methoddocs/ape_accounts.md", "methoddocs/ape_compile.md", "methoddocs/ape_ethereum.md", "methoddocs/ape_node.md", "methoddocs/ape_pm.md", "methoddocs/ape_test.md", "methoddocs/api.md", "methoddocs/cli.md", "methoddocs/contracts.md", "methoddocs/exceptions.md", "methoddocs/managers.md", "methoddocs/plugins.md", "methoddocs/types.md", "methoddocs/utils.md", "userguides/accounts.md", "userguides/clis.md", "userguides/compile.md", "userguides/config.md", "userguides/console.md", "userguides/contracts.md", "userguides/data.md", "userguides/dependencies.md", "userguides/developing_plugins.md", "userguides/forking_networks.md", "userguides/installing_plugins.md", "userguides/logging.md", "userguides/networks.md", "userguides/projects.md", "userguides/proxy.md", "userguides/publishing.md", "userguides/quickstart.md", "userguides/reverts.md", "userguides/scripts.md", "userguides/testing.md", "userguides/trace.md", "userguides/transactions.md"], "indexentries": {"--all": [[0, "cmdoption-accounts-list-all", false], [5, "cmdoption-plugins-list-a", false], [6, "cmdoption-pm-list-all", false]], "--code": [[2, "cmdoption-console-c", false]], "--config-override": [[1, "cmdoption-compile-config-override", false], [6, "cmdoption-pm-compile-config-override", false], [6, "cmdoption-pm-install-config-override", false]], "--ecosystem": [[4, "cmdoption-networks-list-ecosystem", false]], "--force": [[1, "cmdoption-compile-f", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-install-f", false]], "--format": [[4, "cmdoption-networks-list-format", false]], "--github": [[3, "cmdoption-init-github", false]], "--hd-path": [[0, "cmdoption-accounts-generate-hd-path", false], [0, "cmdoption-accounts-import-hd-path", false]], "--hide-mnemonic": [[0, "cmdoption-accounts-generate-hide-mnemonic", false]], "--include-dependencies": [[1, "cmdoption-compile-include-dependencies", false]], "--interactive": [[7, "cmdoption-run-I", false]], "--name": [[3, "cmdoption-init-name", false], [6, "cmdoption-pm-install-name", false]], "--network": [[4, "cmdoption-networks-list-network", false], [4, "cmdoption-networks-run-network", false]], "--project": [[1, "cmdoption-compile-project", false]], "--provider": [[4, "cmdoption-networks-list-provider", false]], "--ref": [[6, "cmdoption-pm-install-ref", false]], "--size": [[1, "cmdoption-compile-s", false]], "--upgrade": [[5, "cmdoption-plugins-install-U", false]], "--use-mnemonic": [[0, "cmdoption-accounts-import-use-mnemonic", false]], "--verbosity": [[0, "cmdoption-accounts-change-password-v", false], [0, "cmdoption-accounts-delete-v", false], [0, "cmdoption-accounts-export-v", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-import-v", false], [0, "cmdoption-accounts-list-v", false], [1, "cmdoption-compile-v", false], [2, "cmdoption-console-v", false], [3, "cmdoption-init-v", false], [4, "cmdoption-networks-list-v", false], [4, "cmdoption-networks-run-v", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-list-v", false], [5, "cmdoption-plugins-uninstall-v", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-list-v", false], [6, "cmdoption-pm-uninstall-v", false], [8, "cmdoption-test-v", false]], "--version": [[6, "cmdoption-pm-compile-version", false], [6, "cmdoption-pm-install-version", false]], "--watch": [[8, "cmdoption-test-w", false]], "--watch-delay": [[8, "cmdoption-test-watch-delay", false]], "--watch-folders": [[8, "cmdoption-test-watch-folders", false]], "--word-count": [[0, "cmdoption-accounts-generate-word-count", false]], "--yes": [[5, "cmdoption-plugins-install-y", false], [5, "cmdoption-plugins-uninstall-y", false], [6, "cmdoption-pm-uninstall-y", false]], "-a": [[5, "cmdoption-plugins-list-a", false]], "-c": [[2, "cmdoption-console-c", false]], "-f": [[1, "cmdoption-compile-f", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-install-f", false]], "-i": [[7, "cmdoption-run-I", false]], "-s": [[1, "cmdoption-compile-s", false]], "-u": [[5, "cmdoption-plugins-install-U", false]], "-v": [[0, "cmdoption-accounts-change-password-v", false], [0, "cmdoption-accounts-delete-v", false], [0, "cmdoption-accounts-export-v", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-import-v", false], [0, "cmdoption-accounts-list-v", false], [1, "cmdoption-compile-v", false], [2, "cmdoption-console-v", false], [3, "cmdoption-init-v", false], [4, "cmdoption-networks-list-v", false], [4, "cmdoption-networks-run-v", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-list-v", false], [5, "cmdoption-plugins-uninstall-v", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-list-v", false], [6, "cmdoption-pm-uninstall-v", false], [8, "cmdoption-test-v", false]], "-w": [[8, "cmdoption-test-w", false]], "-y": [[5, "cmdoption-plugins-install-y", false], [5, "cmdoption-plugins-uninstall-y", false], [6, "cmdoption-pm-uninstall-y", false]], "__call__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__call__", false]], "__call__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__call__", false]], "__call__() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.__call__", false]], "__call__() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.__call__", false]], "__call__() (ape_ethereum.multicall.transaction method)": [[13, "ape_ethereum.multicall.Transaction.__call__", false]], "__contains__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__contains__", false]], "__contains__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__contains__", false]], "__contains__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__contains__", false]], "__contains__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__contains__", false]], "__delitem__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__delitem__", false]], "__delitem__() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.__delitem__", false]], "__eq__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__eq__", false]], "__eq__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__eq__", false]], "__getitem__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__getitem__", false]], "__getitem__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__getitem__", false]], "__getitem__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__getitem__", false]], "__getitem__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__getitem__", false]], "__hash__ (ape.contracts.base.contractcontainer attribute)": [[19, "ape.contracts.base.ContractContainer.__hash__", false]], "__hash__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__hash__", false]], "__iter__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__iter__", false]], "__iter__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__iter__", false]], "__iter__() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.__iter__", false]], "__iter__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__iter__", false]], "__iter__() (ape.managers.project.deploymentmanager method)": [[21, "ape.managers.project.DeploymentManager.__iter__", false]], "__len__() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.__len__", false]], "__len__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__len__", false]], "__len__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__len__", false]], "__len__() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.__len__", false]], "__len__() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.__len__", false]], "__pydantic_extra__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_extra__", false]], "__pydantic_extra__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_extra__", false]], "__pydantic_fields_set__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_fields_set__", false]], "__pydantic_fields_set__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_fields_set__", false]], "__pydantic_private__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__pydantic_private__", false]], "__pydantic_private__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__pydantic_private__", false]], "__pydantic_private__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__pydantic_private__", false]], "__repr__() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.__repr__", false]], "__repr__() (ape.api.config.configenum method)": [[17, "ape.api.config.ConfigEnum.__repr__", false]], "__repr__() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.__repr__", false]], "__repr__() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.__repr__", false]], "__repr__() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.__repr__", false]], "__repr__() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.__repr__", false]], "__repr__() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.__repr__", false]], "__repr__() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.__repr__", false]], "__repr__() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.__repr__", false]], "__repr__() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.__repr__", false]], "__repr__() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.__repr__", false]], "__repr__() (ape.managers.project.contractmanager method)": [[21, "ape.managers.project.ContractManager.__repr__", false]], "__repr__() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.__repr__", false]], "__repr__() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.__repr__", false]], "__repr__() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.__repr__", false]], "__repr__() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.__repr__", false]], "__repr__() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.__repr__", false]], "__repr__() (ape.managers.project.projectmanager method)": [[21, "ape.managers.project.ProjectManager.__repr__", false]], "__repr__() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.__repr__", false]], "__setitem__() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.__setitem__", false]], "__signature__ (ape.api.accounts.accountapi attribute)": [[17, "ape.api.accounts.AccountAPI.__signature__", false]], "__signature__ (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.__signature__", false]], "__signature__ (ape.api.accounts.impersonatedaccount attribute)": [[17, "ape.api.accounts.ImpersonatedAccount.__signature__", false]], "__signature__ (ape.api.accounts.testaccountapi attribute)": [[17, "ape.api.accounts.TestAccountAPI.__signature__", false]], "__signature__ (ape.api.accounts.testaccountcontainerapi attribute)": [[17, "ape.api.accounts.TestAccountContainerAPI.__signature__", false]], "__signature__ (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.__signature__", false]], "__signature__ (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.__signature__", false]], "__signature__ (ape.api.config.pluginconfig attribute)": [[17, "ape.api.config.PluginConfig.__signature__", false]], "__signature__ (ape.api.convert.converterapi attribute)": [[17, "ape.api.convert.ConverterAPI.__signature__", false]], "__signature__ (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.__signature__", false]], "__signature__ (ape.api.networks.forkednetworkapi attribute)": [[17, "ape.api.networks.ForkedNetworkAPI.__signature__", false]], "__signature__ (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.__signature__", false]], "__signature__ (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.__signature__", false]], "__signature__ (ape.api.query.accounttransactionquery attribute)": [[17, "ape.api.query.AccountTransactionQuery.__signature__", false]], "__signature__ (ape.api.query.blockquery attribute)": [[17, "ape.api.query.BlockQuery.__signature__", false]], "__signature__ (ape.api.query.blocktransactionquery attribute)": [[17, "ape.api.query.BlockTransactionQuery.__signature__", false]], "__signature__ (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.__signature__", false]], "__signature__ (ape.api.query.contractcreationquery attribute)": [[17, "ape.api.query.ContractCreationQuery.__signature__", false]], "__signature__ (ape.api.query.contracteventquery attribute)": [[17, "ape.api.query.ContractEventQuery.__signature__", false]], "__signature__ (ape.api.query.contractmethodquery attribute)": [[17, "ape.api.query.ContractMethodQuery.__signature__", false]], "__signature__ (ape.contracts.base.contractevent attribute)": [[19, "ape.contracts.base.ContractEvent.__signature__", false]], "__signature__ (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.__signature__", false]], "__str__() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.__str__", false]], "__str__() (ape.api.config.configenum method)": [[17, "ape.api.config.ConfigEnum.__str__", false]], "__str__() (ape.api.config.pluginconfig method)": [[17, "ape.api.config.PluginConfig.__str__", false]], "__str__() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.__str__", false]], "abort": [[20, "ape.exceptions.Abort", false]], "abort() (ape.cli.options.apeclicontextobject static method)": [[18, "ape.cli.options.ApeCliContextObject.abort", false]], "account_option() (in module ape.cli.options)": [[18, "ape.cli.options.account_option", false]], "account_type (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.account_type", false]], "account_types() (ape.plugins.account.accountplugin method)": [[22, "ape.plugins.account.AccountPlugin.account_types", false]], "accountaliaspromptchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.AccountAliasPromptChoice", false]], "accountapi (class in ape.api.accounts)": [[17, "ape.api.accounts.AccountAPI", false]], "accountcontainerapi (class in ape.api.accounts)": [[17, "ape.api.accounts.AccountContainerAPI", false]], "accounthistory (class in ape.managers.chain)": [[21, "ape.managers.chain.AccountHistory", false]], "accountintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.AccountIntConverter", false]], "accountmanager (class in ape.managers.accounts)": [[21, "ape.managers.accounts.AccountManager", false]], "accountplugin (class in ape.plugins.account)": [[22, "ape.plugins.account.AccountPlugin", false]], "accounts (ape attribute)": [[10, "ape.accounts", false]], "accounts (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.accounts", false]], "accounts-change-password command line option": [[0, "cmdoption-accounts-change-password-arg-ALIAS", false], [0, "cmdoption-accounts-change-password-v", false]], "accounts-delete command line option": [[0, "cmdoption-accounts-delete-arg-ALIAS", false], [0, "cmdoption-accounts-delete-v", false]], "accounts-export command line option": [[0, "cmdoption-accounts-export-arg-ALIAS", false], [0, "cmdoption-accounts-export-v", false]], "accounts-generate command line option": [[0, "cmdoption-accounts-generate-arg-ALIAS", false], [0, "cmdoption-accounts-generate-hd-path", false], [0, "cmdoption-accounts-generate-hide-mnemonic", false], [0, "cmdoption-accounts-generate-v", false], [0, "cmdoption-accounts-generate-word-count", false]], "accounts-import command line option": [[0, "cmdoption-accounts-import-arg-ALIAS", false], [0, "cmdoption-accounts-import-hd-path", false], [0, "cmdoption-accounts-import-use-mnemonic", false], [0, "cmdoption-accounts-import-v", false]], "accounts-list command line option": [[0, "cmdoption-accounts-list-all", false], [0, "cmdoption-accounts-list-v", false]], "accountserror": [[20, "ape.exceptions.AccountsError", false]], "accounttransactionquery (class in ape.api.query)": [[17, "ape.api.query.AccountTransactionQuery", false]], "active_provider (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.active_provider", false]], "add() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.add", false]], "add() (ape_ethereum.multicall.basemulticall method)": [[13, "ape_ethereum.multicall.BaseMulticall.add", false]], "add() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.add", false]], "add_builtin_jump() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.add_builtin_jump", false]], "add_compiler_data() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.add_compiler_data", false]], "add_jump() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.add_jump", false]], "add_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.add_network", false]], "additional_error_message (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.additional_error_message", false]], "address (ape.api.accounts.impersonatedaccount property)": [[17, "ape.api.accounts.ImpersonatedAccount.address", false]], "address (ape.api.address.address property)": [[17, "ape.api.address.Address.address", false]], "address (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.address", false]], "address (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.address", false]], "address (ape.contracts.base.contractinstance property)": [[19, "ape.contracts.base.ContractInstance.address", false]], "address (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.address", false]], "address (ape.utils.testing.generateddevaccount attribute)": [[24, "ape.utils.testing.GeneratedDevAccount.address", false]], "address (class in ape.api.address)": [[17, "ape.api.address.Address", false]], "addressapiconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.AddressAPIConverter", false]], "addresstype (in module ape.types.address)": [[23, "ape.types.address.AddressType", false]], "alias": [[0, "cmdoption-accounts-change-password-arg-ALIAS", false], [0, "cmdoption-accounts-delete-arg-ALIAS", false], [0, "cmdoption-accounts-export-arg-ALIAS", false], [0, "cmdoption-accounts-generate-arg-ALIAS", false], [0, "cmdoption-accounts-import-arg-ALIAS", false]], "alias (ape.api.accounts.accountapi property)": [[17, "ape.api.accounts.AccountAPI.alias", false]], "alias (class in ape.cli.choices)": [[18, "ape.cli.choices.Alias", false]], "aliasalreadyinuseerror": [[20, "ape.exceptions.AliasAlreadyInUseError", false]], "aliases (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.aliases", false]], "aliases (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.aliases", false]], "allow_disconnected() (in module ape.utils.rpc)": [[24, "ape.utils.rpc.allow_disconnected", false]], "ape.api.accounts": [[17, "module-ape.api.accounts", false]], "ape.api.address": [[17, "module-ape.api.address", false]], "ape.api.compiler": [[17, "module-ape.api.compiler", false]], "ape.api.config": [[17, "module-ape.api.config", false]], "ape.api.convert": [[17, "module-ape.api.convert", false]], "ape.api.explorers": [[17, "module-ape.api.explorers", false]], "ape.api.networks": [[17, "module-ape.api.networks", false]], "ape.api.projects": [[17, "module-ape.api.projects", false]], "ape.api.providers": [[17, "module-ape.api.providers", false]], "ape.api.query": [[17, "module-ape.api.query", false]], "ape.cli.arguments": [[18, "module-ape.cli.arguments", false]], "ape.cli.choices": [[18, "module-ape.cli.choices", false]], "ape.cli.commands": [[18, "module-ape.cli.commands", false]], "ape.cli.options": [[18, "module-ape.cli.options", false]], "ape.cli.paramtype": [[18, "module-ape.cli.paramtype", false]], "ape.contract()": [[10, "ape.Contract", false]], "ape.convert()": [[10, "ape.convert", false]], "ape.exceptions": [[20, "module-ape.exceptions", false]], "ape.managers.accounts": [[21, "module-ape.managers.accounts", false]], "ape.managers.compilers": [[21, "module-ape.managers.compilers", false]], "ape.managers.config": [[21, "module-ape.managers.config", false]], "ape.managers.converters": [[21, "module-ape.managers.converters", false]], "ape.managers.networks": [[21, "module-ape.managers.networks", false]], "ape.managers.project": [[21, "module-ape.managers.project", false]], "ape.managers.query": [[21, "module-ape.managers.query", false]], "ape.plugins": [[22, "module-ape.plugins", false]], "ape.plugins.account": [[22, "module-ape.plugins.account", false]], "ape.plugins.compiler": [[22, "module-ape.plugins.compiler", false]], "ape.plugins.config": [[22, "module-ape.plugins.config", false]], "ape.plugins.converter": [[22, "module-ape.plugins.converter", false]], "ape.plugins.network": [[22, "module-ape.plugins.network", false]], "ape.plugins.pluggy_patch": [[22, "module-ape.plugins.pluggy_patch", false]], "ape.plugins.project": [[22, "module-ape.plugins.project", false]], "ape.plugins.query": [[22, "module-ape.plugins.query", false]], "ape.project()": [[10, "ape.Project", false]], "ape.reverts()": [[10, "ape.reverts", false]], "ape.types.address": [[23, "module-ape.types.address", false]], "ape.types.basic": [[23, "module-ape.types.basic", false]], "ape.types.coverage": [[23, "module-ape.types.coverage", false]], "ape.types.events": [[23, "module-ape.types.events", false]], "ape.types.gas": [[23, "module-ape.types.gas", false]], "ape.types.trace": [[23, "module-ape.types.trace", false]], "ape.types.units": [[23, "module-ape.types.units", false]], "ape.types.vm": [[23, "module-ape.types.vm", false]], "ape.utils.abi": [[24, "module-ape.utils.abi", false]], "ape.utils.basemodel": [[24, "module-ape.utils.basemodel", false]], "ape.utils.misc": [[24, "module-ape.utils.misc", false]], "ape.utils.os": [[24, "module-ape.utils.os", false]], "ape.utils.process": [[24, "module-ape.utils.process", false]], "ape.utils.rpc": [[24, "module-ape.utils.rpc", false]], "ape.utils.testing": [[24, "module-ape.utils.testing", false]], "ape.utils.trace": [[24, "module-ape.utils.trace", false]], "ape_accounts": [[11, "module-ape_accounts", false]], "ape_cli_context() (in module ape.cli.options)": [[18, "ape.cli.options.ape_cli_context", false]], "ape_compile": [[12, "module-ape_compile", false]], "ape_ethereum": [[13, "module-ape_ethereum", false]], "ape_ethereum.multicall": [[13, "module-ape_ethereum.multicall", false]], "ape_node": [[14, "module-ape_node", false]], "ape_pm": [[15, "module-ape_pm", false]], "ape_test": [[16, "module-ape_test", false]], "apeattributeerror": [[20, "ape.exceptions.ApeAttributeError", false]], "apeclicontextobject (class in ape.cli.options)": [[18, "ape.cli.options.ApeCliContextObject", false]], "apeconfig (class in ape.api.config)": [[17, "ape.api.config.ApeConfig", false]], "apeexception": [[20, "ape.exceptions.ApeException", false]], "apeindexerror": [[20, "ape.exceptions.ApeIndexError", false]], "apeproject (class in ape.api.projects)": [[17, "ape.api.projects.ApeProject", false]], "api_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.api_path", false]], "apinotimplementederror": [[20, "ape.exceptions.APINotImplementedError", false]], "append() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.append", false]], "append() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.append", false]], "append() (ape.managers.chain.transactionhistory method)": [[21, "ape.managers.chain.TransactionHistory.append", false]], "append() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.append", false]], "argumentslengtherror": [[20, "ape.exceptions.ArgumentsLengthError", false]], "as_transaction() (ape_ethereum.multicall.call method)": [[13, "ape_ethereum.multicall.Call.as_transaction", false]], "as_transaction() (ape_ethereum.multicall.transaction method)": [[13, "ape_ethereum.multicall.Transaction.as_transaction", false]], "at() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.at", false]], "attributes (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.attributes", false]], "auto_gas_multiplier (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.auto_gas_multiplier", false]], "auto_mine (ape.api.providers.testproviderapi property)": [[17, "ape.api.providers.TestProviderAPI.auto_mine", false]], "auto_mine (ape_node.gethdev property)": [[14, "ape_node.GethDev.auto_mine", false]], "autogaslimit (class in ape.types.gas)": [[23, "ape.types.gas.AutoGasLimit", false]], "await_confirmations() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.await_confirmations", false]], "balance (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.balance", false]], "base_fee (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.base_fee", false]], "base_fee (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.base_fee", false]], "base_fee_multiplier (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.base_fee_multiplier", false]], "base_path (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.base_path", false]], "baseaddress (class in ape.api.address)": [[17, "ape.api.address.BaseAddress", false]], "baseinterface (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseInterface", false]], "baseinterfacemodel (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseInterfaceModel", false]], "basemodel (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.BaseModel", false]], "basemulticall (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.BaseMulticall", false]], "begin_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.begin_lineno", false]], "block (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.block", false]], "block_hash (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.block_hash", false]], "block_number (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.block_number", false]], "block_page_size (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.block_page_size", false]], "block_time (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.block_time", false]], "blockapi (class in ape.api.providers)": [[17, "ape.api.providers.BlockAPI", false]], "blockcontainer (class in ape.managers.chain)": [[21, "ape.managers.chain.BlockContainer", false]], "blockid (in module ape.types.vm)": [[23, "ape.types.vm.BlockID", false]], "blocknotfounderror": [[20, "ape.exceptions.BlockNotFoundError", false]], "blockquery (class in ape.api.query)": [[17, "ape.api.query.BlockQuery", false]], "blocks (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.blocks", false]], "blocktransactionquery (class in ape.api.query)": [[17, "ape.api.query.BlockTransactionQuery", false]], "body (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.body", false]], "build_command() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.build_command", false]], "build_command() (ape_node.gethdev method)": [[14, "ape_node.GethDev.build_command", false]], "built-in function": [[10, "ape.Contract", false], [10, "ape.Project", false], [10, "ape.convert", false], [10, "ape.reverts", false]], "bytesaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.BytesAddressConverter", false]], "cache_api() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.cache_api", false]], "cache_blueprint() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_blueprint", false]], "cache_deployment() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_deployment", false]], "cache_proxy_info() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.cache_proxy_info", false]], "call (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.Call", false]], "call() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.call", false]], "call() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.call", false]], "call_trace_approach (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.call_trace_approach", false]], "call_view_method() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.call_view_method", false]], "can_trace_source() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.can_trace_source", false]], "chain (ape attribute)": [[10, "ape.chain", false]], "chain_id (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.chain_id", false]], "chain_id (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.chain_id", false]], "chain_id (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.chain_id", false]], "chain_id (ape_node.gethdev property)": [[14, "ape_node.GethDev.chain_id", false]], "chainerror": [[20, "ape.exceptions.ChainError", false]], "chainmanager (class in ape.managers.chain)": [[21, "ape.managers.chain.ChainManager", false]], "check_signature() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.check_signature", false]], "clean_path() (in module ape.utils.os)": [[24, "ape.utils.os.clean_path", false]], "clear_local_caches() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.clear_local_caches", false]], "closure (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.closure", false]], "code (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.code", false]], "codesize (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.codesize", false]], "compile command line option": [[1, "cmdoption-compile-arg-FILE_PATHS", false], [1, "cmdoption-compile-config-override", false], [1, "cmdoption-compile-f", false], [1, "cmdoption-compile-include-dependencies", false], [1, "cmdoption-compile-project", false], [1, "cmdoption-compile-s", false], [1, "cmdoption-compile-v", false]], "compile() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.compile", false]], "compile() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.compile", false]], "compile() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.compile", false]], "compile_code() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.compile_code", false]], "compile_source() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.compile_source", false]], "compiler_settings (ape.api.compiler.compilerapi attribute)": [[17, "ape.api.compiler.CompilerAPI.compiler_settings", false]], "compilerapi (class in ape.api.compiler)": [[17, "ape.api.compiler.CompilerAPI", false]], "compilererror": [[20, "ape.exceptions.CompilerError", false]], "compilermanager (class in ape.managers.compilers)": [[21, "ape.managers.compilers.CompilerManager", false]], "compilerplugin (class in ape.plugins.compiler)": [[22, "ape.plugins.compiler.CompilerPlugin", false]], "compilers (ape attribute)": [[10, "ape.compilers", false]], "concurrency (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.concurrency", false]], "config (ape attribute)": [[10, "ape.config", false]], "config (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.config", false]], "config (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.config", false]], "config (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.config", false]], "config (class in ape.plugins.config)": [[22, "ape.plugins.config.Config", false]], "config_class() (ape.plugins.config.config method)": [[22, "ape.plugins.config.Config.config_class", false]], "config_override (ape.api.projects.dependencyapi attribute)": [[17, "ape.api.projects.DependencyAPI.config_override", false]], "configenum (class in ape.api.config)": [[17, "ape.api.config.ConfigEnum", false]], "configerror": [[20, "ape.exceptions.ConfigError", false]], "configmanager (class in ape.managers.config)": [[21, "ape.managers.config.ConfigManager", false]], "confirmed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.confirmed", false]], "connect() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.connect", false]], "connect() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.connect", false]], "connect() (ape_node.gethdev method)": [[14, "ape_node.GethDev.connect", false]], "connect() (ape_node.node method)": [[14, "ape_node.Node.connect", false]], "connectedprovidercommand (class in ape.cli.commands)": [[18, "ape.cli.commands.ConnectedProviderCommand", false]], "connection_id (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.connection_id", false]], "connection_id (ape.api.providers.subprocessprovider property)": [[17, "ape.api.providers.SubprocessProvider.connection_id", false]], "connection_str (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.connection_str", false]], "console command line option": [[2, "cmdoption-console-c", false], [2, "cmdoption-console-v", false]], "containers (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.containers", false]], "contract_file_paths_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.contract_file_paths_argument", false]], "contract_option() (in module ape.cli.options)": [[18, "ape.cli.options.contract_option", false]], "contract_type (ape.api.config.deploymentconfig attribute)": [[17, "ape.api.config.DeploymentConfig.contract_type", false]], "contractcache (class in ape.managers.chain)": [[21, "ape.managers.chain.ContractCache", false]], "contractcontainer (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractContainer", false]], "contractcoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.ContractCoverage", false]], "contractcreation (class in ape.api.query)": [[17, "ape.api.query.ContractCreation", false]], "contractcreationquery (class in ape.api.query)": [[17, "ape.api.query.ContractCreationQuery", false]], "contractdataerror": [[20, "ape.exceptions.ContractDataError", false]], "contractevent (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractEvent", false]], "contracteventquery (class in ape.api.query)": [[17, "ape.api.query.ContractEventQuery", false]], "contractinstance (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractInstance", false]], "contractlog (class in ape.types.events)": [[23, "ape.types.events.ContractLog", false]], "contractlogcontainer (class in ape.types.events)": [[23, "ape.types.events.ContractLogContainer", false]], "contractlogicerror": [[20, "ape.exceptions.ContractLogicError", false]], "contractmanager (class in ape.managers.project)": [[21, "ape.managers.project.ContractManager", false]], "contractmethodquery (class in ape.api.query)": [[17, "ape.api.query.ContractMethodQuery", false]], "contractnotfounderror": [[20, "ape.exceptions.ContractNotFoundError", false]], "contracts (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.contracts", false]], "contracts (ape.types.coverage.contractsourcecoverage attribute)": [[23, "ape.types.coverage.ContractSourceCoverage.contracts", false]], "contracts (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.CONTRACTS", false]], "contracts_folder (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.contracts_folder", false]], "contracts_folder (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.contracts_folder", false]], "contractsourcecoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.ContractSourceCoverage", false]], "contracttypewrapper (class in ape.contracts.base)": [[19, "ape.contracts.base.ContractTypeWrapper", false]], "controlflow (class in ape.types.trace)": [[23, "ape.types.trace.ControlFlow", false]], "conversionerror": [[20, "ape.exceptions.ConversionError", false]], "conversionmanager (class in ape.managers.converters)": [[21, "ape.managers.converters.ConversionManager", false]], "conversionplugin (class in ape.plugins.converter)": [[22, "ape.plugins.converter.ConversionPlugin", false]], "convert() (ape.api.convert.converterapi method)": [[17, "ape.api.convert.ConverterAPI.convert", false]], "convert() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.convert", false]], "convert() (ape.cli.choices.networkchoice method)": [[18, "ape.cli.choices.NetworkChoice.convert", false]], "convert() (ape.cli.choices.promptchoice method)": [[18, "ape.cli.choices.PromptChoice.convert", false]], "convert() (ape.cli.paramtype.json method)": [[18, "ape.cli.paramtype.JSON.convert", false]], "convert() (ape.cli.paramtype.noop method)": [[18, "ape.cli.paramtype.Noop.convert", false]], "convert() (ape.managers.converters.accountintconverter method)": [[21, "ape.managers.converters.AccountIntConverter.convert", false]], "convert() (ape.managers.converters.addressapiconverter method)": [[21, "ape.managers.converters.AddressAPIConverter.convert", false]], "convert() (ape.managers.converters.bytesaddressconverter method)": [[21, "ape.managers.converters.BytesAddressConverter.convert", false]], "convert() (ape.managers.converters.conversionmanager method)": [[21, "ape.managers.converters.ConversionManager.convert", false]], "convert() (ape.managers.converters.hexaddressconverter method)": [[21, "ape.managers.converters.HexAddressConverter.convert", false]], "convert() (ape.managers.converters.hexconverter method)": [[21, "ape.managers.converters.HexConverter.convert", false]], "convert() (ape.managers.converters.hexintconverter method)": [[21, "ape.managers.converters.HexIntConverter.convert", false]], "convert() (ape.managers.converters.hexiterableconverter method)": [[21, "ape.managers.converters.HexIterableConverter.convert", false]], "convert() (ape.managers.converters.intaddressconverter method)": [[21, "ape.managers.converters.IntAddressConverter.convert", false]], "convert() (ape.managers.converters.stringdecimalconverter method)": [[21, "ape.managers.converters.StringDecimalConverter.convert", false]], "convert() (ape.managers.converters.stringintconverter method)": [[21, "ape.managers.converters.StringIntConverter.convert", false]], "convert() (ape.managers.converters.timestampconverter method)": [[21, "ape.managers.converters.TimestampConverter.convert", false]], "converterapi (class in ape.api.convert)": [[17, "ape.api.convert.ConverterAPI", false]], "converters() (ape.plugins.converter.conversionplugin method)": [[22, "ape.plugins.converter.ConversionPlugin.converters", false]], "coverageproject (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageProject", false]], "coveragereport (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageReport", false]], "coveragestatement (class in ape.types.coverage)": [[23, "ape.types.coverage.CoverageStatement", false]], "create_custom_provider() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.create_custom_provider", false]], "create_network_type() (in module ape.api.networks)": [[17, "ape.api.networks.create_network_type", false]], "create_struct() (in module ape.utils.abi)": [[24, "ape.utils.abi.create_struct", false]], "create_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.create_tempdir", false]], "create_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.create_transaction", false]], "creation_metadata (ape.contracts.base.contractinstance property)": [[19, "ape.contracts.base.ContractInstance.creation_metadata", false]], "currencyvalue (in module ape.types.units)": [[23, "ape.types.units.CurrencyValue", false]], "currencyvaluecomparable (in module ape.types.units)": [[23, "ape.types.units.CurrencyValueComparable", false]], "custom_network (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.custom_network", false]], "custom_networks (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.custom_networks", false]], "customerror": [[20, "ape.exceptions.CustomError", false]], "data_dir (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.data_dir", false]], "data_folder (ape.api.accounts.accountcontainerapi property)": [[17, "ape.api.accounts.AccountContainerAPI.data_folder", false]], "data_folder (ape.api.accounts.testaccountcontainerapi property)": [[17, "ape.api.accounts.TestAccountContainerAPI.data_folder", false]], "data_folder (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.data_folder", false]], "data_folder (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.data_folder", false]], "data_folder (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.data_folder", false]], "datetime (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.datetime", false]], "debug_logs_lines (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.debug_logs_lines", false]], "debug_logs_typed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.debug_logs_typed", false]], "declare() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.declare", false]], "decode_address() (ape.api.networks.ecosystemapi class method)": [[17, "ape.api.networks.EcosystemAPI.decode_address", false]], "decode_block() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_block", false]], "decode_calldata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_calldata", false]], "decode_custom_error() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_custom_error", false]], "decode_dependency() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.decode_dependency", false]], "decode_input() (ape.contracts.base.contracttypewrapper method)": [[19, "ape.contracts.base.ContractTypeWrapper.decode_input", false]], "decode_logs() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_logs", false]], "decode_logs() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.decode_logs", false]], "decode_output() (ape.utils.abi.structparser method)": [[24, "ape.utils.abi.StructParser.decode_output", false]], "decode_primitive_value() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_primitive_value", false]], "decode_receipt() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_receipt", false]], "decode_returndata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.decode_returndata", false]], "decodingerror": [[20, "ape.exceptions.DecodingError", false]], "default_ecosystem (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.default_ecosystem", false]], "default_ecosystem (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.default_ecosystem", false]], "default_name (ape.utils.abi.structparser property)": [[24, "ape.utils.abi.StructParser.default_name", false]], "default_network_name (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.default_network_name", false]], "default_provider_name (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.default_provider_name", false]], "defaultqueryprovider (class in ape.managers.query)": [[21, "ape.managers.query.DefaultQueryProvider", false]], "delegate (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.DELEGATE", false]], "dependencies (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.dependencies", false]], "dependencies (ape.managers.project.project property)": [[21, "ape.managers.project.Project.dependencies", false]], "dependencies() (ape.plugins.project.dependencyplugin method)": [[22, "ape.plugins.project.DependencyPlugin.dependencies", false]], "dependency (class in ape.managers.project)": [[21, "ape.managers.project.Dependency", false]], "dependencyapi (class in ape.api.projects)": [[17, "ape.api.projects.DependencyAPI", false]], "dependencymanager (class in ape.managers.project)": [[21, "ape.managers.project.DependencyManager", false]], "dependencyplugin (class in ape.plugins.project)": [[22, "ape.plugins.project.DependencyPlugin", false]], "dependencyversionmap (class in ape.managers.project)": [[21, "ape.managers.project.DependencyVersionMap", false]], "deploy() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.deploy", false]], "deploy() (ape.contracts.base.contractcontainer method)": [[19, "ape.contracts.base.ContractContainer.deploy", false]], "deployer (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.deployer", false]], "deployment_data (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.deployment_data", false]], "deploymentconfig (class in ape.api.config)": [[17, "ape.api.config.DeploymentConfig", false]], "deploymentmanager (class in ape.managers.project)": [[21, "ape.managers.project.DeploymentManager", false]], "deployments (ape.contracts.base.contractcontainer property)": [[19, "ape.contracts.base.ContractContainer.deployments", false]], "deployments (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.deployments", false]], "depth (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.depth", false]], "dev_message (ape.exceptions.contractlogicerror property)": [[20, "ape.exceptions.ContractLogicError.dev_message", false]], "disconnect() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.disconnect", false]], "disconnect() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.disconnect", false]], "disconnect() (ape_node.gethdev method)": [[14, "ape_node.GethDev.disconnect", false]], "ecosystem (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.ecosystem", false]], "ecosystem (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystem", false]], "ecosystem_config (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.ecosystem_config", false]], "ecosystem_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystem_names", false]], "ecosystemapi (class in ape.api.networks)": [[17, "ape.api.networks.EcosystemAPI", false]], "ecosystemnotfounderror": [[20, "ape.exceptions.EcosystemNotFoundError", false]], "ecosystemplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.EcosystemPlugin", false]], "ecosystems (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.ecosystems", false]], "ecosystems() (ape.plugins.network.ecosystemplugin method)": [[22, "ape.plugins.network.EcosystemPlugin.ecosystems", false]], "empty (ape.api.networks.providercontextmanager property)": [[17, "ape.api.networks.ProviderContextManager.empty", false]], "encode_address() (ape.api.networks.ecosystemapi class method)": [[17, "ape.api.networks.EcosystemAPI.encode_address", false]], "encode_calldata() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_calldata", false]], "encode_contract_blueprint() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_contract_blueprint", false]], "encode_deployment() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_deployment", false]], "encode_input() (ape.utils.abi.structparser method)": [[24, "ape.utils.abi.StructParser.encode_input", false]], "encode_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.encode_transaction", false]], "end_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.end_lineno", false]], "engines (ape.managers.query.querymanager property)": [[21, "ape.managers.query.QueryManager.engines", false]], "enrich_error() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.enrich_error", false]], "enrich_error() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.enrich_error", false]], "enrich_trace() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.enrich_trace", false]], "estimate_gas_cost() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.estimate_gas_cost", false]], "estimate_query() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.estimate_query", false]], "estimate_query() (ape.managers.query.defaultqueryprovider method)": [[21, "ape.managers.query.DefaultQueryProvider.estimate_query", false]], "estimate_query() (ape_node.otterscanqueryengine method)": [[14, "ape_node.OtterscanQueryEngine.estimate_query", false]], "ethereum (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.ethereum", false]], "ethereumnetworkconfig (class in ape_node)": [[14, "ape_node.EthereumNetworkConfig", false]], "ethereumnodeconfig (class in ape_node)": [[14, "ape_node.EthereumNodeConfig", false]], "events (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.events", false]], "exclusions (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.exclusions", false]], "executable (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.executable", false]], "execution (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.execution", false]], "existing_alias_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.existing_alias_argument", false]], "expand_environment_variables() (in module ape.utils.os)": [[24, "ape.utils.os.expand_environment_variables", false]], "explorer (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.explorer", false]], "explorerapi (class in ape.api.explorers)": [[17, "ape.api.explorers.ExplorerAPI", false]], "explorerplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.ExplorerPlugin", false]], "explorers() (ape.plugins.network.explorerplugin method)": [[22, "ape.plugins.network.ExplorerPlugin.explorers", false]], "extend() (ape.types.trace.controlflow method)": [[23, "ape.types.trace.ControlFlow.extend", false]], "extend() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.extend", false]], "extend_last() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.extend_last", false]], "extraattributesmixin (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ExtraAttributesMixin", false]], "extract_archive() (in module ape.utils.os)": [[24, "ape.utils.os.extract_archive", false]], "extract_config() (ape.api.projects.apeproject method)": [[17, "ape.api.projects.ApeProject.extract_config", false]], "extract_config() (ape.api.projects.projectapi method)": [[17, "ape.api.projects.ProjectAPI.extract_config", false]], "extract_config() (ape.managers.config.configmanager class method)": [[21, "ape.managers.config.ConfigManager.extract_config", false]], "extract_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.extract_manifest", false]], "extract_nested_value() (in module ape.utils.misc)": [[24, "ape.utils.misc.extract_nested_value", false]], "extramodelattributes (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ExtraModelAttributes", false]], "factory (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.factory", false]], "failed (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.failed", false]], "fee_token_decimals (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.fee_token_decimals", false]], "fee_token_symbol (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.fee_token_symbol", false]], "fetch() (ape.api.projects.dependencyapi method)": [[17, "ape.api.projects.DependencyAPI.fetch", false]], "file_paths": [[1, "cmdoption-compile-arg-FILE_PATHS", false]], "flatten_contract() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.flatten_contract", false]], "flatten_contract() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.flatten_contract", false]], "fork() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.fork", false]], "forkednetworkapi (class in ape.api.networks)": [[17, "ape.api.networks.ForkedNetworkAPI", false]], "format() (ape.types.trace.controlflow method)": [[23, "ape.types.trace.ControlFlow.format", false]], "format() (ape.types.trace.sourcetraceback method)": [[23, "ape.types.trace.SourceTraceback.format", false]], "from_error() (ape.exceptions.contractlogicerror class method)": [[20, "ape.exceptions.ContractLogicError.from_error", false]], "from_event() (ape.types.events.logfilter class method)": [[23, "ape.types.events.LogFilter.from_event", false]], "from_manifest() (ape.managers.project.projectmanager class method)": [[21, "ape.managers.project.ProjectManager.from_manifest", false]], "from_python_library() (ape.managers.project.projectmanager class method)": [[21, "ape.managers.project.ProjectManager.from_python_library", false]], "from_receipt() (ape.api.query.contractcreation class method)": [[17, "ape.api.query.ContractCreation.from_receipt", false]], "from_receipt() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.from_receipt", false]], "from_receipt() (ape.contracts.base.contractinstance class method)": [[19, "ape.contracts.base.ContractInstance.from_receipt", false]], "full_name (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.full_name", false]], "function_hits (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.function_hits", false]], "function_hits (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.function_hits", false]], "function_hits (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.function_hits", false]], "function_hits (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.function_hits", false]], "function_rate (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.function_rate", false]], "function_rate (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.function_rate", false]], "function_rate (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.function_rate", false]], "function_rate (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.function_rate", false]], "functioncoverage (class in ape.types.coverage)": [[23, "ape.types.coverage.FunctionCoverage", false]], "functions (ape.types.coverage.contractcoverage attribute)": [[23, "ape.types.coverage.ContractCoverage.functions", false]], "gas_cost (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.GAS_COST", false]], "gas_estimation_error_message() (in module ape.utils.misc)": [[24, "ape.utils.misc.gas_estimation_error_message", false]], "gas_price (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.gas_price", false]], "gas_price (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.gas_price", false]], "gaslimit (in module ape.types.gas)": [[23, "ape.types.gas.GasLimit", false]], "gasreport (in module ape.types.trace)": [[23, "ape.types.trace.GasReport", false]], "generate_account() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.generate_account", false]], "generate_dev_accounts() (in module ape.utils.testing)": [[24, "ape.utils.testing.generate_dev_accounts", false]], "generateddevaccount (class in ape.utils.testing)": [[24, "ape.utils.testing.GeneratedDevAccount", false]], "genericconfig (class in ape.api.config)": [[17, "ape.api.config.GenericConfig", false]], "get() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get", false]], "get() (ape.managers.project.contractmanager method)": [[21, "ape.managers.project.ContractManager.get", false]], "get() (ape.managers.project.dependencyversionmap method)": [[21, "ape.managers.project.DependencyVersionMap.get", false]], "get() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.get", false]], "get() (ape.utils.basemodel.extramodelattributes method)": [[24, "ape.utils.basemodel.ExtraModelAttributes.get", false]], "get_accounts_by_type() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.get_accounts_by_type", false]], "get_address_url() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_address_url", false]], "get_all_files_in_directory() (in module ape.utils.os)": [[24, "ape.utils.os.get_all_files_in_directory", false]], "get_api_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_api_path", false]], "get_balance() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_balance", false]], "get_block() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_block", false]], "get_blueprint() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_blueprint", false]], "get_code() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_code", false]], "get_compiler_settings() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_compiler_settings", false]], "get_config() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_config", false]], "get_container() (ape.managers.chain.contractcache class method)": [[21, "ape.managers.chain.ContractCache.get_container", false]], "get_contract_logs() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_contract_logs", false]], "get_contract_type() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_contract_type", false]], "get_creation_metadata() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_creation_metadata", false]], "get_current_timestamp_ms() (in module ape.utils.misc)": [[24, "ape.utils.misc.get_current_timestamp_ms", false]], "get_custom_error() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_custom_error", false]], "get_dependency() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_dependency", false]], "get_deployments() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_deployments", false]], "get_ecosystem() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_ecosystem", false]], "get_error_by_signature() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.get_error_by_signature", false]], "get_event_by_signature() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.get_event_by_signature", false]], "get_full_extension() (in module ape.utils.os)": [[24, "ape.utils.os.get_full_extension", false]], "get_html() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.get_html", false]], "get_imports() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_imports", false]], "get_imports() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_imports", false]], "get_manifest_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_manifest_path", false]], "get_metavar() (ape.cli.choices.networkchoice method)": [[18, "ape.cli.choices.NetworkChoice.get_metavar", false]], "get_method_selector() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_method_selector", false]], "get_multiple() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_multiple", false]], "get_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_network", false]], "get_network_choices() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_network_choices", false]], "get_network_data() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_network_data", false]], "get_nonce() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_nonce", false]], "get_package_path() (in module ape.utils.os)": [[24, "ape.utils.os.get_package_path", false]], "get_package_version() (in module ape.utils.misc)": [[24, "ape.utils.misc.get_package_version", false]], "get_project_dependencies() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_project_dependencies", false]], "get_project_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_project_path", false]], "get_project_versions_path() (ape.managers.project.packagescache method)": [[21, "ape.managers.project.PackagesCache.get_project_versions_path", false]], "get_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.get_provider", false]], "get_provider_from_choice() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_provider_from_choice", false]], "get_proxy_info() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_proxy_info", false]], "get_proxy_info() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.get_proxy_info", false]], "get_python_types() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.get_python_types", false]], "get_receipt() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_receipt", false]], "get_receipt() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.get_receipt", false]], "get_references() (ape.managers.compilers.compilermanager method)": [[21, "ape.managers.compilers.CompilerManager.get_references", false]], "get_relative_path() (in module ape.utils.os)": [[24, "ape.utils.os.get_relative_path", false]], "get_request_headers() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.get_request_headers", false]], "get_storage() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_storage", false]], "get_test_account() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.get_test_account", false]], "get_test_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_test_account", false]], "get_test_account() (ape_node.gethdev method)": [[14, "ape_node.GethDev.get_test_account", false]], "get_transaction_trace() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transaction_trace", false]], "get_transaction_url() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.get_transaction_url", false]], "get_transactions_by_account_nonce() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transactions_by_account_nonce", false]], "get_transactions_by_block() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_transactions_by_block", false]], "get_version_map() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_version_map", false]], "get_versions() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.get_versions", false]], "get_versions() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.get_versions", false]], "get_virtual_machine_error() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.get_virtual_machine_error", false]], "get_xml() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.get_xml", false]], "gethdev (class in ape_node)": [[14, "ape_node.GethDev", false]], "global_config (ape.managers.config.configmanager property)": [[21, "ape.managers.config.ConfigManager.global_config", false]], "handle_ape_exception() (in module ape.exceptions)": [[20, "ape.exceptions.handle_ape_exception", false]], "hash (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.hash", false]], "head (ape.managers.chain.blockcontainer property)": [[21, "ape.managers.chain.BlockContainer.head", false]], "header (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.header", false]], "height (ape.managers.chain.blockcontainer property)": [[21, "ape.managers.chain.BlockContainer.height", false]], "hexaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexAddressConverter", false]], "hexconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexConverter", false]], "hexint (in module ape.types.basic)": [[23, "ape.types.basic.HexInt", false]], "hexintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexIntConverter", false]], "hexiterableconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.HexIterableConverter", false]], "history (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.history", false]], "history (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.history", false]], "hit_count (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.hit_count", false]], "hit_count (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.hit_count", false]], "http_uri (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.http_uri", false]], "identifier_lookup (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.identifier_lookup", false]], "impersonate_account() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.impersonate_account", false]], "impersonatedaccount (class in ape.api.accounts)": [[17, "ape.api.accounts.ImpersonatedAccount", false]], "in_tempdir (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.in_tempdir", false]], "in_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.in_tempdir", false]], "include() (ape.types.coverage.contractsourcecoverage method)": [[23, "ape.types.coverage.ContractSourceCoverage.include", false]], "include_getattr (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.include_getattr", false]], "include_getitem (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.include_getitem", false]], "incompatible_with() (in module ape.cli.options)": [[18, "ape.cli.options.incompatible_with", false]], "info (ape.contracts.base.contractevent property)": [[19, "ape.contracts.base.ContractEvent.info", false]], "init command line option": [[3, "cmdoption-init-github", false], [3, "cmdoption-init-name", false], [3, "cmdoption-init-v", false]], "init_coverage_profile() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.init_coverage_profile", false]], "inject() (ape_ethereum.multicall.basemulticall class method)": [[13, "ape_ethereum.multicall.BaseMulticall.inject", false]], "injected_before_use (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.injected_before_use", false]], "inputs (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.INPUTS", false]], "install() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.install", false]], "install() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.install", false]], "installed (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.installed", false]], "installed (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.installed", false]], "instance_at() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.instance_at", false]], "instance_from_receipt() (ape.managers.chain.contractcache method)": [[21, "ape.managers.chain.ContractCache.instance_from_receipt", false]], "instance_map (ape.managers.project.deploymentmanager property)": [[21, "ape.managers.project.DeploymentManager.instance_map", false]], "intaddressconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.IntAddressConverter", false]], "interfaces_folder (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.interfaces_folder", false]], "interfaces_folder (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.interfaces_folder", false]], "invoke() (ape.cli.commands.connectedprovidercommand method)": [[18, "ape.cli.commands.ConnectedProviderCommand.invoke", false]], "invoke_transaction() (ape.contracts.base.contractinstance method)": [[19, "ape.contracts.base.ContractInstance.invoke_transaction", false]], "ipc_path (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.ipc_path", false]], "is_adhoc (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_adhoc", false]], "is_array() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_array", false]], "is_compiled (ape.managers.project.project property)": [[21, "ape.managers.project.Project.is_compiled", false]], "is_connected (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.is_connected", false]], "is_contract (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.is_contract", false]], "is_convertible() (ape.api.convert.converterapi method)": [[17, "ape.api.convert.ConverterAPI.is_convertible", false]], "is_convertible() (ape.managers.converters.accountintconverter method)": [[21, "ape.managers.converters.AccountIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.addressapiconverter method)": [[21, "ape.managers.converters.AddressAPIConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.bytesaddressconverter method)": [[21, "ape.managers.converters.BytesAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexaddressconverter method)": [[21, "ape.managers.converters.HexAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexconverter method)": [[21, "ape.managers.converters.HexConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexintconverter method)": [[21, "ape.managers.converters.HexIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.hexiterableconverter method)": [[21, "ape.managers.converters.HexIterableConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.intaddressconverter method)": [[21, "ape.managers.converters.IntAddressConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.stringdecimalconverter method)": [[21, "ape.managers.converters.StringDecimalConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.stringintconverter method)": [[21, "ape.managers.converters.StringIntConverter.is_convertible", false]], "is_convertible() (ape.managers.converters.timestampconverter method)": [[21, "ape.managers.converters.TimestampConverter.is_convertible", false]], "is_dev (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_dev", false]], "is_evm_precompile() (in module ape.utils.misc)": [[24, "ape.utils.misc.is_evm_precompile", false]], "is_excluded() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.is_excluded", false]], "is_fork (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_fork", false]], "is_local (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_local", false]], "is_mainnet (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.is_mainnet", false]], "is_named_tuple() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_named_tuple", false]], "is_relative_to() (in module ape.utils.os)": [[24, "ape.utils.os.is_relative_to", false]], "is_struct() (in module ape.utils.abi)": [[24, "ape.utils.abi.is_struct", false]], "is_type() (ape.managers.converters.conversionmanager method)": [[21, "ape.managers.converters.ConversionManager.is_type", false]], "is_valid (ape.api.projects.apeproject property)": [[17, "ape.api.projects.ApeProject.is_valid", false]], "is_valid (ape.api.projects.projectapi property)": [[17, "ape.api.projects.ProjectAPI.is_valid", false]], "is_zero_hex() (in module ape.utils.misc)": [[24, "ape.utils.misc.is_zero_hex", false]], "isolate() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.isolate", false]], "isolate_data_folder() (ape.managers.config.configmanager method)": [[21, "ape.managers.config.ConfigManager.isolate_data_folder", false]], "isolate_in_tempdir() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.isolate_in_tempdir", false]], "isolate_in_tempdir() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.isolate_in_tempdir", false]], "items() (ape.utils.abi.struct method)": [[24, "ape.utils.abi.Struct.items", false]], "join() (ape.utils.process.joinablequeue method)": [[24, "ape.utils.process.JoinableQueue.join", false]], "joinablequeue (class in ape.utils.process)": [[24, "ape.utils.process.JoinableQueue", false]], "json (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.JSON", false]], "last (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.last", false]], "lazychoice (class in ape.cli.choices)": [[18, "ape.cli.choices.LazyChoice", false]], "line_numbers (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.line_numbers", false]], "line_rate (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.line_rate", false]], "line_rate (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.line_rate", false]], "line_rate (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.line_rate", false]], "line_rate (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.line_rate", false]], "line_rate (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.line_rate", false]], "lines_covered (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.lines_covered", false]], "lines_covered (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.lines_covered", false]], "lines_covered (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.lines_covered", false]], "lines_covered (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.lines_covered", false]], "lines_covered (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.lines_covered", false]], "lines_valid (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.lines_valid", false]], "lines_valid (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.lines_valid", false]], "lines_valid (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.lines_valid", false]], "lines_valid (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.lines_valid", false]], "lines_valid (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.lines_valid", false]], "load() (ape.managers.accounts.accountmanager method)": [[21, "ape.managers.accounts.AccountManager.load", false]], "load_config() (in module ape.utils.misc)": [[24, "ape.utils.misc.load_config", false]], "load_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.load_manifest", false]], "localproject (class in ape.managers.project)": [[21, "ape.managers.project.LocalProject", false]], "location (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.location", false]], "log_index (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.log_index", false]], "log_instead_of_fail() (in module ape.utils.misc)": [[24, "ape.utils.misc.log_instead_of_fail", false]], "logfilter (class in ape.types.events)": [[23, "ape.types.events.LogFilter", false]], "lookup() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.lookup", false]], "make_request() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.make_request", false]], "manager_access (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.manager_access", false]], "manageraccessmixin (class in ape.utils.basemodel)": [[24, "ape.utils.basemodel.ManagerAccessMixin", false]], "manifest_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.manifest_path", false]], "max_gas (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.max_gas", false]], "messagesignature (class in ape.types.signatures)": [[23, "ape.types.signatures.MessageSignature", false]], "meta (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.meta", false]], "meta (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.meta", false]], "method_called (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.method_called", false]], "methodnonpayableerror": [[20, "ape.exceptions.MethodNonPayableError", false]], "methods (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.METHODS", false]], "mine() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.mine", false]], "mine() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.mine", false]], "mine() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.mine", false]], "mine() (ape_node.gethdev method)": [[14, "ape_node.GethDev.mine", false]], "miss_count (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.miss_count", false]], "miss_count (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.miss_count", false]], "miss_count (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.miss_count", false]], "miss_count (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.miss_count", false]], "miss_count (ape.types.coverage.functioncoverage property)": [[23, "ape.types.coverage.FunctionCoverage.miss_count", false]], "missingdeploymentbytecodeerror": [[20, "ape.exceptions.MissingDeploymentBytecodeError", false]], "mockcontractlog (class in ape.types.events)": [[23, "ape.types.events.MockContractLog", false]], "model_copy() (ape.utils.basemodel.basemodel method)": [[24, "ape.utils.basemodel.BaseModel.model_copy", false]], "model_dump() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.model_dump", false]], "model_dump() (ape.types.coverage.contractcoverage method)": [[23, "ape.types.coverage.ContractCoverage.model_dump", false]], "model_dump() (ape.types.coverage.contractsourcecoverage method)": [[23, "ape.types.coverage.ContractSourceCoverage.model_dump", false]], "model_dump() (ape.types.coverage.coverageproject method)": [[23, "ape.types.coverage.CoverageProject.model_dump", false]], "model_dump() (ape.types.coverage.coveragereport method)": [[23, "ape.types.coverage.CoverageReport.model_dump", false]], "model_dump() (ape.types.coverage.functioncoverage method)": [[23, "ape.types.coverage.FunctionCoverage.model_dump", false]], "model_dump() (ape.types.events.logfilter method)": [[23, "ape.types.events.LogFilter.model_dump", false]], "module": [[11, "module-ape_accounts", false], [12, "module-ape_compile", false], [13, "module-ape_ethereum", false], [13, "module-ape_ethereum.multicall", false], [14, "module-ape_node", false], [15, "module-ape_pm", false], [16, "module-ape_test", false], [17, "module-ape.api.accounts", false], [17, "module-ape.api.address", false], [17, "module-ape.api.compiler", false], [17, "module-ape.api.config", false], [17, "module-ape.api.convert", false], [17, "module-ape.api.explorers", false], [17, "module-ape.api.networks", false], [17, "module-ape.api.projects", false], [17, "module-ape.api.providers", false], [17, "module-ape.api.query", false], [18, "module-ape.cli.arguments", false], [18, "module-ape.cli.choices", false], [18, "module-ape.cli.commands", false], [18, "module-ape.cli.options", false], [18, "module-ape.cli.paramtype", false], [20, "module-ape.exceptions", false], [21, "module-ape.managers.accounts", false], [21, "module-ape.managers.compilers", false], [21, "module-ape.managers.config", false], [21, "module-ape.managers.converters", false], [21, "module-ape.managers.networks", false], [21, "module-ape.managers.project", false], [21, "module-ape.managers.query", false], [22, "module-ape.plugins", false], [22, "module-ape.plugins.account", false], [22, "module-ape.plugins.compiler", false], [22, "module-ape.plugins.config", false], [22, "module-ape.plugins.converter", false], [22, "module-ape.plugins.network", false], [22, "module-ape.plugins.pluggy_patch", false], [22, "module-ape.plugins.project", false], [22, "module-ape.plugins.query", false], [23, "module-ape.types.address", false], [23, "module-ape.types.basic", false], [23, "module-ape.types.coverage", false], [23, "module-ape.types.events", false], [23, "module-ape.types.gas", false], [23, "module-ape.types.trace", false], [23, "module-ape.types.units", false], [23, "module-ape.types.vm", false], [24, "module-ape.utils.abi", false], [24, "module-ape.utils.basemodel", false], [24, "module-ape.utils.misc", false], [24, "module-ape.utils.os", false], [24, "module-ape.utils.process", false], [24, "module-ape.utils.rpc", false], [24, "module-ape.utils.testing", false], [24, "module-ape.utils.trace", false]], "multiplier (ape.types.gas.autogaslimit attribute)": [[23, "ape.types.gas.AutoGasLimit.multiplier", false]], "name": [[6, "cmdoption-pm-compile-arg-NAME", false], [6, "cmdoption-pm-uninstall-arg-NAME", false]], "name (ape.api.accounts.accountcontainerapi attribute)": [[17, "ape.api.accounts.AccountContainerAPI.name", false]], "name (ape.api.compiler.compilerapi property)": [[17, "ape.api.compiler.CompilerAPI.name", false]], "name (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.name", false]], "name (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.name", false]], "name (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.name", false]], "name (ape.api.projects.dependencyapi attribute)": [[17, "ape.api.projects.DependencyAPI.name", false]], "name (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.name", false]], "name (ape.cli.choices.alias attribute)": [[18, "ape.cli.choices.Alias.name", false]], "name (ape.contracts.base.contractevent property)": [[19, "ape.contracts.base.ContractEvent.name", false]], "name (ape.exceptions.customerror property)": [[20, "ape.exceptions.CustomError.name", false]], "name (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.name", false]], "name (ape.types.coverage.contractcoverage attribute)": [[23, "ape.types.coverage.ContractCoverage.name", false]], "name (ape.types.coverage.coverageproject attribute)": [[23, "ape.types.coverage.CoverageProject.name", false]], "name (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.name", false]], "name (ape.utils.basemodel.extramodelattributes attribute)": [[24, "ape.utils.basemodel.ExtraModelAttributes.name", false]], "name (ape_node.gethdev attribute)": [[14, "ape_node.GethDev.name", false]], "network (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.network", false]], "network (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network", false]], "network_choice (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.network_choice", false]], "network_data (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network_data", false]], "network_id (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.network_id", false]], "network_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.network_names", false]], "network_option() (in module ape.cli.options)": [[18, "ape.cli.options.network_option", false]], "networkapi (class in ape.api.networks)": [[17, "ape.api.networks.NetworkAPI", false]], "networkchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.NetworkChoice", false]], "networkerror": [[20, "ape.exceptions.NetworkError", false]], "networkmanager (class in ape.managers.networks)": [[21, "ape.managers.networks.NetworkManager", false]], "networkmismatcherror": [[20, "ape.exceptions.NetworkMismatchError", false]], "networknotfounderror": [[20, "ape.exceptions.NetworkNotFoundError", false]], "networkoption (class in ape.cli.options)": [[18, "ape.cli.options.NetworkOption", false]], "networkplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.NetworkPlugin", false]], "networks (ape attribute)": [[10, "ape.networks", false]], "networks (ape.api.networks.ecosystemapi property)": [[17, "ape.api.networks.EcosystemAPI.networks", false]], "networks() (ape.plugins.network.networkplugin method)": [[22, "ape.plugins.network.NetworkPlugin.networks", false]], "networks-list command line option": [[4, "cmdoption-networks-list-ecosystem", false], [4, "cmdoption-networks-list-format", false], [4, "cmdoption-networks-list-network", false], [4, "cmdoption-networks-list-provider", false], [4, "cmdoption-networks-list-v", false]], "networks-run command line option": [[4, "cmdoption-networks-run-network", false], [4, "cmdoption-networks-run-v", false]], "next_statement (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.next_statement", false]], "node (class in ape_node)": [[14, "ape_node.Node", false]], "non_existing_alias_argument() (in module ape.cli.arguments)": [[18, "ape.cli.arguments.non_existing_alias_argument", false]], "nonce (ape.api.address.baseaddress property)": [[17, "ape.api.address.BaseAddress.nonce", false]], "noop (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.Noop", false]], "num_transactions (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.num_transactions", false]], "number (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.number", false]], "otterscanqueryengine (class in ape_node)": [[14, "ape_node.OtterscanQueryEngine", false]], "outgoing (ape.managers.chain.accounthistory property)": [[21, "ape.managers.chain.AccountHistory.outgoing", false]], "outofgaserror": [[20, "ape.exceptions.OutOfGasError", false]], "output_format_choice() (in module ape.cli.choices)": [[18, "ape.cli.choices.output_format_choice", false]], "output_format_option() (in module ape.cli.options)": [[18, "ape.cli.options.output_format_option", false]], "outputformat (class in ape.cli.choices)": [[18, "ape.cli.choices.OutputFormat", false]], "outputs (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.OUTPUTS", false]], "package": [[6, "cmdoption-pm-install-arg-PACKAGE", false]], "package_id (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.package_id", false]], "package_id (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.package_id", false]], "packages_cache (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.packages_cache", false]], "packagescache (class in ape.managers.project)": [[21, "ape.managers.project.PackagesCache", false]], "parent_hash (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.parent_hash", false]], "parse_args() (ape.cli.commands.connectedprovidercommand method)": [[18, "ape.cli.commands.ConnectedProviderCommand.parse_args", false]], "parse_network_choice() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.parse_network_choice", false]], "path (ape.api.projects.projectapi attribute)": [[17, "ape.api.projects.ProjectAPI.path", false]], "path (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.path", false]], "path (class in ape.cli.paramtype)": [[18, "ape.cli.paramtype.Path", false]], "path_match() (in module ape.utils.os)": [[24, "ape.utils.os.path_match", false]], "paths (ape.managers.project.sourcemanager property)": [[21, "ape.managers.project.SourceManager.paths", false]], "pcs (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.pcs", false]], "pending_timestamp (ape.managers.chain.chainmanager property)": [[21, "ape.managers.chain.ChainManager.pending_timestamp", false]], "perform_query() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.perform_query", false]], "perform_query() (ape.managers.query.defaultqueryprovider method)": [[21, "ape.managers.query.DefaultQueryProvider.perform_query", false]], "perform_query() (ape_node.otterscanqueryengine method)": [[14, "ape_node.OtterscanQueryEngine.perform_query", false]], "plugin-names": [[5, "cmdoption-plugins-install-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", false]], "plugin_manager (in module ape.plugins.pluggy_patch)": [[22, "ape.plugins.pluggy_patch.plugin_manager", false]], "pluginconfig (class in ape.api.config)": [[17, "ape.api.config.PluginConfig", false]], "plugininstallerror": [[20, "ape.exceptions.PluginInstallError", false]], "plugins-change-version command line option": [[5, "cmdoption-plugins-change-version-arg-VERSION", false]], "plugins-install command line option": [[5, "cmdoption-plugins-install-U", false], [5, "cmdoption-plugins-install-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-install-v", false], [5, "cmdoption-plugins-install-y", false]], "plugins-list command line option": [[5, "cmdoption-plugins-list-a", false], [5, "cmdoption-plugins-list-v", false]], "plugins-uninstall command line option": [[5, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", false], [5, "cmdoption-plugins-uninstall-v", false], [5, "cmdoption-plugins-uninstall-y", false]], "plugintype (class in ape.plugins.pluggy_patch)": [[22, "ape.plugins.pluggy_patch.PluginType", false]], "pluginversionerror": [[20, "ape.exceptions.PluginVersionError", false]], "pm-compile command line option": [[6, "cmdoption-pm-compile-arg-NAME", false], [6, "cmdoption-pm-compile-config-override", false], [6, "cmdoption-pm-compile-f", false], [6, "cmdoption-pm-compile-v", false], [6, "cmdoption-pm-compile-version", false]], "pm-install command line option": [[6, "cmdoption-pm-install-arg-PACKAGE", false], [6, "cmdoption-pm-install-config-override", false], [6, "cmdoption-pm-install-f", false], [6, "cmdoption-pm-install-name", false], [6, "cmdoption-pm-install-ref", false], [6, "cmdoption-pm-install-v", false], [6, "cmdoption-pm-install-version", false]], "pm-list command line option": [[6, "cmdoption-pm-list-all", false], [6, "cmdoption-pm-list-v", false]], "pm-uninstall command line option": [[6, "cmdoption-pm-uninstall-arg-NAME", false], [6, "cmdoption-pm-uninstall-arg-VERSIONS", false], [6, "cmdoption-pm-uninstall-v", false], [6, "cmdoption-pm-uninstall-y", false]], "poll_blocks() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.poll_blocks", false]], "poll_blocks() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.poll_blocks", false]], "poll_logs() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.poll_logs", false]], "poll_logs() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.poll_logs", false]], "pragma_str_to_specifier_set() (in module ape.utils.misc)": [[24, "ape.utils.misc.pragma_str_to_specifier_set", false]], "prepare_transaction() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.prepare_transaction", false]], "prepare_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.prepare_transaction", false]], "print_choices() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.print_choices", false]], "print_choices() (ape.cli.choices.promptchoice method)": [[18, "ape.cli.choices.PromptChoice.print_choices", false]], "priority_fee (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.priority_fee", false]], "private_key (ape.utils.testing.generateddevaccount attribute)": [[24, "ape.utils.testing.GeneratedDevAccount.private_key", false]], "process_name (ape.api.providers.subprocessprovider property)": [[17, "ape.api.providers.SubprocessProvider.process_name", false]], "process_name (ape_node.gethdev property)": [[14, "ape_node.GethDev.process_name", false]], "profile_statement() (ape.types.coverage.functioncoverage method)": [[23, "ape.types.coverage.FunctionCoverage.profile_statement", false]], "project (ape attribute)": [[10, "ape.project", false]], "project (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.project", false]], "project (ape.utils.basemodel.manageraccessmixin attribute)": [[24, "ape.utils.basemodel.ManagerAccessMixin.Project", false]], "project (class in ape.managers.project)": [[21, "ape.managers.project.Project", false]], "project_api (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.project_api", false]], "project_path (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.project_path", false]], "projectapi (class in ape.api.projects)": [[17, "ape.api.projects.ProjectAPI", false]], "projecterror": [[20, "ape.exceptions.ProjectError", false]], "projectmanager (class in ape.managers.project)": [[21, "ape.managers.project.ProjectManager", false]], "projectplugin (class in ape.plugins.project)": [[22, "ape.plugins.project.ProjectPlugin", false]], "projects (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.projects", false]], "projects() (ape.plugins.project.projectplugin method)": [[22, "ape.plugins.project.ProjectPlugin.projects", false]], "promptchoice (class in ape.cli.choices)": [[18, "ape.cli.choices.PromptChoice", false]], "provider_names (ape.managers.networks.networkmanager property)": [[21, "ape.managers.networks.NetworkManager.provider_names", false]], "provider_settings (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.provider_settings", false]], "providerapi (class in ape.api.providers)": [[17, "ape.api.providers.ProviderAPI", false]], "providercontextmanager (class in ape.api.networks)": [[17, "ape.api.networks.ProviderContextManager", false]], "providererror": [[20, "ape.exceptions.ProviderError", false]], "providernotconnectederror": [[20, "ape.exceptions.ProviderNotConnectedError", false]], "providernotfounderror": [[20, "ape.exceptions.ProviderNotFoundError", false]], "providerplugin (class in ape.plugins.network)": [[22, "ape.plugins.network.ProviderPlugin", false]], "providers (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.providers", false]], "providers() (ape.plugins.network.providerplugin method)": [[22, "ape.plugins.network.ProviderPlugin.providers", false]], "proxyinfoapi (class in ape.api.networks)": [[17, "ape.api.networks.ProxyInfoAPI", false]], "publish_contract() (ape.api.explorers.explorerapi method)": [[17, "ape.api.explorers.ExplorerAPI.publish_contract", false]], "publish_contract() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.publish_contract", false]], "pytest_args": [[8, "cmdoption-test-arg-PYTEST_ARGS", false]], "query() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.query", false]], "query() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.query", false]], "query() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.query", false]], "query() (ape.managers.query.querymanager method)": [[21, "ape.managers.query.QueryManager.query", false]], "query_engines() (ape.plugins.query.queryplugin method)": [[22, "ape.plugins.query.QueryPlugin.query_engines", false]], "queryapi (class in ape.api.query)": [[17, "ape.api.query.QueryAPI", false]], "queryengineerror": [[20, "ape.exceptions.QueryEngineError", false]], "querymanager (class in ape.managers.query)": [[21, "ape.managers.query.QueryManager", false]], "queryplugin (class in ape.plugins.query)": [[22, "ape.plugins.query.QueryPlugin", false]], "raise_for_status() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.raise_for_status", false]], "raises_not_implemented() (in module ape.utils.misc)": [[24, "ape.utils.misc.raises_not_implemented", false]], "ran_out_of_gas (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.ran_out_of_gas", false]], "range() (ape.contracts.base.contractevent method)": [[19, "ape.contracts.base.ContractEvent.range", false]], "range() (ape.managers.chain.blockcontainer method)": [[21, "ape.managers.chain.BlockContainer.range", false]], "raw_address (ape.api.accounts.impersonatedaccount attribute)": [[17, "ape.api.accounts.ImpersonatedAccount.raw_address", false]], "rawaddress (in module ape.types.address)": [[23, "ape.types.address.RawAddress", false]], "receipt (ape.api.query.contractcreation property)": [[17, "ape.api.query.ContractCreation.receipt", false]], "receipt (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.receipt", false]], "receiptapi (class in ape.api.transactions)": [[17, "ape.api.transactions.ReceiptAPI", false]], "reconfigure() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.reconfigure", false]], "recover_signer() (ape.types.signatures method)": [[23, "ape.types.signatures.recover_signer", false]], "refresh() (ape.managers.project.sourcemanager method)": [[21, "ape.managers.project.SourceManager.refresh", false]], "refresh_sources() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.refresh_sources", false]], "register() (ape.utils.misc.singledispatchmethod method)": [[24, "ape.utils.misc.singledispatchmethod.register", false]], "register() (in module ape.plugins)": [[22, "ape.plugins.register", false]], "register_compiler() (ape.plugins.compiler.compilerplugin method)": [[22, "ape.plugins.compiler.CompilerPlugin.register_compiler", false]], "registered_compilers (ape.managers.compilers.compilermanager property)": [[21, "ape.managers.compilers.CompilerManager.registered_compilers", false]], "reload_config() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.reload_config", false]], "relock_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.relock_account", false]], "remove() (ape.api.accounts.accountcontainerapi method)": [[17, "ape.api.accounts.AccountContainerAPI.remove", false]], "request_header (ape.api.networks.ecosystemapi attribute)": [[17, "ape.api.networks.EcosystemAPI.request_header", false]], "request_header (ape.api.networks.networkapi attribute)": [[17, "ape.api.networks.NetworkAPI.request_header", false]], "request_header (ape.api.providers.providerapi attribute)": [[17, "ape.api.providers.ProviderAPI.request_header", false]], "request_headers (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.request_headers", false]], "request_headers (ape_node.ethereumnodeconfig attribute)": [[14, "ape_node.EthereumNodeConfig.request_headers", false]], "required_confirmations (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.required_confirmations", false]], "reset() (ape.api.accounts.testaccountcontainerapi method)": [[17, "ape.api.accounts.TestAccountContainerAPI.reset", false]], "restore() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.restore", false]], "restore() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.restore", false]], "restore() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.restore", false]], "restore() (ape_node.gethdev method)": [[14, "ape_node.GethDev.restore", false]], "return_value (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.return_value", false]], "returns_array() (in module ape.utils.abi)": [[24, "ape.utils.abi.returns_array", false]], "revert_to_block() (ape.managers.chain.accounthistory method)": [[21, "ape.managers.chain.AccountHistory.revert_to_block", false]], "revert_to_block() (ape.managers.chain.transactionhistory method)": [[21, "ape.managers.chain.TransactionHistory.revert_to_block", false]], "revert_type (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.revert_type", false]], "rpcheaders (class in ape.utils.rpc)": [[24, "ape.utils.rpc.RPCHeaders", false]], "rpctimeouterror": [[20, "ape.exceptions.RPCTimeoutError", false]], "run command line option": [[7, "cmdoption-run-I", false]], "run_in_tempdir() (in module ape.utils.os)": [[24, "ape.utils.os.run_in_tempdir", false]], "run_until_complete() (in module ape.utils.misc)": [[24, "ape.utils.misc.run_until_complete", false]], "select_account() (ape.cli.choices.accountaliaspromptchoice method)": [[18, "ape.cli.choices.AccountAliasPromptChoice.select_account", false]], "select_account() (in module ape.cli.choices)": [[18, "ape.cli.choices.select_account", false]], "selector_identifiers (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.selector_identifiers", false]], "send_call() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_call", false]], "send_private_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_private_transaction", false]], "send_transaction() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.send_transaction", false]], "send_transaction() (ape_node.node method)": [[14, "ape_node.Node.send_transaction", false]], "serialize_transaction() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.serialize_transaction", false]], "serialize_transaction() (ape.api.transactions.transactionapi method)": [[17, "ape.api.transactions.TransactionAPI.serialize_transaction", false]], "sessional (ape.managers.chain.accounthistory attribute)": [[21, "ape.managers.chain.AccountHistory.sessional", false]], "set_balance() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_balance", false]], "set_code() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_code", false]], "set_default_ecosystem() (ape.managers.networks.networkmanager method)": [[21, "ape.managers.networks.NetworkManager.set_default_ecosystem", false]], "set_default_network() (ape.api.networks.ecosystemapi method)": [[17, "ape.api.networks.EcosystemAPI.set_default_network", false]], "set_default_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.set_default_provider", false]], "set_storage() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_storage", false]], "set_timestamp() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.set_timestamp", false]], "set_timestamp() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.set_timestamp", false]], "set_timestamp() (ape_node.gethdev method)": [[14, "ape_node.GethDev.set_timestamp", false]], "settings (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.settings", false]], "show() (ape.exceptions.abort method)": [[20, "ape.exceptions.Abort.show", false]], "show_debug_logs() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_debug_logs", false]], "show_events() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_events", false]], "show_gas_report() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_gas_report", false]], "show_source_traceback() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_source_traceback", false]], "show_trace() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.show_trace", false]], "sign_message() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_message", false]], "sign_message() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.sign_message", false]], "sign_raw_msghash() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_raw_msghash", false]], "sign_transaction() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.sign_transaction", false]], "sign_transaction() (ape.api.accounts.impersonatedaccount method)": [[17, "ape.api.accounts.ImpersonatedAccount.sign_transaction", false]], "signablemessage (class in ape.types.signatures)": [[23, "ape.types.signatures.SignableMessage", false]], "signatureerror": [[20, "ape.exceptions.SignatureError", false]], "singledispatchmethod (class in ape.utils.misc)": [[24, "ape.utils.misc.singledispatchmethod", false]], "size (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.size", false]], "skip_confirmation_option() (in module ape.cli.options)": [[18, "ape.cli.options.skip_confirmation_option", false]], "snapshot() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.snapshot", false]], "snapshot() (ape.api.providers.testproviderapi method)": [[17, "ape.api.providers.TestProviderAPI.snapshot", false]], "snapshot() (ape.managers.chain.chainmanager method)": [[21, "ape.managers.chain.ChainManager.snapshot", false]], "snapshot() (ape_node.gethdev method)": [[14, "ape_node.GethDev.snapshot", false]], "snapshotid (in module ape.types.vm)": [[23, "ape.types.vm.SnapshotID", false]], "source_folders (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.source_folders", false]], "source_id (ape.types.coverage.contractsourcecoverage attribute)": [[23, "ape.types.coverage.ContractSourceCoverage.source_id", false]], "source_path (ape.contracts.base.contracttypewrapper property)": [[19, "ape.contracts.base.ContractTypeWrapper.source_path", false]], "source_path (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.source_path", false]], "source_statements (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.source_statements", false]], "source_statements (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.source_statements", false]], "source_traceback (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.source_traceback", false]], "sourcemanager (class in ape.managers.project)": [[21, "ape.managers.project.SourceManager", false]], "sources (ape.managers.project.localproject property)": [[21, "ape.managers.project.LocalProject.sources", false]], "sources (ape.types.coverage.coverageproject attribute)": [[23, "ape.types.coverage.CoverageProject.sources", false]], "sources (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.sources", false]], "sourcetraceback (class in ape.types.trace)": [[23, "ape.types.trace.SourceTraceback", false]], "spawn() (in module ape.utils.process)": [[24, "ape.utils.process.spawn", false]], "specified (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.specified", false]], "start() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.start", false]], "start() (ape_node.gethdev method)": [[14, "ape_node.GethDev.start", false]], "statements (ape.types.coverage.contractcoverage property)": [[23, "ape.types.coverage.ContractCoverage.statements", false]], "statements (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.statements", false]], "statements (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.statements", false]], "statements (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.statements", false]], "statements (ape.types.coverage.functioncoverage attribute)": [[23, "ape.types.coverage.FunctionCoverage.statements", false]], "statements (ape.types.trace.controlflow attribute)": [[23, "ape.types.trace.ControlFlow.statements", false]], "statements (ape.types.trace.sourcetraceback property)": [[23, "ape.types.trace.SourceTraceback.statements", false]], "stop() (ape.api.providers.subprocessprovider method)": [[17, "ape.api.providers.SubprocessProvider.stop", false]], "stop_impersonating() (ape.managers.accounts.testaccountmanager method)": [[21, "ape.managers.accounts.TestAccountManager.stop_impersonating", false]], "stream_request() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.stream_request", false]], "stream_response() (in module ape.utils.rpc)": [[24, "ape.utils.rpc.stream_response", false]], "stringdecimalconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.StringDecimalConverter", false]], "stringintconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.StringIntConverter", false]], "struct (class in ape.utils.abi)": [[24, "ape.utils.abi.Struct", false]], "structparser (class in ape.utils.abi)": [[24, "ape.utils.abi.StructParser", false]], "subprocesserror": [[20, "ape.exceptions.SubprocessError", false]], "subprocessprovider (class in ape.api.providers)": [[17, "ape.api.providers.SubprocessProvider", false]], "subprocesstimeouterror": [[20, "ape.exceptions.SubprocessTimeoutError", false]], "supports_chain() (ape.api.explorers.explorerapi class method)": [[17, "ape.api.explorers.ExplorerAPI.supports_chain", false]], "supports_source_tracing (ape.api.compiler.compilerapi property)": [[17, "ape.api.compiler.CompilerAPI.supports_source_tracing", false]], "supports_tracing (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.supports_tracing", false]], "tag (ape.types.coverage.coveragestatement attribute)": [[23, "ape.types.coverage.CoverageStatement.tag", false]], "target (ape.api.networks.proxyinfoapi attribute)": [[17, "ape.api.networks.ProxyInfoAPI.target", false]], "test command line option": [[8, "cmdoption-test-arg-PYTEST_ARGS", false], [8, "cmdoption-test-v", false], [8, "cmdoption-test-w", false], [8, "cmdoption-test-watch-delay", false], [8, "cmdoption-test-watch-folders", false]], "test_accounts (ape.managers.accounts.accountmanager property)": [[21, "ape.managers.accounts.AccountManager.test_accounts", false]], "testaccountapi (class in ape.api.accounts)": [[17, "ape.api.accounts.TestAccountAPI", false]], "testaccountcontainerapi (class in ape.api.accounts)": [[17, "ape.api.accounts.TestAccountContainerAPI", false]], "testaccountmanager (class in ape.managers.accounts)": [[21, "ape.managers.accounts.TestAccountManager", false]], "testproviderapi (class in ape.api.providers)": [[17, "ape.api.providers.TestProviderAPI", false]], "timestamp (ape.api.providers.blockapi attribute)": [[17, "ape.api.providers.BlockAPI.timestamp", false]], "timestamp (ape.types.coverage.coveragereport attribute)": [[23, "ape.types.coverage.CoverageReport.timestamp", false]], "timestamp (ape.types.events.contractlog property)": [[23, "ape.types.events.ContractLog.timestamp", false]], "timestampconverter (class in ape.managers.converters)": [[21, "ape.managers.converters.TimestampConverter", false]], "to_int() (in module ape.utils.misc)": [[24, "ape.utils.misc.to_int", false]], "total_fees_paid (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.total_fees_paid", false]], "total_functions (ape.types.coverage.contractsourcecoverage property)": [[23, "ape.types.coverage.ContractSourceCoverage.total_functions", false]], "total_functions (ape.types.coverage.coverageproject property)": [[23, "ape.types.coverage.CoverageProject.total_functions", false]], "total_functions (ape.types.coverage.coveragereport property)": [[23, "ape.types.coverage.CoverageReport.total_functions", false]], "total_transfer_value (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.total_transfer_value", false]], "trace (ape.api.transactions.receiptapi property)": [[17, "ape.api.transactions.ReceiptAPI.trace", false]], "trace (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.trace", false]], "trace_source() (ape.api.compiler.compilerapi method)": [[17, "ape.api.compiler.CompilerAPI.trace_source", false]], "tracestyles (class in ape.utils.trace)": [[24, "ape.utils.trace.TraceStyles", false]], "track() (ape.managers.project.deploymentmanager method)": [[21, "ape.managers.project.DeploymentManager.track", false]], "track_coverage() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.track_coverage", false]], "track_gas() (ape.api.transactions.receiptapi method)": [[17, "ape.api.transactions.ReceiptAPI.track_gas", false]], "transaction (class in ape_ethereum.multicall)": [[13, "ape_ethereum.multicall.Transaction", false]], "transaction_acceptance_timeout (ape.api.networks.networkapi property)": [[17, "ape.api.networks.NetworkAPI.transaction_acceptance_timeout", false]], "transaction_hash (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.transaction_hash", false]], "transaction_index (ape.types.events.contractlog attribute)": [[23, "ape.types.events.ContractLog.transaction_index", false]], "transactionapi (class in ape.api.transactions)": [[17, "ape.api.transactions.TransactionAPI", false]], "transactionerror": [[20, "ape.exceptions.TransactionError", false]], "transactionhistory (class in ape.managers.chain)": [[21, "ape.managers.chain.TransactionHistory", false]], "transactionnotfounderror": [[20, "ape.exceptions.TransactionNotFoundError", false]], "transactions (ape.api.providers.blockapi property)": [[17, "ape.api.providers.BlockAPI.transactions", false]], "transactionsignature (class in ape.types.signatures)": [[23, "ape.types.signatures.TransactionSignature", false]], "transfer() (ape.api.accounts.accountapi method)": [[17, "ape.api.accounts.AccountAPI.transfer", false]], "tree (ape.cli.choices.outputformat attribute)": [[18, "ape.cli.choices.OutputFormat.TREE", false]], "txn_hash (ape.api.query.contractcreation attribute)": [[17, "ape.api.query.ContractCreation.txn_hash", false]], "txn_hash (ape.api.transactions.transactionapi property)": [[17, "ape.api.transactions.TransactionAPI.txn_hash", false]], "unknownsnapshoterror": [[20, "ape.exceptions.UnknownSnapshotError", false]], "unknownversionerror": [[20, "ape.exceptions.UnknownVersionError", false]], "unlock_account() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.unlock_account", false]], "unpack() (ape.managers.project.dependency method)": [[21, "ape.managers.project.Dependency.unpack", false]], "unpack() (ape.managers.project.dependencymanager method)": [[21, "ape.managers.project.DependencyManager.unpack", false]], "unpack() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.unpack", false]], "unpack() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.unpack", false]], "update_cache() (ape.api.query.queryapi method)": [[17, "ape.api.query.QueryAPI.update_cache", false]], "update_manifest() (ape.managers.project.localproject method)": [[21, "ape.managers.project.LocalProject.update_manifest", false]], "update_manifest() (ape.managers.project.project method)": [[21, "ape.managers.project.Project.update_manifest", false]], "update_settings() (ape.api.providers.providerapi method)": [[17, "ape.api.providers.ProviderAPI.update_settings", false]], "upstream_chain_id (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_chain_id", false]], "upstream_network (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_network", false]], "upstream_provider (ape.api.networks.forkednetworkapi property)": [[17, "ape.api.networks.ForkedNetworkAPI.upstream_provider", false]], "upstreamprovider (class in ape.api.providers)": [[17, "ape.api.providers.UpstreamProvider", false]], "uri (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.uri", false]], "uri (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.uri", false]], "uri_map (ape.managers.project.dependencymanager property)": [[21, "ape.managers.project.DependencyManager.uri_map", false]], "use_default_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.use_default_provider", false]], "use_provider() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.use_provider", false]], "use_temp_sys_path (class in ape.utils.os)": [[24, "ape.utils.os.use_temp_sys_path", false]], "use_upstream_provider() (ape.api.networks.forkednetworkapi method)": [[17, "ape.api.networks.ForkedNetworkAPI.use_upstream_provider", false]], "validate_file() (ape.api.config.apeconfig class method)": [[17, "ape.api.config.ApeConfig.validate_file", false]], "validate_size() (ape.api.providers.blockapi class method)": [[17, "ape.api.providers.BlockAPI.validate_size", false]], "value (ape.utils.trace.tracestyles attribute)": [[24, "ape.utils.trace.TraceStyles.VALUE", false]], "verbosity_option() (in module ape.cli.options)": [[18, "ape.cli.options.verbosity_option", false]], "verify_chain_id() (ape.api.networks.networkapi method)": [[17, "ape.api.networks.NetworkAPI.verify_chain_id", false]], "version": [[5, "cmdoption-plugins-change-version-arg-VERSION", false]], "version (ape.api.config.apeconfig attribute)": [[17, "ape.api.config.ApeConfig.version", false]], "version (ape.managers.project.dependency property)": [[21, "ape.managers.project.Dependency.version", false]], "version (ape.types.signatures.signablemessage attribute)": [[23, "ape.types.signatures.SignableMessage.version", false]], "version_id (ape.api.projects.dependencyapi property)": [[17, "ape.api.projects.DependencyAPI.version_id", false]], "versions": [[6, "cmdoption-pm-uninstall-arg-VERSIONS", false]], "virtualmachineerror": [[20, "ape.exceptions.VirtualMachineError", false]], "write_to_disk() (ape.api.config.apeconfig method)": [[17, "ape.api.config.ApeConfig.write_to_disk", false]], "ws_begin_lineno (ape.types.trace.controlflow property)": [[23, "ape.types.trace.ControlFlow.ws_begin_lineno", false]], "ws_uri (ape.api.providers.providerapi property)": [[17, "ape.api.providers.ProviderAPI.ws_uri", false]], "yaml (ape.cli.choices.outputformat attribute)": [[18, "ape.cli.choices.OutputFormat.YAML", false]]}, "objects": {"": [[11, 2, 0, "-", "ape_accounts"], [12, 2, 0, "-", "ape_compile"], [13, 2, 0, "-", "ape_ethereum"], [14, 2, 0, "-", "ape_node"], [15, 2, 0, "-", "ape_pm"], [16, 2, 0, "-", "ape_test"]], "accounts-change-password": [[0, 8, 1, "cmdoption-accounts-change-password-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-change-password-v", "-v"], [0, 8, 1, "cmdoption-accounts-change-password-arg-ALIAS", "ALIAS"]], "accounts-delete": [[0, 8, 1, "cmdoption-accounts-delete-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-delete-v", "-v"], [0, 8, 1, "cmdoption-accounts-delete-arg-ALIAS", "ALIAS"]], "accounts-export": [[0, 8, 1, "cmdoption-accounts-export-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-export-v", "-v"], [0, 8, 1, "cmdoption-accounts-export-arg-ALIAS", "ALIAS"]], "accounts-generate": [[0, 8, 1, "cmdoption-accounts-generate-hd-path", "--hd-path"], [0, 8, 1, "cmdoption-accounts-generate-hide-mnemonic", "--hide-mnemonic"], [0, 8, 1, "cmdoption-accounts-generate-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-generate-word-count", "--word-count"], [0, 8, 1, "cmdoption-accounts-generate-v", "-v"], [0, 8, 1, "cmdoption-accounts-generate-arg-ALIAS", "ALIAS"]], "accounts-import": [[0, 8, 1, "cmdoption-accounts-import-hd-path", "--hd-path"], [0, 8, 1, "cmdoption-accounts-import-use-mnemonic", "--use-mnemonic"], [0, 8, 1, "cmdoption-accounts-import-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-import-v", "-v"], [0, 8, 1, "cmdoption-accounts-import-arg-ALIAS", "ALIAS"]], "accounts-list": [[0, 8, 1, "cmdoption-accounts-list-all", "--all"], [0, 8, 1, "cmdoption-accounts-list-v", "--verbosity"], [0, 8, 1, "cmdoption-accounts-list-v", "-v"]], "ape": [[10, 0, 1, "", "Contract"], [10, 0, 1, "", "Project"], [10, 1, 1, "", "accounts"], [10, 1, 1, "", "chain"], [10, 1, 1, "", "compilers"], [10, 1, 1, "", "config"], [10, 0, 1, "", "convert"], [20, 2, 0, "-", "exceptions"], [10, 1, 1, "", "networks"], [22, 2, 0, "-", "plugins"], [10, 1, 1, "", "project"], [10, 0, 1, "", "reverts"]], "ape.api": [[17, 2, 0, "-", "accounts"], [17, 2, 0, "-", "address"], [17, 2, 0, "-", "compiler"], [17, 2, 0, "-", "config"], [17, 2, 0, "-", "convert"], [17, 2, 0, "-", "explorers"], [17, 2, 0, "-", "networks"], [17, 2, 0, "-", "projects"], [17, 2, 0, "-", "providers"], [17, 2, 0, "-", "query"]], "ape.api.accounts": [[17, 3, 1, "", "AccountAPI"], [17, 3, 1, "", "AccountContainerAPI"], [17, 3, 1, "", "ImpersonatedAccount"], [17, 3, 1, "", "TestAccountAPI"], [17, 3, 1, "", "TestAccountContainerAPI"]], "ape.api.accounts.AccountAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "alias"], [17, 5, 1, "", "call"], [17, 5, 1, "", "check_signature"], [17, 5, 1, "", "declare"], [17, 5, 1, "", "deploy"], [17, 5, 1, "", "prepare_transaction"], [17, 5, 1, "", "sign_message"], [17, 5, 1, "", "sign_raw_msghash"], [17, 5, 1, "", "sign_transaction"], [17, 5, 1, "", "transfer"]], "ape.api.accounts.AccountContainerAPI": [[17, 5, 1, "", "__contains__"], [17, 5, 1, "", "__delitem__"], [17, 5, 1, "", "__getitem__"], [17, 5, 1, "", "__len__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "account_type"], [17, 4, 1, "", "accounts"], [17, 4, 1, "", "aliases"], [17, 5, 1, "", "append"], [17, 4, 1, "", "data_folder"], [17, 1, 1, "", "name"], [17, 5, 1, "", "remove"]], "ape.api.accounts.ImpersonatedAccount": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "address"], [17, 5, 1, "", "call"], [17, 1, 1, "", "raw_address"], [17, 5, 1, "", "sign_message"], [17, 5, 1, "", "sign_transaction"]], "ape.api.accounts.TestAccountAPI": [[17, 1, 1, "", "__signature__"]], "ape.api.accounts.TestAccountContainerAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "generate_account"], [17, 5, 1, "", "get_test_account"], [17, 5, 1, "", "reset"]], "ape.api.address": [[17, 3, 1, "", "Address"], [17, 3, 1, "", "BaseAddress"]], "ape.api.address.Address": [[17, 4, 1, "", "address"]], "ape.api.address.BaseAddress": [[17, 4, 1, "", "address"], [17, 4, 1, "", "balance"], [17, 4, 1, "", "code"], [17, 4, 1, "", "codesize"], [17, 4, 1, "", "history"], [17, 4, 1, "", "is_contract"], [17, 4, 1, "", "nonce"]], "ape.api.compiler": [[17, 3, 1, "", "CompilerAPI"]], "ape.api.compiler.CompilerAPI": [[17, 5, 1, "", "compile"], [17, 5, 1, "", "compile_code"], [17, 1, 1, "", "compiler_settings"], [17, 5, 1, "", "enrich_error"], [17, 5, 1, "", "flatten_contract"], [17, 5, 1, "", "get_compiler_settings"], [17, 5, 1, "", "get_config"], [17, 5, 1, "", "get_imports"], [17, 5, 1, "", "get_version_map"], [17, 5, 1, "", "get_versions"], [17, 5, 1, "", "init_coverage_profile"], [17, 4, 1, "", "name"], [17, 4, 1, "", "supports_source_tracing"], [17, 5, 1, "", "trace_source"]], "ape.api.config": [[17, 3, 1, "", "ApeConfig"], [17, 3, 1, "", "ConfigEnum"], [17, 3, 1, "", "DeploymentConfig"], [17, 3, 1, "", "GenericConfig"], [17, 3, 1, "", "PluginConfig"]], "ape.api.config.ApeConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "__str__"], [17, 1, 1, "", "base_path"], [17, 1, 1, "", "contracts_folder"], [17, 1, 1, "", "default_ecosystem"], [17, 1, 1, "", "dependencies"], [17, 1, 1, "", "deployment_data"], [17, 1, 1, "", "interfaces_folder"], [17, 1, 1, "", "meta"], [17, 5, 1, "", "model_dump"], [17, 1, 1, "", "name"], [17, 1, 1, "", "request_headers"], [17, 5, 1, "", "validate_file"], [17, 1, 1, "", "version"], [17, 5, 1, "", "write_to_disk"]], "ape.api.config.ConfigEnum": [[17, 5, 1, "", "__repr__"], [17, 5, 1, "", "__str__"]], "ape.api.config.DeploymentConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "address"], [17, 1, 1, "", "contract_type"]], "ape.api.config.PluginConfig": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "__str__"]], "ape.api.convert": [[17, 3, 1, "", "ConverterAPI"]], "ape.api.convert.ConverterAPI": [[17, 1, 1, "", "__signature__"], [17, 5, 1, "", "convert"], [17, 5, 1, "", "is_convertible"]], "ape.api.explorers": [[17, 3, 1, "", "ExplorerAPI"]], "ape.api.explorers.ExplorerAPI": [[17, 5, 1, "", "get_address_url"], [17, 5, 1, "", "get_contract_type"], [17, 5, 1, "", "get_transaction_url"], [17, 5, 1, "", "publish_contract"], [17, 5, 1, "", "supports_chain"]], "ape.api.networks": [[17, 3, 1, "", "EcosystemAPI"], [17, 3, 1, "", "ForkedNetworkAPI"], [17, 3, 1, "", "NetworkAPI"], [17, 3, 1, "", "ProviderContextManager"], [17, 3, 1, "", "ProxyInfoAPI"], [17, 0, 1, "", "create_network_type"]], "ape.api.networks.EcosystemAPI": [[17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 5, 1, "", "add_network"], [17, 4, 1, "", "config"], [17, 5, 1, "", "create_transaction"], [17, 4, 1, "", "custom_network"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "decode_address"], [17, 5, 1, "", "decode_block"], [17, 5, 1, "", "decode_calldata"], [17, 5, 1, "", "decode_custom_error"], [17, 5, 1, "", "decode_logs"], [17, 5, 1, "", "decode_primitive_value"], [17, 5, 1, "", "decode_receipt"], [17, 5, 1, "", "decode_returndata"], [17, 4, 1, "", "default_network_name"], [17, 5, 1, "", "encode_address"], [17, 5, 1, "", "encode_calldata"], [17, 5, 1, "", "encode_contract_blueprint"], [17, 5, 1, "", "encode_deployment"], [17, 5, 1, "", "encode_transaction"], [17, 5, 1, "", "enrich_trace"], [17, 1, 1, "", "fee_token_decimals"], [17, 1, 1, "", "fee_token_symbol"], [17, 5, 1, "", "get_method_selector"], [17, 5, 1, "", "get_network"], [17, 5, 1, "", "get_network_data"], [17, 5, 1, "", "get_proxy_info"], [17, 5, 1, "", "get_python_types"], [17, 1, 1, "", "name"], [17, 4, 1, "", "networks"], [17, 1, 1, "", "request_header"], [17, 5, 1, "", "serialize_transaction"], [17, 5, 1, "", "set_default_network"]], "ape.api.networks.ForkedNetworkAPI": [[17, 1, 1, "", "__signature__"], [17, 4, 1, "", "upstream_chain_id"], [17, 4, 1, "", "upstream_network"], [17, 4, 1, "", "upstream_provider"], [17, 5, 1, "", "use_upstream_provider"]], "ape.api.networks.NetworkAPI": [[17, 5, 1, "", "__repr__"], [17, 1, 1, "", "__signature__"], [17, 4, 1, "", "auto_gas_multiplier"], [17, 4, 1, "", "base_fee_multiplier"], [17, 4, 1, "", "block_time"], [17, 4, 1, "", "chain_id"], [17, 4, 1, "", "data_folder"], [17, 4, 1, "", "default_provider_name"], [17, 1, 1, "", "ecosystem"], [17, 4, 1, "", "ecosystem_config"], [17, 4, 1, "", "explorer"], [17, 5, 1, "", "get_provider"], [17, 4, 1, "", "is_adhoc"], [17, 4, 1, "", "is_dev"], [17, 4, 1, "", "is_fork"], [17, 4, 1, "", "is_local"], [17, 4, 1, "", "is_mainnet"], [17, 1, 1, "", "name"], [17, 4, 1, "", "network_id"], [17, 4, 1, "", "providers"], [17, 5, 1, "", "publish_contract"], [17, 1, 1, "", "request_header"], [17, 4, 1, "", "required_confirmations"], [17, 5, 1, "", "set_default_provider"], [17, 4, 1, "", "transaction_acceptance_timeout"], [17, 5, 1, "", "use_default_provider"], [17, 5, 1, "", "use_provider"], [17, 5, 1, "", "verify_chain_id"]], "ape.api.networks.ProviderContextManager": [[17, 4, 1, "", "empty"]], "ape.api.networks.ProxyInfoAPI": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "target"]], "ape.api.projects": [[17, 3, 1, "", "ApeProject"], [17, 3, 1, "", "DependencyAPI"], [17, 3, 1, "", "ProjectAPI"]], "ape.api.projects.ApeProject": [[17, 5, 1, "", "extract_config"], [17, 4, 1, "", "is_valid"]], "ape.api.projects.DependencyAPI": [[17, 1, 1, "", "config_override"], [17, 5, 1, "", "fetch"], [17, 1, 1, "", "name"], [17, 4, 1, "", "package_id"], [17, 4, 1, "", "uri"], [17, 4, 1, "", "version_id"]], "ape.api.projects.ProjectAPI": [[17, 5, 1, "", "extract_config"], [17, 4, 1, "", "is_valid"], [17, 1, 1, "", "path"]], "ape.api.providers": [[17, 3, 1, "", "BlockAPI"], [17, 3, 1, "", "ProviderAPI"], [17, 3, 1, "", "SubprocessProvider"], [17, 3, 1, "", "TestProviderAPI"], [17, 3, 1, "", "UpstreamProvider"]], "ape.api.providers.BlockAPI": [[17, 4, 1, "", "datetime"], [17, 1, 1, "", "hash"], [17, 1, 1, "", "num_transactions"], [17, 1, 1, "", "number"], [17, 1, 1, "", "parent_hash"], [17, 4, 1, "", "size"], [17, 1, 1, "", "timestamp"], [17, 4, 1, "", "transactions"], [17, 5, 1, "", "validate_size"]], "ape.api.providers.ProviderAPI": [[17, 4, 1, "", "base_fee"], [17, 1, 1, "", "block_page_size"], [17, 4, 1, "", "chain_id"], [17, 1, 1, "", "concurrency"], [17, 4, 1, "", "config"], [17, 5, 1, "", "connect"], [17, 4, 1, "", "connection_id"], [17, 4, 1, "", "connection_str"], [17, 4, 1, "", "data_folder"], [17, 5, 1, "", "disconnect"], [17, 5, 1, "", "estimate_gas_cost"], [17, 4, 1, "", "gas_price"], [17, 5, 1, "", "get_balance"], [17, 5, 1, "", "get_block"], [17, 5, 1, "", "get_code"], [17, 5, 1, "", "get_contract_logs"], [17, 5, 1, "", "get_nonce"], [17, 5, 1, "", "get_receipt"], [17, 5, 1, "", "get_storage"], [17, 5, 1, "", "get_test_account"], [17, 5, 1, "", "get_transaction_trace"], [17, 5, 1, "", "get_transactions_by_account_nonce"], [17, 5, 1, "", "get_transactions_by_block"], [17, 5, 1, "", "get_virtual_machine_error"], [17, 4, 1, "", "http_uri"], [17, 4, 1, "", "is_connected"], [17, 5, 1, "", "make_request"], [17, 4, 1, "", "max_gas"], [17, 5, 1, "", "mine"], [17, 1, 1, "", "name"], [17, 1, 1, "", "network"], [17, 4, 1, "", "network_choice"], [17, 5, 1, "", "poll_blocks"], [17, 5, 1, "", "poll_logs"], [17, 5, 1, "", "prepare_transaction"], [17, 4, 1, "", "priority_fee"], [17, 1, 1, "", "provider_settings"], [17, 5, 1, "", "relock_account"], [17, 1, 1, "", "request_header"], [17, 5, 1, "", "restore"], [17, 5, 1, "", "send_call"], [17, 5, 1, "", "send_private_transaction"], [17, 5, 1, "", "send_transaction"], [17, 5, 1, "", "set_balance"], [17, 5, 1, "", "set_code"], [17, 5, 1, "", "set_storage"], [17, 5, 1, "", "set_timestamp"], [17, 4, 1, "", "settings"], [17, 5, 1, "", "snapshot"], [17, 5, 1, "", "stream_request"], [17, 4, 1, "", "supports_tracing"], [17, 5, 1, "", "unlock_account"], [17, 5, 1, "", "update_settings"], [17, 4, 1, "", "ws_uri"]], "ape.api.providers.SubprocessProvider": [[17, 5, 1, "", "build_command"], [17, 5, 1, "", "connect"], [17, 4, 1, "", "connection_id"], [17, 5, 1, "", "disconnect"], [17, 4, 1, "", "process_name"], [17, 5, 1, "", "start"], [17, 5, 1, "", "stop"]], "ape.api.providers.TestProviderAPI": [[17, 4, 1, "", "auto_mine"], [17, 5, 1, "", "mine"], [17, 5, 1, "", "restore"], [17, 5, 1, "", "set_timestamp"], [17, 5, 1, "", "snapshot"]], "ape.api.query": [[17, 3, 1, "", "AccountTransactionQuery"], [17, 3, 1, "", "BlockQuery"], [17, 3, 1, "", "BlockTransactionQuery"], [17, 3, 1, "", "ContractCreation"], [17, 3, 1, "", "ContractCreationQuery"], [17, 3, 1, "", "ContractEventQuery"], [17, 3, 1, "", "ContractMethodQuery"], [17, 3, 1, "", "QueryAPI"]], "ape.api.query.AccountTransactionQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.BlockQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.BlockTransactionQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractCreation": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"], [17, 1, 1, "", "block"], [17, 1, 1, "", "deployer"], [17, 1, 1, "", "factory"], [17, 5, 1, "", "from_receipt"], [17, 4, 1, "", "receipt"], [17, 1, 1, "", "txn_hash"]], "ape.api.query.ContractCreationQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractEventQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.ContractMethodQuery": [[17, 1, 1, "", "__pydantic_extra__"], [17, 1, 1, "", "__pydantic_fields_set__"], [17, 1, 1, "", "__pydantic_private__"], [17, 1, 1, "", "__signature__"]], "ape.api.query.QueryAPI": [[17, 5, 1, "", "estimate_query"], [17, 5, 1, "", "perform_query"], [17, 5, 1, "", "update_cache"]], "ape.api.transactions": [[17, 3, 1, "", "ReceiptAPI"], [17, 3, 1, "", "TransactionAPI"]], "ape.api.transactions.ReceiptAPI": [[17, 5, 1, "", "await_confirmations"], [17, 4, 1, "", "confirmed"], [17, 4, 1, "", "debug_logs_lines"], [17, 4, 1, "", "debug_logs_typed"], [17, 5, 1, "", "decode_logs"], [17, 4, 1, "", "events"], [17, 4, 1, "", "failed"], [17, 4, 1, "", "method_called"], [17, 5, 1, "", "raise_for_status"], [17, 4, 1, "", "ran_out_of_gas"], [17, 4, 1, "", "return_value"], [17, 5, 1, "", "show_debug_logs"], [17, 5, 1, "", "show_events"], [17, 5, 1, "", "show_gas_report"], [17, 5, 1, "", "show_source_traceback"], [17, 5, 1, "", "show_trace"], [17, 4, 1, "", "source_traceback"], [17, 4, 1, "", "total_fees_paid"], [17, 4, 1, "", "trace"], [17, 5, 1, "", "track_coverage"], [17, 5, 1, "", "track_gas"]], "ape.api.transactions.TransactionAPI": [[17, 4, 1, "", "receipt"], [17, 5, 1, "", "serialize_transaction"], [17, 4, 1, "", "total_transfer_value"], [17, 4, 1, "", "trace"], [17, 4, 1, "", "txn_hash"]], "ape.cli": [[18, 2, 0, "-", "arguments"], [18, 2, 0, "-", "choices"], [18, 2, 0, "-", "commands"], [18, 2, 0, "-", "options"], [18, 2, 0, "-", "paramtype"]], "ape.cli.arguments": [[18, 0, 1, "", "contract_file_paths_argument"], [18, 0, 1, "", "existing_alias_argument"], [18, 0, 1, "", "non_existing_alias_argument"]], "ape.cli.choices": [[18, 3, 1, "", "AccountAliasPromptChoice"], [18, 3, 1, "", "Alias"], [18, 3, 1, "", "LazyChoice"], [18, 3, 1, "", "NetworkChoice"], [18, 3, 1, "", "OutputFormat"], [18, 3, 1, "", "PromptChoice"], [18, 0, 1, "", "output_format_choice"], [18, 0, 1, "", "select_account"]], "ape.cli.choices.AccountAliasPromptChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "print_choices"], [18, 5, 1, "", "select_account"]], "ape.cli.choices.Alias": [[18, 1, 1, "", "name"]], "ape.cli.choices.NetworkChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "get_metavar"]], "ape.cli.choices.OutputFormat": [[18, 1, 1, "", "TREE"], [18, 1, 1, "", "YAML"]], "ape.cli.choices.PromptChoice": [[18, 5, 1, "", "convert"], [18, 5, 1, "", "print_choices"]], "ape.cli.commands": [[18, 3, 1, "", "ConnectedProviderCommand"]], "ape.cli.commands.ConnectedProviderCommand": [[18, 5, 1, "", "invoke"], [18, 5, 1, "", "parse_args"]], "ape.cli.options": [[18, 3, 1, "", "ApeCliContextObject"], [18, 3, 1, "", "NetworkOption"], [18, 0, 1, "", "account_option"], [18, 0, 1, "", "ape_cli_context"], [18, 0, 1, "", "contract_option"], [18, 0, 1, "", "incompatible_with"], [18, 0, 1, "", "network_option"], [18, 0, 1, "", "output_format_option"], [18, 0, 1, "", "skip_confirmation_option"], [18, 0, 1, "", "verbosity_option"]], "ape.cli.options.ApeCliContextObject": [[18, 5, 1, "", "abort"]], "ape.cli.paramtype": [[18, 3, 1, "", "JSON"], [18, 3, 1, "", "Noop"], [18, 3, 1, "", "Path"]], "ape.cli.paramtype.JSON": [[18, 5, 1, "", "convert"]], "ape.cli.paramtype.Noop": [[18, 5, 1, "", "convert"]], "ape.contracts.base": [[19, 3, 1, "", "ContractContainer"], [19, 3, 1, "", "ContractEvent"], [19, 3, 1, "", "ContractInstance"], [19, 3, 1, "", "ContractTypeWrapper"]], "ape.contracts.base.ContractContainer": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__eq__"], [19, 1, 1, "", "__hash__"], [19, 5, 1, "", "__repr__"], [19, 5, 1, "", "at"], [19, 5, 1, "", "deploy"], [19, 4, 1, "", "deployments"]], "ape.contracts.base.ContractEvent": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__iter__"], [19, 5, 1, "", "__repr__"], [19, 1, 1, "", "__signature__"], [19, 5, 1, "", "from_receipt"], [19, 4, 1, "", "info"], [19, 4, 1, "", "name"], [19, 5, 1, "", "poll_logs"], [19, 5, 1, "", "query"], [19, 5, 1, "", "range"]], "ape.contracts.base.ContractInstance": [[19, 5, 1, "", "__call__"], [19, 5, 1, "", "__repr__"], [19, 4, 1, "", "address"], [19, 5, 1, "", "call_view_method"], [19, 4, 1, "", "creation_metadata"], [19, 5, 1, "", "from_receipt"], [19, 5, 1, "", "get_error_by_signature"], [19, 5, 1, "", "get_event_by_signature"], [19, 5, 1, "", "invoke_transaction"]], "ape.contracts.base.ContractTypeWrapper": [[19, 5, 1, "", "decode_input"], [19, 4, 1, "", "identifier_lookup"], [19, 4, 1, "", "selector_identifiers"], [19, 4, 1, "", "source_path"]], "ape.exceptions": [[20, 6, 1, "", "APINotImplementedError"], [20, 6, 1, "", "Abort"], [20, 6, 1, "", "AccountsError"], [20, 6, 1, "", "AliasAlreadyInUseError"], [20, 6, 1, "", "ApeAttributeError"], [20, 6, 1, "", "ApeException"], [20, 6, 1, "", "ApeIndexError"], [20, 6, 1, "", "ArgumentsLengthError"], [20, 6, 1, "", "BlockNotFoundError"], [20, 6, 1, "", "ChainError"], [20, 6, 1, "", "CompilerError"], [20, 6, 1, "", "ConfigError"], [20, 6, 1, "", "ContractDataError"], [20, 6, 1, "", "ContractLogicError"], [20, 6, 1, "", "ContractNotFoundError"], [20, 6, 1, "", "ConversionError"], [20, 6, 1, "", "CustomError"], [20, 6, 1, "", "DecodingError"], [20, 6, 1, "", "EcosystemNotFoundError"], [20, 6, 1, "", "MethodNonPayableError"], [20, 6, 1, "", "MissingDeploymentBytecodeError"], [20, 6, 1, "", "NetworkError"], [20, 6, 1, "", "NetworkMismatchError"], [20, 6, 1, "", "NetworkNotFoundError"], [20, 6, 1, "", "OutOfGasError"], [20, 6, 1, "", "PluginInstallError"], [20, 6, 1, "", "PluginVersionError"], [20, 6, 1, "", "ProjectError"], [20, 6, 1, "", "ProviderError"], [20, 6, 1, "", "ProviderNotConnectedError"], [20, 6, 1, "", "ProviderNotFoundError"], [20, 6, 1, "", "QueryEngineError"], [20, 6, 1, "", "RPCTimeoutError"], [20, 6, 1, "", "SignatureError"], [20, 6, 1, "", "SubprocessError"], [20, 6, 1, "", "SubprocessTimeoutError"], [20, 6, 1, "", "TransactionError"], [20, 6, 1, "", "TransactionNotFoundError"], [20, 6, 1, "", "UnknownSnapshotError"], [20, 6, 1, "", "UnknownVersionError"], [20, 6, 1, "", "VirtualMachineError"], [20, 0, 1, "", "handle_ape_exception"]], "ape.exceptions.Abort": [[20, 5, 1, "", "show"]], "ape.exceptions.ContractLogicError": [[20, 4, 1, "", "dev_message"], [20, 5, 1, "", "from_error"]], "ape.exceptions.CustomError": [[20, 4, 1, "", "name"]], "ape.managers": [[21, 2, 0, "-", "accounts"], [21, 2, 0, "-", "compilers"], [21, 2, 0, "-", "config"], [21, 2, 0, "-", "converters"], [21, 2, 0, "-", "networks"], [21, 2, 0, "-", "project"], [21, 2, 0, "-", "query"]], "ape.managers.accounts": [[21, 3, 1, "", "AccountManager"], [21, 3, 1, "", "TestAccountManager"]], "ape.managers.accounts.AccountManager": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 4, 1, "", "aliases"], [21, 4, 1, "", "containers"], [21, 5, 1, "", "get_accounts_by_type"], [21, 5, 1, "", "load"], [21, 4, 1, "", "test_accounts"]], "ape.managers.accounts.TestAccountManager": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "impersonate_account"], [21, 5, 1, "", "stop_impersonating"]], "ape.managers.chain": [[21, 3, 1, "", "AccountHistory"], [21, 3, 1, "", "BlockContainer"], [21, 3, 1, "", "ChainManager"], [21, 3, 1, "", "ContractCache"], [21, 3, 1, "", "TransactionHistory"]], "ape.managers.chain.AccountHistory": [[21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 1, 1, "", "__signature__"], [21, 1, 1, "", "address"], [21, 5, 1, "", "append"], [21, 4, 1, "", "outgoing"], [21, 5, 1, "", "query"], [21, 5, 1, "", "revert_to_block"], [21, 1, 1, "", "sessional"]], "ape.managers.chain.BlockContainer": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__iter__"], [21, 5, 1, "", "__len__"], [21, 4, 1, "", "head"], [21, 4, 1, "", "height"], [21, 5, 1, "", "poll_blocks"], [21, 5, 1, "", "query"], [21, 5, 1, "", "range"]], "ape.managers.chain.ChainManager": [[21, 5, 1, "", "__repr__"], [21, 4, 1, "", "base_fee"], [21, 4, 1, "", "blocks"], [21, 4, 1, "", "chain_id"], [21, 4, 1, "", "gas_price"], [21, 5, 1, "", "get_receipt"], [21, 4, 1, "", "history"], [21, 5, 1, "", "isolate"], [21, 5, 1, "", "mine"], [21, 4, 1, "", "pending_timestamp"], [21, 5, 1, "", "restore"], [21, 5, 1, "", "snapshot"]], "ape.managers.chain.ContractCache": [[21, 5, 1, "", "__delitem__"], [21, 5, 1, "", "__setitem__"], [21, 5, 1, "", "cache_blueprint"], [21, 5, 1, "", "cache_deployment"], [21, 5, 1, "", "cache_proxy_info"], [21, 5, 1, "", "clear_local_caches"], [21, 5, 1, "", "get"], [21, 5, 1, "", "get_blueprint"], [21, 5, 1, "", "get_container"], [21, 5, 1, "", "get_creation_metadata"], [21, 5, 1, "", "get_deployments"], [21, 5, 1, "", "get_multiple"], [21, 5, 1, "", "get_proxy_info"], [21, 5, 1, "", "instance_at"], [21, 5, 1, "", "instance_from_receipt"]], "ape.managers.chain.TransactionHistory": [[21, 5, 1, "", "append"], [21, 5, 1, "", "revert_to_block"]], "ape.managers.compilers": [[21, 3, 1, "", "CompilerManager"]], "ape.managers.compilers.CompilerManager": [[21, 5, 1, "", "can_trace_source"], [21, 5, 1, "", "compile"], [21, 5, 1, "", "compile_source"], [21, 5, 1, "", "enrich_error"], [21, 5, 1, "", "flatten_contract"], [21, 5, 1, "", "get_custom_error"], [21, 5, 1, "", "get_imports"], [21, 5, 1, "", "get_references"], [21, 4, 1, "", "registered_compilers"]], "ape.managers.config": [[21, 3, 1, "", "ConfigManager"]], "ape.managers.config.ConfigManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "__str__"], [21, 5, 1, "", "extract_config"], [21, 4, 1, "", "global_config"], [21, 5, 1, "", "isolate_data_folder"]], "ape.managers.converters": [[21, 3, 1, "", "AccountIntConverter"], [21, 3, 1, "", "AddressAPIConverter"], [21, 3, 1, "", "BytesAddressConverter"], [21, 3, 1, "", "ConversionManager"], [21, 3, 1, "", "HexAddressConverter"], [21, 3, 1, "", "HexConverter"], [21, 3, 1, "", "HexIntConverter"], [21, 3, 1, "", "HexIterableConverter"], [21, 3, 1, "", "IntAddressConverter"], [21, 3, 1, "", "StringDecimalConverter"], [21, 3, 1, "", "StringIntConverter"], [21, 3, 1, "", "TimestampConverter"]], "ape.managers.converters.AccountIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.AddressAPIConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.BytesAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.ConversionManager": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_type"]], "ape.managers.converters.HexAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.HexIterableConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.IntAddressConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.StringDecimalConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.StringIntConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.converters.TimestampConverter": [[21, 5, 1, "", "convert"], [21, 5, 1, "", "is_convertible"]], "ape.managers.networks": [[21, 3, 1, "", "NetworkManager"]], "ape.managers.networks.NetworkManager": [[21, 4, 1, "", "active_provider"], [21, 5, 1, "", "create_custom_provider"], [21, 4, 1, "", "custom_networks"], [21, 4, 1, "", "default_ecosystem"], [21, 4, 1, "", "ecosystem"], [21, 4, 1, "", "ecosystem_names"], [21, 4, 1, "", "ecosystems"], [21, 5, 1, "", "fork"], [21, 5, 1, "", "get_ecosystem"], [21, 5, 1, "", "get_network_choices"], [21, 5, 1, "", "get_provider_from_choice"], [21, 5, 1, "", "get_request_headers"], [21, 4, 1, "", "network"], [21, 4, 1, "", "network_data"], [21, 4, 1, "", "network_names"], [21, 5, 1, "", "parse_network_choice"], [21, 4, 1, "", "provider_names"], [21, 5, 1, "", "set_default_ecosystem"]], "ape.managers.project": [[21, 3, 1, "", "ContractManager"], [21, 3, 1, "", "Dependency"], [21, 3, 1, "", "DependencyManager"], [21, 3, 1, "", "DependencyVersionMap"], [21, 3, 1, "", "DeploymentManager"], [21, 3, 1, "", "LocalProject"], [21, 3, 1, "", "PackagesCache"], [21, 3, 1, "", "Project"], [21, 3, 1, "", "ProjectManager"], [21, 3, 1, "", "SourceManager"]], "ape.managers.project.ContractManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"]], "ape.managers.project.Dependency": [[21, 5, 1, "", "__eq__"], [21, 5, 1, "", "__hash__"], [21, 5, 1, "", "__repr__"], [21, 4, 1, "", "api_path"], [21, 5, 1, "", "compile"], [21, 5, 1, "", "install"], [21, 4, 1, "", "installed"], [21, 4, 1, "", "manifest_path"], [21, 4, 1, "", "name"], [21, 4, 1, "", "package_id"], [21, 4, 1, "", "project"], [21, 4, 1, "", "project_path"], [21, 5, 1, "", "unpack"], [21, 4, 1, "", "uri"], [21, 4, 1, "", "version"]], "ape.managers.project.DependencyManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "add"], [21, 5, 1, "", "decode_dependency"], [21, 5, 1, "", "get_dependency"], [21, 5, 1, "", "get_project_dependencies"], [21, 5, 1, "", "get_versions"], [21, 5, 1, "", "install"], [21, 4, 1, "", "installed"], [21, 4, 1, "", "packages_cache"], [21, 4, 1, "", "specified"], [21, 5, 1, "", "unpack"], [21, 4, 1, "", "uri_map"]], "ape.managers.project.DependencyVersionMap": [[21, 5, 1, "", "__contains__"], [21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"]], "ape.managers.project.DeploymentManager": [[21, 5, 1, "", "__iter__"], [21, 4, 1, "", "instance_map"], [21, 5, 1, "", "track"]], "ape.managers.project.LocalProject": [[21, 5, 1, "", "__repr__"], [21, 4, 1, "", "config"], [21, 4, 1, "", "contracts"], [21, 4, 1, "", "contracts_folder"], [21, 4, 1, "", "deployments"], [21, 4, 1, "", "exclusions"], [21, 5, 1, "", "extract_manifest"], [21, 4, 1, "", "in_tempdir"], [21, 4, 1, "", "interfaces_folder"], [21, 5, 1, "", "isolate_in_tempdir"], [21, 5, 1, "", "load_manifest"], [21, 4, 1, "", "meta"], [21, 4, 1, "", "path"], [21, 4, 1, "", "project_api"], [21, 5, 1, "", "refresh_sources"], [21, 5, 1, "", "reload_config"], [21, 4, 1, "", "sources"], [21, 5, 1, "", "unpack"], [21, 5, 1, "", "update_manifest"]], "ape.managers.project.PackagesCache": [[21, 5, 1, "", "cache_api"], [21, 5, 1, "", "get_api_path"], [21, 5, 1, "", "get_manifest_path"], [21, 5, 1, "", "get_project_path"], [21, 5, 1, "", "get_project_versions_path"]], "ape.managers.project.Project": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "add_compiler_data"], [21, 4, 1, "", "dependencies"], [21, 4, 1, "", "is_compiled"], [21, 5, 1, "", "isolate_in_tempdir"], [21, 5, 1, "", "reconfigure"], [21, 5, 1, "", "unpack"], [21, 5, 1, "", "update_manifest"]], "ape.managers.project.ProjectManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "from_manifest"], [21, 5, 1, "", "from_python_library"]], "ape.managers.project.SourceManager": [[21, 5, 1, "", "__repr__"], [21, 5, 1, "", "get"], [21, 5, 1, "", "is_excluded"], [21, 5, 1, "", "lookup"], [21, 4, 1, "", "paths"], [21, 5, 1, "", "refresh"]], "ape.managers.query": [[21, 3, 1, "", "DefaultQueryProvider"], [21, 3, 1, "", "QueryManager"]], "ape.managers.query.DefaultQueryProvider": [[21, 5, 1, "", "estimate_query"], [21, 5, 1, "", "perform_query"]], "ape.managers.query.QueryManager": [[21, 4, 1, "", "engines"], [21, 5, 1, "", "query"]], "ape.plugins": [[22, 2, 0, "-", "account"], [22, 2, 0, "-", "compiler"], [22, 2, 0, "-", "config"], [22, 2, 0, "-", "converter"], [22, 2, 0, "-", "network"], [22, 2, 0, "-", "pluggy_patch"], [22, 2, 0, "-", "project"], [22, 2, 0, "-", "query"], [22, 0, 1, "", "register"]], "ape.plugins.account": [[22, 3, 1, "", "AccountPlugin"]], "ape.plugins.account.AccountPlugin": [[22, 5, 1, "", "account_types"]], "ape.plugins.compiler": [[22, 3, 1, "", "CompilerPlugin"]], "ape.plugins.compiler.CompilerPlugin": [[22, 5, 1, "", "register_compiler"]], "ape.plugins.config": [[22, 3, 1, "", "Config"]], "ape.plugins.config.Config": [[22, 5, 1, "", "config_class"]], "ape.plugins.converter": [[22, 3, 1, "", "ConversionPlugin"]], "ape.plugins.converter.ConversionPlugin": [[22, 5, 1, "", "converters"]], "ape.plugins.network": [[22, 3, 1, "", "EcosystemPlugin"], [22, 3, 1, "", "ExplorerPlugin"], [22, 3, 1, "", "NetworkPlugin"], [22, 3, 1, "", "ProviderPlugin"]], "ape.plugins.network.EcosystemPlugin": [[22, 5, 1, "", "ecosystems"]], "ape.plugins.network.ExplorerPlugin": [[22, 5, 1, "", "explorers"]], "ape.plugins.network.NetworkPlugin": [[22, 5, 1, "", "networks"]], "ape.plugins.network.ProviderPlugin": [[22, 5, 1, "", "providers"]], "ape.plugins.pluggy_patch": [[22, 3, 1, "", "PluginType"], [22, 7, 1, "", "plugin_manager"]], "ape.plugins.project": [[22, 3, 1, "", "DependencyPlugin"], [22, 3, 1, "", "ProjectPlugin"]], "ape.plugins.project.DependencyPlugin": [[22, 5, 1, "", "dependencies"]], "ape.plugins.project.ProjectPlugin": [[22, 5, 1, "", "projects"]], "ape.plugins.query": [[22, 3, 1, "", "QueryPlugin"]], "ape.plugins.query.QueryPlugin": [[22, 5, 1, "", "query_engines"]], "ape.types": [[23, 2, 0, "-", "address"], [23, 2, 0, "-", "basic"], [23, 2, 0, "-", "coverage"], [23, 2, 0, "-", "events"], [23, 2, 0, "-", "gas"], [23, 2, 0, "-", "trace"], [23, 2, 0, "-", "units"], [23, 2, 0, "-", "vm"]], "ape.types.address": [[23, 7, 1, "", "AddressType"], [23, 7, 1, "", "RawAddress"]], "ape.types.basic": [[23, 7, 1, "", "HexInt"]], "ape.types.coverage": [[23, 3, 1, "", "ContractCoverage"], [23, 3, 1, "", "ContractSourceCoverage"], [23, 3, 1, "", "CoverageProject"], [23, 3, 1, "", "CoverageReport"], [23, 3, 1, "", "CoverageStatement"], [23, 3, 1, "", "FunctionCoverage"]], "ape.types.coverage.ContractCoverage": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 1, 1, "", "functions"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 4, 1, "", "statements"]], "ape.types.coverage.ContractSourceCoverage": [[23, 1, 1, "", "contracts"], [23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 5, 1, "", "include"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "source_id"], [23, 4, 1, "", "statements"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageProject": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 1, 1, "", "sources"], [23, 4, 1, "", "statements"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageReport": [[23, 4, 1, "", "function_hits"], [23, 4, 1, "", "function_rate"], [23, 5, 1, "", "get_html"], [23, 5, 1, "", "get_xml"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "projects"], [23, 1, 1, "", "source_folders"], [23, 4, 1, "", "sources"], [23, 4, 1, "", "statements"], [23, 1, 1, "", "timestamp"], [23, 4, 1, "", "total_functions"]], "ape.types.coverage.CoverageStatement": [[23, 1, 1, "", "hit_count"], [23, 1, 1, "", "location"], [23, 1, 1, "", "pcs"], [23, 1, 1, "", "tag"]], "ape.types.coverage.FunctionCoverage": [[23, 1, 1, "", "full_name"], [23, 1, 1, "", "hit_count"], [23, 4, 1, "", "line_rate"], [23, 4, 1, "", "lines_covered"], [23, 4, 1, "", "lines_valid"], [23, 4, 1, "", "miss_count"], [23, 5, 1, "", "model_dump"], [23, 1, 1, "", "name"], [23, 5, 1, "", "profile_statement"], [23, 1, 1, "", "statements"]], "ape.types.events": [[23, 3, 1, "", "ContractLog"], [23, 3, 1, "", "ContractLogContainer"], [23, 3, 1, "", "LogFilter"], [23, 3, 1, "", "MockContractLog"]], "ape.types.events.ContractLog": [[23, 1, 1, "", "block_hash"], [23, 1, 1, "", "block_number"], [23, 1, 1, "", "log_index"], [23, 4, 1, "", "timestamp"], [23, 1, 1, "", "transaction_hash"], [23, 1, 1, "", "transaction_index"]], "ape.types.events.LogFilter": [[23, 5, 1, "", "from_event"], [23, 5, 1, "", "model_dump"]], "ape.types.gas": [[23, 3, 1, "", "AutoGasLimit"], [23, 7, 1, "", "GasLimit"]], "ape.types.gas.AutoGasLimit": [[23, 1, 1, "", "multiplier"]], "ape.types.signatures": [[23, 3, 1, "", "MessageSignature"], [23, 3, 1, "", "SignableMessage"], [23, 3, 1, "", "TransactionSignature"], [23, 5, 1, "", "recover_signer"]], "ape.types.signatures.SignableMessage": [[23, 1, 1, "", "body"], [23, 1, 1, "", "header"], [23, 1, 1, "", "version"]], "ape.types.trace": [[23, 3, 1, "", "ControlFlow"], [23, 1, 1, "", "GasReport"], [23, 3, 1, "", "SourceTraceback"]], "ape.types.trace.ControlFlow": [[23, 4, 1, "", "begin_lineno"], [23, 1, 1, "", "closure"], [23, 1, 1, "", "depth"], [23, 4, 1, "", "end_lineno"], [23, 5, 1, "", "extend"], [23, 5, 1, "", "format"], [23, 4, 1, "", "line_numbers"], [23, 4, 1, "", "next_statement"], [23, 1, 1, "", "source_path"], [23, 4, 1, "", "source_statements"], [23, 1, 1, "", "statements"], [23, 4, 1, "", "ws_begin_lineno"]], "ape.types.trace.SourceTraceback": [[23, 5, 1, "", "add_builtin_jump"], [23, 5, 1, "", "add_jump"], [23, 5, 1, "", "append"], [23, 4, 1, "", "execution"], [23, 5, 1, "", "extend"], [23, 5, 1, "", "extend_last"], [23, 5, 1, "", "format"], [23, 4, 1, "", "last"], [23, 4, 1, "", "revert_type"], [23, 4, 1, "", "source_statements"], [23, 4, 1, "", "statements"]], "ape.types.units": [[23, 1, 1, "", "CurrencyValue"], [23, 1, 1, "", "CurrencyValueComparable"]], "ape.types.vm": [[23, 7, 1, "", "BlockID"], [23, 7, 1, "", "SnapshotID"]], "ape.utils": [[24, 2, 0, "-", "abi"], [24, 2, 0, "-", "basemodel"], [24, 2, 0, "-", "misc"], [24, 2, 0, "-", "os"], [24, 2, 0, "-", "process"], [24, 2, 0, "-", "rpc"], [24, 2, 0, "-", "testing"], [24, 2, 0, "-", "trace"]], "ape.utils.abi": [[24, 3, 1, "", "Struct"], [24, 3, 1, "", "StructParser"], [24, 0, 1, "", "create_struct"], [24, 0, 1, "", "is_array"], [24, 0, 1, "", "is_named_tuple"], [24, 0, 1, "", "is_struct"], [24, 0, 1, "", "returns_array"]], "ape.utils.abi.Struct": [[24, 5, 1, "", "items"]], "ape.utils.abi.StructParser": [[24, 5, 1, "", "decode_output"], [24, 4, 1, "", "default_name"], [24, 5, 1, "", "encode_input"]], "ape.utils.basemodel": [[24, 3, 1, "", "BaseInterface"], [24, 3, 1, "", "BaseInterfaceModel"], [24, 3, 1, "", "BaseModel"], [24, 3, 1, "", "ExtraAttributesMixin"], [24, 3, 1, "", "ExtraModelAttributes"], [24, 3, 1, "", "ManagerAccessMixin"], [24, 3, 1, "", "injected_before_use"], [24, 3, 1, "", "manager_access"]], "ape.utils.basemodel.BaseModel": [[24, 5, 1, "", "model_copy"]], "ape.utils.basemodel.ExtraModelAttributes": [[24, 1, 1, "", "additional_error_message"], [24, 1, 1, "", "attributes"], [24, 5, 1, "", "get"], [24, 1, 1, "", "include_getattr"], [24, 1, 1, "", "include_getitem"], [24, 1, 1, "", "name"]], "ape.utils.basemodel.ManagerAccessMixin": [[24, 1, 1, "", "Project"]], "ape.utils.misc": [[24, 0, 1, "", "extract_nested_value"], [24, 0, 1, "", "gas_estimation_error_message"], [24, 0, 1, "", "get_current_timestamp_ms"], [24, 0, 1, "", "get_package_version"], [24, 0, 1, "", "is_evm_precompile"], [24, 0, 1, "", "is_zero_hex"], [24, 0, 1, "", "load_config"], [24, 0, 1, "", "log_instead_of_fail"], [24, 0, 1, "", "pragma_str_to_specifier_set"], [24, 0, 1, "", "raises_not_implemented"], [24, 0, 1, "", "run_until_complete"], [24, 3, 1, "", "singledispatchmethod"], [24, 0, 1, "", "to_int"]], "ape.utils.misc.singledispatchmethod": [[24, 5, 1, "", "register"]], "ape.utils.os": [[24, 0, 1, "", "clean_path"], [24, 0, 1, "", "create_tempdir"], [24, 0, 1, "", "expand_environment_variables"], [24, 0, 1, "", "extract_archive"], [24, 0, 1, "", "get_all_files_in_directory"], [24, 0, 1, "", "get_full_extension"], [24, 0, 1, "", "get_package_path"], [24, 0, 1, "", "get_relative_path"], [24, 0, 1, "", "in_tempdir"], [24, 0, 1, "", "is_relative_to"], [24, 0, 1, "", "path_match"], [24, 0, 1, "", "run_in_tempdir"], [24, 3, 1, "", "use_temp_sys_path"]], "ape.utils.process": [[24, 3, 1, "", "JoinableQueue"], [24, 0, 1, "", "spawn"]], "ape.utils.process.JoinableQueue": [[24, 5, 1, "", "join"]], "ape.utils.rpc": [[24, 3, 1, "", "RPCHeaders"], [24, 0, 1, "", "allow_disconnected"], [24, 0, 1, "", "stream_response"]], "ape.utils.testing": [[24, 3, 1, "", "GeneratedDevAccount"], [24, 0, 1, "", "generate_dev_accounts"]], "ape.utils.testing.GeneratedDevAccount": [[24, 1, 1, "", "address"], [24, 1, 1, "", "private_key"]], "ape.utils.trace": [[24, 3, 1, "", "TraceStyles"]], "ape.utils.trace.TraceStyles": [[24, 1, 1, "", "CONTRACTS"], [24, 1, 1, "", "DELEGATE"], [24, 1, 1, "", "GAS_COST"], [24, 1, 1, "", "INPUTS"], [24, 1, 1, "", "METHODS"], [24, 1, 1, "", "OUTPUTS"], [24, 1, 1, "", "VALUE"]], "ape_ethereum": [[13, 2, 0, "-", "multicall"]], "ape_ethereum.multicall": [[13, 3, 1, "", "BaseMulticall"], [13, 3, 1, "", "Call"], [13, 3, 1, "", "Transaction"]], "ape_ethereum.multicall.BaseMulticall": [[13, 5, 1, "", "add"], [13, 5, 1, "", "inject"]], "ape_ethereum.multicall.Call": [[13, 5, 1, "", "__call__"], [13, 5, 1, "", "add"], [13, 5, 1, "", "as_transaction"]], "ape_ethereum.multicall.Transaction": [[13, 5, 1, "", "__call__"], [13, 5, 1, "", "as_transaction"]], "ape_node": [[14, 3, 1, "", "EthereumNetworkConfig"], [14, 3, 1, "", "EthereumNodeConfig"], [14, 3, 1, "", "GethDev"], [14, 3, 1, "", "Node"], [14, 3, 1, "", "OtterscanQueryEngine"]], "ape_node.EthereumNodeConfig": [[14, 1, 1, "", "call_trace_approach"], [14, 1, 1, "", "data_dir"], [14, 1, 1, "", "ethereum"], [14, 1, 1, "", "executable"], [14, 1, 1, "", "ipc_path"], [14, 1, 1, "", "request_headers"]], "ape_node.GethDev": [[14, 4, 1, "", "auto_mine"], [14, 5, 1, "", "build_command"], [14, 4, 1, "", "chain_id"], [14, 5, 1, "", "connect"], [14, 5, 1, "", "disconnect"], [14, 5, 1, "", "get_test_account"], [14, 5, 1, "", "mine"], [14, 1, 1, "", "name"], [14, 4, 1, "", "process_name"], [14, 5, 1, "", "restore"], [14, 5, 1, "", "set_timestamp"], [14, 5, 1, "", "snapshot"], [14, 5, 1, "", "start"]], "ape_node.Node": [[14, 5, 1, "", "connect"], [14, 5, 1, "", "send_transaction"]], "ape_node.OtterscanQueryEngine": [[14, 5, 1, "", "estimate_query"], [14, 5, 1, "", "perform_query"]], "compile": [[1, 8, 1, "cmdoption-compile-config-override", "--config-override"], [1, 8, 1, "cmdoption-compile-f", "--force"], [1, 8, 1, "cmdoption-compile-include-dependencies", "--include-dependencies"], [1, 8, 1, "cmdoption-compile-project", "--project"], [1, 8, 1, "cmdoption-compile-s", "--size"], [1, 8, 1, "cmdoption-compile-v", "--verbosity"], [1, 8, 1, "cmdoption-compile-f", "-f"], [1, 8, 1, "cmdoption-compile-s", "-s"], [1, 8, 1, "cmdoption-compile-v", "-v"], [1, 8, 1, "cmdoption-compile-arg-FILE_PATHS", "FILE_PATHS"]], "console": [[2, 8, 1, "cmdoption-console-c", "--code"], [2, 8, 1, "cmdoption-console-v", "--verbosity"], [2, 8, 1, "cmdoption-console-c", "-c"], [2, 8, 1, "cmdoption-console-v", "-v"]], "init": [[3, 8, 1, "cmdoption-init-github", "--github"], [3, 8, 1, "cmdoption-init-name", "--name"], [3, 8, 1, "cmdoption-init-v", "--verbosity"], [3, 8, 1, "cmdoption-init-v", "-v"]], "networks-list": [[4, 8, 1, "cmdoption-networks-list-ecosystem", "--ecosystem"], [4, 8, 1, "cmdoption-networks-list-format", "--format"], [4, 8, 1, "cmdoption-networks-list-network", "--network"], [4, 8, 1, "cmdoption-networks-list-provider", "--provider"], [4, 8, 1, "cmdoption-networks-list-v", "--verbosity"], [4, 8, 1, "cmdoption-networks-list-v", "-v"]], "networks-run": [[4, 8, 1, "cmdoption-networks-run-network", "--network"], [4, 8, 1, "cmdoption-networks-run-v", "--verbosity"], [4, 8, 1, "cmdoption-networks-run-v", "-v"]], "plugins-change-version": [[5, 8, 1, "cmdoption-plugins-change-version-arg-VERSION", "VERSION"]], "plugins-install": [[5, 8, 1, "cmdoption-plugins-install-U", "--upgrade"], [5, 8, 1, "cmdoption-plugins-install-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-install-y", "--yes"], [5, 8, 1, "cmdoption-plugins-install-U", "-U"], [5, 8, 1, "cmdoption-plugins-install-v", "-v"], [5, 8, 1, "cmdoption-plugins-install-y", "-y"], [5, 8, 1, "cmdoption-plugins-install-arg-PLUGIN-NAMES", "PLUGIN-NAMES"]], "plugins-list": [[5, 8, 1, "cmdoption-plugins-list-a", "--all"], [5, 8, 1, "cmdoption-plugins-list-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-list-a", "-a"], [5, 8, 1, "cmdoption-plugins-list-v", "-v"]], "plugins-uninstall": [[5, 8, 1, "cmdoption-plugins-uninstall-v", "--verbosity"], [5, 8, 1, "cmdoption-plugins-uninstall-y", "--yes"], [5, 8, 1, "cmdoption-plugins-uninstall-v", "-v"], [5, 8, 1, "cmdoption-plugins-uninstall-y", "-y"], [5, 8, 1, "cmdoption-plugins-uninstall-arg-PLUGIN-NAMES", "PLUGIN-NAMES"]], "pm-compile": [[6, 8, 1, "cmdoption-pm-compile-config-override", "--config-override"], [6, 8, 1, "cmdoption-pm-compile-f", "--force"], [6, 8, 1, "cmdoption-pm-compile-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-compile-version", "--version"], [6, 8, 1, "cmdoption-pm-compile-f", "-f"], [6, 8, 1, "cmdoption-pm-compile-v", "-v"], [6, 8, 1, "cmdoption-pm-compile-arg-NAME", "NAME"]], "pm-install": [[6, 8, 1, "cmdoption-pm-install-config-override", "--config-override"], [6, 8, 1, "cmdoption-pm-install-f", "--force"], [6, 8, 1, "cmdoption-pm-install-name", "--name"], [6, 8, 1, "cmdoption-pm-install-ref", "--ref"], [6, 8, 1, "cmdoption-pm-install-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-install-version", "--version"], [6, 8, 1, "cmdoption-pm-install-f", "-f"], [6, 8, 1, "cmdoption-pm-install-v", "-v"], [6, 8, 1, "cmdoption-pm-install-arg-PACKAGE", "PACKAGE"]], "pm-list": [[6, 8, 1, "cmdoption-pm-list-all", "--all"], [6, 8, 1, "cmdoption-pm-list-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-list-v", "-v"]], "pm-uninstall": [[6, 8, 1, "cmdoption-pm-uninstall-v", "--verbosity"], [6, 8, 1, "cmdoption-pm-uninstall-y", "--yes"], [6, 8, 1, "cmdoption-pm-uninstall-v", "-v"], [6, 8, 1, "cmdoption-pm-uninstall-y", "-y"], [6, 8, 1, "cmdoption-pm-uninstall-arg-NAME", "NAME"], [6, 8, 1, "cmdoption-pm-uninstall-arg-VERSIONS", "VERSIONS"]], "run": [[7, 8, 1, "cmdoption-run-I", "--interactive"], [7, 8, 1, "cmdoption-run-I", "-I"]], "test": [[8, 8, 1, "cmdoption-test-v", "--verbosity"], [8, 8, 1, "cmdoption-test-w", "--watch"], [8, 8, 1, "cmdoption-test-watch-delay", "--watch-delay"], [8, 8, 1, "cmdoption-test-watch-folders", "--watch-folders"], [8, 8, 1, "cmdoption-test-v", "-v"], [8, 8, 1, "cmdoption-test-w", "-w"], [8, 8, 1, "cmdoption-test-arg-PYTEST_ARGS", "PYTEST_ARGS"]]}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "attribute", "Python attribute"], "2": ["py", "module", "Python module"], "3": ["py", "class", "Python class"], "4": ["py", "property", "Python property"], "5": ["py", "method", "Python method"], "6": ["py", "exception", "Python exception"], "7": ["py", "data", "Python data"], "8": ["std", "cmdoption", "program option"]}, "objtypes": {"0": "py:function", "1": "py:attribute", "2": "py:module", "3": "py:class", "4": "py:property", "5": "py:method", "6": "py:exception", "7": "py:data", "8": "std:cmdoption"}, "terms": {"": [1, 5, 6, 8, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46], "0": [0, 6, 8, 13, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 35, 37, 38, 39, 42, 44], "0000": 45, "00040634": 29, "00afd7": 24, "0b2": 28, "0x": [17, 21, 24, 30, 39, 42, 45], "0x0": 46, "0x00": [45, 46], "0x0000000000000000000000000000000000000000": 23, "0x0000000000000000000000000000000000000000000000000000000000000000": 17, "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d": 45, "0x123": [30, 40], "0x1234": [28, 37], "0x1234556b5ed9202110d7ecd637a4581db8b9879f": 27, "0x12c17f958d2ee523a2206206994597c13d831e34": 40, "0x1c": 45, "0x27e235e3": 30, "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5": [17, 21], "0x35": 45, "0x3fb5c1cb00000000000000000000000000000000000000000000000000000000000000de": 30, "0x5668ead1edb8e2a4d724c8fb9cb5ffeabeb422dc": 45, "0x5fbdb2315678afecb367f032d93f642f64180aa3": 28, "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45": 30, "0x68f768988e9bd4be971d527f72483f321975fa52aff9692b6d0e0af71fb77aaf": 29, "0x70a08231": 30, "0x80067013d7f7af4e86b3890489acafe79f31a4cb": 30, "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": 30, "0xab5801a7d398351b8be11c439e05c5b3259aec9b": [44, 46], "0xabc1230001112223334445566611855443322111": 19, "0xb0b0b0b0b0b0b000000000000000000000000000": 25, "0xb7d7f1d5ce7743e821d3026647df486f517946ef1342a1ae93c96e4a8016eab7": 45, "0xca11bde05977b3631167028862be2a173976ca11": 13, "0xcccccccccccccccccccccccccccccccccccccccc": 25, "0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826": 25, "0xd8da6bf26964af9d7eed9e03e53415d37aa96045": [17, 21], "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": 30, "0xe3747e6341e0d3430e6ea9e2346cddcc2f8a4b5b": 29, "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512": 28, "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee": 45, "0xf4b8a02d4e8d76070bd7092b54d2cbbe90fa72e9": 30, "0xsplit": 39, "1": [6, 10, 14, 17, 19, 21, 23, 24, 25, 28, 29, 30, 31, 32, 37, 38, 44, 45, 46], "10": [17, 19, 21, 24, 27, 28, 36, 37], "100": [17, 30, 44, 46], "1000000000": [17, 21], "1000000000000000000": [17, 21], "100_000": 44, "109": 37, "1164": 45, "1167": 39, "11946": 45, "12": [0, 25, 32, 41], "120": 37, "123": [28, 30, 40, 42], "1234": [28, 37], "1291": 45, "1302": 45, "13028": 45, "1337": [14, 33, 45], "1377": 45, "1421947": 45, "14388241": 29, "15": [14, 17, 37], "1558": 41, "1559": [17, 21, 37, 46], "16": [14, 28, 37], "1647323479": 29, "18": 17, "1822": 39, "191": [17, 23], "1967": 39, "1e18": 25, "2": [6, 17, 21, 23, 24, 28, 29, 30, 31, 32, 35, 37, 39, 44, 45, 46], "20": [14, 17, 31, 36, 37, 46], "21": 36, "21000": 46, "22414": 45, "23827": 44, "24564": 44, "25845": 45, "2678": [17, 21, 40], "28307": 44, "2930": 46, "3": [27, 29, 30, 32, 41, 42, 44, 46], "30": 36, "31337": 37, "32": [17, 25], "33493": 44, "34783": 44, "35000000000000000000000000": 45, "3600": 21, "38679": 44, "3fb5c1c": 30, "3rd": 41, "4": [17, 21, 28, 29, 30, 32, 37, 42, 45], "40": 36, "40000": 30, "44": [0, 24, 44], "45739": 44, "5": [8, 25, 28, 30, 32, 35, 42, 44, 46], "50": [17, 19, 21, 46], "500": 37, "5000": 14, "5030": 28, "51021": 44, "5202": [17, 21], "5253": 45, "57198": 44, "6": [14, 32, 35, 44], "60": [0, 24, 37, 44], "600": 46, "6057": 45, "61": 29, "7": [27, 35, 44], "71": 44, "712": 23, "8": [27, 32, 42, 44], "80": 44, "82848": 44, "85": 44, "8545": 14, "86000": 44, "897": 39, "9": [17, 23, 24, 32, 39, 41], "90": 23, "91398": 44, "98": 42, "A": [3, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 28, 29, 30, 32, 33, 35, 37, 38, 39, 44, 45, 46], "AND": 21, "And": [17, 24, 26, 32, 37, 42, 44], "As": [33, 37, 42, 44], "At": [30, 44], "But": 38, "By": [17, 27, 32, 35, 43, 44, 46], "For": [14, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 42, 43, 44, 46], "If": [6, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "In": [18, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 37, 38, 39, 41, 42, 44, 46], "It": [18, 22, 24, 25, 26, 30, 31, 33, 36, 37, 43, 44, 45], "No": [21, 37], "ON": 24, "On": [30, 31], "One": [0, 1, 2, 3, 4, 5, 6, 8, 29, 30, 42, 44, 46], "Or": [17, 25, 27, 28, 29, 30, 33, 35], "That": [26, 30, 46], "The": [1, 6, 10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 41, 42, 43, 44, 46], "Then": [17, 25, 27, 28, 29, 30, 32, 33, 34, 44, 46], "There": [22, 23, 25, 26, 28, 30, 32, 35, 37, 38, 41, 43, 44, 46], "These": [21, 28, 30, 42, 44], "To": [17, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 43, 44, 45, 46], "Will": 26, "With": 41, "_": [29, 30, 38, 43], "__builtin__": 44, "__call__": [13, 19], "__contains__": [17, 21], "__delitem__": [17, 21], "__eq__": [19, 21], "__expected_": 18, "__getattr__": [19, 24], "__getitem__": [17, 21, 24], "__hash__": [19, 21], "__init__": [17, 19, 21, 30, 33], "__iter__": [19, 21], "__len__": [17, 21], "__local__": [32, 38], "__pydantic_extra__": 17, "__pydantic_fields_set__": 17, "__pydantic_private__": 17, "__repr__": [17, 19, 21, 24], "__setitem__": 21, "__signature__": [17, 19, 21], "__str__": [17, 21], "__version__": 24, "_addressvalid": [17, 21, 23], "_asset": 45, "_baseblockqueri": 17, "_basequeri": 17, "_before_": 24, "_caller": 45, "_case_sensit": [14, 17], "_chainid_": 25, "_cli": 33, "_cli_avoid_json": [14, 17], "_cli_enforce_requir": [14, 17], "_cli_exit_on_error": [14, 17], "_cli_flag_prefix_char": [14, 17], "_cli_hide_none_typ": [14, 17], "_cli_ignore_unknown_arg": [14, 17], "_cli_implicit_flag": [14, 17], "_cli_parse_arg": [14, 17], "_cli_parse_none_str": [14, 17], "_cli_prefix": [14, 17], "_cli_prog_nam": [14, 17], "_cli_settings_sourc": [14, 17], "_cli_use_class_docs_for_group": [14, 17], "_contract": 45, "_data": 45, "_env_fil": [14, 17], "_env_file_encod": [14, 17], "_env_ignore_empti": [14, 17], "_env_nested_delimit": [14, 17], "_env_parse_enum": [14, 17], "_env_parse_none_str": [14, 17], "_env_prefix": [14, 17], "_exchangedata": 45, "_foo_intern": 44, "_fork": 34, "_hex_int_valid": [17, 23], "_immutable_numb": 44, "_local_deployments_map": 21, "_lognam": 45, "_manag": 22, "_mock": 27, "_name_": 25, "_nested_model_default_partial_upd": [14, 17], "_number": 44, "_outside_": 18, "_passphras": 25, "_secrets_dir": [14, 17], "_signatur": 23, "_sourcetraceback__iter": 23, "_sourcetraceback__object": 23, "_target": 45, "_type": 23, "_valu": 44, "_verifyingcontract_": 25, "_version_": 25, "_web3": 33, "_would_": 23, "_x": 44, "abbrevi": 32, "abc": [17, 24], "abi": [10, 17, 19, 20, 21, 22, 27, 42, 46], "abi_typ": [17, 24, 30], "abi_w_selector_t": 19, "abityp": [17, 24], "abl": [13, 17, 21, 24, 25, 27, 30, 37, 39, 44, 45], "abort": [18, 20, 26], "about": [17, 20, 21, 23, 25, 26, 27, 28, 30, 32, 33, 34, 35, 37, 39, 40, 41, 43, 44, 45, 46], "abov": [25, 30, 36, 37, 41, 43, 44, 45, 46], "abridg": 45, "absolut": [17, 24, 28], "abstract": [17, 20, 24, 30, 33, 37], "academ": 41, "academi": 44, "accept": [17, 18, 21, 25, 30, 37, 40], "access": [10, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 29, 30, 32, 33, 37, 38, 40, 43, 44], "access_list": 46, "accident": 25, "accord": 33, "account": [9, 10, 14, 18, 19, 20, 24, 27, 28, 29, 30, 32, 33, 37, 39, 40, 41, 42, 45, 46], "account_id": 21, "account_manag": [24, 26], "account_opt": [18, 26], "account_str": 21, "account_typ": [17, 18, 22, 26], "accountaliaspromptchoic": 18, "accountapi": [17, 18, 21, 22, 25, 26, 30, 33], "accountcontain": 22, "accountcontainerapi": [17, 21, 22], "accounthistori": [17, 21], "accountintconvert": 21, "accountmanag": [10, 21, 29], "accountplugin": 22, "accountserror": [17, 20], "accountsmanag": 21, "accounttransactionqueri": [14, 17, 21], "acct": [30, 31], "accumul": 23, "accur": 24, "achiev": [17, 30, 32, 37, 45], "across": [17, 21, 28, 29, 37], "action": [25, 44], "activ": [17, 18, 19, 21, 29, 30, 43, 44], "active_provid": [21, 29], "actual": [17, 19, 23, 30, 44], "ad": [17, 20, 21, 23, 24, 25, 26, 29, 37, 44], "add": [13, 14, 17, 18, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 43, 44, 46], "add_builtin_jump": 23, "add_compiler_data": 21, "add_jump": 23, "add_network": 17, "addbal": 30, "addit": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 32, 37, 45, 46], "addition": [17, 26, 32, 35, 37], "additional_error_messag": 24, "address": [10, 13, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 39, 42, 44, 46], "addressapiconvert": 21, "addresstyp": [13, 17, 19, 20, 21, 23], "adequ": 44, "adhoc": [17, 18, 21, 32], "adjust": [27, 37, 38, 44], "advanc": [17, 31], "advantag": 43, "advis": 41, "affect": 27, "affili": 21, "afford": [17, 45], "after": [7, 17, 19, 21, 22, 25, 27, 30, 32, 37, 38, 41, 42, 44, 46], "afterward": [26, 44], "again": 13, "against": [21, 22, 38, 44], "agent": [14, 24, 37], "alchemi": [17, 22, 26, 28, 34, 35, 37, 43, 45, 46], "algorithm": [19, 21], "alia": [0, 17, 18, 19, 20, 21, 23, 24, 25, 26, 29, 30, 32, 33, 40], "alias": [17, 18, 21, 26], "aliasalreadyinuseerror": 20, "alic": 25, "alik": [20, 38], "all": [0, 1, 4, 5, 6, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 41, 44, 46], "all_path": 17, "allot": 17, "allow": [3, 13, 17, 18, 21, 22, 26, 28, 29, 30, 32, 35, 37, 39, 41, 42, 43, 44, 45, 46], "allow_disconnect": 24, "allow_instal": 21, "allowfailur": 13, "alon": [24, 26, 37], "along": [19, 32], "alphabet": 28, "alreadi": [17, 18, 20, 21, 24, 25, 26, 29, 30, 32, 34, 37, 40], "also": [1, 6, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 40, 41, 42, 43, 44, 46], "alter": [24, 29], "altern": [25, 26, 27, 30, 32, 35, 36, 37, 44], "altogeth": 37, "alwai": [17, 27, 28, 30, 32, 43], "amoi": 43, "amount": [13, 17, 19, 21, 30, 31, 37, 46], "an": [0, 3, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "analysi": 45, "analyz": 30, "ancestor": 24, "anchor": 24, "ani": [1, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 32, 33, 37, 38, 41, 42, 43, 44, 46], "annot": [17, 21, 23], "anonym": 17, "anoth": [17, 20, 23, 37, 44, 46], "anvil": [37, 44], "anyth": [17, 18, 26, 29, 30, 33, 36, 38], "anywher": [30, 32, 36], "ap": [1, 3, 4, 5, 6, 7, 8, 9, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 45], "ape_": 33, "ape_account": [25, 26], "ape_accounts_": 25, "ape_cli_context": [18, 26, 43], "ape_cli_subcommand": 33, "ape_consol": 29, "ape_console_extra": 29, "ape_ethereum": [13, 21, 30, 33], "ape_init_extra": 29, "ape_myplugin": 33, "ape_nod": 14, "ape_vyp": 42, "apeacademi": 46, "apeattributeerror": 20, "apeclicontextobject": [18, 26], "apeconfig": [17, 21], "apeexcept": 20, "apeindexerror": 20, "apelogg": 18, "apenet": 37, "apeproject": [17, 22, 38, 42], "apeworx": [33, 34, 35, 37, 40, 41], "api": [9, 20, 21, 22, 24, 25, 28, 32, 37, 39, 45], "api_path": 21, "api_uri": 37, "apinotimplementederror": [14, 17, 20], "appear": [21, 24], "append": [17, 21, 23, 24, 27, 37], "appli": [17, 21, 28, 33, 44, 46], "applic": [17, 24, 28, 32, 46], "application_prefix": 26, "applydiscount": 30, "approach": [14, 25, 37, 43, 44], "appropri": 21, "approv": 45, "approxim": 17, "ar": [6, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "arbitrari": 17, "arbitrum": 37, "architectur": 35, "archiv": 24, "archive_fil": 24, "area": [26, 44], "arg": [0, 4, 5, 6, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 29, 30, 31], "arg1": 30, "arg2": 30, "argument": [0, 1, 5, 6, 8, 13, 14, 17, 19, 20, 21, 23, 24, 25, 26, 29, 30, 32, 33, 37, 40, 43, 46], "arguments_length": 20, "argumentslengtherror": 20, "around": [17, 19, 20, 21, 27], "arrai": [24, 42], "arriv": 18, "artifact": [17, 21, 27, 38], "as_transact": 13, "ask": [5, 17, 25, 32], "assert": [20, 25, 30, 37, 42, 44, 46], "assertionerror": 44, "assign": 42, "assist": [25, 26, 33], "associ": [17, 21], "assum": [17, 19, 21, 24, 30, 37, 40, 42, 43, 44, 45, 46], "ast": 23, "async": 24, "asyncio": 24, "attach": [17, 18, 46], "attempt": [17, 20, 21, 32, 33, 39, 44], "attribut": [17, 19, 21, 24, 30], "attributeerror": [20, 46], "author": [17, 30, 42, 44, 45], "authorized_method": 44, "auto": [18, 23, 25, 28, 37, 44], "auto_gas_multipli": 17, "auto_min": [14, 17, 44], "autogaslimit": 23, "autom": 38, "automat": [1, 6, 17, 18, 21, 22, 23, 24, 26, 28, 29, 30, 32, 37, 40, 42, 43, 44, 45, 46], "automin": [14, 17], "autoreload": 29, "avail": [0, 5, 14, 17, 19, 21, 22, 23, 25, 29, 30, 31, 32, 33, 35, 36, 37, 42, 44, 46], "avalanch": 37, "avoid": [21, 25, 30, 41, 42, 43], "await": 24, "await_confirm": 17, "b": 13, "back": [1, 17, 19, 21, 23, 30, 37], "backend": 32, "backward": 21, "bad": 26, "balanc": [17, 19, 25, 29, 30, 42, 44], "balanceof": [30, 44, 45], "bar": [17, 18, 24, 37, 44, 46], "barev": 46, "base": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 30, 31, 33, 35, 37, 43, 44, 45, 46], "base_ecosystem_plugin": 37, "base_err": 20, "base_error": 18, "base_fe": [17, 21, 46], "base_fee_multipli": [17, 37], "base_path": [17, 20, 21, 28, 32], "base_typ": 18, "baseaddress": [17, 19, 21], "basecontractlog": 23, "baseinterfac": [17, 24], "baseinterfacemodel": [17, 19, 21, 24], "basemodel": [17, 23], "basemultical": 13, "baseset": 17, "basic": 30, "baz": 46, "beacon": 39, "becaus": [20, 21, 24, 25, 30, 32, 33, 37, 43, 44, 45], "becom": [42, 44], "been": [17, 21, 23, 24, 42, 44], "befor": [17, 19, 21, 24, 26, 30, 37, 43, 44, 46], "beforehand": 46, "beforevalid": [17, 23], "begin": [21, 30], "begin_lineno": 23, "behav": 44, "behavior": [17, 21, 23, 32, 36, 37], "being": [17, 20, 21, 23, 29, 37, 42], "belong": 19, "below": [25, 30, 32, 37, 44], "benefit": 33, "besid": [37, 42], "best": [14, 17, 21, 37, 43, 44, 45], "beta": 31, "better": [24, 37], "between": [8, 17, 19, 21, 23, 37], "biggest_block_s": 21, "binari": 27, "blank": 21, "blast": 37, "block": [17, 19, 20, 21, 22, 23, 24, 28, 29, 33, 42, 44], "block_hash": 23, "block_id": [17, 20], "block_identifi": 17, "block_numb": [17, 19, 21, 23, 37], "block_page_s": [14, 17], "block_tim": [17, 19, 21, 37], "blockapi": [17, 21, 31], "blockchain": [10, 14, 17, 20, 21, 22, 23, 25, 30, 35, 37, 44], "blockcontain": 21, "blockid": [17, 20, 23], "blocknotfounderror": [17, 20], "blockqueri": [14, 17, 21], "blocktransactionqueri": [14, 17, 21], "blue": [17, 36], "blueprint": [17, 21], "blueprint_id": 21, "bob": 25, "bodi": 23, "bool": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 28, 44], "boolean": [26, 28], "boost": 24, "borrow": 24, "both": [17, 21, 22, 24, 26, 29, 30, 33, 35, 37, 38, 46], "bound": 42, "box": [32, 35, 37, 44], "branch": [6, 17, 32, 35], "bridg": 37, "bright_blu": 24, "bright_green": 24, "bright_magenta": 24, "broadcast": 13, "broken": 46, "browni": [17, 21], "browser": 25, "bsc": 37, "build": [24, 27, 32, 38, 40, 41, 43, 44, 45], "build_command": [14, 17], "builder": 13, "built": [21, 23, 33, 41, 44], "builtin": [23, 42], "bundl": 44, "burn": 45, "by_alia": [17, 23], "bypass": [19, 21, 32], "byte": [17, 19, 21, 23, 24, 30], "bytecod": [1, 17], "bytes_valu": 30, "bytesaddressconvert": 21, "c": [2, 29], "cach": [6, 17, 21, 29, 32, 38, 44], "cache_api": 21, "cache_blueprint": 21, "cache_clear": 24, "cache_deploy": 21, "cache_nam": 21, "cache_proxy_info": 21, "cairo": 44, "calcul": [17, 21, 23], "call": [7, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 37, 39, 42, 43, 44, 46], "call_arg": 13, "call_kwarg": 13, "call_trace_approach": 14, "call_view_method": 19, "callabl": [18, 20, 21, 22, 24, 26], "callback": 18, "calldata": [17, 19, 30], "can": [0, 6, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "can_trace_sourc": 21, "cannot": [17, 18, 24, 44, 46], "capabl": [23, 45], "capit": 38, "captur": 44, "care": [37, 46], "carefulli": 37, "case": [17, 19, 20, 21, 23, 24, 26, 27, 28, 30, 32, 33, 37, 38, 39, 42, 43, 44], "case_sensit": 18, "caseinsensitivedict": 24, "catch": 10, "caus": [37, 44], "cd": 25, "cell": 29, "certain": [18, 21, 44, 46], "chain": [10, 13, 14, 17, 20, 22, 24, 29, 30, 31, 37, 41, 43, 45], "chain_id": [14, 17, 20, 21, 29, 37, 43], "chainerror": [20, 21], "chainid": 17, "chainlist": [14, 17, 21], "chainmanag": [10, 14, 17, 20, 21, 29, 44], "challeng": 41, "chanc": [17, 37, 41], "chang": [1, 8, 17, 18, 19, 21, 23, 24, 28, 29, 32, 34, 35, 36, 37, 42, 43, 44, 45], "changeonstatu": 44, "check": [17, 19, 21, 23, 24, 25, 30, 32, 39, 41, 42, 44], "check_for_chang": 21, "check_signatur": [17, 25], "check_valu": 44, "checksum": [21, 23], "checksumaddress": [17, 21, 23], "choic": [17, 21, 26, 37, 46], "choice_callback": 18, "choos": [6, 14, 18, 21], "ci": [25, 30], "circuit": 21, "cl": [18, 24, 26, 43], "claim": 17, "clarifi": 37, "class": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 38, 42], "classmethod": [13, 17, 19, 20, 21, 23], "classvar": [17, 19, 21], "clean_path": 24, "clear_local_cach": 21, "cli": [7, 17, 20, 21, 24, 25, 27, 29, 35, 41, 44], "cli_0": 26, "cli_1": 26, "cli_2": 43, "cli_ctx": [26, 33, 43], "cli_logg": 18, "click": [7, 18, 26, 33, 35, 37, 43], "clickexcept": 20, "client": [14, 17], "clisettingssourc": [14, 17], "clone": [3, 21, 32, 39], "close": 29, "closer": 37, "closest": 37, "closur": 23, "cloudflar": 14, "cmd": [18, 26, 37], "cmd_1": 26, "cmd_2": 26, "cmd_3": 26, "code": [2, 17, 18, 20, 21, 23, 26, 30, 32, 33, 40, 41, 44, 45], "codecov": 23, "codes": 17, "col_offset": 23, "collect": [17, 18, 20, 21, 23, 32], "collis": [21, 30], "colon": [26, 44], "color": [17, 24, 36], "column": [17, 19, 21, 23], "com": [14, 35, 37, 41], "combin": [17, 21, 37, 44], "come": [19, 21, 23, 24, 25, 27, 29, 30, 32, 35, 36, 37, 44], "comma": 44, "command": [0, 4, 5, 6, 7, 14, 17, 21, 25, 26, 27, 28, 30, 32, 33, 35, 36, 37, 38, 41, 43], "comment": 44, "common": [18, 24, 28, 32, 33, 37, 38], "commonli": 37, "compar": 23, "comparison": 23, "compat": [18, 23, 35], "compil": [9, 10, 20, 23, 24, 26, 28, 29, 30, 35, 38, 41, 42, 44], "compile_cod": 17, "compile_miss": 21, "compile_sourc": [21, 27], "compiler_data": 21, "compiler_nam": 21, "compiler_set": 17, "compilerapi": [17, 21, 22, 33, 35], "compilererror": [20, 21], "compilermanag": [10, 21], "compilerplugin": 22, "complet": [14, 17, 21, 24, 43, 44], "complex": [30, 32], "compon": 23, "compos": 33, "comprehens": [14, 17, 21], "comput": [17, 24, 25, 38], "concaten": 21, "concept": [17, 23, 24, 44], "concurr": [14, 17, 21], "condit": 33, "config": [1, 3, 6, 10, 24, 25, 27, 28, 29, 34, 35, 38, 44, 46], "config_class": 22, "config_file_nam": 17, "config_overrid": [17, 21, 32, 38], "configdict": 17, "configenum": 17, "configerror": [17, 20], "configmanag": [10, 17, 21, 22], "configur": [9, 14, 17, 19, 20, 21, 22, 24, 25, 27, 32, 38, 41, 44], "confirm": [5, 6, 17, 18, 19, 21, 25, 32, 46], "conform": [22, 33], "conftest": 44, "confus": 23, "connect": [14, 17, 19, 20, 21, 26, 28, 33, 34, 35, 43, 44, 45, 46], "connectedprovidercommand": [18, 26, 37, 43], "connection_id": 17, "connection_str": [17, 21], "consid": [17, 21, 24, 37], "consist": 18, "consol": [0, 7, 9, 25, 30, 31, 33, 34, 37, 38, 41, 44], "constant": 31, "constraint": 35, "construct": 23, "constructor": [17, 19, 30, 40], "constructorabi": [17, 20, 21, 24], "consult": 37, "consum": 24, "contact": 23, "contain": [17, 19, 21, 22, 23, 24, 27, 30, 32, 34, 37, 38, 40, 41, 44, 46], "container": 41, "content": [17, 21, 23, 24, 28], "context": [17, 18, 20, 21, 23, 24, 25, 29, 33, 42, 43, 44], "continu": [30, 37, 42], "contract": [1, 8, 9, 10, 13, 17, 18, 20, 21, 23, 24, 25, 27, 29, 37, 38, 40, 41, 42, 45, 46], "contract2": 30, "contract_a": 46, "contract_address": [17, 20, 23], "contract_contain": [19, 21], "contract_ev": 31, "contract_file_paths_argu": [18, 26], "contract_filepath": [17, 21], "contract_inst": [21, 31], "contract_method_defined_in_contract": 46, "contract_nam": [23, 44], "contract_opt": 18, "contract_sourc": 17, "contract_typ": [10, 17, 19, 20, 21, 28, 38], "contractcach": 21, "contractcod": 17, "contractcontain": [17, 19, 21, 30], "contractcoverag": 23, "contractcr": [14, 17, 19, 21], "contractcreationqueri": [14, 17, 21], "contractdataerror": 20, "contracterror": 18, "contractev": [17, 19, 23, 46], "contracteventqueri": [14, 17, 21], "contractfromdepend": 38, "contractinst": [10, 17, 19, 21, 30, 46], "contractlog": [17, 19, 21, 23, 31, 46], "contractlogcontain": [17, 23], "contractlogicerror": [17, 20, 21, 42, 44], "contractmanag": 21, "contractmethodhandl": 13, "contractmethodqueri": [14, 17, 21], "contractnam": [21, 27], "contractnotfounderror": [20, 21], "contracts_fold": [17, 21, 27, 28, 32, 38], "contractsourc": 17, "contractsourcecoverag": 23, "contracttyp": [17, 19, 20, 21], "contracttypewrapp": 19, "control": [17, 21, 23, 25, 26, 37, 43, 44, 46], "controlflow": 23, "conveni": [17, 21, 23], "convent": [23, 28], "convers": [10, 17, 22], "conversionerror": [17, 20, 21], "conversionmanag": [10, 21], "conversionplugin": 22, "convert": [10, 18, 20, 24, 28, 29, 30], "convertedtyp": 17, "converterapi": [17, 21, 22], "copi": [24, 30], "core": [5, 17, 25, 28, 30, 32, 33, 37], "coroutin": 24, "correct": [18, 32, 37, 44], "correctli": 37, "correspond": [17, 19, 23, 26, 37, 44], "cost": [17, 21, 30], "could": [17, 29, 30], "count": [0, 21, 23, 24, 25], "counter": 23, "coupl": 26, "cov": 44, "cover": [23, 30, 44], "coverag": [17, 45], "coverageproject": 23, "coveragereport": 23, "coveragestat": 23, "crash": 42, "creat": [0, 3, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 37, 38, 44, 45], "create_account": 26, "create_custom_provid": 21, "create_forwarder_to": 39, "create_network_typ": 17, "create_struct": 24, "create_tempdir": 24, "create_transact": 17, "creation": [17, 19, 21, 26], "creation_metadata": [19, 46], "cross": 19, "ctrl": 44, "ctx": 18, "currenc": [17, 23, 46], "currencyvalu": 23, "currencyvaluecompar": 23, "current": [13, 17, 18, 21, 24, 35, 37, 38], "custom": [17, 18, 20, 21, 23, 25, 26, 28, 29, 33, 36], "custom_hd_path": 0, "custom_network": [17, 21], "customcontext": 26, "customerror": [17, 19, 20, 21], "customiz": 37, "customnetwork": 37, "cut": 37, "cycl": 8, "d": [25, 41, 44], "d75f00": 24, "daemon": [17, 19, 21, 24], "dai": 45, "dapphub": 32, "dappnix": 32, "dapptoolserc20": 32, "data": [9, 10, 14, 17, 18, 19, 20, 21, 23, 24, 25, 28, 29, 30, 32, 37, 44], "data_dir": 14, "data_fold": [14, 17, 21], "databas": [29, 31], "dataclass": [24, 31], "datafram": [19, 21], "date": [21, 41], "datetim": [17, 21], "de": 17, "debug": [0, 1, 2, 3, 4, 5, 6, 8, 17, 25, 29, 31, 36, 37, 46], "debug_": 44, "debug_logs_lin": 17, "debug_logs_typ": 17, "debug_setcod": 13, "debug_trace_transaction_paramet": 45, "debug_tracecal": 45, "debug_tracetransact": 45, "decentr": 37, "decid": 25, "decim": [17, 21, 44], "decis": 37, "declar": [17, 28, 33, 46], "decod": [17, 19, 20, 21, 24, 37], "decode_address": 17, "decode_block": 17, "decode_calldata": 17, "decode_custom_error": 17, "decode_depend": 21, "decode_hex": 29, "decode_input": [19, 30], "decode_log": [17, 46], "decode_output": 24, "decode_primitive_valu": 17, "decode_receipt": 17, "decode_returndata": 17, "decodingerror": 20, "deconstruct": 22, "decor": [18, 22, 24, 30, 33, 43, 44], "deduc": [14, 17, 35], "deep": 24, "deeper": [41, 44, 45], "def": [13, 17, 18, 21, 22, 24, 25, 26, 29, 30, 33, 34, 36, 37, 43, 44, 46], "default": [0, 3, 4, 8, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 32, 35, 37, 43, 44, 46], "default_": 37, "default_ecosystem": [17, 21, 28, 37], "default_log_level": 18, "default_nam": 24, "default_network": [28, 34, 37], "default_network_nam": 17, "default_provid": [28, 34, 37], "default_provider_nam": 17, "default_transaction_typ": 37, "defaultqueryprovid": 21, "defin": [7, 14, 17, 19, 20, 21, 22, 23, 24, 28, 29, 30, 33, 37, 42, 43, 44], "definit": [17, 21, 37], "defisaverlogg": 45, "delai": [8, 37, 43], "deleg": [19, 21, 24, 39, 45], "delet": [17, 21, 32, 33], "delete_account": 26, "deltatim": 21, "demo": [28, 38, 46], "demonstr": [30, 43, 44, 46], "depend": [1, 6, 9, 17, 21, 22, 23, 33], "dependency_contract": 32, "dependency_id": 21, "dependency_project": 32, "dependencyapi": [17, 21, 22, 32], "dependencycontracttyp": 32, "dependencymanag": 21, "dependencyplugin": 22, "dependencyversionmap": 21, "dependend": 21, "deploi": [13, 17, 19, 20, 21, 27, 31, 32, 38, 40, 44, 46], "deploy": [1, 17, 19, 21, 38], "deployed_contract": 32, "deployment_bytecod": 17, "deployment_data": 17, "deploymentconfig": 17, "deploymentmanag": 21, "deployments_map": 21, "depth": [23, 41, 46], "deriv": [0, 19, 24, 37, 44], "describ": [23, 25, 37], "descript": [17, 18, 33, 39], "descriptor": 24, "design": [21, 23, 33], "desir": [13, 19], "despit": 44, "destin": [10, 17, 21, 24], "detail": [17, 19, 23, 38], "detect": [17, 19, 20, 21, 39, 42], "determin": [14, 17, 19, 21, 24, 39], "dev": [10, 17, 20, 21, 23, 24, 30, 44, 46], "dev_messag": [10, 20], "develop": [9, 14, 17, 19, 21, 24, 26, 31, 35, 37, 41, 46], "df": 31, "dict": [14, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "dictionari": [17, 18, 21, 23, 24, 30, 38, 44, 45], "did": [34, 45], "differ": [17, 19, 21, 23, 24, 28, 32, 33, 35, 37, 38, 39, 44], "dig": 24, "dim": 24, "dir": [5, 21], "dir_a": 24, "dir_b": 24, "directli": [17, 19, 21, 23, 25, 26, 27, 29, 30, 31, 32, 37, 38, 45, 46], "directori": [14, 17, 21, 24, 25, 27, 28, 29, 31, 32, 33, 35, 37, 38, 40, 43, 44], "disabl": 44, "disallow": 44, "disconnect": [14, 17, 21, 26, 37, 44], "disconnect_aft": [17, 21, 37], "disconnect_on_exit": [17, 21], "discord": 41, "discuss": [37, 44], "disk": [17, 21, 25], "dispatch": 24, "displai": [5, 17, 20, 23, 24, 25, 29, 37], "dist": 44, "distinguish": 44, "dive": 44, "divid": 23, "divis": 44, "do": [1, 13, 17, 20, 21, 24, 25, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, 43, 44, 46], "doc": [17, 23, 24, 33], "dockerfil": 41, "document": [19, 22, 25, 27, 28], "doe": [17, 18, 19, 20, 21, 24, 26, 28, 30, 32, 33, 35, 37, 41, 44, 45], "doesn": [17, 23, 45], "domain": [21, 30], "don": [5, 21, 30, 32, 33, 37, 44, 46], "dotenvtyp": [14, 17], "down": [14, 17, 23, 24], "download": [6, 17, 22, 24, 32], "download_url": 24, "doxx": 24, "drop": [7, 24], "ds_store": 27, "dsguard": 45, "dsproxi": 45, "dst": 45, "duck": [17, 23], "due": 44, "dump": [17, 23, 30], "duplic": 17, "durat": [18, 21, 30], "dure": [17, 21, 23, 27, 32, 36, 43, 44], "dynarrai": 30, "e": [17, 21, 25, 28, 30, 32, 37, 44, 45, 46], "e501": [17, 21], "each": [1, 13, 14, 17, 21, 22, 23, 24, 25, 28, 31, 32, 33, 37, 43, 44, 46], "earlier": 44, "earliest": [17, 19, 21, 23], "easi": [23, 26, 30, 35, 41, 44], "easier": 28, "easili": [17, 37, 46], "ecdsa": 23, "echo": [18, 26, 33, 43], "ecosystem": [4, 17, 18, 20, 21, 22, 26, 31, 34, 35, 37, 43, 44], "ecosystem_config": 17, "ecosystem_filt": [4, 21], "ecosystem_nam": [17, 21, 43], "ecosystemapi": [17, 21, 22, 35, 37], "ecosystemnotfounderror": 20, "ecosystemplugin": 22, "ecurepassphras": 25, "edit": [27, 28, 33, 35, 37], "effect": 37, "eip": [17, 21, 23, 37, 39, 40, 46], "eip712": 25, "eip712messag": [17, 25], "eip712typ": 25, "either": [7, 17, 18, 19, 21, 24, 25, 26, 30, 32, 33, 37, 41], "elect": 25, "elimin": 25, "els": [17, 19, 21, 24, 26, 36, 37, 43, 44], "elsewher": [21, 27, 28], "embed": 29, "emit": [17, 23, 46], "empti": [17, 20, 22, 23, 24, 44], "emul": 13, "en": [17, 21, 22, 28, 30, 35], "enabl": [14, 17, 19, 25, 30, 44], "enablememori": 45, "enact": 44, "encod": [13, 17, 23, 37], "encode_": 23, "encode_address": 17, "encode_calldata": 17, "encode_contract_blueprint": 17, "encode_defunct": [23, 25], "encode_deploy": 17, "encode_hex": 29, "encode_input": [24, 30], "encode_intended_valid": 23, "encode_structured_data": 23, "encode_transact": 17, "encode_typed_data": 23, "encompass": 44, "encount": [23, 42], "encourag": [18, 32], "encrypt": 25, "end": [17, 18, 19, 21, 24, 27, 37, 44], "end_coloffset": 23, "end_lineno": 23, "endcolumn": 23, "endeavor": 26, "endlin": 23, "enforc": 18, "engin": [14, 17, 19, 20, 21], "engine_to_us": [19, 21], "enhanc": 17, "enough": [17, 30], "enrich": [17, 21], "enrich_error": [17, 21], "enrich_trac": 17, "ensur": [21, 22, 23, 30, 34, 37, 44], "enter": [17, 25, 36, 37, 44], "entir": [33, 35, 37, 44], "entireti": 30, "entri": [21, 33, 37], "entropi": 25, "entry_point": 33, "entrypoint": 33, "enum": [17, 18, 27], "env": 41, "environ": [24, 25, 28, 29, 37, 41], "eoa": 17, "ephemer": 37, "epoch": 21, "equal": [17, 23, 25, 46], "equival": [17, 28], "erc20": 32, "erc721": 32, "err": [17, 20, 21, 42], "error": [0, 1, 2, 3, 4, 5, 6, 8, 17, 18, 19, 20, 21, 23, 24, 26, 29, 30, 36, 37], "error_messag": 20, "errorabi": [20, 21], "especi": [17, 32], "estim": [14, 17, 21, 23, 24, 28, 37, 44], "estimate_gas_cost": [17, 46], "estimate_queri": [14, 17, 21], "etc": [26, 42, 46], "eth": [10, 14, 17, 21, 25, 29, 30, 31, 37, 41, 44, 46], "eth_account": 25, "eth_cal": [13, 30], "eth_createaccesslist": 46, "eth_estimatega": 28, "eth_pydantic_typ": [17, 30], "eth_sendprivatetransact": [17, 30], "eth_sendrawtransact": 30, "eth_sendtransact": [13, 30], "eth_subscrib": 17, "eth_typ": [17, 21], "eth_util": 29, "ether": [13, 25, 30, 31, 46], "ethereum": [4, 9, 14, 17, 21, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 37, 39, 43, 44, 45, 46], "ethereumnetworkconfig": 14, "ethereumnodeconfig": 14, "ethereumnodeprovid": 21, "etherscan": [17, 19, 22, 30, 35, 37, 46], "ethpandaop": 14, "ethpm": [21, 38, 40], "ethpm_typ": [17, 19, 21, 23], "ethtest": [37, 44], "evalu": [18, 24], "even": [17, 21, 36, 37], "event": [17, 19, 20, 30, 46], "event_argu": 23, "event_nam": 23, "event_typ": 46, "eventabi": [17, 19, 21, 23, 24], "everi": [13, 21, 23, 24, 36, 37, 39], "everyth": [17, 33, 35], "evm": [17, 21, 30, 37, 42, 45], "evm_vers": [27, 28, 32], "exact": [23, 44], "exactli": 44, "exampl": [6, 10, 13, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46], "exc": 20, "exce": [20, 46], "except": [9, 10, 17, 18, 19, 21, 24, 29, 30, 37, 42, 44, 46], "exclud": [17, 21, 23, 24, 32, 44], "exclude_default": [17, 23], "exclude_glob": 21, "exclude_non": [17, 23], "exclude_unset": [17, 23], "exclus": [21, 24, 27], "execut": [13, 14, 17, 18, 19, 21, 23, 26, 30, 36, 43, 44, 45], "exist": [0, 17, 18, 21, 23, 24, 26, 27, 29, 33, 37, 40, 44], "existing_alias_argu": [18, 26, 33], "exit": [17, 21, 29, 44], "expand": [24, 28], "expand_envar": 24, "expand_environment_vari": 24, "expans": 28, "expect": [10, 13, 19, 21, 23, 44, 46], "expected_messag": 10, "experi": 41, "explain": [24, 37, 44], "explan": [24, 38], "explicitli": [17, 23, 27, 44], "explictli": 44, "explor": [22, 30, 39], "explorerapi": [17, 21, 22, 40], "explorerplugin": 22, "export": 42, "extend": [18, 23, 26, 35], "extend_last": 23, "extens": [17, 18, 21, 22, 24, 29, 33, 38, 40, 44], "extern": [30, 44], "extra": [17, 24, 25, 28, 32, 41], "extra_address": 19, "extraattributesmixin": [17, 19, 24], "extract": [24, 32], "extract_arch": 24, "extract_config": [17, 21], "extract_manifest": 21, "extract_nested_valu": 24, "extramodelattribut": 24, "f": [1, 6, 17, 18, 19, 21, 25, 26, 33, 41, 42, 43], "face": 20, "facilit": 28, "fact": 44, "factori": [17, 18, 19, 21, 28, 30, 38, 46], "fail": [13, 17, 18, 20, 21, 24, 30, 32, 33, 37, 42, 44], "failur": 44, "fallback": [21, 42], "fallbackabi": 21, "fallbacknotdefinederror": 42, "fals": [14, 17, 18, 19, 20, 21, 23, 24, 32, 42, 44, 45], "familiar": 37, "fantom": [28, 35, 37, 44], "fashion": 30, "faster": [21, 24], "fdel": 24, "featur": [17, 18, 23, 25, 26, 28, 30, 31, 32, 34, 42, 44, 45, 46], "fee": [17, 31, 37, 42], "fee_token_decim": 17, "fee_token_symbol": 17, "feed": 37, "fetch": [17, 19, 21, 30, 31, 37], "few": [31, 32, 44], "ff8c00": 24, "fget": 24, "field": [17, 21, 23, 24, 32, 35, 44], "figur": [23, 30], "file": [8, 17, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 35, 37, 38, 42, 43, 44, 46], "file_a": 24, "file_b": 24, "file_c": 24, "file_path": [1, 26], "filenam": 21, "filepath": 21, "filesystem": 24, "fill": [21, 23], "filter": [4, 17, 18, 19, 23, 26], "final": [17, 21, 24, 27, 44], "find": [17, 19, 20, 21, 23, 24, 25, 32, 33, 39, 44, 46], "finish": 33, "first": [17, 19, 21, 23, 24, 25, 26, 29, 30, 31, 32, 35, 37, 40, 43, 46], "fixtur": [13, 17, 21, 25, 37], "flag": [6, 17, 21, 25, 26, 27, 32, 35, 36, 37, 42, 43, 44, 45, 46], "flatten": [17, 18, 21], "flatten_contract": [17, 21], "flexibl": 43, "float": [17, 21, 23], "flow": [23, 44], "fly": 37, "fn": 24, "folder": [3, 7, 8, 17, 21, 23, 27, 29, 31, 44, 46], "follow": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46], "foo": [17, 18, 21, 24, 30, 37, 44], "foo_bar": 26, "foo_method": 44, "foobar": [21, 35, 43], "fooevent": 46, "foohappen": 31, "foomethod": 46, "forbid": 45, "forc": [1, 6, 17, 21, 32], "fork": [4, 9, 17, 21, 28, 44, 46], "forkednetworkapi": 17, "form": [21, 23, 24, 30, 36, 44], "format": [4, 17, 18, 21, 23, 24], "formerli": 39, "forward": [13, 30, 42], "found": [17, 19, 20, 21, 24, 25, 26, 27, 30, 32, 33, 37, 43, 44], "foundri": [26, 30, 34, 37, 44, 45], "frame": [20, 45], "framework": [26, 30, 32, 36, 41, 44, 46], "friendlier": 17, "fro": 37, "from": [0, 3, 6, 7, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "from_error": 20, "from_ev": 23, "from_manifest": [21, 38], "from_python_librari": [21, 38], "from_receipt": [17, 19, 46], "fset": 24, "full": [17, 21, 23, 24, 26, 27, 32, 37, 41, 44], "full_nam": 23, "fulli": [28, 30], "func": [17, 23, 24, 44], "function": [17, 18, 19, 21, 23, 24, 25, 26, 30, 31, 37, 42], "function_hit": 23, "function_r": 23, "functioncoverag": 23, "fund": [17, 20, 25, 30, 42, 44], "fundm": 44, "fundmycontract": 46, "further": 41, "futur": [17, 19, 21], "g": [17, 21, 25, 28, 30, 32, 37, 44, 45, 46], "ga": [17, 20, 24, 28, 30, 37, 42], "ganach": 17, "gap": 23, "gas_cost": 24, "gas_estimation_error_messag": 24, "gas_limit": [17, 23, 28, 37], "gas_pric": [17, 21, 46], "gas_us": [17, 30], "gaslimit": 23, "gasreport": 23, "gather": 24, "ge": [17, 23], "gener": [14, 17, 18, 21, 23, 24, 27, 30, 32, 36, 37, 40, 44], "generate_account": [17, 25], "generate_dev_account": 24, "generate_test_account": 25, "generateddevaccount": [17, 24], "generic_method": 24, "genericconfig": 17, "genesi": [24, 37], "get": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 32, 37, 38, 40, 41, 42, 43, 44, 45, 46], "get_accounts_by_typ": 21, "get_address_url": 17, "get_all_files_in_directori": 24, "get_api_path": 21, "get_bal": 17, "get_block": [17, 29, 37], "get_blueprint": 21, "get_choic": 18, "get_cod": 17, "get_compil": 27, "get_compiler_set": 17, "get_config": 17, "get_contain": 21, "get_contract": 30, "get_contract_log": 17, "get_contract_typ": 17, "get_contracts_path": 21, "get_creation_metadata": 21, "get_current_timestamp_m": 24, "get_custom_error": 21, "get_depend": [21, 38], "get_deploy": [21, 30], "get_ecosystem": 21, "get_error_by_signatur": 19, "get_event_by_signatur": [19, 46], "get_full_extens": 24, "get_html": 23, "get_import": [17, 21], "get_manifest_path": 21, "get_metavar": 18, "get_method_selector": 17, "get_multipl": 21, "get_network": [17, 43], "get_network_choic": 21, "get_network_data": 17, "get_nonc": 17, "get_package_path": 24, "get_package_vers": 24, "get_project_depend": 21, "get_project_path": 21, "get_project_versions_path": 21, "get_provid": 17, "get_provider_from_choic": 21, "get_proxy_info": [17, 21], "get_python_typ": 17, "get_raw_fram": 45, "get_receipt": [17, 21, 45], "get_refer": 21, "get_relative_path": 24, "get_request_head": 21, "get_static_list": 30, "get_storag": 17, "get_test_account": [14, 17], "get_transaction_trac": [17, 45], "get_transaction_url": 17, "get_transactions_by_account_nonc": 17, "get_transactions_by_block": 17, "get_user_selected_choic": 18, "get_vers": [17, 21], "get_version_map": 17, "get_virtual_machine_error": 17, "get_xml": 23, "getattr": 29, "geth": [14, 17, 20, 21, 24, 35, 37], "gethdev": 14, "getmarketborrowr": 45, "getmodifiedbal": 30, "getreserv": 30, "getsecret": 44, "getter": [23, 44], "gh": 32, "ghcr": 41, "git": [32, 35], "github": [3, 6, 17, 22, 28, 35, 37, 41], "gitmodul": 22, "give": [23, 24, 25, 26, 32, 39, 43], "given": [7, 8, 10, 17, 18, 19, 20, 21, 23, 24, 26, 28, 30, 37, 44], "glob": [21, 24, 27, 32], "global": [21, 28, 37, 38, 44], "global_config": 21, "globalcontract": 28, "gnosi": 39, "go": [17, 21, 37], "goe": [24, 37], "goerli": 4, "good": [18, 33], "got": 46, "gotten": 24, "gpl": 42, "grab": 44, "gracefulli": 26, "granular": [21, 30], "great": [17, 32, 41], "greater": [17, 21, 23], "green": [17, 36], "group": [7, 23, 26, 30, 33, 43], "gt": 17, "guess": 21, "guid": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "guidelin": 32, "gwei": [17, 21, 30, 46], "gz": 24, "h": 29, "ha": [17, 19, 20, 21, 24, 30, 31, 37, 40, 42, 44, 46], "hacker": [42, 44], "had": 42, "hand": [23, 30], "handi": 21, "handl": [17, 18, 20, 21, 22, 23, 24, 26, 29, 37, 42], "handle_ape_except": 20, "handler": [13, 17, 18, 19, 30, 46], "happen": [18, 22, 23, 27, 30, 32, 37, 44, 46], "haramb": 41, "hard": [18, 24], "hardcod": 17, "hardhat": [14, 17, 28, 34, 35, 37, 44], "has_explor": 20, "haserror": 44, "hash": [17, 19, 21, 23, 29], "hashbytes20": 23, "hashstr20": 23, "have": [1, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46], "hd": [0, 14, 17, 24, 25], "hd_path": [24, 44], "hdpath": 25, "head": [21, 29], "header": [14, 17, 21, 23, 24], "height": 21, "hello": [25, 43], "helloworld": 43, "help": [18, 19, 24, 25, 28, 29, 32, 33, 35, 37, 41, 44], "helper": [0, 4, 5], "henc": 37, "here": [17, 21, 22, 25, 26, 27, 28, 30, 33, 34, 35, 37, 38, 42, 43, 44, 45], "hex": [21, 23, 24, 25, 30], "hexaddressconvert": 21, "hexbyt": [17, 19, 21, 23, 30], "hexconvert": 21, "hexint": 23, "hexintconvert": 21, "hexiterableconvert": 21, "hexstr": [17, 23], "hide": [0, 25], "higher": [30, 37, 44], "highest": 46, "highli": 25, "highlight": 32, "histor": [17, 19, 21], "histori": [17, 21, 30, 31], "hit": 23, "hit_count": 23, "holeski": [4, 14], "home": [17, 24, 25, 28, 29, 31, 37, 41, 42], "homebrew": 41, "hood": [21, 25], "hook": [17, 22, 33], "hookimpl_kwarg": 22, "hop": 43, "host": [27, 39], "how": [17, 18, 23, 24, 25, 27, 28, 30, 31, 32, 37, 42, 43, 44, 46], "howev": [17, 19, 21, 25, 28, 32, 33, 35, 37, 38, 39, 43, 44, 46], "html": [23, 44], "htmlcov": 44, "http": [14, 17, 21, 23, 24, 28, 32, 33, 35, 36, 37, 41], "http_uri": [17, 37], "httpprovid": [14, 33], "huge": 24, "human": 29, "i": [1, 7, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "id": [14, 17, 19, 20, 21, 23, 27, 28, 30, 32, 37], "ideal": [21, 43], "idempot": [17, 23], "ident": 37, "identifi": [17, 19, 21, 30, 37, 42], "identifier_lookup": [19, 30], "ifi": 32, "ignor": [17, 18, 21, 23, 32, 33], "imag": 41, "imagin": 28, "immedi": [17, 29, 37], "imperson": [17, 21, 25, 44], "impersonate_account": [21, 44], "impersonatedaccount": [17, 21], "implement": [17, 18, 20, 21, 22, 24, 25, 26, 32, 37, 39, 45], "implicit": 23, "import": [7, 13, 17, 18, 19, 21, 24, 26, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "import_account_from_mnemon": 25, "import_account_from_private_kei": 25, "import_remap": 32, "import_source_id": [17, 21], "imports_dict": 21, "improv": [37, 44], "in_tempdir": [21, 24], "inaccess": 21, "incentiv": 17, "includ": [1, 5, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 35, 37, 40, 41, 44, 46], "include_depend": 32, "include_getattr": 24, "include_getitem": 24, "incompat": 18, "incompatible_opt": 18, "incompatible_with": 18, "incorpor": 31, "incorrect": 44, "increas": [25, 41, 44, 46], "increment": [21, 23], "independ": [4, 38], "index": [14, 17, 19, 23, 24, 26, 28, 30, 44], "index_of_test_account": 26, "indexerror": [17, 20, 24], "indic": [14, 17, 21, 24, 30, 36], "indiffer": 33, "individu": [23, 35, 45], "influenc": 40, "info": [0, 1, 2, 3, 4, 5, 6, 8, 10, 19, 21, 26, 29, 33, 36, 44], "inform": [17, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 36, 37, 40, 44, 46], "infura": [17, 22, 28, 31, 33, 37], "inherit": 23, "init": [9, 17, 31, 38], "init_coverage_profil": 17, "initi": [17, 19, 23, 29, 30, 31, 39, 43], "inject": [13, 22, 24], "injected_before_us": 24, "input": [17, 18, 19, 20, 23, 24, 25], "input_dict": 30, "ins": 7, "insensit": 24, "insid": [17, 24, 31], "inspect": [17, 19, 21, 44], "inspir": [20, 23], "instal": [17, 19, 20, 21, 25, 27, 28, 30, 31, 33, 34, 37, 43, 44], "instanc": [10, 13, 17, 19, 21, 23, 24, 26, 27, 28, 30, 40, 42, 43, 44, 46], "instance_at": 21, "instance_from_receipt": 21, "instance_map": 21, "instanti": [10, 17, 27], "instead": [6, 17, 21, 23, 24, 27, 28, 32, 33, 37], "instruct": 41, "insur": [17, 28], "int": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28], "intaddressconvert": 21, "integ": [17, 21, 23, 24], "integr": 37, "intend": [17, 33], "intent": [17, 21], "intention": 25, "interact": [7, 17, 19, 21, 25, 26, 29, 39, 41, 42, 44, 45, 46], "interchang": [14, 17, 33], "interest": 24, "interf": 41, "interfac": [17, 20, 21, 22, 27, 33, 37, 39, 43, 44], "interfacecompil": 22, "interfaces_fold": [17, 21], "intern": [23, 29, 44], "interoper": 41, "interv": 44, "introduc": 42, "intuit": 44, "invalid": [17, 21, 44], "invalidopt": 13, "invoc": [18, 44], "invok": [13, 17, 18, 19, 21, 26, 29, 30, 42, 44, 46], "invoke_transact": 19, "involv": [26, 32], "io": [14, 17, 23, 41], "ipc": [14, 17, 37], "ipc_path": [14, 37], "ipool": 30, "ipython": [29, 46], "is_adhoc": 17, "is_arrai": 24, "is_compil": 21, "is_connect": [17, 26], "is_contract": 17, "is_convert": [17, 21], "is_dev": 17, "is_evm_precompil": 24, "is_exclud": 21, "is_fork": 17, "is_loc": 17, "is_mainnet": 17, "is_named_tupl": 24, "is_relative_to": 24, "is_stop": [14, 17], "is_struct": 24, "is_typ": 21, "is_valid": 17, "is_zero_hex": 24, "isinst": 44, "isnumer": 28, "isol": [21, 44], "isolate_data_fold": 21, "isolate_in_tempdir": 21, "issu": [20, 36, 41], "item": [17, 20, 21, 22, 23, 24, 29, 30, 32, 33, 43], "iter": [13, 14, 17, 19, 20, 21, 22, 23, 24], "iter_path": 17, "its": [14, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32, 33, 36, 37, 38, 40, 44, 46], "itself": [13, 17, 18, 37, 38, 44], "java": 23, "join": [24, 41], "joinablequeu": [14, 17, 24], "json": [17, 18, 21, 22, 23, 24, 28, 30, 32, 38], "json_schema_input_typ": [17, 23], "jump": [23, 37], "junk": [24, 25, 28, 44], "just": [21, 23, 26, 30, 32, 34, 38], "keccak": 17, "keep": [28, 30, 33, 44], "kei": [0, 1, 6, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 33, 37, 44, 46], "keyerror": [17, 21], "keyfileaccount": [17, 22, 26], "keyword": [17, 29, 37], "kill": 17, "know": [17, 21, 23, 24, 26, 27, 30, 32, 33, 37, 44], "known": [17, 21, 24, 26, 27, 30], "kwarg": [13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 30, 32, 33, 37, 40, 44, 46], "l2": [17, 34], "lack": [28, 32], "lambda": 26, "languag": [17, 30, 35, 41], "larg": [17, 31, 37, 38], "larger": 27, "last": [19, 21, 23, 24, 30, 31, 44], "later": [17, 21, 44], "latest": [17, 19, 21, 23, 29, 32, 37, 41, 46], "latest_block": 21, "launch": [8, 29, 37, 46], "layer": 37, "lazi": 18, "lazili": [18, 24], "lazychoic": 18, "leak": 25, "learn": [25, 27, 28, 30, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46], "leav": [26, 44], "ledger": [17, 25, 33], "ledger_0": 33, "left": 44, "len": 21, "lendingrateoracl": 45, "length": [21, 25], "less": [17, 19, 21, 24, 36, 45], "lessen": 18, "let": [25, 27, 29, 30, 32, 37, 44], "level": [17, 18, 21, 24, 28, 30, 33, 36, 37, 38, 41, 44, 45], "librari": [24, 25, 30, 32, 33, 37], "licens": [17, 42], "like": [17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46], "likewis": 37, "limit": [17, 18, 23, 27, 28, 32, 37, 44, 45], "line": [0, 4, 5, 17, 18, 21, 23, 41, 42, 43, 44], "line_numb": 23, "line_r": 23, "linear": 23, "lineno": 23, "lines_cov": 23, "lines_valid": 23, "link": [17, 44], "linux": [41, 44], "list": [13, 14, 17, 18, 19, 20, 21, 23, 24, 26, 27, 28, 30, 31, 33, 35, 37, 44], "listen": 17, "liter": 23, "live": [14, 17, 19, 21, 30, 34, 46], "load": [0, 1, 18, 19, 21, 24, 25, 26, 29, 30, 31, 32, 33, 40, 42, 46], "load_config": 24, "load_ext": 29, "load_manifest": 21, "loader": 21, "loanshift": 45, "loanshifterreceiv": 45, "loanshiftertak": 45, "local": [0, 1, 2, 4, 10, 14, 17, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 41, 44, 46], "localhost": [14, 28, 33], "localproject": 21, "locat": [14, 17, 21, 23, 27, 28, 32, 33, 37, 38, 44], "lock": [27, 44], "log": [9, 17, 18, 19, 21, 23, 24, 41, 45], "log_filt": 17, "log_index": 23, "log_instead_of_fail": 24, "logfilt": [17, 23], "logger": [18, 26, 36], "logic": [17, 20, 21, 30, 33, 37], "loglevel": [18, 36], "london": 46, "long": [21, 33, 36, 45], "longer": 46, "look": [19, 21, 26, 27, 28, 29, 32, 33, 37, 38, 42, 44, 45], "lookup": [21, 23, 24, 44], "loop": [26, 33], "low": 45, "ltd": 41, "lvl": [0, 1, 2, 3, 4, 5, 6, 8, 29], "m": [0, 24, 44], "machin": [17, 20], "maco": [41, 44], "made": [17, 21, 28, 30, 31, 37], "mai": [17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 42, 44, 46], "mail": 25, "main": [7, 17, 22, 30, 34, 36, 37, 42], "mainnet": [4, 14, 17, 21, 22, 26, 28, 29, 31, 34, 37, 40, 43, 45, 46], "mainnet_fork": 28, "maintain": 37, "make": [14, 17, 21, 22, 24, 25, 26, 28, 29, 30, 37, 43, 44, 45, 46], "make_context": 18, "make_request": 17, "manag": [0, 4, 5, 6, 9, 10, 14, 17, 18, 19, 20, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 40, 42, 43, 44], "manager_access": 24, "manageraccessmixin": [13, 17, 19, 24], "mani": [13, 17, 18, 31, 35, 37], "manifest": [1, 17, 21, 32, 40], "manifest_path": 21, "manual": [1, 14, 29, 37, 44], "map": [1, 6, 17, 19, 20, 21, 22, 23, 24, 30, 32, 44], "mark": [23, 36, 44, 46], "marker": 44, "master": 41, "match": [17, 18, 19, 21, 23, 24, 37, 44], "materi": 25, "matic": 37, "matter": [26, 28, 37], "max": [17, 21, 23, 24, 28, 37, 44, 45], "max_fe": [17, 46], "max_fil": 24, "max_ga": 17, "max_priority_fe": [17, 46], "max_receipt_retri": 37, "maxim": [25, 35], "maximum": [17, 23, 28, 37], "maxsiz": 24, "me": [24, 26, 46], "me2": 26, "mean": [17, 19, 21, 25, 26, 28, 44, 45], "meant": [17, 21, 23, 32, 37, 41], "measur": 30, "median": [44, 45], "medium": 46, "member": 17, "memori": [21, 24], "mempool": [17, 30], "mention": [33, 37], "mere": [30, 33], "merg": 37, "messag": [10, 17, 18, 20, 23, 24, 29, 33, 36, 37, 44], "messagesignatur": [17, 23], "meta": [17, 21], "metadata": [17, 21], "metamask": [25, 26], "metamask0": 29, "metavar": 18, "meth": [17, 18], "method": [0, 7, 13, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 30, 31, 33, 37, 38, 39, 40, 42, 44, 45, 46], "method_abi": 24, "method_arg": 17, "method_cal": 17, "method_id": 30, "method_nam": [19, 44], "methodabi": [17, 20, 21, 24], "methodnonpayableerror": 20, "methodtocal": 46, "mid": [21, 44], "middl": 37, "might": [17, 29, 42], "millisecond": [14, 17, 21, 23, 24], "mimic": [10, 21], "min": [21, 44, 45], "mine": [14, 17, 21], "miner": [17, 46], "minifi": 27, "minim": 39, "minimum": [17, 21], "minor": 35, "mint": [44, 45], "minut": [17, 37, 46], "misc": 24, "miss": [17, 18, 21, 23, 24, 44], "miss_count": 23, "missingdeploymentbytecodeerror": 20, "mix": 7, "mixin": 24, "mnemon": [0, 21, 24, 25, 28, 44], "mock": [23, 27, 32, 44], "mockcontractlog": [19, 23], "mocktoken": 44, "mode": [17, 23, 44], "model": [17, 19, 21, 23, 24, 46], "model_copi": 24, "model_dump": [17, 23], "modelmodel_dump": [17, 23], "modifi": [13, 17, 18, 21, 23, 24, 29, 30, 37], "modul": [13, 23, 24, 29, 30, 36], "modular": 41, "moduletyp": 13, "monei": [30, 46], "moonbeam": 37, "more": [10, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46], "most": [17, 19, 21, 25, 26, 28, 36, 37, 41], "mostli": 17, "move": [21, 24], "moveloan": 45, "msg": [17, 18, 23, 30, 42], "msghash": 17, "much": [22, 27, 32, 44, 46], "multi": [17, 18, 24, 37], "multical": [9, 30], "multicall3": [13, 30], "multipl": [17, 18, 23, 24, 32, 41], "multipli": [17, 23, 28, 37], "must": [7, 13, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 31, 32, 33, 37, 40, 41, 44], "must_exist": 24, "mweiconvers": 22, "my": [25, 26, 29, 30, 31, 32, 33, 37, 38, 46], "my_access_list": 46, "my_account": [21, 26, 32], "my_bool": 28, "my_cmd": [33, 36], "my_command": 33, "my_contract": [19, 30, 39, 42, 44], "my_depend": 32, "my_enum": 17, "my_event_typ": 19, "my_funct": 24, "my_int": 28, "my_interfac": 27, "my_ledger_account": 33, "my_manag": 26, "my_method": [27, 30, 39, 44], "my_other_project": 38, "my_project_kei": 28, "my_provider_plugin": 33, "my_script": 33, "my_secret_rpc": 28, "my_sign": 13, "my_str": 28, "my_sub_cmd": 33, "my_trezor_account": 33, "my_valu": 28, "myaccount": 46, "myblockexplor": 22, "myclass": 24, "myconfig": 17, "mycontract": [19, 21, 27, 28, 30, 31, 38, 40, 42, 44, 46], "mycustomerror": 44, "mydepend": 32, "myecosystem": 17, "myenum": 17, "myerror": 44, "myevent": [17, 19], "myfunct": 25, "myinterfac": 27, "mymanag": 26, "mymethod": 13, "mymutablemethod": 46, "mynumb": 30, "myorg": 32, "mypluginconfig": 22, "myprovid": [22, 33], "myriad": 46, "mysecurep": 25, "mysmartcontract": 30, "mysourc": 26, "mystarknetcontract": 44, "mytoken": 21, "myviewmethod": 46, "n": 25, "name": [3, 5, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 43, 44, 46], "namedtupl": 23, "namespac": [17, 18, 19, 21, 22, 33, 43], "nativ": 17, "natspec": 19, "necessari": [7, 18, 21, 46], "necessarili": 46, "need": [14, 17, 18, 21, 23, 25, 26, 28, 29, 30, 32, 33, 37, 41, 43, 44, 46], "neg": [17, 21], "nest": 24, "network": [7, 9, 10, 14, 18, 19, 20, 29, 30, 31, 33, 35, 40, 41, 42, 45, 46], "network_choic": [17, 20, 21, 43], "network_data": 21, "network_filt": [4, 21], "network_id": 17, "network_manag": 43, "network_nam": [17, 21, 43], "network_opt": [18, 26, 43], "networkapi": [14, 17, 20, 21, 22], "networkchoic": 18, "networkerror": [17, 20, 21], "networkmanag": [10, 21, 29, 44], "networkmismatcherror": [17, 20], "networknotfounderror": [17, 20], "networkopt": 18, "networkplugin": 22, "never": [17, 19, 21, 23, 25, 30, 44], "new": [17, 19, 21, 23, 24, 26, 32, 35, 37, 41], "new_bal": 30, "new_block": 21, "new_block_timeout": [17, 19, 21], "new_log": [17, 19], "new_set": 17, "new_timestamp": 17, "newest": 5, "newhead": 17, "newli": [0, 25], "next": [5, 17, 21, 23, 37, 42], "next_stat": 23, "nft": 44, "nice": [17, 20, 21], "nm": 43, "node": [4, 9, 17, 19, 21, 23, 30, 35, 37, 44, 46], "node_modul": 32, "non": [17, 19, 20, 23, 24, 27, 29, 36, 37, 42], "non_existing_alias_argu": [18, 26], "nonc": [17, 19, 21], "none": [13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 33, 42, 44], "nonpay": [21, 30], "nonreentr": 44, "noop": 18, "noqa": [17, 21], "nor": 37, "noreturn": [17, 18], "normal": [18, 24, 35, 39], "not_own": [42, 44], "notat": 24, "note": [1, 13, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 33, 36, 37, 38, 41, 44, 46], "noth": [17, 20], "notic": [27, 30, 32, 37, 38, 43, 44], "notimplementederror": [17, 20, 21], "notimplementerror": 17, "now": [17, 25, 28, 33, 34, 35, 37, 41, 44], "null": 17, "num": 30, "num_block": [17, 21], "num_transact": 17, "number": [0, 17, 18, 19, 20, 21, 23, 24, 26, 28, 29, 31, 37, 44], "number_of_account": [24, 25, 28, 44], "numer": [23, 24, 28, 36, 37], "nx": 29, "o": [14, 25, 41], "obj": 24, "obj_typ": [18, 26], "object": [7, 13, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 30, 38, 43, 44, 45, 46], "obtain": [17, 30, 38, 44, 45], "occasion": 17, "occupi": 23, "occur": [17, 19, 20, 21, 24, 28, 36, 39, 42, 44], "off": 33, "offer": 45, "offici": 32, "often": [17, 19, 30, 32, 37], "okai": [29, 33], "omit": [26, 35, 37, 46], "onc": [13, 21, 30, 32, 33, 35, 37, 40, 44], "one": [13, 14, 17, 18, 19, 21, 22, 23, 25, 26, 28, 29, 32, 33, 34, 37, 41, 44, 46], "ones": [28, 33], "onli": [6, 7, 17, 18, 19, 21, 23, 24, 26, 28, 30, 31, 32, 37, 43, 44, 46], "opcod": 17, "open": [2, 32, 41, 44], "openzeppelin": [17, 28, 32, 39], "openzeppelin_openzeppelin": 32, "openzepplin": 17, "oper": [7, 17, 20, 30, 36], "opinion": [17, 21], "optim": [17, 34, 37, 44, 46], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 43, 44, 46], "order": [17, 21, 23, 25, 26, 30, 37], "org": [3, 17, 21, 32], "organ": [33, 35, 40, 41], "origin": [17, 23, 32, 41, 45], "oserror": 24, "ot": 17, "other": [10, 17, 18, 19, 21, 23, 24, 25, 26, 28, 29, 30, 32, 35, 37, 44, 46], "other_account": 46, "other_contract": [27, 44], "other_opt": 18, "other_project": 21, "othercontract": 44, "otherwis": [17, 19, 21, 22, 23, 28, 29, 32, 37, 46], "ots_": 19, "otterscan": 46, "otterscanqueryengin": 14, "our": [31, 33, 41, 43, 44], "out": [17, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 37, 38, 44, 45], "outgo": 21, "outofgaserror": 20, "outpuextra": 27, "output": [0, 17, 18, 19, 20, 23, 24, 29, 33, 36, 44, 45], "output_extra": 27, "output_format": 4, "output_format_choic": 18, "output_format_opt": 18, "output_typ": 17, "output_valu": 24, "outputformat": 18, "outputselect": 21, "outsid": [21, 28], "over": [17, 21, 23], "overal": 22, "overrid": [1, 4, 6, 14, 17, 18, 20, 21, 23, 24, 27, 37], "overridden": [14, 17, 20], "overridesf": 21, "overview": 9, "overwrit": [17, 21], "own": [21, 22, 28, 32, 36, 41, 44], "owner": [21, 27, 30, 31, 35, 42, 44], "oz": 39, "p": [24, 38], "packag": [6, 7, 17, 20, 21, 22, 24, 25, 27, 33, 38, 40, 41], "package_id": [17, 21, 32], "package_nam": [21, 24], "packagemanifest": [21, 22, 40], "packagemeta": [17, 21], "packagenam": 6, "packages_cach": 21, "packagescach": 21, "pai": [17, 42], "paid": [17, 31], "pair": [21, 24], "paragraph": 37, "parallel": [17, 24], "param": [17, 18, 26], "paramet": [13, 14, 17, 19, 20, 21, 22, 23, 24, 37, 44, 45], "paramtyp": 18, "parent": 24, "parent_hash": 17, "parenthash": 17, "pari": [27, 28, 32], "pariti": 45, "pars": [18, 21, 24, 26], "parse_arg": 18, "parse_network_choic": [17, 21, 37, 44], "parser": [18, 22], "part": [21, 23, 24, 26, 33, 37, 44, 46], "parti": [25, 35, 41], "partial": 17, "particular": [17, 21, 44], "particularli": 17, "pass": [2, 13, 14, 17, 18, 21, 23, 25, 26, 32, 33, 38, 44, 46], "passphras": 25, "password": 25, "past": [17, 21, 28], "path": [0, 1, 5, 10, 14, 17, 18, 19, 20, 21, 23, 24, 25, 27, 30, 32, 37, 38, 44], "path_id": 21, "path_match": 24, "path_typ": 18, "pathlib": [17, 18, 21, 24, 26, 27], "pathtyp": [14, 17], "pattern": [13, 17, 21, 24, 32, 37], "payabl": [20, 30, 42], "pc": [17, 21, 23], "pd": [19, 21], "pend": [17, 19, 21, 23, 37, 44], "pending_timestamp": [21, 44], "peopl": 26, "per": [17, 21, 37], "perform": [13, 14, 17, 19, 21, 23, 24, 25, 30, 44], "perform_queri": [14, 17, 21], "perhap": 30, "perman": [21, 24, 31], "permit": 17, "persist": [17, 21], "person": [17, 25], "phase": 44, "phrase": [0, 24, 25], "pick": 18, "piec": 44, "pip": [32, 38], "place": [17, 28, 32, 37, 38, 43, 44], "placehold": 37, "plan": 31, "platform": 41, "pleas": [30, 46], "plu": 46, "pluggi": 22, "pluggy_patch": 22, "plugin": [0, 14, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 37, 42, 43, 44], "plugin_manag": 22, "plugin_nam": 17, "plugin_typ": 22, "pluginconfig": [17, 22], "plugininstallerror": 20, "pluginmanag": 22, "plugintyp": 22, "pluginversionerror": 20, "pm": [9, 32], "point": [17, 21, 23, 24, 26, 32, 33, 39, 41, 43, 44], "poll": [8, 17, 19, 21, 37, 44], "poll_block": [17, 21], "poll_log": [17, 19], "polygon": [37, 43], "pool": 30, "poolcontract": 44, "popen": [14, 17], "port": 17, "posit": [23, 44], "posixpath": [14, 17], "possibl": [20, 21, 22, 24, 25], "possibli": 30, "postgresengin": 22, "potenti": [32, 33, 36, 37], "power": 46, "practic": 23, "pragma": [24, 42], "pragma_str": 24, "pragma_str_to_specifier_set": 24, "pre": [17, 19, 24, 25, 27, 29], "preced": [17, 28], "predict": 46, "prefer": 28, "prefix": [19, 20, 21, 26, 27, 28, 29, 30, 32, 35], "prefund": 25, "premis": 25, "prepar": 17, "prepare_transact": 17, "present": [17, 21, 23, 32], "preserv": 18, "press": 44, "pretti": 45, "prevent": 33, "previou": [17, 21], "previous": [17, 21, 30, 32, 33, 44], "prevnumb": 30, "price": [17, 21, 44], "primarili": 33, "primit": 17, "print": [17, 19, 20, 21, 25, 26, 30, 32, 34, 37, 42, 43, 45, 46], "print_choic": 18, "prior": [17, 21, 33], "priorit": 46, "prioriti": 46, "priority_fe": [17, 46], "privat": [0, 17, 25], "private_kei": [24, 25], "probabl": 24, "problem": 20, "process": [14, 17, 22, 30, 33], "process_nam": [14, 17], "process_wait_timeout": [14, 17], "produc": [13, 17, 23], "product": [37, 41], "profil": [17, 23, 44], "profile_stat": 23, "program": [2, 17, 21, 23, 29, 42], "programmat": 25, "progress": [23, 24], "progress_bar_descript": 24, "project": [1, 2, 3, 5, 7, 8, 9, 10, 18, 19, 20, 23, 24, 26, 27, 28, 29, 32, 35, 37, 40, 41, 42, 43, 46], "project_api": 21, "project_nam": 3, "project_path": 21, "projectapi": [17, 21, 22], "projecterror": [20, 21], "projectmanag": [10, 17, 19, 20, 21, 24, 29, 38, 44], "projectmanifest": 21, "projectplugin": 22, "prompt": [6, 18, 25, 26, 32], "prompt_messag": 18, "promptchoic": 18, "proper": 37, "properli": [17, 21, 33, 45], "properti": [14, 17, 19, 20, 21, 23, 24, 25, 26, 30, 33, 37, 44, 46], "provid": [4, 6, 10, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 42, 43, 45, 46], "provider_cl": 21, "provider_filt": [4, 17, 21], "provider_nam": [17, 21, 34, 37, 43], "provider_set": [14, 17, 21], "providerapi": [14, 17, 21, 22, 24, 33, 35, 46], "providercontextmanag": [17, 21, 37, 43], "providererror": 20, "providernotconnectederror": [20, 21, 24], "providernotfounderror": 20, "providerpai": 17, "providerplugin": [22, 33], "proxi": [9, 17, 21], "proxy_info": 21, "proxyinfo": 21, "proxyinfoapi": [17, 21], "public": [21, 30, 42, 44], "publish": [9, 17, 19, 21, 32, 44], "publish_contract": [17, 40], "pull": 41, "puppynet": 37, "pure": 30, "purpos": [14, 17, 21, 23, 25, 28, 31, 36, 46], "push0": 39, "put": [21, 25, 28, 32, 36], "pwd": 41, "py": [14, 20, 23, 24, 28, 29, 33, 38, 42, 43, 44], "pydant": [17, 23, 24, 28], "pydantic_cor": [17, 23], "pydanticserializationerror": [17, 23], "pydanticundefin": [17, 23], "pypi": 21, "pyproject": [17, 28], "pytest": [8, 10, 13, 25, 29], "pytest_arg": 8, "python": [17, 19, 21, 23, 27, 28, 29, 30, 32, 33, 37, 40, 41, 42, 43, 44, 45, 46], "python3": 41, "qualiti": 33, "quantiti": 44, "queri": [9, 14, 19, 20, 23, 29], "query_engin": 22, "queryapi": [17, 21, 22], "queryengineerror": [20, 21], "querymanag": [21, 29], "queryplugin": 22, "querytyp": [14, 17, 21], "queue": 24, "quick": 43, "quicker": 17, "quit": [14, 17, 19], "r": [23, 27, 44], "race": 33, "rais": [10, 13, 14, 17, 20, 21, 23, 24, 30, 37, 42, 44], "raise_for_statu": 17, "raise_on_revert": 42, "raises_not_impl": 24, "ran": [17, 20, 38, 44], "ran_out_of_ga": 17, "random": [0, 25], "rang": [17, 19, 21], "rare": 26, "rate": [23, 37], "rate_limit": 37, "rather": [17, 21, 24, 28, 32, 44], "raw": [17, 18, 21, 23, 25, 27, 32, 37], "raw_address": 17, "raw_data": 17, "rawaddress": [17, 23], "re": [6, 8, 17, 21, 29, 32, 44], "read": [17, 21, 26, 28, 30, 37, 38, 41], "readabl": [29, 44], "readi": [14, 17, 21, 23], "readm": 37, "real": [25, 46], "reason": [20, 37, 42, 44], "recal": 37, "receipt": [17, 19, 21, 30, 37, 42, 44, 45, 46], "receiptapi": [13, 14, 17, 19, 20, 21, 30, 31, 45], "receiv": [17, 21, 25, 30, 44], "receiveabi": 21, "recent": 21, "recogn": 17, "recommend": [17, 21, 25, 26, 32, 37, 41, 43], "recompil": [1, 32], "reconfigur": 21, "reconnect": 17, "record": [17, 21], "recov": 25, "recover_sign": [23, 25], "recover_using_eip191": 17, "recovered_sign": 25, "recoveri": [17, 25], "recurs": 24, "red": [17, 20, 36], "reduc": [25, 37], "reentri": 44, "ref": [6, 32], "refer": [6, 17, 19, 21, 23, 28, 30, 32, 33, 37, 38, 42], "referenc": [21, 32], "referring_source_id": 21, "reflect": 29, "refresh": 21, "refresh_sourc": 21, "regard": 17, "regardless": [17, 21, 29, 37, 46], "regex": [24, 27], "regist": [4, 17, 21, 22, 24, 43], "register_compil": 22, "registered_compil": 21, "registr": [22, 33], "registri": [30, 33], "regress": [17, 21], "regular": [24, 44], "reinstal": 21, "reject": 37, "rel": [17, 21, 24], "relat": [17, 20, 21, 22, 23], "relative_to": 24, "releas": [31, 32, 35, 41], "relev": [20, 23, 24], "reli": [17, 21, 44], "reload": 21, "reload_config": 21, "relock": 17, "relock_account": 17, "remaind": 37, "remap": 21, "rememb": [25, 30], "remot": 37, "remov": [6, 17, 21, 24, 32, 44], "reopen": 29, "reorg": [17, 19, 21], "reorgan": [17, 21], "repeat": 30, "repetit": 25, "replac": [17, 24, 37], "repo": 3, "report": [17, 23, 37], "repositori": 17, "repr": [17, 19, 21], "repres": [14, 17, 18, 21, 22, 23, 24, 37, 44, 46], "represent": [17, 23, 29], "request": [14, 17, 21, 22, 32, 36], "request_head": [14, 17, 21, 28, 37], "requir": [0, 5, 17, 18, 19, 20, 21, 22, 26, 28, 30, 32, 35, 37, 41, 42, 44, 46], "required_confirm": [17, 19, 21], "resembl": 21, "reset": [17, 21], "reset_": 44, "resolut": [17, 20], "resolv": [22, 24, 32, 39], "resourc": 18, "respect": [17, 19, 21, 28], "respons": [17, 21, 22, 24, 37], "rest": [25, 33], "restor": [14, 17, 21], "result": [1, 4, 10, 17, 18, 19, 21, 24, 28, 29, 30, 42], "retri": [32, 37], "retriev": [14, 17, 21, 24, 30, 39], "return": [13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 37, 39, 42, 44, 46], "return_data": 13, "return_none_when_disconnect": 24, "return_valu": [17, 30], "returns_arrai": 24, "reusabl": 18, "rev": 44, "revert": [9, 10, 17, 20, 21, 23, 24, 30, 37], "revert_messag": 20, "revert_to_block": 21, "revert_typ": 23, "review": 30, "rich": 18, "right": [18, 44], "rinkebi": 30, "risk": 41, "root": [17, 21, 23, 24, 25, 26, 28, 29, 30, 32, 35, 38, 44], "root_path": 21, "rootmodelroottyp": 23, "ropsten": 22, "round_trip": [17, 23], "rout": 31, "rpc": [14, 17, 28, 30, 45, 46], "rpcheader": [21, 24], "rpctimeouterror": 20, "run": [8, 9, 17, 21, 23, 24, 26, 28, 29, 30, 31, 32, 35, 36, 38, 41, 43, 44, 45, 46], "run_in_tempdir": 24, "run_until_complet": 24, "runtim": [17, 18, 21], "safe": 39, "sai": [25, 30, 32, 37], "same": [17, 19, 21, 23, 24, 25, 28, 30, 32, 33, 37, 38, 44, 46], "sampl": [38, 44], "sanit": 24, "save": [1, 17, 21, 25, 30, 32, 42, 43], "saw": 37, "scan": 37, "scenario": [17, 19, 44], "schema": [17, 23], "scope": [13, 44], "script": [0, 7, 9, 18, 21, 25, 26, 29, 36, 37, 38, 41, 42, 44, 46], "scriptabl": 25, "sdk": 37, "search": [17, 19, 24], "search_top": [17, 19, 23], "second": [8, 17, 19, 20, 21, 30, 37, 44, 46], "secret": [25, 28], "secret_rpc": 28, "section": [21, 24, 26, 28, 30, 32, 37, 41, 43, 44, 45], "secur": 25, "securepassphras": 25, "see": [4, 10, 14, 17, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "seed": [0, 24, 25], "segment": 23, "select": [1, 14, 18, 19, 21, 25, 26, 29, 43], "select_account": [18, 26], "selected_account": 26, "selector": [17, 19, 23, 30, 44], "selector_identifi": [19, 30], "selector_str": 30, "self": [17, 19, 21, 24, 26, 30, 33, 42, 44], "semi": 26, "send": [13, 14, 17, 20, 30, 37, 44, 46], "send_cal": 17, "send_everyth": 17, "send_private_transact": 17, "send_transact": [14, 17], "sender": [13, 17, 19, 21, 27, 30, 39, 40, 42, 44, 46], "sens": 37, "sent": [31, 37], "separ": [23, 25, 30, 33, 44], "sepolia": [4, 14, 26, 28, 37, 43, 46], "sequenc": [13, 17, 18, 21, 23, 24], "serial": [17, 23, 24], "serializ": [17, 23], "serialize_as_ani": [17, 23], "serialize_transact": 17, "serv": 28, "server": [27, 41], "session": [7, 13, 14, 17, 21, 29, 37, 41], "set": [14, 17, 18, 19, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 38, 44, 46], "set_ape_traceback": 20, "set_autosign": 25, "set_bal": 17, "set_cod": 17, "set_default_ecosystem": 21, "set_default_network": 17, "set_default_provid": 17, "set_level": 36, "set_numb": 30, "set_own": 44, "set_storag": 17, "set_timestamp": [14, 17], "setnumb": [42, 44], "setup": [33, 44], "sever": [22, 26, 37], "shall": 14, "share": [21, 23, 24, 37, 44], "shareabl": 17, "shell": 46, "shibachain": 22, "shibanetwork": 22, "shibarium": 37, "shibrpc": 37, "ship": [25, 26, 27, 29, 35, 37], "short": [21, 36, 37, 39, 44], "short_help": 33, "shorten": [17, 21], "shorter": 44, "should": [7, 14, 17, 20, 21, 23, 24, 25, 27, 32, 33, 44, 45], "shouldn": [23, 24, 28], "show": [1, 17, 20, 24, 25, 26, 29, 30, 35, 36, 37, 42, 44, 45], "show_debug_log": 17, "show_ev": 17, "show_gas_report": [17, 45], "show_source_traceback": 17, "show_trac": [17, 45], "showcas": 26, "shown": 36, "shownet": 43, "shutil": 14, "sig": [23, 45], "sign": [17, 20, 23], "sign_messag": [17, 25], "sign_raw_msghash": 17, "sign_transact": 17, "signabl": 23, "signablemessag": [17, 23], "signatur": [17, 19, 21, 30], "signatureerror": [17, 20], "signer": [17, 23, 25, 26, 30], "signer_opt": 17, "silverback": 37, "similar": [19, 26, 29, 33, 37, 42, 44], "similarli": [21, 25, 26, 27, 30, 33, 37, 44, 45], "simpl": [17, 18, 28, 30, 46], "simplest": 46, "simpli": [28, 30, 42], "simul": [30, 37], "sinc": [17, 23, 30], "singl": [21, 24, 26, 30, 32, 43], "singledispatchmethod": 24, "singleton": [21, 22], "site": [21, 24, 32, 33, 41], "situat": [18, 23], "size": [1, 17, 21], "skip": [18, 25, 32], "skip_confirmation_opt": 18, "slice": 21, "slightli": 23, "slim": 41, "slot": 17, "slow": 24, "small": 37, "smaller": 17, "smallest": 17, "smart": [17, 19, 20, 23, 30, 32, 38, 40, 41, 42, 44, 46], "smart_contract_exampl": 38, "snapshot": [14, 17, 20, 21, 23, 24], "snapshot_id": [14, 17, 20, 21], "snapshotid": [14, 17, 20, 21, 23, 24], "snekmat": [28, 32, 38], "so": [13, 17, 21, 23, 24, 25, 26, 30, 32, 33, 34, 35, 37, 39, 41, 44], "softwar": 44, "sol": [21, 24, 27, 28, 32, 38], "soladypush0": 39, "solcx": 41, "sole": 25, "solid": [17, 21, 22, 27, 28, 30, 33, 35, 42, 44], "some": [17, 23, 25, 28, 30, 32, 34, 35, 37, 44, 45, 46], "someth": [20, 21, 29, 37, 44], "sometim": [27, 32, 37, 42, 44], "somewher": [21, 32], "soon": [22, 32], "sophist": 28, "sourc": [17, 18, 20, 21, 23, 26, 28, 29, 30, 31, 32, 33, 35, 38, 39, 40, 41, 44], "source_coverag": 17, "source_fold": 23, "source_id": [17, 19, 21, 23], "source_path": [19, 23], "source_stat": 23, "source_traceback": [17, 20], "sourcecoverag": 17, "sourceloc": 23, "sourcemanag": 21, "sourcestat": 23, "sourcetraceback": [17, 20, 23], "space": 23, "spawn": 24, "spdx": [17, 42], "special": [17, 22, 25, 32], "specif": [6, 17, 20, 21, 26, 35, 37, 41, 44, 46], "specifi": [0, 14, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 35, 37, 43, 44, 46], "specifierset": 24, "sqlite": 31, "sqrt": 44, "src": [27, 28, 32, 45], "ssphrase": 25, "stack": [18, 20], "stacktrac": 42, "stage": 31, "stai": 41, "standard": [18, 31, 36, 39], "stark_account": 44, "stark_contract": 44, "starknet": [17, 21, 35, 37, 44], "start": [4, 14, 17, 19, 21, 23, 24, 26, 29, 33, 34, 37, 40, 41, 43, 44], "start_block": [17, 19, 21, 23, 31], "start_index": 24, "start_nonc": [17, 21], "start_or_stop": [19, 21], "start_provid": 37, "startauct": 46, "startswith": 26, "state": [17, 19, 21, 25, 30, 42], "statement": [20, 23, 32, 42, 44], "statemut": [21, 30], "static": [18, 37], "statu": 17, "stderr": 4, "stderr_queu": [14, 17], "stdout": [4, 17], "stdout_queu": [14, 17], "step": [17, 19, 21, 40, 45, 46], "stick": 43, "still": [32, 39, 44, 45, 46], "stmt": 44, "stop": [17, 19, 21, 26, 44], "stop_block": [17, 19, 21, 23, 31], "stop_imperson": 21, "stop_nonc": [17, 21], "storag": [17, 30], "store": [13, 17, 21, 25, 30, 31, 32, 38], "str": [14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 33, 37], "strai": 37, "stream": [4, 17, 24], "stream_request": 17, "stream_respons": 24, "strict": 37, "string": [2, 17, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 37, 42, 44], "stringdecimalconvert": 21, "stringifi": [17, 19, 30], "stringintconvert": 21, "struct": 24, "struct_log": 45, "structabi": 21, "structpars": 24, "structur": [23, 24, 25, 28, 38, 43], "stuff": [31, 36, 37], "style": [17, 24, 27], "sub": [17, 18, 21, 30, 32, 42], "subclass": [14, 17, 18, 21, 22, 24, 30, 42], "subcommand": 33, "subdirectori": 43, "subject": 21, "submit": [17, 30], "submodul": 43, "subprocess": [4, 14, 17, 20], "subprocesserror": 20, "subprocessprovid": [17, 20], "subprocesstimeouterror": 20, "subsequ": [25, 32], "subset": [18, 23], "substr": 24, "subsystem": 41, "success": [0, 1, 2, 3, 4, 5, 6, 8, 17, 29, 36, 41], "successfulli": [17, 30, 37, 40], "suffix": [24, 37], "suit": [8, 35, 44], "suitabl": [17, 32], "sum": 31, "super": [23, 45], "suppli": 44, "support": [13, 17, 21, 24, 27, 28, 31, 35, 37, 39, 41, 42, 45, 46], "supported_chain": 13, "supports_chain": 17, "supports_source_trac": 17, "supports_trac": 17, "suppos": 43, "sure": [21, 23, 25, 37, 44], "sustain": 44, "switch": [17, 37, 43, 44], "sy": [24, 32], "symbol": [17, 29, 37], "syntax": 44, "synthes": [17, 19, 21], "system": [17, 21, 24, 25, 30, 31, 32, 33, 37, 38], "t": [5, 17, 21, 23, 24, 28, 30, 32, 33, 37, 41, 44, 45, 46], "tabl": [31, 44, 45], "tag": [6, 23, 32], "take": [17, 18, 24, 26, 28, 30, 37, 43, 44], "taken": 17, "talk": 37, "tar": 24, "target": [17, 21, 22, 24, 39], "task": [17, 24, 44], "task_don": 24, "team": 33, "tear": [14, 17], "technic": 41, "tell": 37, "tempfil": 24, "templat": [3, 33], "temporari": [17, 21, 24, 37], "temporarili": [17, 34], "temporarydirectori": 24, "tend": 37, "termin": [0, 17, 18, 19, 20, 21, 38, 41, 44], "test": [4, 9, 13, 14, 17, 21, 23, 26, 27, 29, 30, 32, 33, 37, 38, 41, 42, 45], "test_": 44, "test_account": [21, 24, 25, 27, 44], "test_account_bal": 44, "test_add": 44, "test_author": 44, "test_error_on_deploi": 44, "test_in_futur": 44, "test_mint": 44, "test_multi_chain": 44, "test_my_contract": [21, 44], "test_my_contract_method": 25, "test_my_ethereum_test": 44, "test_my_fantom_test": 44, "test_my_method": 44, "test_my_multichain_test": 44, "test_sampl": 38, "test_starknet_th": 44, "test_unauthor": 44, "test_unauthorized_withdraw": 44, "testaccountapi": [14, 17, 25], "testaccountcontain": 21, "testaccountcontainerapi": 17, "testaccountmanag": [21, 44], "testcontract": 44, "tester": [37, 44], "testnet": [37, 43], "testproviderapi": [14, 17], "text": [18, 20, 25], "than": [17, 19, 21, 23, 24, 26, 28, 32, 37, 44, 46], "thei": [17, 21, 22, 24, 29, 30, 32, 33, 36, 37, 43], "them": [17, 21, 22, 23, 25, 27, 28, 29, 30, 32, 33, 37, 43, 44], "themselv": 46, "therefor": 43, "thi": [1, 6, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "thing": [19, 26, 33, 37, 43], "think": [23, 26], "third": [25, 35], "those": [6, 21, 23, 26, 30, 32, 33, 37, 42, 44], "though": 37, "thread": [17, 21, 24], "three": [32, 41, 44], "through": [13, 17, 19, 24, 26, 31, 33, 40], "throughout": 36, "throw": [17, 21, 24], "thu": [23, 26, 30, 37, 43, 44], "ti": 33, "time": [1, 13, 14, 17, 19, 21, 23, 25, 26, 28, 30, 32, 44, 45, 46], "timedelta": 21, "timeout": [14, 17, 20, 24], "timestamp": [17, 21, 23, 24, 29, 44], "timestampconvert": 21, "timezon": 21, "tip": 17, "tmp": 21, "to_int": 24, "to_python": [17, 23], "to_typ": [10, 21], "todo": 24, "togeth": [25, 33], "token": [17, 32, 35, 37, 44, 45, 46], "tokenlist": 33, "tokenswapp": 21, "toml": [17, 28], "too": 21, "took": [45, 46], "tool": [6, 28, 30, 32, 41, 45, 46], "top": [17, 21, 30, 33, 37, 44, 45], "topic": [17, 19, 23, 30], "topic_filt": 23, "total": [17, 19, 21, 23], "total_fees_paid": [17, 31], "total_funct": 23, "total_transfer_valu": 17, "touch": 17, "trace": [9, 14, 17, 20, 21, 30, 42, 44], "trace_sourc": [17, 21], "trace_transact": 45, "traceabl": 21, "traceapi": [17, 20], "traceapproach": 14, "traceback": [17, 23], "tracestyl": 24, "track": [17, 21, 23, 30, 44], "track_coverag": 17, "track_ga": 17, "transact": [9, 13, 14, 19, 20, 21, 23, 24, 25, 28, 42, 45], "transaction_acceptance_timeout": [17, 37, 46], "transaction_hash": [17, 20, 21, 23], "transaction_index": 23, "transactionapi": [13, 14, 17, 19, 20, 21], "transactionerror": [17, 20, 30], "transactionhistori": 21, "transactionnotfounderror": 20, "transactionsignatur": [17, 23], "transactionstatusenum": 17, "transfer": [17, 30, 42], "translat": [17, 21], "treat": [21, 30, 38], "tree": [4, 17, 18, 23, 24, 45], "trezor": [25, 33], "trezor_0": 33, "tri": 17, "trigger": [1, 13, 44], "triplet": 37, "true": [13, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 30, 32, 37, 40, 42, 44, 45], "trust": [24, 35, 37], "try": [20, 21, 24, 32, 33, 42, 43, 44], "try_snapshot": 24, "tsconfig": 27, "tupl": [14, 17, 19, 21, 22, 23, 24], "tutori": [41, 46], "twice": 25, "two": [17, 21, 25, 28, 33, 37, 44, 46], "tx": [17, 30, 31, 45, 46], "tx_error": 24, "txn": [13, 14, 17, 20, 31, 37], "txn_cost": 46, "txn_hash": [17, 19, 21, 45], "txn_kwarg": 13, "txn_receipt": 21, "type": [9, 10, 13, 14, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 33, 38, 39, 40, 44, 46], "type_": 21, "typeerror": [21, 24], "typic": [17, 21, 23, 25, 27, 33, 37, 42, 44], "u": 5, "uint256": [25, 30, 44, 46], "unabl": [14, 17, 20, 21, 27], "unauth_address": [42, 44], "unauthor": [42, 44], "unblock": 24, "uncommon": 37, "under": [17, 21, 24, 25, 27, 32, 43], "underscor": [29, 43], "understand": [17, 41, 44], "undo": 44, "unfinish": 24, "unfund": 25, "uninstal": 21, "union": [17, 18, 19, 20, 21, 24], "uniqu": [17, 21, 23, 30, 37, 46], "uniswap": 32, "unit": 17, "unit256": 30, "unix": [23, 24], "unknown": [17, 20, 21, 37], "unknownsnapshoterror": [20, 21], "unknownversionerror": 20, "unless": [14, 17, 18, 19, 21, 36, 37], "unlik": 24, "unlock": [0, 17, 25], "unlock_account": 17, "unnam": 24, "unnecessari": 17, "unpack": [17, 21], "unprocessedabi": 21, "unspecifi": 17, "unsupportedchain": 13, "unsupportedchainerror": 13, "unsur": 37, "until": [23, 24, 37], "unwil": 27, "unwind": 42, "up": [14, 17, 21, 23, 24, 26, 28, 29, 34, 37, 41, 44, 46], "updat": [17, 24, 35, 44], "update_cach": 17, "update_manifest": 21, "update_set": 17, "upgrad": [5, 35, 39, 41], "upon": [21, 30, 32, 40], "upstream": [17, 34], "upstream_chain_id": 17, "upstream_network": 17, "upstream_provid": 17, "upstreamprovid": 17, "urandom": 25, "uri": [14, 17, 21, 28, 37], "uri_map": 21, "url": [17, 21, 28], "us": [0, 6, 8, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "usag": [10, 13, 17, 18, 19, 21, 22, 23, 24, 25, 28, 29, 32, 33, 44, 45], "usdc": 30, "use_arrow": 23, "use_cach": 21, "use_default_provid": [17, 37], "use_depend": 27, "use_multical": 13, "use_network": 44, "use_provid": [17, 21, 34, 37, 43, 44], "use_send": 25, "use_temp_sys_path": 24, "use_upstream_provid": 17, "user": [3, 14, 17, 18, 20, 21, 22, 23, 24, 26, 28, 30, 32, 36, 37, 41, 42, 44], "userguid": 46, "usethisonallrequeststoethereummainnet": 37, "usethisonallrequestsusingnodeprovid": 37, "usethisoneveryethereumrequest": 37, "usethisoneveryrequest": 37, "utc": 21, "util": [9, 10, 17, 18, 21, 25, 26, 29, 33, 43, 46], "uup": 39, "v": [0, 1, 2, 3, 4, 5, 6, 8, 18, 21, 23, 29, 32, 36], "v1": 32, "v2": 30, "v3": 32, "val": [1, 6], "valid": [17, 22, 23, 24, 25, 28, 37], "validate_fil": 17, "validate_s": 17, "valu": [10, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 30, 31, 32, 35, 36, 37, 44, 46], "valueerror": [20, 21, 23], "variabl": [24, 25, 28, 29, 42, 44], "variou": [17, 21, 35, 39, 46], "venv": 41, "verbos": [0, 1, 2, 3, 4, 5, 6, 8, 17, 18, 23, 29, 36, 44], "verbosity_opt": 18, "veri": [17, 24, 37], "verif": [17, 19], "verifi": [17, 41], "verify_chain_id": 17, "vers_set": 21, "versa": [26, 30], "version": [6, 14, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 37, 41, 44], "version_id": 17, "versu": [17, 23, 28], "via": [13, 17, 18, 19, 20, 21, 22, 24, 25, 28, 30, 32, 33, 37, 41, 43, 44], "vice": 30, "view": [18, 19, 30, 45], "view_cost": 46, "view_method": 44, "virtual": [17, 20, 41], "virtualenv": 41, "virtualmachineerror": [17, 20], "visa": 26, "visit": 46, "vitalik": [17, 21, 44], "volum": 41, "vr": 23, "vvm": 41, "vy": [26, 27, 28, 38, 42, 44], "vyper": [17, 21, 22, 23, 27, 30, 32, 35, 39, 42, 44, 46], "vypercontract": 42, "w": [8, 14, 17, 37], "wa": [17, 20, 21, 23, 24, 27, 30, 37, 41, 46], "wai": [18, 21, 25, 28, 29, 30, 32, 35, 37, 38, 39, 41, 42, 44, 46], "wait": [14, 17, 19, 21, 37], "walk": 40, "wallet": 24, "want": [13, 18, 25, 27, 28, 30, 31, 32, 33, 34, 36, 37, 40, 41, 44, 45, 46], "warn": [0, 1, 2, 3, 4, 5, 6, 8, 17, 23, 24, 29, 32, 36, 41], "watch": [8, 44], "watch_delai": 8, "watch_fold": 8, "wdamount": 30, "we": [13, 17, 21, 23, 24, 25, 26, 30, 31, 32, 33, 35, 37, 41, 43, 44, 45, 46], "web": 27, "web3": [14, 28, 29, 33, 41], "websocket": 37, "wei": [17, 30], "well": [18, 21, 22, 23, 24, 30, 33, 35, 37, 46], "went": 17, "were": [17, 21, 23, 28, 30, 32, 37, 44], "what": [17, 21, 22, 25, 26, 29, 32, 33, 37, 43, 44], "whatev": [17, 26, 28, 37], "when": [0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39, 42, 43, 44, 45, 46], "whenev": [14, 20, 24], "where": [13, 14, 17, 18, 19, 21, 23, 24, 25, 26, 31, 32, 34, 37, 39, 42, 44, 46], "wherea": 37, "whether": [13, 14, 17, 18, 19, 21, 23, 24, 25, 30, 32, 37], "which": [14, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 30, 31, 33, 37, 40, 41, 44, 46], "while": [17, 20, 21, 32, 44], "whilst": 20, "white": 23, "whitespac": 23, "whole": 28, "why": [26, 30, 37, 46], "window": 41, "wish": [17, 21, 25, 34, 36, 37, 38, 40, 42], "withdraw": [30, 42, 44], "within": [14, 17, 20, 24, 31, 33, 35, 43, 44], "without": [17, 24, 25, 29, 30, 35, 37, 41, 42, 43, 44, 45, 46], "won": [23, 37, 44], "word": [0, 24, 25], "word_count": 0, "wordcount": 25, "work": [17, 19, 21, 22, 24, 28, 30, 31, 32, 33, 35, 37, 38, 43, 44], "workflow": 43, "world": 43, "would": [17, 21, 25, 26, 28, 31, 32, 37, 41, 43, 44, 46], "wrap": [21, 24], "wrapper": [17, 19, 20, 21, 27], "write": [17, 25, 43, 44], "write_to_disk": 17, "written": 21, "wrong": [17, 20], "ws_begin_lineno": 23, "ws_start": 23, "ws_uri": [17, 37], "wsl": 41, "wss": [17, 37], "www": 37, "x": [21, 29, 44], "xml": [23, 44], "y": [5, 6, 21, 32], "yaml": [3, 4, 17, 18, 21, 22, 24, 25, 27, 28, 29, 32, 35, 37, 38, 44, 46], "ychad": 30, "ye": [5, 6, 18, 32], "yellow": 36, "yet": [18, 26, 33, 35, 43, 44], "yield": [17, 19, 21, 22, 33, 44], "yml": [17, 28], "you": [0, 1, 6, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "your": [14, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46], "yourself": 43, "z": 13, "zeppelin": 32, "zero": [23, 24, 44], "zero_address": 45, "zeroag": 39, "zip": 24, "zkevm": 37}, "titles": ["accounts", "compile", "console", "init", "networks", "plugins", "pm", "run", "test", "<no title>", "ape", "ape-accounts", "ape-compile", "ape-ethereum", "ape-node", "ape-pm", "ape-test", "ape.api", "ape.cli", "ape.contracts", "ape.exceptions", "ape.managers", "ape.plugins", "ape.types", "ape.utils", "Accounts", "CLIs", "Compile", "Configure Ape", "Console", "Contracts", "Querying Data", "Dependencies", "Developing Plugins", "Forking Networks", "Plugins", "Logging", "Networks", "Developing Projects with Ape", "Proxy Contracts", "Publishing", "Overview", "Reverts", "Scripting", "Testing", "Traces", "Transactions"], "titleterms": {"712": 25, "By": 37, "The": [27, 38], "abi": [24, 30], "accept": 46, "access": 46, "account": [0, 11, 17, 21, 22, 25, 26, 31, 44], "address": [17, 23, 30], "advanc": 44, "ani": 30, "ap": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 38, 44, 46], "ape_cli_context": 33, "api": [17, 33], "argument": 18, "autom": 25, "bal": 29, "base": [22, 28], "basemodel": 24, "basic": 23, "block": [31, 37], "built": 42, "cach": 31, "call": [30, 45], "caveat": 44, "chain": [21, 44], "chang": [0, 5], "choic": 18, "class": 33, "cli": [9, 18, 26, 32, 33, 36, 37, 43], "code": [27, 29], "command": [18, 29, 44], "compil": [1, 6, 12, 17, 21, 22, 27, 32, 40], "config": [17, 21, 22, 32, 37], "configur": [28, 29, 34, 37], "connect": 37, "consider": 41, "consol": [2, 29, 46], "context": [26, 34, 37], "contract": [19, 26, 28, 30, 31, 32, 39, 44], "convert": [17, 21, 22], "core": [9, 35], "cost": 46, "coverag": [23, 44], "creat": 25, "custom": [32, 37, 42, 44], "data": 31, "decod": 30, "decor": 26, "default": [25, 28, 30, 34], "delet": 0, "depend": [27, 28, 32, 38], "deploi": 30, "deploy": [28, 30, 40, 46], "dev": 42, "dev_messag": 44, "develop": [33, 38], "direct": 30, "docker": 41, "document": 41, "dynam": 46, "ecosystem": 28, "eip": 25, "encod": 30, "error": [42, 44], "estim": 46, "ethereum": 13, "event": [23, 31], "evmchain": 37, "except": 20, "exclud": 27, "exclus": 32, "execut": 29, "exist": 25, "expected_messag": 44, "explor": [17, 37, 40], "export": [0, 25], "extra": [27, 29], "fallback": 30, "fee": 46, "file": [26, 27, 32], "fixtur": 44, "folder": [28, 32], "fork": [34, 37], "from": [30, 33, 46], "function": [29, 44], "ga": [23, 44, 45, 46], "gener": [0, 25], "get": 31, "github": 32, "global": 29, "guid": 9, "hardwar": 25, "header": [28, 37], "implement": 33, "import": [0, 25, 32, 33], "init": [3, 29], "initi": 33, "inlin": 44, "input": 30, "instal": [5, 6, 32, 35, 38, 41], "interact": [30, 37], "interfac": 30, "introspect": 30, "iter": 44, "json": 27, "keyfil": 25, "l2": 37, "languag": 44, "list": [0, 4, 5, 6, 32, 46], "live": [25, 37], "local": [32, 37, 38], "log": [33, 36, 46], "logger": 33, "magic": 29, "main": 43, "manag": [21, 32, 37], "manifest": 38, "messag": [25, 42], "metadata": 46, "method": 43, "mine": 44, "misc": 32, "miscellan": 24, "modul": 33, "more": 37, "multi": [30, 43, 44], "multical": 13, "namespac": 29, "network": [4, 17, 21, 22, 25, 26, 28, 34, 37, 43, 44], "new": 25, "node": [14, 28], "non": [28, 44], "npm": 32, "o": 24, "option": 18, "other": [27, 38], "output": 27, "outsid": 25, "overrid": 32, "overview": 41, "packag": 32, "paramet": 18, "password": 0, "path": [26, 28], "pattern": 44, "payabl": 46, "pip": 41, "pipx": 41, "plugin": [5, 9, 22, 27, 28, 33, 34, 35, 41], "pm": [6, 15], "prerequisit": 41, "previou": 30, "privat": 30, "process": [24, 37], "project": [17, 21, 22, 30, 33, 38, 44], "provid": [17, 37, 44], "proxi": 39, "publish": [30, 40], "pypi": 32, "pytest": 44, "python": [9, 36, 38], "queri": [17, 21, 22, 31], "quickstart": 41, "reentrant": 44, "refer": 9, "regist": 33, "remap": 32, "report": [44, 45], "request": [28, 37], "revert": [42, 44], "rpc": [24, 37], "run": [4, 7, 37], "script": [30, 43], "select": 37, "sender": 25, "set": [27, 28], "sign": 25, "signatur": [23, 25], "solid": 32, "sourc": 27, "static": 46, "structur": 44, "support": [25, 44], "system": 41, "test": [8, 16, 24, 25, 28, 44], "time": 37, "timeout": 46, "tip": 44, "tool": 26, "trace": [23, 24, 45, 46], "track": 40, "transact": [17, 30, 31, 37, 44, 46], "transfer": 46, "type": [18, 23, 32, 35, 37], "uninstal": [5, 6, 32], "unit": 23, "updat": 5, "url": 37, "us": [25, 31, 33], "user": 9, "util": 24, "verifi": 25, "version": [5, 35], "vm": 23, "wallet": 25}}) \ No newline at end of file diff --git a/v0.8.20/userguides/accounts.html b/v0.8.20/userguides/accounts.html new file mode 100644 index 0000000000..41f3f43b4c --- /dev/null +++ b/v0.8.20/userguides/accounts.html @@ -0,0 +1,557 @@ + + + + + Accounts - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Accounts

+

Accounts in Ape come from AccountAPI implementations (e.g. from plugins). +There are typically two types of accounts:

+
    +
  1. Test accounts

  2. +
  3. Live network accounts

  4. +
+

Test accounts are useful for local network testing and debugging contracts. +Live network accounts are for interacting with live blockchains and should be secured.

+

To learn more about Ethereum accounts, see the Ethereum documentation.

+
+

Test Accounts

+

Ape ships with pytest fixtures to assist in writing your tests.

+
+

Use test accounts in tests

+

Pre-funded test accounts are accessible via the accounts fixture.

+
def test_my_contract_method(accounts):
+    sender = accounts[0]
+    ...
+
+
+
+
+

Use test accounts outside of tests

+

To access the same prefunded accounts in your scripts or console, use the root accounts object and the test_accounts property:

+
>>> from ape import accounts
+
+>>> sender = accounts.test_accounts[0]
+
+
+

You can configure your test accounts using your ape-config.yaml file:

+
test:
+  mnemonic: test test test test test test test test test test test junk
+  number_of_accounts: 5
+
+
+
+

Warning

+

NEVER put a seed phrase with real funds here.

+
+

The accounts generated from this seed are solely for testing and debugging purposes.

+
+
+

Creating new test accounts

+

You can create a new test account by doing the following:

+
>>> from ape import accounts
+
+>>> account = accounts.test_accounts.generate_test_account()
+
+
+
+

Note

+

Creating a new test account means it will be unfunded by default.

+
+

Learn more about test accounts from the testing guide.

+

If your testing provider supports this feature, it is possible to directly set the balances of any address by performing the following action:

+
account.balance += int(1e18)  # Gives `account` 1 Ether
+
+
+
+
+

Default Sender Support

+

In order to eliminate the usage of sender in contract calls, you can use use_sender context manager.

+
with accounts.use_sender(0): # Use first account from test mnemonic
+  contract.myFunction(1)
+
+with accounts.use_sender("<address>"): # Impersonate an account
+  contract.myFunction(1)
+
+with accounts.use_sender(a): # a is a `TestAccountAPI` object
+  contract.myFunction(1)
+
+
+
+
+
+

Live Network Accounts

+

When using live networks, you need to get your accounts into Ape. +To get your accounts in Ape, you must use an accounts plugin. +Ape ships with a keyfile-based account plugin, but you can use any account plugin such as ape-ledger, ape-trezor, or a third-party plugin.

+
+

Keyfile Accounts

+

Ape ships with a keyfile-based account plugin that lets you import and generate accounts. +The premise of the plugin is that accounts are stored locally on your computer in the $HOME/.ape/accounts directory following the keyfile structure. +Under-the-hood, this structure comes from the eth-keyfile library via the eth-account package. +When Ape creates the keyfile, either from import or account-generation (described below!), it prompts you for a passphrase to use for encrypting the keyfile, similarly to how you would use a password in browser-based wallets. +The keyfile stores the private key in an encrypted-at-rest state, which maximizes security of the locally-stored key material.

+

The ape-accounts core plugin lets you use keyfile-based account to sign messages and transactions. +When signing a message or transaction using an account from ape-accounts, you will be prompted to enter the passphrase you specified when importing or generating that account.

+

All the available CLI commands for this account’s plugin can be found here.

+
+

Generating New Accounts

+

You can generate an account:

+
ape accounts generate <ALIAS>
+
+
+

Ape will prompt you for entropy which is used to increase randomness when creating your account. +Ape will then prompt you whether you want to show your mnemonic. +If you do not want to see your mnemonic you can select n. +Alternatively, you can use the --hide-mnemonic option to skip the prompt.

+
ape accounts generate <ALIAS> --hide-mnemonic
+
+
+

If you elected to show your mnemonic Ape will then show you your newly generated mnemonic. +Ape will then prompt you for a passphrase which you will need to enter twice to confirm. +This passphrase is used to encrypt your account on disk, for extra security. +You will be prompted for it each time you load your account, so make sure to remember it. +After entering the passphrase Ape will then show you your new account address, HDPath, and account alias. +If you want to use a custom HDPath, use the --hd-path option:

+
ape accounts generate <ALIAS> --hd-path <HDPATH>
+
+
+

If you do not use the --hd-path option, Ape will use the default HDPath of (Ethereum network, first account). +If you want to use a custom mnemonic phrase word length, use the --word-count option:

+
ape accounts generate <ALIAS> --word-count <WORDCOUNT>
+
+
+

If you do not use the --word-count option, Ape will use the default word count of 12. +You can use all of these together or separately to control the way Ape creates and displays your account information.

+

This same functionality is also scriptable with the same inputs as the generate command:

+
from ape_accounts import generate_account
+
+account, mnemonic = generate_account("my-account", "mySecureP@ssphrase")
+
+print(f'Save your mnemonic: {mnemonic}')
+print(f'Your new account address is: {account.address}')
+
+
+

See the documentation for generate_account() for more options.

+
+
+

Importing Existing Accounts

+

If you already have an account and wish to import it into Ape (say, from Metamask), you can use the import command:

+
ape accounts import <ALIAS>
+
+
+

It will prompt you for the private key. +If you need help exporting your private key from Metamask, see this guide. +You can also import accounts from mnemonic seed by using the --use-mnemonic flag:

+
ape accounts import <ALIAS> --use-mnemonic
+
+
+

It will then prompt you for the mnemonic seed. +If you need help finding your mnemonic seed (Secret Recovery Phrase) in Metamask, see this guide. +In addition, you can also use a custom HDPath by using the --hd-path option:

+
ape accounts import <ALIAS> --use-mnemonic --hd-path <HDPATH>
+
+
+

If you use the --hd-path option, you will need to pass the HDPath you’d like to use as an argument in the command. +If you do not use the --hd-path option, Ape will use the default HDPath of (Ethereum network, first account).

+

You can import an account programmatically using a seed phrase using import_account_from_mnemonic():

+
from ape_accounts import import_account_from_mnemonic
+
+alias = "my-account"
+passphrase = "my$ecurePassphrase"
+mnemonic = "test test test test test test test test test test test junk"
+
+account = import_account_from_mnemonic(alias, passphrase, mnemonic)
+
+print(f'Your imported account address is: {account.address}')
+
+
+

Or using a raw private key using import_account_from_private_key():

+
import os
+from ape_accounts import import_account_from_private_key
+
+alias = "my-account"
+passphrase = "my SecurePassphrase"
+private_key = os.urandom(32).hex()
+
+account = import_account_from_private_key(alias, passphrase, private_key)
+
+print(f'Your imported account address is: {account.address}')
+
+
+
+
+

Exporting Accounts

+

You can also export the private key of an account:

+
ape accounts export <ALIAS>
+
+
+

Ape will ask you for the password to the account and then give you the private key of that account. +You can then use that private key with import. +You can alternatively load the private key into Metamask wallet. +Then, in your scripts, you can load an account:

+
from ape import accounts
+
+account = accounts.load("<ALIAS>")
+
+
+
+
+
+

Default Sender Support

+

In order to reduce repetition of adding sender in your contract calls, you can use use_sender context manager.

+
with accounts.use_sender(0):
+  contract.myFunction(1)
+
+with accounts.use_sender("<address>"):
+  contract.myFunction(1)
+
+with accounts.use_sender("<alias>"):
+  contract.myFunction(1)
+
+with accounts.use_sender(a): # a is a `AccountAPI` object
+  contract.myFunction(1)
+
+
+
+
+
+

Signing Messages

+

You can sign messages with your accounts in Ape. +To do this, use the sign_message API.

+
from ape import accounts
+from eth_account.messages import encode_defunct
+
+account = accounts.load("<ALIAS>")
+message = encode_defunct(text="Hello Apes!")
+signature = account.sign_message(message)
+
+
+
+

Note

+

Ape’s sign_message API intentionally accepts Any as the message argument type.

+
+

Account plugins decide what data-types to support. +Most Ethereum account plugins, such as ape-account, are able to sign messages like the example above. +However, you can also provide other types, such as a str directly:

+
from ape import accounts
+
+account = accounts.load("<ALIAS>")
+signature = account.sign_message("Hello Apes!")
+
+
+
+

EIP-712

+

Some account plugins are able to sign EIP-712 structured message types by utilizing the eip712 package. +Here is an example with custom EIP-712 classes:

+
from ape import accounts
+from eip712.messages import EIP712Message, EIP712Type
+
+class Person(EIP712Type):
+    name: "string"
+    wallet: "address"
+
+class Mail(EIP712Message):
+    _chainId_: "uint256" = 1
+    _name_: "string" = "Ether Mail"
+    _verifyingContract_: "address" = "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"
+    _version_: "string" = "1"
+
+    sender: Person
+    receiver: Person
+
+alice = Person(name="Alice", wallet="0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826")
+bob = Person("Bob", "0xB0B0b0b0b0b0B000000000000000000000000000")
+message = Mail(sender=alice, receiver=bob)
+
+account = accounts.load("<ALIAS>")
+account.sign_message(message)
+
+
+
+
+

Verifying Signature

+

Verify the signatures on your signed messages by using the recover_signer function or the check_signature function:

+
from ape import accounts
+from ape.types.signatures import recover_signer
+from eth_account.messages import encode_defunct
+
+account = accounts.load("<ALIAS>")
+message = encode_defunct(text="Hello Apes!")
+signature = account.sign_message(message)
+
+# Validate the signature by recovering the signer and asserting it is equal to the sender.
+recovered_signer = recover_signer(message, signature)
+assert recovered_signer == account.address
+
+# NOTE: You can also use the `check_signature` method on an account, which returns a bool.
+assert account.check_signature(message, signature)
+
+
+
+
+
+

Automation

+

If you use your keyfile accounts in automation, such as CI/CD, you may need to programmatically unlock them and enable auto-sign. +To do this, use a special environment variable for the account’s passphrase:

+
export APE_ACCOUNTS_<alias>_PASSPHRASE="a"
+
+
+

Where <alias> is the name of the account you want to use. +Now, you can use your account to make any transactions without subsequently providing your passphrase.

+
from ape import accounts
+from eth_account.messages import encode_defunct
+
+account = accounts.load("<ALIAS>")
+account.set_autosign(True)
+
+# Now, you will not be prompted to sign messages or transactions
+message = encode_defunct(text="Hello Apes!")
+signature = account.sign_message(message)
+
+
+
+

Note

+

Alternatively, you may use the passphrase= kwarg on methods account.set_autosign() and account.unlock(), but we highly recommend using the environment variable approach to avoid accidentally leaking your passphrase.

+
+
+
+

Hardware Wallets

+

Because of the plugin system in Ape, we are able to support other types of accounts including hardware wallet accounts. +Check out these plugins:

+ +

To install one of these plugins, do the following:

+
ape plugins install ledger
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/clis.html b/v0.8.20/userguides/clis.html new file mode 100644 index 0000000000..b8302cc5d6 --- /dev/null +++ b/v0.8.20/userguides/clis.html @@ -0,0 +1,437 @@ + + + + + CLIs - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

CLIs

+

Ape uses the click framework for handling all CLI functionality. +There are CLIs found in a couple areas in the Ape framework:

+
    +
  1. Plugins

  2. +
  3. Scripts

  4. +
+

Both plugins and scripts utilize click for their CLIs.

+

For plugins, CLIs are an option for extending the framework. +You can read more about plugin development and CLIs in the developing plugins guide.

+

Scripts utilize CLIs as an option for users to develop their scripts. +You can read more about scripting and CLIs in the scripting guide.

+

This guide is for showcasing utilities that ship with Ape to assist in your CLI development endeavors.

+
+

Ape Context Decorator

+

The @ape_cli_context gives you access to all the root Ape objects (accounts, networks etc.), the ape logger, and an abort method for stopping execution of your CLI gracefully. +Here is an example using all of those features from the cli_ctx:

+
import click
+from ape.cli import ape_cli_context
+
+
+@click.command()
+@ape_cli_context()
+def cmd(cli_ctx):
+    cli_ctx.logger.info("Test")
+    account = cli_ctx.account_manager.load("metamask")
+    cli_ctx.abort(f"Bad account: {account.address}")
+
+
+

In Ape, it is easy to extend the CLI context object and use the extended version in your CLIs:

+
from ape.cli import ApeCliContextObject, ape_cli_context
+import click
+
+class MyManager:
+   """My custom manager."""
+
+class CustomContext(ApeCliContextObject):
+   my_manager: MyManager = MyManager()
+   """Add new managers to your custom context"""
+   
+   @property
+   def signer(self):
+      """Utilize existing managers in your custom context."""
+      return self.account_manager.load("my_account")
+
+@click.command()
+@ape_cli_context(obj_type=CustomContext)
+def cli(cli_ctx):
+    # Access your manager.
+    print(cli_ctx.my_manager)
+    # Access other Ape managers.
+    print(cli_ctx.account_manager)
+
+
+
+
+

Network Tools

+

The @network_option() allows you to select an ecosystem, network, and provider. +To specify the network option, use values like:

+
--network ethereum
+--network ethereum:sepolia
+--network ethereum:mainnet:alchemy
+--network ::foundry
+
+
+

To use default values automatically, omit sections of the choice, but leave the semi-colons for parsing. +For example, ::test means to use the default ecosystem and network and the test provider.

+

Use ecosystem, network, and provider argument names in your command implementation to access their corresponding class instances:

+
import click
+from ape.cli import network_option
+
+@click.command()
+@network_option()
+def cmd(provider):
+   # This command only needs the provider.
+   click.echo(provider.name)
+
+@click.command()
+@network_option()
+def cmd_2(ecosystem, network, provider):
+   # This command uses all parts of the parsed network choice.
+   click.echo(ecosystem.name)
+   click.echo(network.name)
+   click.echo(provider.name)
+
+
+

The ConnectedProviderCommand automatically uses the --network option and connects to the network before any of your code executes and then disconnects afterward. +This is useful if your script or command requires a provider connection in order for it to run. +Additionally, specify ecosystem, network, or provider in your command function if you need any of those instances in your ConnectedProviderCommand, just like when using network_option.

+
import click
+from ape.cli import ConnectedProviderCommand
+
+@click.group()
+def cli():
+    pass
+
+ @cli.command(cls=ConnectedProviderCommand)
+def cmd_1(network, provider):
+   click.echo(network.name)
+   click.echo(provider.is_connected)  # True
+
+ @cli.command(cls=ConnectedProviderCommand)
+def cmd_2(provider):
+   click.echo(provider.is_connected)  # True
+
+ @cli.command(cls=ConnectedProviderCommand)
+def cmd_3():
+   click.echo("Using params from ConnectedProviderCommand is optional")
+
+
+
+
+

Account Tools

+

Use the @account_option() for adding an option to your CLIs to select an account. +This option does several things:

+
    +
  1. If you only have a single account in Ape (from both test accounts and other accounts), it will use that account as the default. +(this case is rare, as most people have more than one test account by default).

  2. +
  3. If you have more than one account, it will prompt you to select the account to use.

  4. +
  5. You can pass in an account alias or index to the option flag to have it use that account.

  6. +
  7. It allows you to specify test accounts by using a choice of TEST::{index_of_test_account}.

  8. +
+

Thus, if you use this option, no matter what, your script will have an account to use by the time the script starts. +Here is an example:

+
import click
+from ape.cli import account_option
+
+
+@click.command()
+@account_option()
+def cmd(account):
+    # Will prompt the user to select an account if needed.
+    click.echo(account.alias)
+
+
+

And when invoking the command from the CLI, it would look like the following: +(where <prefix> is either ape run for scripts or ape <custom-plugin-cmd> for plugins)

+
<prefix> cmd  # Use the default account.
+<prefix> cmd --account 0  # Use first account that would show up in `select_account()`.
+<prefix> cmd --account metamask  # Use account with alias "metamask".
+<prefix> cmd --account TEST::0  # Use the test account at index 0.
+
+
+

Alternatively, you can call the select_account() directly to have more control of when the account gets selected:

+
import click
+from ape.cli import select_account
+
+
+@click.command()
+def cmd():
+   account = select_account("Select an account to use")
+   click.echo(f"You selected {account.address}.")
+
+
+

Similarly, there are a couple custom arguments for aliases alone that are useful when making CLIs for account creation. +If you use @existing_alias_argument() and specify an alias does not already exist, it will error. +And visa-versa when using @non_existing_alias_argument().

+
import click
+from ape.cli import existing_alias_argument, non_existing_alias_argument
+
+
+@click.command()
+@existing_alias_argument()
+def delete_account(alias):
+    # We know the alias is an existing account at this point.
+    click.echo(alias)
+
+
+@click.command()
+@non_existing_alias_argument()
+def create_account(alias):
+    # We know the alias is not yet used in Ape at this point.
+    click.echo(alias)
+
+
+

You can control additional filtering of the accounts by using the account_type kwarg. +Use account_type to filter the choices by specific types of AccountAPI, or you can give it a list of already known accounts, or you can provide a callable-filter that takes an account and returns a boolean.

+
import click
+from ape import accounts
+from ape.cli import existing_alias_argument, select_account
+from ape_accounts.accounts import KeyfileAccount
+
+# NOTE: This is just an example and not anything specific or recommended.
+APPLICATION_PREFIX = "<FOO_BAR>"
+
+@click.command()
+@existing_alias_argument(account_type=KeyfileAccount)
+def cli_0(alias):
+   pass
+
+@click.command()
+@existing_alias_argument(account_type=lambda a: a.alias.startswith(APPLICATION_PREFIX))
+def cli_1(alias):
+   pass
+
+# Select from the given accounts directly.
+my_accounts = [accounts.load("me"), accounts.load("me2")]
+selected_account = select_account(account_type=my_accounts)
+
+
+
+
+

Contract File Paths

+

Does your CLI interact with contract source files? +(Think ape compile).

+

If so, use the @contract_file_paths_argument() decorator in your CLI.

+
from pathlib import Path
+import click
+
+from ape.cli import contract_file_paths_argument
+
+@click.command()
+@contract_file_paths_argument()
+def cli(file_paths: set[Path]):
+   # Loop through all source files given (or all source files in the project).
+    for path in file_paths:
+        click.echo(f"Source found: {path}")
+
+
+

When using the @contract_file_paths_argument() decorator, you can pass any number of source files as arguments. +When not passing any source file(s), @contract_file_paths_argument() defaults to all sources in the local project. +That is why ape compile compiles the full project and ape compile MySource.vy only compiles MySource.vy (and whatever else it needs / imports). +Use @contract_file_paths_argument() for any similar use-case involving contract source files.

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/compile.html b/v0.8.20/userguides/compile.html new file mode 100644 index 0000000000..a8ddfc27ab --- /dev/null +++ b/v0.8.20/userguides/compile.html @@ -0,0 +1,359 @@ + + + + + Compile - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Compile

+

Compile your project using the following command:

+
ape compile
+
+
+

Configure the location Ape looks for contracts by editing the contracts_folder key in your project’s ape-config.yaml file:

+
contracts_folder: src  # Default is 'contracts/'
+
+
+
+

The JSON Compiler

+

Ape ships with a compiler that is able to compile .json files. +This compiler is useful for the following:

+
    +
  1. Interfaces: If you know the address of an existing contract, you can include its ABI in your project and create a contract wrapper around it:

  2. +
+
from ape import project
+
+# Comes from a file named `MyInterface.json` in the contracts/ folder.
+my_interface = project.MyInterface
+address = "0x1234556b5Ed9202110D7Ecd637A4581db8b9879F"
+
+# Instantiate a deployed contract using the local interface.
+contract = my_interface.at(address)
+
+# Call a method named `my_method` found in the local contract ABI.
+contract.my_method()
+
+
+
    +
  1. Pre-existing Contract Types: If you have a contract type JSON that was compiled elsewhere, you can include it in your project. +This is useful if you are unable or unwilling to install a compiler.

  2. +
  3. Raw Compiler Output: If you have an artifact with binary compiled elsewhere, you can include it in your project. +This is useful if you want to use contracts from much larger projects as dependency for your test cases.

  4. +
+
+

Warning

+

You may have to adjust name and source ID similarly to raw contract-type output.

+
+
+
+

Other Compiler Plugins

+

If your project includes Solidity (.sol) or Vyper (.vy) files, you will have to install additional compilers. +To include additional compilers in your project, you can add the plugins to the plugins list in your ape-config.yaml or install them using the CLI. +For information on how to configure plugins in your project, follow this guide.

+
+
+

Exclude Files

+

You can configure files to be excluded from compilation. +By default, Ape excludes known non-contract files such as package.json, package-lock.json, tsconfig.json, or .DS_Store. +To append file-globs to the exclusions list, edit your compile:exclude config like this:

+
compile:
+  exclude:
+    - "examples"  # Exclude all files in the examples/ directory
+    - "*Mock.sol"  # Exclude all files ending in Mock.sol
+    - r"(?!.*_mock\.vy$)"  # You can also use regex instead of globs (prefix with `r`).
+
+
+

You can also exclude files using the --config-override CLI option:

+
ape compile --config-override '{"compile": {"exclude": ["*Mock.sol"]}}'
+
+
+
+
+

Dependencies

+

In Ape, compiler plugins typically let you have dependencies. +See this guide to learn more about configuring dependencies in Ape.

+

To always compile dependencies in Ape during the ape compile command, use the CLI flag --include-dependencies:

+
ape compile --include-dependencies
+
+
+

Alternatively, configure it to always happen:

+
compile:
+  use_dependencies: true
+
+
+
+
+

Settings

+

Generally, configure compiler plugins using your ape-config.yaml file.

+

For example, when using the vyper plugin, you can configure settings under the vyper key:

+
vyper:
+  version: 0.3.10
+
+
+

When using the CLI, you can also specify settings using the --config-override. +This is not limited to compiler settings; you can include other settings, such as "contracts_folder", which affects compiling.

+
ape compile --config-override '{"contracts_folder": "other_contracts", "vyper": {"evm_version": "paris"}, "solidity": {"evm_version": "paris"}}'
+
+
+

Finally, you can also configure settings in Python code:

+
from pathlib import Path
+from ape import compilers
+
+settings = {"vyper": {"version": "0.3.7"}, "solidity": {"version": "0.8.0"}}
+compilers.compile(
+   ["path/to/contract.vy", "path/to/contract.sol"], settings=settings
+)
+
+# Or, more explicitly:
+vyper = compilers.get_compiler("vyper", settings=settings["vyper"])
+vyper.compile([Path("path/to/contract.vy")])
+
+solidity = compilers.get_compiler("solidity", settings=settings["solidity"])
+vyper.compile([Path("path/to/contract.sol")])
+
+
+
+
+

Compile Source Code

+

Instead of compiling project source files, you can compile code (str) directly:

+
from ape import accounts, compilers
+
+CODE = """
+   ... source code here
+"""
+
+container = compilers.compile_source(
+   "vyper",
+   CODE,
+   settings={"vyper": {"version": "0.3.7"}}, 
+   contractName="MyContract",
+)
+
+owner = accounts.test_accounts[0]
+
+instance = container.deploy(sender=owner)
+
+
+
+
+

Output Extra

+

Sometimes, there are extra output styles you may want. +For example, to output minified ABI JSONs, use the following config:

+
compile:
+  output_extra:
+     - ABI
+
+
+

Then, after compiling, you should notice minified ABI json files in your .build/abi folder. +This is useful if hosting these files on a web-server.

+

To see the full list of supported output-extra, see the OutpuExtra enum documentation.

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/config.html b/v0.8.20/userguides/config.html new file mode 100644 index 0000000000..fce7a0fbd9 --- /dev/null +++ b/v0.8.20/userguides/config.html @@ -0,0 +1,520 @@ + + + + + Configure Ape - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Configure Ape

+

You can configure Ape using a pyproject.toml file and the prefix tool.ape or any configuration file named ape-config.[yaml|yml|json]. +There are two locations you can place config files.

+
    +
  1. In the root of your project

  2. +
  3. In your $HOME/.ape directory (global)

  4. +
+

Project settings take precedent, but global settings allow you to configure preferences across all projects, such as your default mainnet provider (e.g. Alchemy versus running your own node).

+

This guide serves as an index of some settings you can include in any ape-config.yaml file. +This guide is PURPOSELY alphabetized to facilitate easier look-up of keys. +Plugins for Ape may define their own configs.

+

Most of the features in this guide are documented more-fully elsewhere in the user-guides.

+

However, here is a list of common-use cases requiring the ape-config.yaml file to help you:

+
    +
  1. Setting up a custom node RPC: See the node section.

  2. +
  3. Setting up project dependencies: See the dependencies section.

  4. +
  5. Declaring your project’s plugins: See the plugins section.

  6. +
+

Environment Variables: ape-config.yaml files support environment-variable expansion. +Simply include environment variables (with the $ prefix) in your config file and Ape will automatically expand them.

+
[tool.ape.plugin]
+secret_rpc = "$MY_SECRET_RPC"
+
+
+

Or the equivalent YAML:

+
plugin:
+  secret_rpc: $MY_SECRET_RPC
+
+
+

This helps keep your secrets out of Ape!

+
+

Base Path

+

Change the base path if it is different than your project root. +For example, imagine a project structure like:

+
project
+└── src/
+    └── contracts/
+        └── MyContract.sol
+
+
+

In this case, you want to configure Ape like:

+
[tool.ape]
+base_path = "src"
+
+
+

Or the equivalent YAML:

+
base_path: src
+
+
+

This way, MyContract.vy’s source ID will be "contracts/Factory.vy" and not "src/contracts/Factory.vy". +Some dependencies, such as python-based ones like snekmate, use this structure.

+
+
+

Contracts Folder

+

Specify a different path to your contracts/ directory. +This is useful when using a different naming convention, such as src/ rather than contracts/.

+
[tool.ape]
+contracts_folder = "src"
+
+
+

Or the equivalent YAML:

+
contracts_folder: src
+
+
+

You can also use an absolute path. +This is useful for projects that compile contracts outside their directory.

+
contracts_folder: "~/GlobalContracts"
+
+
+
+
+

Default Ecosystem

+

You can change the default ecosystem by including the following:

+
[tool.ape]
+default_ecosystem = "fantom"
+
+
+

Or the equivalent YAML:

+
default_ecosystem: fantom
+
+
+

The default ecosystem is ethereum.

+
+
+

Dependencies

+

Configure dependencies for your ape project. +To learn more about dependencies, see this guide.

+

A simple example of configuring dependencies looks like this:

+
[[tool.ape.dependencies]]
+name = "openzeppelin"
+github = "OpenZeppelin/openzeppelin-contracts"
+version = "4.4.2"
+
+
+

Or the equivalent YAML:

+
dependencies:
+  - name: openzeppelin
+    github: OpenZeppelin/openzeppelin-contracts
+    version: 4.4.2
+
+
+
+
+

Deployments

+

Set deployments that were made outside of Ape in your ape-config.yaml to create past-deployment-based contract instances in Ape: +(See this example for more information on this feature).

+

Config example:

+
[[tool.ape.deployments.ethereum.mainnet]]
+contract_type = "MyContract"
+address = "0x5FbDB2315678afecb367f032d93F642f64180aa3"
+
+[[tool.ape.deployments.ethereum.sepolia]]
+contract_type = "MyContract"
+address = "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"
+
+
+

Or the equivalent YAML:

+
deployments:
+  ethereum:
+    mainnet:
+      - contract_type: MyContract
+        address: 0x5FbDB2315678afecb367f032d93F642f64180aa3
+    sepolia:
+      - contract_type: MyContract
+        address: 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
+
+
+

When connected to Ethereum mainnet, reference the deployment by doing:

+
from ape import project
+
+contract = project.MyContract.deployments[0]
+
+
+
+

Note

+

Ape does not add or edit deployments in your ape-config.yaml file.

+
+
+
+

Node

+

When using the node provider, you can customize its settings. +For example, to change the URI for an Ethereum network, do:

+
[tool.ape.node.ethereum.mainnet]
+uri = "http://localhost:5030"
+
+
+

Or the equivalent YAML:

+
node:
+  ethereum:
+    mainnet:
+      uri: http://localhost:5030
+
+
+

Now, the ape-node core plugin will use the URL http://localhost:5030 to connect and make requests.

+
+

Warning

+

Instead of using ape-node to connect to an Infura or Alchemy node, use the ape-infura or ape-alchemy provider plugins instead, which have their own way of managing API keys via environment variables.

+
+

For more information on networking as a whole, see this guide.

+
+
+

Networks

+

Set default network and network providers:

+
[tool.ape.ethereum]
+default_network = "mainnet-fork"
+
+[tool.ape.ethereum.mainnet_fork]
+default_provider = "hardhat"
+
+
+

Or the equivalent YAML:

+
ethereum:
+  default_network: mainnet-fork
+  mainnet_fork:
+    default_provider: hardhat
+
+
+

Set the gas limit for a given network:

+
ethereum:
+  default_network: mainnet-fork
+  mainnet_fork:
+    gas_limit: max
+
+
+

You may use one of:

+
    +
  • "auto" - gas limit is estimated for each transaction

  • +
  • "max" - the maximum block gas limit is used

  • +
  • A number or numeric string, base 10 or 16 (e.g. 1234, "1234", 0x1234, "0x1234")

  • +
  • An object with key "auto" for specifying an estimate-multiplier for transaction insurance

  • +
+

To use the auto-multiplier, make your config like this:

+
ethereum:
+  mainnet:
+    gas_limit:
+      auto:
+        multiplier: 1.2  # Multiply 1.2 times the result of eth_estimateGas
+
+
+

For the local network configuration, the default is "max". Otherwise, it is "auto".

+
+
+

Plugins

+

Set which ape plugins you want to always use.

+
+

Note

+

The ape- prefix is not needed and shouldn’t be included here.

+
+
[[tool.ape.plugins]]
+name = "solidity"
+version = "0.1.0b2"
+
+[[tool.ape.plugins]]
+name = "ens"
+
+
+

Or the equivalent YAML:

+
plugins:
+  - name: solidity # ape-solidity plugin
+    version: 0.1.0b2
+  - name: ens
+
+
+

Install these plugins by running command:

+
ape plugins install .
+
+
+
+
+

Request Headers

+

For Ape’s HTTP usage, such as requests made via web3.py, optionally specify extra request headers.

+
request_headers:
+  # NOTE: Only using Content-Type as an example; can be any header key/value.
+  Content-Type: application/json
+
+
+

You can also specify request headers at the ecosystem, network, and provider levels:

+
# NOTE: All the headers are the same only for demo purposes.
+# You can use headers you want for any of these config locations.
+ethereum:
+  # Apply to all requests made to ethereum networks.
+  request_headers:
+    Content-Type: application/json
+  
+  mainnet:
+    # Apply to all requests made to ethereum:mainnet (using any provider)
+    request_headers:
+      Content-Type: application/json
+  
+node:
+  # Apply to any request using the `node` provider.
+  request_headers:
+    Content-Type: application/json
+
+
+

To learn more about how request headers work in Ape, see this section of the Networking guide.

+
+
+

Testing

+

Configure your test accounts:

+
test:
+  mnemonic: test test test test test test test test test test test junk
+  number_of_accounts: 5
+
+
+
+
+

Plugin Settings

+

To configure a plugin, use the name of the plugin followed by any of the plugin’s settings. +For example, to configure the ape-solidity plugin, you would do:

+
solidity:
+  evm_version: paris  # Or any other setting defined in `ape-solidity`.
+
+
+
+
+

Non-plugin settings

+

Projects can use their own settings. +Meaning, you can put whatever data you want in an ape-config.yaml file and read it in Ape.

+
+

Note

+

These types of settings lack sophisticated Pydantic validation and are limited in that respect. +Simple validation, however, will occur, such as if it the value isnumeric(), it will be converted to an int, or if the value is a boolean name it will convert it to a bool.

+
+
my_project_key:
+  my_string: "my_value"
+  my_int: 123
+  my_bool: True
+
+
+

Then, to access it (or any setting for that matter):

+
from ape import project
+
+my_str = project.config.my_project_key.my_string  #  "my_value"
+my_int = project.config.my_project_key.my_int  #  123
+my_bool = project.config.my_project_key.my_bool  #  True
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/console.html b/v0.8.20/userguides/console.html new file mode 100644 index 0000000000..183b114789 --- /dev/null +++ b/v0.8.20/userguides/console.html @@ -0,0 +1,402 @@ + + + + + Console - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Console

+

Ape provides an IPython interactive console with useful pre-defined locals to interact with your project.

+
ape console --network ethereum:mainnet
+
+In [1]: chain.blocks.head.timestamp
+Out[1]: 1647323479
+
+
+
+

Warning

+

Contract changes are not reflected in the active console session. +If you need to make changes to your contract, you must re-start your console session for the compiler to handle the changes.

+
+
+

Ape Namespace

+

Your console comes with pre-initialized root ape objects in your namespace.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Class

accounts

AccountManager

networks

NetworkManager

chain

ChainManager

project

ProjectManager

query

QueryManager

convert

convert

ape

ape

+
+

You can access them as if they are already initialized:

+

First, launch the console:

+
ape console
+
+
+

Then, type the name of the item and you will see its Python representation:

+
In [1]: networks
+Out[1]: <NetworkManager active_provider=<test chain_id=61>>
+
+
+
+

Note

+

To change the network of the active console, use the --network option.

+
+

Follow this guide for more information on networks in Ape.

+
+
+

Namespace Extras

+

You can also create scripts to be included in the console namespace by adding a file (ape_console_extras.py) to your root project directory. All non-internal symbols from this file will be included in the console namespace. Internal symbols are prefixed by an underscore (_).

+

An example file might look something like this:

+
from ape import networks
+from eth_utils import encode_hex, decode_hex
+
+def latest(key):
+    return getattr(networks.active_provider.get_block("latest"), key)
+
+
+

Then both imported util functions and latest() will be available when you launch the console.

+
In [1]: latest('number')
+Out[1]: 14388241
+
+In [2]: encode_hex(latest('hash'))
+Out[2]: '0x68f768988e9bd4be971d527f72483f321975fa52aff9692b6d0e0af71fb77aaf'
+
+
+
+

Init Function

+

If you include a function named ape_init_extras, it will be executed with the symbols from the existing namespace being provided as keyword arguments. This allows you to alter the scripts namespace using locals already included in the Ape namespace. If you return a dict, these values will be added to the console namespace. For example, you could set up an initialized Web3.py object by using one from an existing Ape Provider.

+
def ape_init_extras(chain):
+    return {"web3": chain.provider.web3}
+
+
+

Then web3 will be available to use immediately.

+
In [1]: web3.eth.chain_id
+Out[1]: 1
+
+
+
+
+

Global Extras

+

You can also add an ape_console_extras.py file to the global ape data directory ($HOME/.ape/ape_console_extras.py) and it will execute regardless of what project context you are in. This may be useful for variables and utility functions you use across all of your projects.

+
+
+
+

Configure

+

To automatically use other IPython extensions, add them to your ape-config.yaml file:

+
console:
+  plugins:
+    # A plugin that lets you modify Python modules without having close/reopen your console.
+    - autoreload
+
+
+
+
+

Magic Commands

+

The ape-console plugin ships with custom magics that are available when running the ape console command or loading the ape_console.plugin IPython extension manually. +When starting an embedded console (from -I in ape run or ape test), you will have to load the extension manually. +To do this, run the following from any IPython environment:

+
In [1]: %load_ext ape_console.plugin
+
+
+

Or add the ape_console.plugin extension to your IPython config.

+

Otherwise, when launching ape console, the magics are automatically available.

+
+

%ape

+

The %ape magic invokes the CLI in your ape-console session:

+
In [1]: %ape
+Usage: cli [OPTIONS] COMMAND [ARGS]...
+
+Options:
+  -v, --verbosity LVL  One of ERROR, WARNING, SUCCESS, INFO, or DEBUG
+  --version            Show the version and exit.
+  --config             Show configuration options (using `ape-config.yaml`)
+  -h, --help           Show this message and exit.
+
+Commands:
+  accounts  Manage local accounts
+  cache     Query from caching database
+  compile   Compile select contract source files
+  console   Load the console
+  init      Initialize an ape project
+  networks  Manage networks
+  plugins   Manage ape plugins
+  run       Run scripts from the `scripts/` folder
+  test      Launches pytest and runs the tests for a project
+
+Out[1]: <Result okay>
+
+
+

Run any CLI command this way without exiting your session.

+
+
+

%bal

+

The %bal magic outputs a human-readable balance on an account, contract, address, or account alias.

+
In [1]: account = accounts.load("metamask0")
+
+In [2]: %bal account
+Out[2]: '0.00040634 ETH'
+
+In [3]: %bal metamask0
+Out[3]: '0.00040634 ETH'
+
+In [4]: %bal 0xE3747e6341E0d3430e6Ea9e2346cdDCc2F8a4b5b
+Out[4]: '0.00040634 ETH'
+
+
+
+
+
+

Executing Code

+

You can also use the ape console to execute programs directly from strings. +This is similar to the python -c|--code option except it will display the output cell. +Anything available in ape console is also available in ape console --code.

+
ape console -c 'project.name'
+Out[1]: 'my-project'
+ape console -c 'x = 3\nx + 1'
+Out[1]: 4
+ape console -c 'networks.active_provider.name'
+Out[1]: 'test'
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/contracts.html b/v0.8.20/userguides/contracts.html new file mode 100644 index 0000000000..a1726d8f14 --- /dev/null +++ b/v0.8.20/userguides/contracts.html @@ -0,0 +1,622 @@ + + + + + Contracts - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Contracts

+

You can interact with contracts pythonically using ape! +First, we need to obtain a contract instance. +One way to do this is to deploy a contract. +The other way is to initialize an already-deployed contract using its address.

+
+

From Deploy

+

Deploy contracts from your project using the project root-level object. +You deploy contracts using Python functions such as AccountAPI.deploy or ContractContainer.deploy.

+
+

Note

+

You can run Ape’s deploy functions anywhere you run Python!

+
+

You need both an account and a contract in order to deploy a contract, as the deployment process requires a transaction to submit the contract data to the blockchain. +To learn about accounts and how to use them, see the Accounts Guide. +You also need the contract. +You can access contract types from Ape’s root-level project object (e.g. project.MyContract) and their types are ContractContainer.

+

Let’s assume you have a Vyper contract like this:

+
contract MySmartContract:
+    owner: public(address)
+    balance: public(uint256)
+
+    @public
+    @payable
+    @public
+    def __init__(arg1: uint256, arg2: address):
+        self.owner = arg2
+        self.balance = arg1
+
+
+

Before you can deploy this contract, you must ensure it was compiled. +To learn about compiling in Ape, please see this guide.

+

After it is compiled, you can deploy it. +Here is a basic example of Python code to deploy a contract:

+
from ape import accounts, project
+
+# You need an account to deploy, as it requires a transaction.
+account = accounts.load("<ALIAS>")  # NOTE: <ALIAS> refers to your account alias!
+contract = project.MyContract.deploy(1, account, sender=account)
+
+# NOTE: You can also do it this way:
+contract2 = account.deploy(project.MyContract, 1, account)
+
+
+

The arguments to the constructor (1, account) can be in Python form. +Ape will automatically convert values in your transactions, thus allowing you to provide higher-level objects or abstractions as input types. +That is why, as you can see, the second argument is an AccountAPI object for the type address in the contract.

+

Notice in the example, we use project.MyContract to access the contract type. +To avoid naming collisions with other properties on the project object, you can alternatively use the get_contract() method to retrieve contract containers.

+
from ape import project
+
+contract = project.get_contract("MyContract")  # Same as `project.MyContract`.
+
+
+

Notice when deploying, we have to specify the sender= kwarg because deploy operations are transactions. +To learn more about contract interaction via transactions, see the Contract Interaction section below and the guide on transactions.

+
+

Deploy Scripts

+

Often time, the deployment process may be unique or complex. +Or possibly, you need to run the deploy-logic from CI or in a repeatable fashion. +Or perhaps, you just want to avoid having to invoking Python directly. +In those cases, you can use Ape’s scripting system to save time and store your deployment logic. +Simply copy your Python logic into an Ape script and run it via:

+
ape run <my-deploy-script>
+
+
+

Learn how to do this and scripting in its entirety by reviewing the scripting user-guide.

+

There is no root ape command to deploy contracts; only the scripting-system, the console, or merely using Ape as a Python library.

+

If your deployment process is simple or only needs to happen once, it is easy to use ape console to achieve a deployment. +More information on how to use ape console can be found here.

+
+
+

Publishing

+

You can also publish the contract source code to an explorer upon deployment using the publish= kwarg on the deploy methods. +More information on publishing contracts can be found in this guide.

+
+
+
+

From Project Contract Address

+

You can also use the at() method from the same top-level project manager when you know the address of an already-deployed contract:

+
from ape import project
+
+contract = project.MyContract.at("0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45")
+
+
+
+
+

From Any Address

+

If you already know the address of a contract, you can create instances of it using the Contract top-level factory:

+
from ape import Contract
+
+contract = Contract("0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45")
+
+
+

It will fetch the contract-type using the explorer plugin from the active network, such as ape-etherscan.

+

If you have the ENS plugin installed, you can use .eth domain names as the argument:

+
from ape import Contract
+
+contract = Contract("v2.registry.ychad.eth")
+
+
+
+
+

From ABIs

+

You can load contracts using their ABIs:

+
from ape import Contract
+
+address = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
+
+# Using a JSON str:
+contract = Contract(
+    address, abi='[{"name":"foo","type":"fallback", "stateMutability":"nonpayable"}]'
+)
+
+# Using a JSON file path:
+contract = Contract(address, abi="abi.json")
+
+# Using a Python dictionary from JSON:
+contract = Contract(
+    address,
+    abi=[{"name":"foo","type":"fallback", "stateMutability":"nonpayable"}]
+)
+
+
+

This will create the Contract instance from the given ABI.

+
+
+

From Previous Deployment

+

Ape keeps track of your deployments for you so you can always refer back to a version that you deployed previously. +On live networks, this history of deployments is saved; on local networks, this history lasts for the duration of your script.

+

Let’s say you previously deployed a smart contract called MyContract on the rinkeby test network. +You could then refer back to it like so:

+
from ape import project, chain
+
+def main():
+  my_contract = chain.contracts.get_deployments(project.MyContract)[-1]
+
+
+

or

+
from ape import project
+
+def main():
+  my_contract = project.MyContract.deployments[-1]
+
+
+

my_contract will be of type ContractInstance. +get_deployments returns a list of deployments you made of that contract type.

+
+
+

Contract Interaction

+

Then, after you have a contract instance, you can call methods on the contract. +For example, let’s say you have a Vyper contract containing some functions:

+
wdAmount: public(uint256)
+
+@pure
+@external
+def get_static_list() -> DynArray[uint256, 3]:
+    return [1, 2, 3]
+
+@external
+def set_number(num: uint256):
+    assert msg.sender == self.owner, "!authorized"
+    self.prevNumber = self.myNumber
+    self.myNumber = num
+
+@external
+@payable
+def withdraw():
+    self.wdAmount = msg.value
+
+
+

Notice the contract has an external pure method, an external method that modifies state, and an external payable method that also modifies state using the given msg.value. +In EVM languages, methods that modify state require a transaction to execute because they cost money. +Modifying the storage of a contract requires gas and thus requires a sender with enough funding. +Methods that accept value are payable (e.g. msg.value in Vyper); provide additional value (e.g. Ether) to these methods. +Contract calls, on the other hand, are read-operations and do not cost anything. +Calls are never payable. +Thus, calls do not require specifying a sender= in Ape.

+

At the RPC level, Ethereum calls are performed using the eth_call RPC and transactions are performed using the eth_sendTransaction or eth_sendRawTransaction RPCs.

+

The following sub-sections show how, using Ape, we can invoke or call the methods defined above.

+
+

Transactions

+

The following example demonstrates invoking a contract’s method in Ape as a transaction. +Remember: transactions cost money, whether they are payable or not. +Payable transactions cost more money, because the contract-logic requires additional value (e.g. Ether) to be forwarded with the call.

+

Before continuing, take note that there is a separate guide which fully covers transactions in Ape at a more granular level. +For this guide, assume we are using the default transaction type in Ape for Ethereum-based networks.

+
from ape import accounts, Contract
+
+account = accounts.load("<ALIAS>")
+contract = Contract("0x...")  # Assume is deployed version of code above
+
+# Transaction: Invoke the `set_number()` function, which costs Ether
+receipt = contract.set_number(sender=account)
+assert not receipt.failed
+
+# The receipt contains data such as `gas_used`.
+print(receipt.gas_used)
+
+
+

To provider additional value to a payable method, use the value= kwarg:

+
receipt = contract.withdraw(sender=account, value=123)
+print(receipt.gas_used)
+
+# NOTE: You can also use "smart" values such as `"0.1 ether"` or `"100 gwei"`:
+_ = contract.withdraw(sender=account, value="0.1 ether")
+_ = contract.withdraw(sender=account, value="100 gwei")
+_ = contract.withdraw(sender=account, value="1 wei")
+
+
+

Notice that transacting returns a ReceiptAPI object which contains all the receipt data, such as gas_used.

+
+

Note

+

If you need the return_value from a transaction, you have to either treat transaction as a call (see the section below!) or use a provider with tracing-features enabled (such as ape-foundry or ape-node) and access the return_value property on the receipt.

+
+
assert receipt.return_value == 123
+
+
+

Transactions may also fail, known as a “revert”. +When a transaction reverts, Ape (by default) raises a subclass of TransactionError, which is a Python exception. +To learn more reverts, see the reverts guide.

+

For more general information on transactions in the Ape framework, see this guide.

+
+
+

Calls

+

In the Vyper code at the beginning of this section, the function get_static_list() is decorated as @pure indicating that it’s read-only. +(Also in Vyper, @view methods are read-only). +Since get_static_list() is read-only, we can successfully call it without a sender= kwarg; no funds are required. +Here is an example of making a call by checking the result of get_static_list():

+
from ape import accounts, Contract
+
+account = accounts.load("<ALIAS>")
+contract = Contract("0x...")
+
+# CALL: A sender is not required for calls!
+assert contract.get_static_list() == [1, 2, 3]
+
+
+
+
+

Calling Transactions and Transacting Calls

+

You can treat transactions as calls and vice-versa.

+

For example, let’s say we have a Solidity function:

+
function addBalance(uint256 new_bal) external returns(uint256) {
+    balances[msg.sender] = new_bal;
+    return balances[msg.sender];
+}
+
+
+

To simulate the transaction without actually modifying any state, use the .call method from the contract transaction handler:

+
from ape import Contract
+
+contract = Contract("0x...")
+
+result = contract.addBalance.call(123)
+assert result == "123"  # The return value gets forwarded from the contract.
+
+
+

Similarly, you may want to measure a call as if it were a transaction, in which case you can use the .transact attribute on the contract call handler:

+

Given the Solidity function:

+
function getModifiedBalance() external view returns(uint256) {
+    return balances[msg.sender] + 123;
+}
+
+
+

You can treat it like a transaction by doing:

+
from ape import accounts, Contract
+
+account = accounts.load("<ALIAS>")
+contract = Contract("0x...")
+
+receipt = contract.getModifiedBalance.transact(sender=account)
+assert not receipt.failed  # Transactions return `ReceiptAPI` objects.
+print(receipt.gas_used)  # Analyze receipt gas from calls.
+
+
+
+
+

Default, Fallback, and Direct Calls

+

To directly call an address, such as invoking a contract’s fallback or receive method, call a contract instance directly:

+
from ape import Contract, accounts
+
+sender = accounts.load("<ALIAS>")  # NOTE: <ALIAS> refers to your account alias!
+contract = Contract("0x123...")
+
+# Call the contract's fallback method.
+receipt = contract(sender=sender, gas=40000, data="0x123")
+
+
+
+
+

Private Transactions

+

If you are using a provider that allows private mempool transactions, you are able to use the private=True kwarg to publish your transaction into a private mempool. +For example, EVM providers likely will use the eth_sendPrivateTransaction RPC to achieve this.

+

To send a private transaction, do the following:

+
receipt = contract.set_number(sender=dev, private=True)
+
+
+

The private=True is available on all contract interactions.

+
+
+
+

Decoding and Encoding Inputs

+

If you want to separately decode and encode inputs without sending a transaction or making a call, you can achieve this with Ape. +If you know the method you want to use when decoding or encoding, you can call methods encode_input() or decode_input() on the method handler from a contract:

+
from ape import Contract
+
+# HexBytes(0x3fb5c1cb00000000000000000000000000000000000000000000000000000000000000de)
+contract = Contract("0x...")
+bytes_value = contract.my_method.encode_input(0, 1, 2)
+
+
+

In the example above, the bytes value returned contains the method ID selector prefix 3fb5c1c. +Alternatively, you can decode input:

+
from eth_pydantic_types import HexBytes
+from ape import Contract
+
+contract = Contract("0x...")
+selector_str, input_dict = contract.my_method.decode_input(HexBytes("0x123..."))
+
+
+

In the example above, selector_str is the string version of the method ID, e.g. my_method(unit256,uint256). +The input dict is a mapping of input names to their decoded values, e.g {"foo": 2, "owner": "0x123..."}. +If an input does not have a name, its key is its stringified input index.

+

If you don’t know the method’s ABI and you have calldata, you can use a ContractInstance or ContractContainer directly:

+
import ape
+
+# Fetch a contract
+contract = ape.Contract("0x...")
+
+# Alternative, use a contract container from ape.project
+# contract = ape.project.MyContract
+
+# Only works if unique amount of args.
+bytes_value = contract.encode_input(0, 1, 2, 4, 5)
+method_id, input_dict = contract.decode_input(bytes_value)
+
+
+
+
+

Contract Interface Introspection

+

There may be times you need to figure out ABI selectors and method or event identifiers for a contract. +A contract instance provides properties to make this easy. +For instance, if you have a 4-byte hex method ID, you can return the ABI type for that method:

+
import ape
+
+usdc = ape.Contract("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48")
+
+# ABI type for a hex method ID
+assert usdc.identifier_lookup['0x70a08231'].selector == 'balanceOf(address)'
+
+# Also, selectors from method and event signatures
+assert usdc.selector_identifiers["balances(address)"] == "0x27e235e3"
+
+# Or dump all selectors and IDs
+for identifier, abi_type in usdc.identifier_lookup.items():
+    print(identifier, abi_type)
+    # 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef type='event' name='Transfer' inputs=...
+    # ...
+
+
+

These include methods and error IDs, as well as event topics.

+
+
+

Multi-Call and Multi-Transaction

+

The ape_ethereum core plugin comes with a multicall module containing tools for interacting with the multicall3 smart contract. +Multicall allows you to group function calls and transactions into a single call or transaction.

+

Here is an example of how you can use the multicall module:

+
import ape
+from ape_ethereum import multicall
+
+ADDRESSES = ("0xF4b8A02D4e8D76070bD7092B54D2cBbe90fa72e9", "0x80067013d7F7aF4e86b3890489AcAFe79F31a4Cb")
+POOLS = [ape.project.IPool.at(a) for a in ADDRESSES]
+
+def main():
+    # Use multi-call.
+    call = multicall.Call()
+    for pool in POOLS:
+        call.add(pool.getReserves)
+
+    print(list(call()))
+
+    # Use multi-transaction.
+    tx = multicall.Transaction()
+    for pool in POOLS:
+        tx.add(pool.ApplyDiscount, 123)
+
+    acct = ape.accounts.load("signer")
+    for result in tx(sender=acct):
+        print(result)
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/data.html b/v0.8.20/userguides/data.html new file mode 100644 index 0000000000..d2f1c9f874 --- /dev/null +++ b/v0.8.20/userguides/data.html @@ -0,0 +1,299 @@ + + + + + Querying Data - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Querying Data

+

Ape has advanced features for querying large amounts of on-chain data. +Ape provides this support through a number of standardized methods for working with data, +routed through our query management system, which incorporates data from many sources in +your set of installed plugins.

+
+

Getting Block Data

+

Use ape console:

+
ape console --network ethereum:mainnet:infura
+
+
+

Run a few queries:

+
In [1]: df = chain.blocks.query("*", stop_block=20)
+In [2]: chain.blocks[-2].transactions  # List of transactions in block
+
+
+
+
+

Getting Account Transaction Data

+

Each account within ape will also fetch and store transactional data that you can query. +To work with an account’s transaction data, you can do stuff like this:

+
from ape import accounts, chain
+
+chain.history["example.eth"].query("value").sum()  # All value sent by this address
+acct = accounts.load("my-acct")
+tx = acct.history[-1]  # Last txn `acct` made
+acct.history.query("total_fees_paid").sum()  # Sum of ether paid for fees by `acct`
+
+
+
+
+

Getting Contract Event Data

+

On a deployed contract, you can query event history.

+

For example, we have a contract with a FooHappened event that you want to query from. +This is how you would query the args from an event:

+
In [1]: df = contract_instance.FooHappened.query("*", start_block=-1)
+
+
+

where contract_instance is the return value of owner.deploy(MyContract)

+

See this guide for more information how to deploy or load contracts.

+
+
+

Using the Cache

+
+

Note

+

This is in Beta release. +This functionality is in constant development and many features are in planning stages. +Use the cache plugin to store provider data in a sqlite database.

+
+

To use the cache, first you must initialize it for each network you plan on caching data for:

+
ape cache init --network <ecosystem-name>:<network-name>
+
+
+
+

Note

+

Caching only works for permanently available networks. +It will not work with local development networks.

+
+

For example, to initialize the cache database for the Ethereum mainnet network, you would do the following:

+
ape cache init --network ethereum:mainnet
+
+
+

This creates a SQLite database file in ape’s data folder inside your home directory.

+

You can query the cache database directly, for debugging purposes. +The cache database has the following tables:

+
+ + + + + + + + + + + + + + + + + +

Table Name

Dataclass base

blocks

BlockAPI

transactions

ReceiptAPI

contract_events

ContractLog

+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/dependencies.html b/v0.8.20/userguides/dependencies.html new file mode 100644 index 0000000000..9a53431bee --- /dev/null +++ b/v0.8.20/userguides/dependencies.html @@ -0,0 +1,544 @@ + + + + + Dependencies - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Dependencies

+

Ape downloads and caches dependencies in the .ape/packages folder. +There are three sub-folders in .ape/packages for dependencies:

+
    +
  1. projects/ - contains the raw project files for each dependency in subsequent /<name>/<version-id> directories (where <name> refers to the path-ified full-name of the dependency, e.g. "OpenZeppelin_openzeppelin-contracts", and <version-id> refers to the version or branch of the package). +This location is where local project compilation looks for additional sources from import statements.

  2. +
  3. manifests/ - much like your local projects’ .build/__local__.json, this is where dependencies cache their manifests. +When you compile a dependency, the contract types are stored in the dependency manifest’s JSON file.

  4. +
  5. api/ - for caching the API data placed in dependencies: config or ape pm install commands, allowing dependency usage and management from anywhere in the file system.

  6. +
+
+

Note

+

You can install dependencies that don’t compile out-of-the-box. +Sometimes, dependencies are only collections of source files not meant to compile on their own but instead be used in projects via import statements. +You can change the settings of a dependency using config_override: to compile dependencies after installed, if needed, and the api/ cache always refers to the latest used during installation or compilation.

+
+
+

Types of Dependencies

+

There are few dependency types that come with Ape. +The following section highlights how to use each of them and what their differences are.

+
+

GitHub

+

You can use dependencies from GitHub. +For example, a common dependency for Solidity projects is Open Zeppelin. +To use Open Zeppelin version 4.4.2 in your Ape Solidity project, add the following to your ape-config.yaml file:

+
dependencies:
+  - name: OpenZeppelin
+    github: OpenZeppelin/openzeppelin-contracts
+    version: 4.4.2
+
+
+

Then, follow the guide below about remappings to use the dependency.

+
+

Warning

+

An important WARNING about the version: key for GitHub dependencies: +The version: config first attempts to use an official GitHub release, but if the release is not found, it will check the release tags.

+
+

If you know the version is not available as an official release, bypass the original check by using the ref: key. +The ref: key is also used for installing branches.

+

For example, to install a version available as a git tag, do the following:

+
dependencies:
+  - name: Uniswap
+    github: Uniswap/v3-core
+    ref: v1.0.0
+
+
+

The ref: config installs the code from that reference; the version: config uses the official GitHub release API, and then only if that fails will it check the git references. +Often times, the v prefix is required when using tags. +However, if cloning the tag fails, ape will retry with a v prefix. +Bypass the original failing attempt by including a v in your dependency config.

+

By knowing if the release is from the version API or only available via tag, and whether the version is v-prefixed or not, you save Ape some time and complexity when installing dependencies.

+
+
+

PyPI

+

You can use dependencies from PyPI by using the pypi: key.

+
dependencies:
+   - pypi: snekmate
+     config_override:
+       base_path: src
+       contracts_folder: snekmate
+
+
+

When using the pypi: key, dependencies are downloaded and extracted from PyPI using an HTTP requests library.

+

You can also specify the python: key for already-installed dependencies:

+
dependencies:
+   - python: snekmate
+     config_override:
+       contracts_folder: .
+
+
+

Using python: requires the package to be installed in your sys.path (site-packages) folder, generally via pip or some other tool. +The contracts_folder override, in this case, is often needed because the site-package does not have the root source-folder included. +Additionally, python: specified dependencies may also be lacking project-configuration files, such as the ape-config.yaml. +Compilers such as vyper encourage users to use pip to publish and install smart-contract dependencies (other vyper files), but some features in Ape may be limited if the dependency is not also specified in your config somewhere.

+

If wanting to use a dependency from PyPI, we recommend using the pypi: key instead of the python: key. +However, the python: key works great if you already used pip to install the dependency, especially if the dependency is not available on PyPI.

+
+
+

Local

+

You can use already-downloaded projects as dependencies by referencing them as local dependencies.

+
dependencies:
+  - name: MyDependency
+    local: local/path/to/MyDependency
+
+
+

This is helpful when:

+
    +
  • Working on multiple packages at once.

  • +
  • When there is not a suitable DependencyAPI implementation available for downloading your dependency.

  • +
  • Testing the framework.

  • +
+

You can also reference local project manifests and use those as dependencies. +To do this, use a local value pointing to the manifest file, like this:

+
dependencies:
+  - name: MyDependency
+    local: ./my-dependency.json
+    version: 1.0.0
+
+
+
+
+

NPM

+

You can use dependencies from NPM. +This is generally not recommended. +However, sometimes it is the only way to use a dependency.

+

To use a dependency from NPM, you must have already run npm install and that package must be present in your local node_modules folder. +Then, add the following to your config so that Ape can find the dependency:

+
dependencies:
+  - name: MyDependency
+    npm: "@myorg/mydependency"
+    version: v1.3.0
+
+
+
+
+
+

Package Management CLI

+

You can also install and / or compile dependencies using the pm CLI.

+
+

list

+

To list information about installed dependencies, run:

+
ape pm list
+
+
+

You should see information like:

+
NAME                                 VERSION  INSTALLED  COMPILED
+OpenZeppelin/openzeppelin-contracts  4.9.3    True       False
+
+
+
+
+

install

+

To install all dependencies in your project, run:

+
ape pm install
+
+
+

If the dependencies are already cached and you want to re-install them, use the --force flag:

+
ape pm install --force
+
+
+

To install a dependency that is not in your config, you can specify it directly along with --name and --version:

+
ape pm install gh:OpenZeppelin/openzeppelin-contracts --name openzeppelin --version "4.6.0"
+
+
+
+

Note

+

The gh: prefix is used because this dependency is from GitHub. +For npm dependencies, you use an npm: prefix. +For local dependencies, you give it a path to the local dependency. +--version is not required when using a local dependency.

+
+

To change the config of a dependency when installing, use the --config-override CLI option:

+
ape pm install gh:OpenZeppelin/openzeppelin-contracts \
+  --name openzeppelin \
+  --version "4.6.0" \
+  --config-override '{"solidity": {"version": "0.8.12"}}'
+
+
+

You can also use Python to install dependencies, using **kwargs as the same fields you put in your dependencies: config:

+
from ape import project
+
+project.dependencies.install(
+   github="OpenZeppelin/openzeppelin-contracts", name="openzeppelin", version="4.4.2"
+)
+
+
+
+
+

uninstall

+

Remove previously installed packages using the uninstall command, providing it either the dependency’s name or package_id:

+
ape pm uninstall OpenZeppelin
+
+
+
ape pm uninstall OpenZeppelin/openzeppelin-contracts
+
+
+

If there is a single version installed, the command will remove the single version. +If multiple versions are installed, pass additional arguments specifying the version(s) to be removed:

+
ape pm uninstall OpenZeppelin 4.5.0 4.6.0
+
+
+

To skip the confirmation prompts, use the --yes flag (abbreviated as -y):

+
ape pm uninstall OpenZeppelin all --yes
+
+
+
+

Note

+

Additionally, use the all special version key to delete all versions.

+
+
+
+

compile

+

Dependencies are not compiled when they are installed. +Dependencies are only compiled if you need them to be. +This is because often times a dependency will not compile in Ape on its own but its contract types can still be used in your project. +However, when working with dependency contracts directly, they will need to be compiled. +Ape compiles them as soon as you request the contracts from them, so it generally happens on the backend automatically. +However, you may want to recompile the dependencies, like when using a new compiler version or settings. +You can use the CLI to recompile.

+
ape pm compile OpenZeppelin --version 4.6.0 --force
+
+
+
+

Note

+

You only need to specify a version if you have more than one version of a dependency installed. +Otherwise, you just give it the name.

+
+

To compile all dependencies in your local project, run the command with no arguments while in your project:

+
ape pm compile
+
+
+

Alternatively, you can compile dependencies along with your project’s contracts by using the --include-dependencies flag in ape-compile:

+
ape compile --include-dependencies
+
+
+
+
+
+

Misc

+

The following guidelines are applicable to ALL dependency types.

+
+

Config Override

+

To use any extra config item for a dependency, such as configurations for compilers needed during compiling, use the config_override setting:

+
dependencies:
+  - name: dependency
+    github: org-name/dependency-project-name
+    config_override:
+       solidity:
+         evm_version: paris
+
+
+

This is the same as if these values were in an ape-config.yaml file in the project directly.

+

You can also specify --config-override in the ape pm install command to try different settings more adhoc:

+
ape pm install --config-override '{"solidity": {"evm_version": "paris"}}'
+
+
+
+
+

Custom Contracts Folder

+

You can set the name of the dependency’s contracts folder using the config_override key, e.g.:

+
dependencies:
+  - name: DappToolsERC20
+    github: dapphub/erc20
+    ref: dappnix
+    config_override:
+      contracts_folder: src
+
+
+
+
+

File Exclusions

+

To ignore files from a dependency project, use the exclude setting in the config_override:compile section to specify glob patterns:

+
dependencies:
+  - name: dependency-project-name
+    github: org-name/dependency-project-name
+    config_override:
+      compile:
+        exclude:
+          - package.json    # Ignore package.json files.
+          - mocks/**/*      # Ignore all files in the 'mocks' directory
+
+
+
+
+

Solidity Import Remapping

+

A common use-case for dependencies involves the Solidity plugin. +By default, the ape-solidity plugin knows to look at installed dependencies for potential remapping-values and will use those when it notices you are importing them. +For example, if you are using dependencies like:

+
dependencies:
+  - name: OpenZeppelin
+    github: OpenZeppelin/openzeppelin-contracts
+    version: 4.4.2
+
+
+

And your source files import from openzeppelin this way:

+
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+
+
+

Ape knows how to resolve the @openzeppelin value and find the correct source.

+

If you want to override this behavior or add new remappings that are not dependencies, you can add them to your ape-config.yaml under the solidity: key. +For example, let’s say you have downloaded openzeppelin somewhere and do not have it installed in Ape. +You can map to your local install of openzeppelin this way:

+
solidity:
+  import_remapping:
+    - "@openzeppelin=path/to/openzeppelin"
+
+
+
+
+

Compiling Dependencies

+

Sometimes, you may need to access types (such as contract types) from dependencies. +You can achieve this using the project manager:

+
from ape import accounts, project
+
+# NOTE: This will compile the dependency
+dependency_project = project.dependencies["my_dependency"]["1.0.0"]
+dependency_contract = dependency_project.DependencyContractType 
+my_account = accounts.load("alias")
+deployed_contract = my_account.deploy(dependency_contract, "argument")
+print(deployed_contract.address)
+
+
+

If you would like to always compile dependencies during ape compile rather than only have them get compiled upon asking for contract types, you can use the config option include_dependencies from the compile config:

+
compile:
+  include_dependencies: true
+
+
+

Alternatively, use the --include-dependencies CLI flag:

+
ape compile --include-dependencies
+
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/developing_plugins.html b/v0.8.20/userguides/developing_plugins.html new file mode 100644 index 0000000000..94a20a599e --- /dev/null +++ b/v0.8.20/userguides/developing_plugins.html @@ -0,0 +1,397 @@ + + + + + Developing Plugins - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Developing Plugins

+

Your plugin project can be any type of python project, so long as its package name starts with ape- (such as ape-ethereum). +The module and plugin directory name must start with ape_ (such as ape_ethereum). +To create an ape plugin, implement one or more API classes from the ape.api namespace and/or add key +ape_cli_subcommands to your entry-points list in your project’s setup.py, depending on what type of plugin you want to create. +This guide is intended to assist in both of those use cases.

+

The following is a list of example plugins to use as a reference when developing plugins:

+ +
+

Initialize a Plugin Project

+

As previously mentioned, a plugin project is merely a python project. +However, you can optionally use this project template for initializing your plugin.

+
+

Note

+

This template is primarily designed for plugins built within the ApeWorX team organization; not everything may apply.

+
+

It is okay to delete anything that does not work or that you don’t find helpful. +The template may be good to follow if you want to keep your plugin of similar quality to plugins developed by the ApeWorX team.

+
+
+

Implementing API Classes

+

API classes (classes from the ape.api namespace) are primarily composed of abstract methods and properties that plugins must implement. +A benefit of the plugin system is that each plugin can implement these however they need, so long as they conform to the API interface. +Two plugins with the same API may do entirely different things and yet be interchangeable in their usage.

+

To implement an API, import its class and use it as a base-class in your implementation class.

+
+

Warning

+

The plugin will fail to work properly if you do not implement all the abstract methods.

+
+
from ape.api import ProviderAPI
+from web3 import Web3, HTTPProvider
+
+
+class MyProvider(ProviderAPI):
+    _web3: Web3 = None  # type: ignore
+    
+    def connect(self):
+        self._web3  = Web3(HTTPProvider(str("https://localhost:1337")))
+
+    """Implement rest of abstract methods"""
+
+
+
+

Registering API Classes

+

Once you have finished implementing your API classes, you need to register them using the @plugins.register method decorator.

+
from ape import plugins
+
+# Here, we register our provider plugin so we can use it in 'ape'.
+@plugins.register(plugins.ProviderPlugin)
+def providers():
+    # NOTE: 'MyProvider' defined in a prior code-block.
+    yield "ethereum", "local", MyProvider
+
+
+

This decorator hooks into ape core and ties everything together by looking for all local installed site-packages that start with ape_. +Then, it will loop through these potential ape plugins and see which ones have created a plugin type registration. +If the plugin type registration is found, then ape knows this package is a plugin and attempts to process it according to its registration interface.

+
+
+

CLI Plugins

+

The ape CLI is built using the python package click. +To create a CLI plugin, create any type of click command (such as a click.group or a click.command).

+

_cli.py:

+
import click
+
+@click.group
+def cli():
+    """My custom commands."""
+
+
+@cli.command()
+def my_sub_cmd():
+    """My subcommand."""
+
+
+

Then, register it using entrypoints, which is a built-in python registry of items declared in setup.py.

+

setup.py:

+
...
+entry_points={
+    "ape_cli_subcommands": [
+        "ape_myplugin=ape_myplugin._cli:cli",
+    ],
+},
+...
+
+
+
+

Note

+

Typically, a _cli.py module is used instead of a __init__.py module for the location of the Click CLI group because it is logically separate from the Python module loading process.

+
+

If you try to define them together and use ape as a library as well, there is a race condition in the loading process that will prevent the CLI plugin from working.

+

For common click usages, use the ape.cli namespace. +For example, use the @existing_alias_argument() decorator) when you need a CLI argument for specifying an existing account alias: +Follow this guide to learn more about what you can do with the utilities found in ape.cli.

+
import click
+from ape.cli import existing_alias_argument
+
+@click.command()
+@existing_alias_argument()
+def my_cmd(alias):
+  click.echo(f"{alias} is an existing account!")
+
+
+
+
+
+

Using Plugins

+

Once you have finished implementing and registering your API classes, they will now be part of ape. For example, +if you implemented the AccountAPI, you can now use accounts created from this plugin. The top-level ape manager +classes are indifferent about the source of the plugin.

+
from ape import accounts
+
+# The manager can load accounts from any account-based plugin.
+my_ledger_account = accounts.load("ledger_0")  # Created using the 'ape-ledger' plugin
+my_trezor_account = accounts.load("trezor_0")  # Created using the 'ape-trezor' plugin
+
+
+

Similarly, if you implemented a ProviderAPI, that provider is now accessible in the CLI via the --network option:

+
ape console my_script --network ethereum:local:my_provider_plugin
+
+
+
+

Note

+

The --network option is available on the commands test and console as well as any CLI command that uses the network option decorator.

+
+

To learn more about networks in Ape, follow this guide.

+

When creating the CLI-based plugins, you should see your CLI command as a top-level command in the ape --help output:

+
Commands:
+  ...
+  my-plugin  Utilities for my plugin
+  ...
+
+
+

To edit the description of the CLI command (or group), you can either set the short_help kwarg or use a doc-str on the command:

+
import click
+
+
+@click.command(short_help="Utilities for my plugin")
+def cli():
+    pass
+
+""" Or """
+
+@click.command()
+def cli():
+    """Utilities for my plugin"""
+
+
+
+
+

Logging

+

Use Ape’s logger in your plugin by importing it from the ape.logging module or by using it off the CLI context (from using the @ape_cli_context decorator).

+
+

Import the logger from the logging module

+
from ape.logging import logger
+
+logger.info("This is a log message")
+
+
+
+
+

Use the logger from the @ape_cli_context

+
from ape.cli import ape_cli_context
+
+@ape_cli_context()
+def my_command(cli_ctx):
+  cli_ctx.logger.info("my log message")
+
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/forking_networks.html b/v0.8.20/userguides/forking_networks.html new file mode 100644 index 0000000000..6b6ada7478 --- /dev/null +++ b/v0.8.20/userguides/forking_networks.html @@ -0,0 +1,277 @@ + + + + + Forking Networks - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Forking Networks

+

You can fork live networks in Ape. +To do so, ensure you are using a provider plugin with forking features. +Some options are:

+
    +
  1. ApeWorX/ape-foundry

  2. +
  3. ApeWorX/ape-hardhat

  4. +
+

You can install one of these plugins by doing:

+
ape plugins install <foundry|hardhat>
+
+
+

Ensure you have also configured your upstream network (the network you are forking). +For example, if forking ethereum:mainnet and using alchemy, set alchemy as the default mainnet provider:

+
ethereum:
+  mainnet:
+    default_provider: alchemy
+
+
+

Now, you can start and connect to your forked-network:

+
ape console --network ethereum:mainnet-fork:foundry
+
+
+

Learn more about setting up networks in the the networks guide.

+
+

Forking Plugin Networks

+

You can also fork L2 plugin networks. +For example, to fork a network such as Optimism, install the ape-optimism plugin:

+
ape plugins install optimism
+
+
+

Then, just like you did for ethereum, configure optimism’s default mainnet provider:

+
optimism:
+  mainnet:
+    default_provider: alchemy
+
+
+

Now, you can start and connect to your forked-network:

+
ape console --network optimism:mainnet-fork:foundry
+
+
+
+
+

Configure Default

+

If you want to change the default network from local to your forked network, add the following config:

+
<ecosystem-name>:
+  default_network: <network-name>_fork
+
+
+

Where ecosystem-name is the ecosystem containing the network and network-name is the network you are forking.

+
+
+

Forked Context

+

If you are already connected to a live network wish to temporarily fork it, use the fork() context manager:

+
from ape import networks
+
+def main():
+    with networks.ethereum.mainnet.use_provider("alchemy") as alchemy:
+        print(alchemy.name)
+        with networks.fork(provider_name="foundry") as foundry:
+            print(foundry.name)
+
+
+

Learn more about the fork context manager here.

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/installing_plugins.html b/v0.8.20/userguides/installing_plugins.html new file mode 100644 index 0000000000..9bb58b3498 --- /dev/null +++ b/v0.8.20/userguides/installing_plugins.html @@ -0,0 +1,293 @@ + + + + + Plugins - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Plugins

+

Plugins are core to Ape’s architecture. +Here are some plugin examples in Ape:

+
    +
  • CompilerAPI: For supporting various languages, like Vyper or Solidity.

  • +
  • ProviderAPI: For connecting the blockchain, such as Alchemy, Geth, or a local Hardhat node.

  • +
  • EcosystemAPI: A suite of networks, such as Ethereum, Fantom, or Starknet.

  • +
  • CLI plugins: Extending the click CLI in Ape.

  • +
+
+

Core Plugins

+

Ape ships with core plugins to help Ape work out-of-the-box. +To see the core plugins that come with Ape, run the following command:

+
ape plugins list --all
+
+
+

Normally, the ape plugins list command shows you all the plugins you have installed. +However, when you include the --all flag, it shows the core plugins and the available plugins as well.

+
+

Note

+

The available plugins list is trusted and from the ApeWorX organization, however you can install third-party plugins from other sources as well.

+
+
+
+

Installing Plugins

+

To add plugins to your project, edit your ape-config.yaml file:

+
plugins:
+  - name: solidity
+    version: 0.6.0
+  - name: hardhat
+  - name: ens
+  - name: etherscan
+    version: ">=0.6.2,<0.7"
+
+
+

The name field is required. +Additionally, you may specify a version with or without constraints.

+

To install the plugins listed in your project, run the following command from the project’s root directory:

+
ape plugins install .
+
+
+

To install plugins individually, run the following command:

+
ape plugins install vyper "solidity>=0.6,<0.7"
+
+
+

To install a plugin from a branch that is not yet released, you can use a git+ prefixed value for the version:

+
plugins:
+  - name: foobar
+    version: git+https://github.com/<owner-of-plugin>/ape-foobar.git@<branch/name>
+
+
+

Or from the CLI like:

+
ape plugins install "foobar@git+https://github.com/<owner-of-plugin>/ape-foobar.git@<branch/name>"
+
+
+

Also, you may omit the foobar@ prefix and allow Ape to deduce the name:

+
ape plugins install "git+https://github.com/<owner-of-plugin>/ape-foobar.git@<branch/name>"
+
+
+
+
+

Plugin Versions

+

By default, ape plugins commands install plugins within your current Ape version specification. +For example, if you have Ape 0.6.5 installed and you install ape-tokens without specifying a version, it defaults to ape-tokens>=0.6.0,<0.7 so it is compatible does not change your Ape version. +To upgrade plugins to a new minor version, you have to first update Ape.

+

We provide an easy way to update your entire Ape ecosystem using the command:

+
ape plugins update
+
+
+

Now, both Ape and all the plugins will maximally update. +Alternatively, you use the change-version command to install a specific version of everything at once:

+
ape plugins change-version 0.6.0
+
+
+
+
+

Plugin Types

+

There are many types of plugins available, including compilers, providers, networks, and CLI-based plugins. +To learn more about the different types of plugins, see the Developing a Plugin Guide.

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/logging.html b/v0.8.20/userguides/logging.html new file mode 100644 index 0000000000..39988b35a7 --- /dev/null +++ b/v0.8.20/userguides/logging.html @@ -0,0 +1,284 @@ + + + + + Logging - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Logging

+

Ape provides a logger and uses it to show messages throughout the execution of its modules. +Every CLI command comes with the logger in Ape, even custom user scripts (unless they change the behavior of --verbosity).

+

The following log levels are available with Ape:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Log Level

Numeric Value

Purpose

Color

DEBUG

10

Debug stuff

Blue

INFO

20

General information

Blue

SUCCESS

21

To mark a successful operation

Green

WARNING

30

Indicates a potential issue

Yellow

ERROR

40

An error occurred

Red

+
+
+

Note

+

SUCCESS is a non-standard verbosity level custom to the framework. +It is shown during INFO but not shown if set to WARNING or above.

+
+
+

CLI Logging

+

If you are running into issues and wish to see more information logged, you likely want to run your command with --verbosity DEBUG or -v debug:

+
ape --verbosity DEBUG my_cmd  # long form
+ape -v debug my_cmd           # short form
+
+
+

This will output HTTP requests and anything else with a DEBUG logging verbosity in Ape.

+

Alternatively, you may wish to log less and show important logs, such as ERROR logs. +To do this, use the ERROR verbosity:

+
ape my_cmd -v ERROR 
+
+
+

NOTE: You can put the verbosity flag anywhere in your CLI command for most commands.

+
+
+

Python Logging

+

You can also import and use the logger in your own Python scripts or commands:

+
from ape.logging import logger, LogLevel
+
+def main():
+    logger.info("You have entered `main()`.")
+    logger.set_level(LogLevel.WARNING)
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/networks.html b/v0.8.20/userguides/networks.html new file mode 100644 index 0000000000..a3a2616abb --- /dev/null +++ b/v0.8.20/userguides/networks.html @@ -0,0 +1,788 @@ + + + + + Networks - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Networks

+

When interacting with a blockchain, you will have to select an ecosystem (e.g. Ethereum, Arbitrum, or Fantom), a network (e.g. Mainnet or Sepolia) and a provider (e.g. Eth-Tester, Node (Geth), or Alchemy). +The ape-ethereum ecosystem and network(s) plugin comes with Ape and can be used for handling EVM-like behavior. +Networks are part of ecosystems and typically defined in plugins or custom-network configurations. +However, Ape works out-of-the-box (in a limited way) with any network defined in the evmchains library.

+
+

Selecting a Network

+

Before discussing how to add custom networks or install L2 network plugins, you need to know how to specify the network choice. +No matter what type of network you are using in Ape, you specify the network using a “network choice” triplet value:

+
"<ecosystem-name>:<network-name>:<provider-name>"
+
+
+

Where ecosystem-name refers to the ecosystem, e.g. ethereum, polygon, fantom, or any valid ecosystem plugin name. +The network-name refers to a network such as mainnet, local, or something else defined by your ecosystem or custom network config. +And provider-name refers to the provider plugin in Ape, such as node for a generic node or foundry if the network is more Anvil-based, or a different plugin altogether.

+

Commonly, the network triplet value is specified via the --network option in Ape CLI commands. +The following is a list of common Ape commands that can use the --network option:

+
ape test --network ethereum:local:foundry
+ape console --network arbitrum:testnet:alchemy # NOTICE: All networks, even from other ecosystems, use this.
+
+
+

To see all networks that work with the --network flag (besides those only defined in evmchains), run the command:

+
ape networks list
+
+
+

You can also use the --network option on scripts that use the main() method approach or scripts that implement that ConnectedProviderCommand command type. +See the scripting guide to learn more about scripts and how to add the network option.

+

Also, you can omit values to use defaults. +For example, the default ecosystem is ethereum and the default network is local, so you can do:

+
ape run <custom-cmd> --network ::foundry
+
+
+

as a short-cut for ethereum:local:foundry. +(note: <custom-command> refers to the name of a script that uses the network option or is a ConnectedProviderCommand. +See the scripting guide for more information).

+

Next, we will talk about how to add additional networks to your Ape environment.

+
+
+

L2 Networks

+

Common L2 networks, such as Arbitrum, Polygon, Optimism, or Fantom, have ApeWorX-maintained (trusted) plugins that override the Ethereum ecosystem API class and change any defaults that are needed. +You can install these plugins by doing:

+
ape plugins install arbitrum polygon optimism fantom
+
+
+

Each plugin does different things. +In general, L2 plugins are very small and override the Ethereum ecosystem class. +Here are some examples of changes L2 plugins make that allow improved support for these networks:

+
    +
  1. Networks that don’t support EIP-1559 transactions use Static-fee transaction types by default whereas ape-ethereum will use EIP-1559 transactions by default.

  2. +
  3. Some networks, such as ape-arbitrum, have unique transaction types (and receipt types!) that are handled in the plugin. +This logic does not have to live in the base ape-ethereum plugin but can live in the network’s custom plugin.

  4. +
  5. Fee token information: When displaying gas reports or other data, network plugins can use the correct fee-token symbols, such as Polygon MATIC.

  6. +
+

Here is a list of all L2 network plugins supported by Ape:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

GitHub

ape-arbitrum

ApeWorX/ape-arbitrum

ape-avalanche

ApeWorX/ape-avalanche

ape-base

ApeWorX/ape-base

ape-blast

ApeWorX/ape-base

ape-bsc

ApeWorX/ape-base

ape-fantom

ApeWorX/ape-fantom

ape-optimism

ApeWorX/ape-optimism

ape-polygon

ApeWorX/ape-polygon

ape-polygon-zkevm

ApeWorX/ape-polygon-zkevm

+
+
+

Note

+

If you are connecting an L2 network or any other network that does not have a plugin, you can use the custom network support, which is described in the next section.

+
+

Once you have the L2 network plugin installed, you can configure its node’s URI by setting the values in the node core plugin via your ape-config.yaml file:

+
node:
+  <ecosystem-name>:
+    <network-name>:
+      uri: https://path.to.node.example.com
+
+
+

To see proper ecosystem and network names needed for configuration, run the command:

+
ape networks list
+
+
+

In the remainder of this guide, any example below using Ethereum, you can replace with an L2 ecosystem’s name and network combination.

+
+
+

evmchains Networks

+

If a network is in the evmchains library, it will work in Ape automatically, even without a plugin or any custom configuration for that network.

+
ape console --network moonbeam
+
+
+

This works because the moonbeam network data is available in the evmchains library, and Ape is able to look it up.

+
+

Warning

+

Support for networks from evm-chains alone may be limited and require additional configuration to work in production use-cases.

+
+
+
+

Custom Network Connection

+

You can add custom networks to Ape without creating a plugin. +The two ways to do this are:

+
    +
  1. Create custom network configurations in your ape-config.yaml file (typically your global one).

  2. +
  3. Use the --network flag with a raw URI string.

  4. +
+
+

Custom Networks By Config

+

The most familiar way to use custom networks (non-plugin-based networks) in Ape is to use the networks: custom configuration. +Generally, you want to use the global ape-config.yaml, which is located in your $HOME/.ape/ directory. +By configuring networks globally, you can share them across all your projects. +More information about configuring Ape (in general) can be found here.

+

To add custom networks to your ape-config.yaml file, follow this pattern:

+
networks:
+  custom:
+     - name: mainnet                   # Required
+       chain_id: 109                   # Required
+       ecosystem: shibarium            # The ecosystem name, can either be new or an existing
+       base_ecosystem_plugin: polygon  # The ecosystem base-class, defaults to the default ecosystem
+       default_provider: node          # Default is the generic node provider
+
+
+

The following paragraphs explain the different parameters of the custom network config.

+

name: The name of the network is the same identifier you use in the network triplet for the “network” (second) section. +Read more on the network option here.

+

chain_id: The chain ID is required for config-based custom networks. +It ensures you are on the correct network when making transactions and is very important!

+

ecosystem: Specify your custom network’s ecosystem. +This can either be an existing ecosystem or a new name entirely. +Recall, you refer to your network via the network-triplet ecosystem:network:provider option-str. +The ecosystem class is largely responsible for decoding and encoding data to-and-fro the blockchain but also contains all the networks. +More information about the EcosystemAPI can be found here. +If your custom network is part of a new ecosystem, such as Shibarium, use the name of the new ecosystem, e.g. "shibarium". +You may want to also adjust the base_ecosystem_plugin config to change the base-class used.

+

base_ecosystem_plugin: The plugin that defines the base-class to your custom ecosystem containing your custom network(s). +If your custom network’s ecosystem matches closer to another L2 instead of Ethereum, use that ecosystem name as your base_ecosystem_plugin in your custom network config. +For example, take note that "ethereum" assumes EIP-1559 exists (unless configured otherwise). +If your custom network is closer to Fantom, Polygon, Avalanche, or any other L2, you may want to consider using one of those plugins as the base_ecosystem_plugin to your custom network. +Alternatively, you can configure your custom network the same way you configure any other network in the config (see this section).

+

default_provider: The default provider is the provider class used for making the connection to your custom network, unless you specify a different provider (hence the default_). +Generally, you won’t change this and can use the default EVM node provider. +Many provider plugins won’t function here, such as ape-infura or ape-alchemy. +If you are using one of their networks, it is best to edit and use the plugins directly. +If you are using a developer-node remotely, such as a custom Anvil node, you can specify the default provider to be foundry instead. +However, take care in making sure you set up Foundry to correctly connect to your node. +Likewise, when using the default Ethereum node provider, you will need to tell it the RPC URL.

+
+

RPC URL

+

To configure the RPC URL for a custom network, use the configuration of the provider. +For example, if the RPC URL is https://apenet.example.com/rpc, configure it by doing:

+
default_ecosystem: shibarium
+
+networks:
+  custom:
+    - name: mainnet
+      ecosystem: shibarium
+      base_ecosystem_plugin: polygon  # Closest base class.
+      chain_id: 109  # This must be correct or txns will fail.
+
+node:
+  shibarium:
+    mainnet:
+      uri: https://www.shibrpc.com
+
+
+

Now, when using ethereum:apenet:node, it will connect to the RPC URL https://apenet.example.com/rpc.

+
+
+

Forking Custom Networks

+

You can fork custom networks using providers that support forking, such as ape-foundry or ape-hardhat. +To fork a custom network, first ensure the custom network is set-up by following the sections above. +Once you can successfully connect to a custom network in Ape, you can fork it.

+

To fork the network, launch an Ape command with the --network option with your custom network name suffixed with -fork and use one of the forking providers (such as ape-foundry):

+
ape <cmd> --network shibarium:puppynet-fork:foundry
+
+
+

Configure the forked network in the plugin the same way you configure other forked networks:

+
foundry:
+  fork:
+    shibarium:
+      puppynet:
+        block_number: 500
+
+
+
+
+

Explorer URL

+

To configure explorer URLs for your custom network, use the explorer’s plugin config. +For example, let’s say you added the following network:

+
networks:
+  custom:
+    - name: customnetwork
+      chain_id: 31337
+      default_provider: node
+
+
+

To add a corresponding entry in ape-etherscan (assuming you are using ape-etherscan as your explorer plugin), add the following to your ape-config.yaml file:

+
etherscan:
+  ethereum:
+    rate_limit: 15  # Configure a rate limit that makes sense for retry logic.
+
+    # The name of the entry is the same as your custom network!
+    customnetwork:
+      uri: https://custom.scan              # URL used for showing transactions
+      api_uri: https://api.custom.scan/api  # URL used for making API requests.
+
+
+
+

Note

+

Every explorer plugin may be different in how you configure custom networks. +Consult the plugin’s README to clarify.

+
+
+
+

Block time, transaction type, and more config

+

Configuring network properties in Ape is the same regardless of whether it is custom or not. +As you saw above, we set the RPC URL of the custom network the same as if a plugin existed for that network. +The same is true for network config properties such as block_time, default_transaction_type, transaction_acceptance_timeout and more.

+

For example, let’s say I want to change the default transaction type for the apenet custom network (defined in examples above). +I do this the same way as if I were changing the default transaction type on mainnet.

+
ethereum:
+  apenet:
+    default_transaction_type: 0  # Use static-fee transactions for my custom network!
+
+
+

For a full list of network configurations like this (for both custom and plugin-based networks), see this section.

+
+

Note

+

This also works if configuring a custom ecosystem.

+
+

If using a custom ecosystem, use the custom ecosystem name as the top-level config key instead:

+
networks:
+  custom:
+    - name: mainnet
+      ecosystem: shibarium
+      base_ecosystem_plugin: polygon  # Closest base class.
+      chain_id: 109  # This must be correct or txns will fail.
+
+shibarium:
+  mainnet:
+    default_transaction_type: 0  # Use static-fee transactions for Shibarium.
+
+
+
+
+
+

Custom Networks by CLI

+

Ape also lets you connect to custom networks on-the-fly! +If you would like to connect to a URI using an existing ecosystem plugin, you can specify a URI in the provider-section for the --network option:

+
ape run script --network <ecosystem-name>:<network-name>:https://foo.bar
+
+
+

Additionally, if you want to connect to an unknown ecosystem or network, you can use the URI by itself. +This uses the default Ethereum ecosystem class.

+
ape run script --network https://foo.bar
+
+
+
+

Warning

+

The recommended approach is to use an L2 plugin when one exists, as it will integrate better in the Ape ecosystem.

+
+

Here are some general reason why Network plugins are recommended:

+
    +
  1. You may need to integrate with other plugins, such as explorer plugins for getting contract types.

  2. +
  3. Some chains may not implement EIP-1559 or may have forked from a specific configuration.

  4. +
  5. Response differences in uncommon blocks, such as the "pending" block or the genesis block.

  6. +
  7. Revert messages and exception-handling differences.

  8. +
  9. You can handle chain differences such as different transaction types in Arbitrum, non-EVM chains and behaviors like Starknet.

  10. +
+
+
+
+

Configuring Networks

+

Change network defaults using your project’s ape-config.yaml file. +The following configuration changes the default ecosystem, network, and provider such that if you omitted the --network option on connected-provider commands, it would use the value <ecosystem-name>:<network-name>:<provider-name>.

+
default_ecosystem: <ecosystem-name>
+
+<ecosystem-name>:
+  default_network: <network-name>
+  <network-name>:
+    default_provider: <provider-name>
+
+
+

As mentioned above, ecosystems and networks typically come from plugins and their names and values are defined in those plugins. +The ecosystem name goes in placeholder <ecosystem-name> and the network names go in place for <network-name>.

+

If you are unsure of the values to place here, run the following command:

+
ape networks list
+
+
+

This command lists all the ecosystem names and networks names installed currently in Ape. +Place the identical name in the config to configure that ecosystem or network.

+

You may also configure a specific gas limit for a given network:

+
<ecosystem-name>:
+  default_network: <network-name>
+  <network-name>:
+    gas_limit: "max"
+
+
+

You may use one of:

+
    +
  • "auto" - gas limit is estimated for each transaction

  • +
  • "max" - the maximum block gas limit is used

  • +
  • A number or numeric string, base 10 or 16 (e.g. 1234, "1234", 0x1234, "0x1234")

  • +
+

For the local network configuration, the default is "max". Otherwise, it is "auto".

+
+
+

Request Headers

+

There are several layers of request-header configuration. +They get merged into each-other in this order, with the exception being User-Agent, which has an append-behavior.

+
    +
  • Default Ape headers (includes User-Agent)

  • +
  • Top-level configuration for headers (using request_headers: key)

  • +
  • Per-ecosystem configuration

  • +
  • Per-network configuration

  • +
  • Per-provider configuration

  • +
+

Use the top-level request_headers: config to specify headers for every request. +Use ecosystem-level specification for only requests made when connected to that ecosystem. +Network and provider configurations work similarly; they are only used when connecting to that network or provider.

+

Here is an example using each layer:

+
request_headers:
+  Top-Level: "UseThisOnEveryRequest"
+
+ethereum:
+  request_headers:
+    Ecosystem-Level: "UseThisOnEveryEthereumRequest"
+  
+  mainnet:
+    request_headers:
+      Network-Level: "UseThisOnAllRequestsToEthereumMainnet"
+
+node:
+  request_headers:
+    Provider-Level: "UseThisOnAllRequestsUsingNodeProvider"
+
+
+

When using User-Agent, it will not override Ape’s default User-Agent nor will each layer override each-other’s. +Instead, they are carefully appended to each other, allowing you to have a very customizable User-Agent.

+
+
+

Local Network

+

The default network in Ape is the local network (keyword "local"). +It is meant for running tests and debugging contracts. +Out-of-the-box, Ape ships with two development providers you can use for the local network:

+
    +
  • EthTester

  • +
  • An Ephemeral Node (defaults to Geth) process

  • +
+
ape test --network ::test
+ape test --network ::node  # Launch a local development node (geth) process
+
+
+

To learn more about testing in ape, follow this guide.

+
+
+

Live Networks

+

Use the core plugin ape-node to connect to local or remote nodes via URI. +The node plugin is abstract in that it represents any node. +However, it will work best when connected to a geth node. +To configure network URIs in node, you can use the ape-config.yaml file:

+
node:
+  # When managing or running a node, configure an IPC path globally (optional)
+  ipc_path: path/to/geth.ipc
+
+  ethereum:
+    mainnet:
+      # For `uri`, you can use either HTTP, WS, or IPC values.
+      # **Most often, you only need HTTP!**
+      uri: https://foo.node.example.com
+      # uri: wss://bar.feed.example.com
+      # uri: path/to/mainnet/geth.ipc
+      
+      # For strict HTTP connections, you can configure a http_uri directly.
+      http_uri: https://foo.node.example.com
+
+      # You can also configure a websockets URI (used by Silverback SDK).
+      ws_uri: wss://bar.feed.example.com
+    
+      # Specify per-network IPC paths as well.
+      ipc_path: path/to/mainnet/geth.ipc
+
+
+
+
+

Network Config

+

There are many ways to configure your networks. +Most of the time, Ape and its L2 plugins configure the best defaults automatically. +Thus, you most likely won’t need to modify these configurations. +However, you do need to configure these if you wish to stray from a network’s defaults. +The following example shows how to do this. +(note: even though this example uses ethereum:mainnet, you can use any of the L2 networks mentioned above, as they all have these config properties).

+
ethereum:
+  mainnet:
+    # Ethereum mainnet in Ape uses EIP-1559 by default,
+    # but we can change that here. Note: most plugins
+    # use type 0 by default already, so you don't need
+    # to change this if using an `ape-<l2>` plugin.
+    default_transaction_type: 0
+
+    # The amount of time to wait for a transaction to be
+    # accepted after sending it before raising an error.
+    # Most networks use 120 seconds (2 minutes).
+    transaction_acceptance_timeout: 60
+
+    # The amount of times to retry fetching a receipt. This is useful
+    # because decentralized systems may show the transaction accepted
+    # on some nodes but not on others, and potentially RPC requests
+    # won't return a receipt immediately after sending its transaction.
+    # This config accounts for such delay. The default is `20`.
+    max_receipt_retries: 10
+
+    # Set a gas limit here, or use the default of "auto" which
+    # estimates gas. Note: local networks tend to use "max" here
+    # by default.
+    gas_limit: auto
+
+    # Base-fee multipliers are useful for times when the base fee changes
+    # before a transaction is sent but after the base fee was derived,
+    # thus causing rejection. A multiplier reduces the chance of
+    # rejection. The default for live networks is `1.4` times the base fee.
+    base_fee_multiplier: 1.2
+
+    # The block time helps Ape make decisions about
+    # polling chain data.
+    block_time: 10
+
+
+
+
+

Running a Network Process

+

To run a network with a process, use the ape networks run command:

+
ape networks run
+
+
+

By default, ape networks run runs a development Node (geth) process. +To use a different network, such as hardhat or Anvil nodes, use the --network flag:

+
ape networks run --network ethereum:local:foundry
+
+
+
+
+

Provider Interaction

+

Once you are connected to a network, you now have access to a .provider. +The provider class is what higher level Manager classes in Ape use to interface with the blockchain. +You can call methods directly from the provider, like this:

+
from ape import chain
+
+block = chain.provider.get_block("latest")
+
+
+
+
+

Provider Context Manager

+

Use the ProviderContextManager to change the network-context in Python. +When entering a network for the first time, it will connect to that network. +You do not need to call .connect() or .disconnect() manually.

+

For example, if you are using a script with a default network connection, you can change connection in the middle of the script by using the provider context manager:

+
from ape import chain, networks
+
+def main():
+    start_provider = chain.provider.name
+    with networks.ethereum.mainnet.use_provider("node") as provider:
+        # We are using a different provider than the one we started with.
+        assert start_provider != provider.name
+
+
+

Jump between networks to simulate multi-chain behavior.

+
import click
+from ape import networks
+
+@click.command()
+def cli():
+    with networks.polygon.mainnet.use_provider("node"):
+        ...
+    with networks.ethereum.mainnet.use_provider("node"):
+        ...
+
+
+

The argument to use_provider() is the name of the provider you want to use. +You can also tell Ape to use the default provider by calling method use_default_provider() instead. +This will use whatever provider is set as default for your ecosystem / network combination (via one of your ape-config.yaml files).

+

For example, let’s say I have a default provider set like this:

+
arbitrum:
+  mainnet:
+    default_provider: alchemy
+
+
+
import ape
+
+# Use the provider configured as the default for the arbitrum::mainnet network.
+# In this case, it will use the "alchemy" provider.
+with ape.networks.arbitrum.mainnet.use_default_provider():
+    ...
+
+
+

You can also use the parse_network_choice() method when working with network choice strings:

+
from ape import networks
+
+# Same as doing `networks.ethereum.local.use_provider("test")`.
+with networks.parse_network_choice("ethereum:local:test") as provider:
+    print(provider)
+
+
+

A note about disconnect: Providers do not disconnect until the very end of your Python session. +This is so you can easily switch network contexts in a bridge or multi-chain environment, which happens in fixtures and other sessions out of Ape’s control. +However, sometimes you may definitely want your temporary network session to end before continuing, in which case you can use the disconnect_after=True kwarg:

+
from ape import networks
+
+with networks.parse_network_choice("ethereum:local:foundry", disconnect_after=True) as provider:
+    print(provider)
+
+
+
+

Forked Context

+

Using the networks.fork() method, you can achieve similar effects to using a forked network with disconnect_after=True. +For example, let’s say we are running the following script on the network ethereum:mainnet. +We can switch to a forked network by doing this:

+
from ape import networks
+
+def main():
+    with networks.fork(provider_name="foundry"):
+        ...
+        # Do stuff on a local, forked version of mainnet
+
+    # Switch back to mainnet.
+
+
+

Learn more about forking networks in the forked-networks guide.

+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/projects.html b/v0.8.20/userguides/projects.html new file mode 100644 index 0000000000..a280f6a28f --- /dev/null +++ b/v0.8.20/userguides/projects.html @@ -0,0 +1,286 @@ + + + + + Developing Projects with Ape - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Developing Projects with Ape

+

Use ape init to create your project. +A common project structure looks like this:

+
project                             # The root project directory
+├── contracts/                      # Project source files, such as '.sol' or '.vy' files
+│   └── smart_contract_example.sol  # Sample of a smart contract
+├── tests/                          # Project tests, ran using the 'ape test' command
+│   └── test_sample.py              # Sample of a test to run against your sample contract
+├── scripts/                        # Project scripts, such as deploy scripts, ran using the 'ape run   <`name>' command
+│   └── deploy.py                   # Sample script to automate a deployment of an ape project
+└── ape-config.yaml                 # The ape project configuration file
+
+
+

Notice that you can configure you ape project using the ape-config.yaml file. +See the configuration guide for a more detailed explanation of settings you can adjust.

+
+

The Local Project

+

After you have a local project and you are in the directory of that project, the global project reference in Ape will refer to this project. +You can see this by typing project in the ape console:

+
In [1]: project
+Out[1]: <ProjectManager ~/ApeProjects/ape-demo-project>
+
+
+

In this case, my terminal’s current working directory is the same as a local project named ape-demo-project.

+
+
+

Other Projects

+

You can reference other local projects on your computer by using the Project factory class (notice the capital P):

+
from ape import Project
+
+my_other_project = Project("../path/to/my/other/project")
+_ = my_other_project.MyContract  # Do anything you can do to the root-level project.
+
+
+
+
+

Project Manifests

+

Ape stores and caches artifacts in an EthPM package manifest. +When working with local projects, the manifests get placed in the <project-path>/.build/__local__.json. +However, you may obtain a manifest from a different location. +If that is the case, you can create a project directly from the manifest itself:

+
from ape import Project
+
+# Pass in a manifest (object or dictionary), or a path to a manifest's JSON file.
+project = Project.from_manifest("path/to/manifest.json")
+_ = project.MyContract  # Do anything you can do to the root-level project.
+
+
+
+
+

Installed Python Projects

+

If you have installed a project using pip or alike and you wish to reference its project, use the Project.from_python_library() class method.

+
from ape import Project
+
+snekmate = Project.from_python_library("snekmate", config_override={"contracts_folder": "."})
+
+
+
+
+

Dependencies

+

Use other projects as dependencies in Ape. +There is an extensive guide you can read on this here. +But it is important to note that the dependency system largely is dependent on the project system. +Dependencies are just projects after all; projects containing source files you both use in your projects or compile independently.

+

For example, access a dependency project and treat it like any other project this way:

+
from ape import project
+
+dependency = project.dependencies.get_dependency("my-dependency", "1.0.0")
+contract_type = dependency.project.ContractFromDependency
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/proxy.html b/v0.8.20/userguides/proxy.html new file mode 100644 index 0000000000..9daaed57be --- /dev/null +++ b/v0.8.20/userguides/proxy.html @@ -0,0 +1,270 @@ + + + + + Proxy Contracts - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Proxy Contracts

+

Ape is able to detect proxy contracts so that it uses the target interface when interacting with a contract. +The following proxies are supporting in ape-ethereum:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Proxy Type

Short Description

Minimal

EIP-1167

Standard

EIP-1967

Beacon

EIP-1967

UUPS

EIP-1822

Vyper

vyper <0.2.9 create_forwarder_to

Clones

0xsplits clones

Safe

Formerly Gnosis Safe

OpenZeppelin

OZ Upgradable

Delegate

EIP-897

ZeroAge

A minimal proxy

SoladyPush0

Uses PUSH0

+
+

Proxy detection occurs when attempting to retrieve contract types in Ape. +Ape uses various sources to find contract types, such as explorer APIs. +See this guide to learn more about initializing contracts.

+
from ape import Contract
+
+my_contract = Contract("0x...")
+
+
+

Ape will check the address you give it and detect if hosts a proxy contract. +In the case where it determines the address is a proxy contract, it resolves the address of the implementation (every proxy is different) and returns the interface for the implementation contract. +This allows you to still call methods as you normally do on proxy contracts.

+
# `my_contract` address points to a proxy with no methods in the interface
+# However, Ape detected the implementation type and can find methods to call that way.
+my_contract.my_method(sender=account)
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/publishing.html b/v0.8.20/userguides/publishing.html new file mode 100644 index 0000000000..b612c8c838 --- /dev/null +++ b/v0.8.20/userguides/publishing.html @@ -0,0 +1,262 @@ + + + + + Publishing - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Publishing

+

Publishing smart-contract packages using Ape is influenced from EIP-2678 and uses the ethpm-types Python package extensively (which is also managed by the ApeWorX organization). +This guide exists to walk through the steps of publishing your project.

+
+

Compilation

+

First, your project must compile.

+
ape compile
+
+
+

To learn more about project compilation, follow this guide. +Once your project has successfully compiled, you will have the start of your PackageManifest generated in your project’s .build/ directory.

+
+
+

Tracking Deployments

+

If your project contains deployments that you wish to include in its package manifest, use the project.deployments.track method. +Example:

+
from ape import accounts, project
+
+account = accounts.load("mainnet-account")
+
+# Assume your project has a contract named 'MyContract' with constructor that accepts argument '123'.
+contract = project.MyContract.deploy(123, sender=account)
+project.deployments.track(contract)
+
+
+

If the contract is already deployed, you can use Contract to get a contract instance:

+
from ape import Contract, project
+
+contract = Contract("0x12c17f958d2ee523a2206206994597c13d831e34")
+project.deployments.track(contract)
+
+
+

For more information on accessing contract instances, follow this guide.

+
+
+

Publishing to Explorer

+

If you want to publish your contracts to an explorer, you can use the publish_contract on the ExplorerAPI.

+
from ape import networks
+
+networks.provider.network.explorer.publish_contract("0x123...")
+
+
+

If you want to automatically publish the source code upon deployment, you can use the publish= kwarg on the deploy methods:

+
from ape import accounts, project
+
+account = accounts.load("<ALIAS>")
+account.deploy(project.MyContract, publish=True)
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/quickstart.html b/v0.8.20/userguides/quickstart.html new file mode 100644 index 0000000000..75a5e579b2 --- /dev/null +++ b/v0.8.20/userguides/quickstart.html @@ -0,0 +1,334 @@ + + + + + Overview - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+

Pypi.org +Apache licensed +Build Status +Discord chat +Twitter

+
+

Overview

+

Ape Framework is an easy-to-use Web3 development tool. +Users can compile, test, and interact with smart contracts all in one command line session. +With our modular plugin system, Ape supports multiple contract languages and chains.

+

Ape is built by ApeWorX LTD.

+

Join our ApeWorX Discord server to stay up to date on new releases, plugins, and tutorials.

+

If you want to get started now, see the Quickstart section.

+
+

Documentation

+

Read our technical documentation to get a deeper understanding of our open source Framework.

+

Read our academic platform will help you master Ape Framework with tutorials and challenges.

+
+
+

Prerequisite

+

In the latest release, Ape requires:

+
    +
  • Linux or macOS

  • +
  • Python 3.9 up to 3.12

  • +
  • Windows: Install Windows Subsystem Linux (WSL)

  • +
+

Check your python version in a terminal with python3 --version.

+
+
+

Installation

+

There are three ways to install ape: pipx, pip, or Docker.

+
+

Considerations for Installing

+
    +
  • If using pip, we advise using the most up-to-date version of pip to increase the chance of a successful installation.

    +
      +
    • See issue https://github.com/ApeWorX/ape/issues/1558.

    • +
    • To upgrade pip from the command line, run: pip install --upgrade pip.

    • +
    +
  • +
  • We advise installing in a virtualenv or venv to avoid interfering with OS-level site packages.

  • +
  • We advise installing ape with recommended plugins pip install eth-ape'[recommended-plugins]'.

  • +
  • We advise for macOS users to install virtual env via homebrew.

  • +
+
+
+

Installing with pipx or pip

+
    +
  1. Install pipx via their installation instructions or pip via their installation instructions.

  2. +
  3. Install ape via pipx install eth-ape or pip install eth-ape.

  4. +
+
+
+

Installing with docker

+

Ape can also run in a docker container.

+

You can pull our images from ghcr. +This image is built using our recommended-plugins extra, so it is a great starting point for running ape in a containerized environment.

+

We also have a slim docker image that is built without any installed plugins. +This image is meant for production support and must be further configured if any plugins are in use.

+

You can pull the image:

+
$ docker pull ghcr.io/apeworx/ape:latest  # installs with recommended-plugins
+
+
+

or pull the slim if you have specific needs that you’d like to build from:

+
$ docker pull ghcr.io/apeworx/ape:latest-slim  # installs ape with required packages
+
+
+

or build the image locally from source:

+
$ docker build -t ape:latest-slim -f Dockerfile.slim .
+$ docker build -t ape:latest .
+
+
+

An example of running a command from the container would be:

+
docker run \
+  --volume $HOME/.ape:/home/harambe/.ape \
+  --volume $HOME/.vvm:/home/harambe/.vvm \
+  --volume $HOME/.solcx:/home/harambe/.solcx \
+  --volume $PWD:/home/harambe/project \
+  apeworx/ape compile
+
+
+
+

Note: +The above command requires the full install which includes recommended-plugins installation extra.

+
+
+
+
+

Quickstart

+

After you have installed Ape, run ape --version to verify the installation was successful.

+

Interact with Ape using either the CLI or Python code.

+

See the following user-guides for more in-depth tutorials:

+ +
+
+

Plugin System

+

Ape’s modular plugin system allows users to have an interoperable experience with Web3.

+ +
+

Note

+

If a plugin does not originate from the ApeWorX GitHub Organization, you will get a warning about installing 3rd-party plugins. +Install 3rd party plugins at your own risk.

+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/reverts.html b/v0.8.20/userguides/reverts.html new file mode 100644 index 0000000000..2c56fa26cc --- /dev/null +++ b/v0.8.20/userguides/reverts.html @@ -0,0 +1,324 @@ + + + + + Reverts - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Reverts

+

Reverts occur when a transaction or call fails for any reason. +In the case of EVM networks, reverts result in funds being returned to the sender (besides network-fees) and contract state changes unwinding. +Typically, in smart-contracts, user-defined reverts occur from assert statements in Vyper and require statements in Solidity.

+

Here is a Vyper example of an assert statement:

+
assert msg.sender == self.owner, "!authorized"
+
+
+

The string "!authorized" after the assertion is the revert-message that gets forwarded to the user.

+

In solidity, a require statement looks like:

+
require(msg.sender == owner, "!authorized");
+
+
+

In Ape, reverts automatically become Python exceptions. +When interacting with a contract and encountering a revert, your program will crash and you will see a stacktrace showing you where the revert occurred. +For example, assume you have contract instance variable contract with a Vyper method called setNumber(), and it reverts when the user is not the owner of the contract. +Calling it may look like:

+
receipt = contract.setNumber(123, sender=not_owner)
+
+
+

And when it fails, Ape shows a stacktrace like this:

+
  File "$HOME/ApeProjects/ape-project/scripts/fail.py", line 8, in main
+    receipt = contract.setNumber(5, sender=not_owner)
+              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "$HOME/ApeProjects/ape-project/contracts/VyperContract.vy", line 98, in 
+setNumber
+    assert msg.sender == self.owner, "!authorized"
+    ^^^^^^^^^^^^^^^^^^^^^^^
+
+ERROR: (ContractLogicError) !authorized
+
+
+

One way to handle exceptions is to simply use try: / except: blocks:

+
from ape.exceptions import ContractLogicError
+
+try:
+    receipt = contract.setNumber(123, sender=not_owner)
+except ContractLogicError as err:
+    receipt = None
+    print(f"The transaction failed: {err}")
+# continue on!
+
+
+

If you wish to allow reverts without having Ape raise exceptions, use the raise_on_revert=False flag:

+
>>> receipt = contract.setNumber(123, sender=not_owner, raise_on_revert=False)
+>>> receipt.failed
+True
+>>> receipt.error
+ContractLogicError('!authorized')
+
+
+
+

Dev Messages

+

Dev messages allow smart-contract authors to save gas by avoiding revert-messages. +If you are using a provider that supports tracing features and a compiler that can detect dev messages, and you encounter a revert without a revert-message but it has a dev-message, Ape will show the dev-message:

+
assert msg.sender == self.owner  # dev: !authorized"
+
+
+

And you will see a similar stacktrace as if you had used a revert-message.

+

In Solidity, it might look like this:

+
require(msg.sender == owner);  // @dev !authorized
+
+
+
+
+

Custom Errors

+

As of Solidity 0.8.4, custom errors have been introduced to the ABI. +In Ape, custom errors are available on contract-instances. +For example, if you have a contract like:

+
// SPDX-License-Identifier: GPL-3.0
+pragma solidity ^0.8.4;
+
+error Unauthorized(address unauth_address);
+
+contract MyContract {
+    address payable owner = payable(msg.sender);
+    function withdraw() public {
+        if (msg.sender != owner)
+            revert Unauthorized(msg.sender);
+        owner.transfer(address(this).balance);
+    }
+}
+
+
+

And if you have an instance of this contract assigned to variable contract, you can reference the custom exception by doing:

+
contract.Unauthorized
+
+
+

When invoking withdraw() with an unauthorized account using Ape, you will get an exception similar to those from require() statements, a subclass of ContractLogicError:

+
contract.withdraw(sender=hacker)  # assuming 'hacker' refers to the account without authorization.
+
+
+
+
+

Built-in Errors

+

Besides user-defined ContractLogicErrors, there are also builtin-errors from compilers, such as bounds-checking of arrays or paying a non-payable method, etc. +These are also ContractLogicError sub-classes. +Sometimes, compiler plugins such as ape-vyper or ape-solidity export these error classes for you to use.

+
from ape import accounts, Contract
+from ape_vyper.exceptions import FallbackNotDefinedError
+
+my_contract = Contract("0x...")
+account = accounts.load("test-account")
+
+try:
+    my_contract(sender=account)
+except FallbackNotDefinedError:
+    print("fallback not defined")
+
+
+

Next, learn how to test your contracts’ errors using the ape.reverts context-manager in the testing guide.

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/scripts.html b/v0.8.20/userguides/scripts.html new file mode 100644 index 0000000000..6e6cd02638 --- /dev/null +++ b/v0.8.20/userguides/scripts.html @@ -0,0 +1,343 @@ + + + + + Scripting - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Scripting

+

You can write scripts that run using the ape run command. +The ape run command will register and run Python files defined under the scripts/ directory that do not start with an _ underscore.

+
+

CLI Scripts

+

Place scripts in your project’s scripts/ directory. +Follow this guide to learn more about the Ape project structure. +If your scripts take advantage of utilities from our ape.cli submodule, you can build a Click command line interface by defining a click.Command or click.Group object called cli in your file: +Follow this guide to learn more about what you can do with the utilities found in ape.cli.

+
import click
+
+@click.command()
+def cli():
+    print("Hello world!")
+
+
+

Assume we named the script helloworld.py. +To execute the script, run the following:

+
ape run helloworld
+
+
+

You can also execute scripts in subdirectories. +For example, assuming we have script <project>/scripts/hello/helloworld.py, we would execute it by running:

+
ape run hello helloworld
+
+
+
+

Note

+

By default, cli scripts do not have ape.cli.network_option installed, giving you more flexibility in how you define your scripts.

+
+

However, you can add the network_option or ConnectedProviderCommand to your scripts by importing them from the ape.cli namespace:

+
import click
+from ape.cli import ConnectedProviderCommand
+
+
+@click.command(cls=ConnectedProviderCommand)
+def cli(ecosystem, network):
+    click.echo(f"You selected a provider on ecosystem '{ecosystem.name}' and {network.name}.")
+
+@click.command(cls=ConnectedProviderCommand)
+def cli(network, provider):
+    click.echo(f"You are connected to network '{network.name}'.")
+    click.echo(provider.chain_id)
+
+@click.command(cls=ConnectedProviderCommand)
+def cli_2():
+    click.echo(f"Using any network-based argument is completely optional.")
+
+
+

Assume we saved this script as shownet.py and have the ape-alchemy plugin installed. +Try changing the network using the --network option:

+
ape run shownet --network ethereum:mainnet:alchemy
+
+
+
+

Multi-network Scripting

+

Because CLI-based scripts do not automatically connect to the provider before executing, they are ideal for multi-chain use-cases because they allow you to delay and manage the connection(s). +To learn more about how to control the network-context in Ape Pythonically, see this guide.

+

Here is an example of a multi-chain script:

+
import click
+from ape.cli import ape_cli_context
+
+@click.command()
+@ape_cli_context()
+def cli(cli_ctx):
+    # There is no connection yet at this point.
+    testnets = {
+        "ethereum": ["sepolia"],
+        "polygon": ["amoy"]
+    }
+    nm = cli_ctx.network_manager
+
+    for ecosystem_name, networks in testnets.items():
+        ecosystem = nm.ecosystems[ecosystem_name]
+
+        for network_name in networks:
+            # Start making connections.
+            network = ecosystem.get_network(network_name)
+
+            with network.use_provider("alchemy") as provider:
+                print(f"Connected to {provider.network_choice}")
+
+
+

Things to notice:

+
    +
  1. It uses the CLI approach without cls=ConnectedProviderCommand; thus it is not connected before it makes the first call to .use_provider("alchemy").

  2. +
  3. It uses the @ape_cli_context() decorator to get access to Ape instances such as the network_manager.

  4. +
  5. Each network is only active during the context, thus allowing you to switch contexts and control chain-hopping in scripts.

  6. +
  7. You do not need to call .connect() on the provider yourself!

  8. +
+
+
+
+

Main Method Scripts

+

You can also use the main-method approach when defining scripts. +To do this, define a method named main() in your script:

+
def main():
+    print("Hello world!")
+
+
+
+

Note

+

main-method scripts will always provide a --network option and run in a connected-context. +Therefore, they are not ideal for multi-chain scripts. +main-method scripts work best for quick, single-network, connection-based workflows.

+
+

To demonstrate, use the following script:

+
from ape import networks
+import click
+
+def main():
+    ecosystem_name = networks.provider.network.ecosystem.name
+    network_name = networks.provider.network.name
+    provider_name = networks.provider.name
+    click.echo(f"You are connected to network '{ecosystem_name}:{network_name}:{provider_name}'.")
+
+
+

Suppose the name of the script is foobar, you can run it via:

+
ape run foobar
+
+
+

Without specifying --network, the script with connect to your default network. +Else, specify the network using the --network flag:

+
ape run foobar --network polygon:amoy:alchemy
+
+
+

You can also change networks within the script using the ProviderContextManager (see examples in the CLI-script section above). +For multi-chain use-cases, we recommend sticking to the CLI based scripts to avoid the initial connection main-method scripts make.

+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/testing.html b/v0.8.20/userguides/testing.html new file mode 100644 index 0000000000..7a892afc39 --- /dev/null +++ b/v0.8.20/userguides/testing.html @@ -0,0 +1,875 @@ + + + + + Testing - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Testing

+

Testing an ape project is important and easy.

+
+

Pytest

+

Before learning how testing works in Ape, you should have an understanding of the pytest framework and its concepts such as fixtures, mark-decorators, and pytest plugins such as x-dist, pytest-mock, and pytest-cov. +Once you have learned about pytest, Ape testing becomes intuitive because it is built on top of pytest. +In fact, ape-test is itself a pytest plugin!

+

You write your smart-contracts much like you write regular Python tests.

+
+
+

Test Structure

+

Tests must be located in a project’s tests/ directory. Each test file must start with test_ and have the .py extension, such as test_my_contract.py. +Each test method within the file must also start with test_. +The following is an example test:

+
def test_add():
+    assert 1 + 1 == 2
+
+
+
+

Note

+

pytest assumes the actual value is on the left and the expected value is on the right.

+
+
+
+

Test Pattern

+

Tests are generally divisible into three parts:

+
    +
  1. Set-up

  2. +
  3. Invocation

  4. +
  5. Assertion

  6. +
+

An example of the setup-phase would be creating a pytest.fixture that deploys our smart contract. +(To learn more about pytest fixtures in Ape, see the Fixtures section below!) +For now, what you need to know is that it’s a piece of code that executes before the test runs, and it is decorated with a @pytest.fixture.

+

The second phase is Invocation, which encompasses invoking the function we are testing. +The last phase, Assertion, requires enacting on the expectation about how the code should behave. +Let’s assume there is an authorized_method() that requires the owner of the contract to make the transaction. +If the sender of the transaction is not the owner, the transaction will fail to complete and will revert. +We use assert statements in Ape (and pytest) to check that our expectations are correct. +A test passes if all the assert statements are True and it fails if any are False.

+

This is an example of how that test may look:

+
import ape
+import pytest
+
+# SETUP PHASE
+# NOTE: More on fixtures is discussed in later sections of this guide!
+@pytest.fixture
+def owner(accounts):
+    return accounts[0]
+
+@pytest.fixture
+def my_contract(owner, project):
+    return owner.deploy(project.MyContract)
+
+def test_authorization(my_contract, owner, not_owner):
+    # INVOCATION PHASE
+    my_contract.set_owner(sender=owner)
+    assert owner == my_contract.owner()
+
+    # ASSERTION PHASE
+    with ape.reverts("!authorized"):
+        my_contract.authorized_method(sender=not_owner)
+
+
+
+

Note

+

Ape has built-in test and fixture isolation for all pytest scopes. +To disable isolation add the --disable-isolation flag when running ape test

+
+
+
+

Fixtures

+

Now that we have discussed the full flow of a test, let’s dive deeper into the specific parts, starting with pytest.fixtures.

+

You can define and use pytest fixtures in your Ape tests. +Learn more about fixtures from this guide. +The syntax and functionalities of fixtures work exactly the same in Ape as it does with pytest.

+

The ape-test plugin comes with fixtures you will likely want to use. +The following guide explains each fixture that comes with Ape.

+
+

accounts fixture

+

You have access to test accounts. +These accounts are automatically funded, and you can use them to transact in your tests. +Access each test account by index from the accounts fixture:

+
def test_my_method(accounts):
+    owner = accounts[0]
+    receiver = accounts[1]
+
+
+

For code readability and sustainability, create your own fixtures using the accounts fixture:

+
import pytest
+
+@pytest.fixture
+def owner(accounts):
+    return accounts[0]
+
+
+@pytest.fixture
+def receiver(accounts):
+    return accounts[1]
+
+
+def test_my_method(owner, receiver):
+    ...
+
+
+

You can configure your accounts by changing the mnemonic, number_of_accounts, and balance in the test section of your ape-config.yaml file:

+
test:
+  mnemonic: test test test test test test test test test test test junk
+  number_of_accounts: 5
+  balance: 100_000 ETH
+
+
+

If you are running tests against anvil, your generated test accounts may not correspond to the anvil’s default generated accounts despite using the same mnemonic. In such a case, you are able to specify a custom derivation path in ape-config.yaml:

+
test:
+  mnemonic: test test test test test test test test test test test junk
+  number_of_accounts: 5
+  hd_path: "m/44'/60'/0'/0/{}"
+
+
+

If you are using a provider that supports impersonating accounts, such as Foundry, use the address as the key in the test-accounts manager:

+
@pytest.fixture
+def vitalik(accounts):
+    return accounts["0xab5801a7d398351b8be11c439e05c5b3259aec9b"]
+
+
+

You can also call accounts.impersonate_account() for improved readability and performance.

+
@pytest.fixture
+def vitalik(accounts):
+    return accounts.impersonate_account("0xab5801a7d398351b8be11c439e05c5b3259aec9b")
+
+
+

Using a fork-provider such as Hardhat, when using a contract instance as the sender in a transaction, it will be automatically impersonated:

+
def test_my_method(project, accounts):
+    contract = project.MyContract.deploy(sender=accounts[0])
+    other_contract = project.OtherContract.deploy(sender=accounts[0])
+    contract.my_method(sender=other_contract)
+
+
+

It has the same interface as the TestAccountManager, (same as doing accounts.test_accounts in a script or the console).

+
+
+

chain fixture

+

Use the chain fixture to access the connected provider or adjust blockchain settings.

+

For example, increase the pending timestamp:

+
def test_in_future(chain):
+    chain.pending_timestamp += 86000
+    assert "Something"
+    chain.pending_timestamp += 86000
+    assert "Something else"
+
+
+

It has the same interface as the ChainManager.

+
+
+

networks fixture

+

Use the networks fixture to change the active provider in tests.

+
def test_multi_chain(networks):
+    assert "Something"  # Make assertion in root network
+
+    # NOTE: Assume have ecosystem named "foo" with network "local" and provider "bar"
+    with networks.foo.local.use_provider("bar"):
+        assert "Something else"
+
+
+

It has the same interface as the NetworkManager.

+
+
+

project fixture

+

You also have access to the project you are testing. You will need this to deploy your contracts in your tests.

+
import pytest
+
+
+@pytest.fixture
+def owner(accounts):
+    return accounts[0]
+
+
+@pytest.fixture
+def my_contract(project, owner):
+    #           ^ use the 'project' fixture from the 'ape-test' plugin
+    return owner.deploy(project.MyContract)
+
+
+

It has the same interface as the ProjectManager.

+
+
+

Contract fixture

+

Use the Contract fixture to create contract instances:

+
@pytest.fixture
+def my_contract(Contract):
+    return Contract(<address>)
+
+
+

It has the same interface as the ChainManager.

+
+
+
+

Ape testing commands

+
ape test
+
+
+

To run a particular test:

+
ape test test_my_contract
+
+
+

Use ape test -I to open the interactive mode at the point of exception. This allows the user to inspect the point of failure in your tests.

+
ape test test_my_contract -I -s
+
+
+
+
+

Test Providers

+

Out-of-the-box, your tests run using the eth-tester provider, which comes bundled with ape. +If you have Ethereum node software installed, you can use the ape-node plugin that also comes with ape.

+
ape test --network ethereum:local:node
+
+
+

Each testing plugin should work the same way. You will have access to the same test accounts.

+

Another option for testing providers is the ape-hardhat plugin, which does not come with ape but can be installed by including it in the plugins list in your ape-config.yaml file or manually installing it using the command:

+
ape plugins install hardhat
+
+
+
+

Mining

+

Test providers allow you to control mining. +For example, mine an empty block using the mine method:

+
from ape import chain
+
+chain.provider.mine()
+
+
+

You can also pass it a number of blocks to mine:

+
from ape import chain
+
+chain.provider.mine(5)
+
+
+

By default, testing providers automatically mine after sending transactions. +However, you can disable this feature by setting the property.

+
from ape import chain
+
+chain.provider.auto_mine = False
+# You can also re-enable
+chain.provider.auto_mine = True
+
+
+
+
+
+

Advanced Testing Tips

+

If you want to use sample projects, follow this link to Ape Academy.

+
project                     # The root project directory
+└── tests/                  # Project tests folder, ran using the 'ape test' command to run all tests within the folder.
+    └── conftest.py         # A file to define global variable for testing
+    └── test_accounts.py    # A test file, if you want to ONLY run one test file you can use 'ape test test_accounts.py' command
+    └── test_mint.py        # A test file
+
+
+

Here is an example of a test function from a sample NFT project

+
def test_account_balance(project, owner, receiver, nft):
+    quantity = 1
+    nft.mint(receiver, quantity, ["0"], value=nft.PRICE() * quantity, sender=owner)
+    actual = project.balanceOf(receiver)
+    expect = quantity
+    assert actual == expect
+
+
+
+
+

Testing Transaction Reverts

+

Similar to pytest.raises(), you can use ape.reverts() to assert that contract transactions fail and revert. +To learn more about reverts in Ape, see the reverts guide.

+

From our earlier example we can see this in action:

+
import ape
+
+def test_authorization(my_contract, owner, not_owner):
+    my_contract.set_owner(sender=owner)
+    assert owner == my_contract.owner()
+
+    with ape.reverts("!authorized"):
+        my_contract.authorized_method(sender=not_owner)
+
+
+

reverts() takes two optional parameters:

+
+

expected_message

+

This is the expected revert reason given when the transaction fails. +If the message in the ContractLogicError raised by the transaction failure is empty or does not match the expected_message, then ape.reverts() will raise an AssertionError.

+

You may also supply an re.Pattern object to assert on a message pattern, rather than on an exact match.

+
import ape
+import re
+
+# Matches explicitly "foo" or "bar"
+with ape.reverts(re.compile(r"^(foo|bar)$")):
+    ...
+
+
+
+
+

dev_message

+

This is the expected dev message corresponding to the line in the contract’s source code where the error occurred. +These can be helpful in optimizing for gas usage and keeping revert reason strings shorter.

+

Dev messages take the form of a comment in Vyper, and should be placed on the line that may cause a transaction revert:

+
assert x != 0  # dev: invalid value
+
+
+

Take for example:

+
# @version 0.3.7
+
+@external
+def check_value(_value: uint256) -> bool:
+    assert _value != 0  # dev: invalid value
+    return True
+
+
+

We can explicitly cause a transaction revert and check the failed line by supplying an expected dev_message:

+
import ape
+
+def test_authorization(my_contract, owner):
+    with ape.reverts(dev_message="dev: invalid value"):
+        my_contract.check_value(sender=owner)
+
+
+

When the transaction reverts and ContractLogicError is raised, ape.reverts() will check the source contract to see if the failed line contains a message.

+

There are a few scenarios where AssertionError will be raised when using dev_message:

+
    +
  • If the line in the source contract has a different dev message or no dev message

  • +
  • If the contract source cannot be obtained

  • +
  • If the transaction trace cannot be obtained

  • +
+

Because dev_message relies on transaction tracing to function, you must use a provider like ape-hardhat when testing with dev_message.

+

You may also supply an re.Pattern object to assert on a dev message pattern, rather than on an exact match.

+
import ape
+
+# Matches explictly "dev: foo" or "dev: bar"
+with ape.reverts(dev_message=re.compile(r"^dev: (foo|bar)$")):
+    ...
+
+
+
+
+

Caveats

+
+

Language Support

+

As of ape version 0.5.6, dev_messages assertions are available for contracts compiled with ape-vyper, but not for those compiled with ape-solidity or ape-cairo.

+
+
+

Inlining

+

Due to function inlining, the position of the # dev: ... message may sometimes be one line higher than expected:

+
@external
+def foo(_x: decimal) -> decimal:  # dev: correct location
+    return sqrt(_x)  # dev: incorrect location
+
+
+

This typically only applies when trying to add dev messages to statements containing built-in function calls.

+
+
+

Non-reentrant Functions

+

Similarly, if you require dev assertions for non-reentrant functions you must be sure to leave the comment on the function that should not have reentry:

+
@internal
+@nonreentrant('lock')
+def _foo_internal():  # dev: correct location
+    pass
+
+@external
+@nonreentrant('lock')
+def foo():
+    self._foo_internal()  # dev: incorrect location
+
+
+
+
+
+

Custom Errors

+

In your tests, you can make assertions about custom errors raised. +(For more information on custom errors, see reverts guide on custom errors.)

+

For example, assume a custom exception in a Solidity contract (variable contract) is called Unauthorized. +It can be accessed via contract.Unauthorized. +We can ensure unauthorized withdraws are disallowed by writing the following test:

+
import ape
+import pytest
+
+@pytest.fixture
+def owner(accounts):
+    return accounts[0]
+
+@pytest.fixture
+def hacker(accounts):
+    return accounts[1]
+
+@pytest.fixture
+def contract(owner, project):
+    return owner.deploy(project.MyContract)
+
+def test_unauthorized_withdraw(contract, hacker):
+    with ape.reverts(contract.Unauthorized, unauth_address=hacker.address):
+        contract.withdraw(sender=hacker)
+
+
+

You can also use custom error types from the contract container (from ape.project or the project fixture):

+
import ape
+
+def test_unauthorized(contract, hacker, project):
+    with ape.reverts(project.MyContract.Unauthorized, unauth_address=hacker.address):
+        contract.withdraw(sender=hacker)
+
+
+

You may need to use the container approach for asserting on custom errors that occur during failing deploy transactions because you won’t have access to the contract instance yet. +Here is an example of what that may look like:

+
import ape
+
+def test_error_on_deploy(account, project):
+    with ape.reverts(project.Token.MyCustomError):
+        ape.project.HasError.deploy(sender=account)
+
+
+

Alternatively, you can attempt to use the address from the revert error to find the error type.

+
+

Note

+

The address will only exist for transactions that were published (e.g. not for failures during estimating gas), and this may only work on certain providers.

+
+
import ape
+
+def test_error_on_deploy(account):
+    # NOTE: We are using `as rev` here to capture the revert info
+    # so we can attempt to lookup the contract later.
+    with ape.reverts() as rev:
+        ape.project.HasError.deploy(sender=account)
+    
+    assert rev.value.address is not None, "Receipt never found, contract never cached"
+    
+    # Grab the cached instance using the error's address
+    # and assert the custom error this way.
+    contract = ape.Contract(rev.value.address)
+    assert isinstance(rev.value, contract.MyError)
+
+
+
+
+
+

Multi-chain Testing

+

The Ape framework supports connecting to alternative networks / providers in tests.

+

To run an entire test using a specific network / provider combination, use the use_network pytest marker:

+
import pytest
+
+@pytest.mark.use_network("fantom:local:test")
+def test_my_fantom_test(chain):
+    assert chain.provider.network.ecosystem.name == "fantom"
+
+@pytest.mark.use_network("ethereum:local:test")
+def test_my_ethereum_test(chain):
+    assert chain.provider.network.ecosystem.name == "ethereum"
+
+
+

To switch networks mid-test, use the networks context-manager:

+
# Switch to Fantom mid test
+def test_my_multichain_test(networks):
+    # The test starts in 1 ecosystem but switches to another
+    assert networks.provider.network.ecosystem.name == "ethereum"
+
+    with networks.fantom.local.use_provider("test") as provider:
+        assert provider.network.ecosystem.name == "fantom"
+
+    # You can also use the context manager like this:
+    with networks.parse_network_choice("fantom:local:test") as provider:
+       assert provider.network.ecosystem.name == "fantom"
+
+
+

You can also set the network context in a pytest fixture. +This is useful if certain fixtures must run in certain networks.

+
import pytest
+
+@pytest.fixture
+def stark_contract(networks, project):
+    with networks.parse_network_choice("starknet:local"):
+        yield project.MyStarknetContract.deploy()
+
+def test_starknet_thing(stark_contract, stark_account):
+    # Uses the starknet connection via the stark_contract fixture
+    receipt = stark_contract.my_method(sender=stark_account)
+    assert not receipt.failed
+
+
+

When you exit a provider’s context, Ape does not disconnect the provider. +When you re-enter that provider’s context, Ape uses the previously-connected provider. +At the end of the tests, Ape disconnects all the providers. +Thus, you can enter and exit a provider’s context as much as you need in tests.

+
+
+

Gas Reporting

+

To include a gas report at the end of your tests, you can use the --gas flag.

+
+

Note

+

This feature works best when using a provider with tracing support, such as ape-foundry. +When not using a provider with adequate tracing support, such as EthTester, gas reporting is limited to receipt-level data.

+
+
ape test --network ethereum:local:foundry --gas
+
+
+

At the end of test suite, you will see tables such as:

+
                            FundMe Gas
+
+  Method           Times called    Min.    Max.    Mean   Median
+ ────────────────────────────────────────────────────────────────
+  fund                        8   57198   91398   82848    91398
+  withdraw                    2   28307   38679   33493    33493
+  changeOnStatus              2   23827   45739   34783    34783
+  getSecret                   1   24564   24564   24564    24564
+
+                     TestContract Gas
+
+  Method      Times called    Min.    Max.    Mean   Median
+ ───────────────────────────────────────────────────────────
+  setNumber              1   51021   51021   51021    51021
+
+
+

The following demonstrates how to use the ape-config.yaml file to exclude contracts and / or methods from the gas report:

+
test:
+  gas:
+    exclude:
+      - method_name: DEBUG_*         # Exclude all methods starting with `DEBUG_`.
+      - contract_name: MockToken     # Exclude all methods in contract named `MockToken`.
+      - contract_name: PoolContract  # Exclude methods starting with `reset_` in `PoolContract`.
+        method_name: reset_*
+
+
+

Similarly, you can exclude sources via the CLI option --gas-exclude. +The value --gas-exclude takes is a comma-separated list of colon-separated values representing the structure similar as above, except you must explicitly use * where meaning “all”. +For example to exclude all methods starting with DEBUG_, you would do:

+
ape test --gas --gas-exclude "*:DEBUG_*".
+
+
+

To exclude all methods in the MockToken contract, do:

+
ape test --gas --gas-exclude MockToken
+
+
+

And finally, to exclude all methods starting with reset_ in PoolContract, do:

+
ape test --gas --gas-exclude "PoolContract:reset_*"
+
+
+
+
+

Iterative Testing

+

Ape has a set of flags that controls running your test suite locally in a “watch” mode, +which means watching for updates to files in your project and re-triggering the test suite.

+

To enable this mode, run ape test --watch to set up this mode using the default settings. +While in this mode, any time a .py file (i.e. your tests) or smart contract source file +(i.e. any files that get compiled using your installed compiler plugins) is added, removed, +or changed, then the ape test task will be re-triggered, based on a polling interval.

+

To exit this mode, press Ctrl+D (on Linux or macOS) to stop the execution and undo it.

+
+
+

Contract Coverage

+

To get contract coverage, use the --coverage flag when running ape test:

+
ape test --coverage
+
+
+
+

Note

+

Some types of coverage require using a provider that supports transaction tracing, such as ape-hardhat or ape-foundry.

+
+

Without using a provider with adequate tracing support, coverage is limited to receipt-level data.

+

Afterwards, you should see a coverage report looking something like:

+
============================================= Coverage Profile =============================================
+               Contract Coverage               
+                                               
+  Name          Stmts   Miss   Cover    Funcs  
+ ───────────────────────────────────────────── 
+  Contract.vy   7       1      85.71%   80.0% 
+
+
+

To generate other coverage reports such as XML or HTML, configure it like so:

+
test:
+  coverage:
+    reports:
+      terminal: False  # Disable the terminal table (True by default)
+      xml: True  # Enable XML report (.build/coverage.xml)
+      html: True  # Enable HTML report (.build/htmlcov)
+
+
+

To see a much more verbose coverage report, set the terminal field to a dictionary that includes "verbose": true:

+
test:
+  coverage:
+    reports:
+      terminal:
+        verbose: true  # Show verbose coverage information in the terminal.
+
+
+

Then, you will see table outputs like this:

+
===================================== Coverage Profile ========================================
+                MyContract Coverage
+
+                         Func   Stmts   Miss    Cover
+ ─────────────────────────────────────────────────────
+                  __builtin__       2      0   100.0%
+            _immutable_number       0      0   100.0%
+                      _number       0      0   100.0%
+                 foo_method()       1      0   100.0%
+          foo_method(uint256)       1      0   100.0%
+  foo_method(uint256,uint256)       3      0   100.0%
+                  view_method       1      0   100.0%
+
+           line=0.0%, func=0.0%
+
+
+

This is useful when trying to find the missing areas to cover. +The HTML report also supports verbose: true and it will show similar tables.

+
+

Note

+

You may notice methods with zero statements.

+
+

One example of a method with zero statements may be from an auto-generated getter method for a public variable; certain versions of Vyper do not contain source mappings for these methods. +However, Ape will still check to see if this method has been called in your tests. +To get 100% coverage, you must call these methods in your tests.

+
+

Note

+

Notice some methods use the full selector while others don’t.

+
+

Methods that use the selector mean that their short name is shared with other methods. +This happens in Vyper from auto-generated kwarg-based methods. +Thus, the full selector is used to distinguish the methods in the coverage (and gas) reports.

+

Much like gas reporting, you can also exclude contracts and methods from tracking coverage using your ape-config.yaml file. +The following demonstrates how to do this:

+
test:
+  coverage:
+    exclude:
+      - method_name: DEBUG_*         # Exclude all methods starting with `DEBUG_`.
+      - contract_name: MockToken     # Exclude all methods in contract named `MockToken`.
+      - contract_name: PoolContract  # Exclude methods starting with `reset_` in `PoolContract`.
+        method_name: reset_*
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/trace.html b/v0.8.20/userguides/trace.html new file mode 100644 index 0000000000..710d2ef7b1 --- /dev/null +++ b/v0.8.20/userguides/trace.html @@ -0,0 +1,319 @@ + + + + + Traces - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Traces

+

A transaction’s trace frames are the individual steps the transaction took. +Using traces, Ape is able to offer features like:

+
    +
  1. Showing a pretty call-tree from a transaction receipt

  2. +
  3. Gas reporting in ape test

  4. +
  5. Coverage tools in ape test

  6. +
+

Some network providers, such as Alchemy and Foundry, implement debug_traceTransaction and Parity’s trace_transaction affording tracing capabilities in Ape.

+
+

Warning

+

Without RPCs for obtaining traces, some features such as gas-reporting and coverage are limited.

+
+

To see a transaction trace, use the show_trace() method on a receipt API object.

+

Here is an example using show_trace() in Python code to print out a transaction’s trace.

+
+

Note

+

This code runs assuming you are connected to ethereum:mainnet using a provider with tracing RPCs.

+
+

To learn more about networks in Ape, see the networks guide.

+
from ape import chain
+
+tx = chain.provider.get_receipt('0xb7d7f1d5ce7743e821d3026647df486f517946ef1342a1ae93c96e4a8016eab7')
+
+# Show the steps the transaction took.
+tx.show_trace()
+
+
+

You should see a (less-abridged) trace like:

+
Call trace for '0xb7d7f1d5ce7743e821d3026647df486f517946ef1342a1ae93c96e4a8016eab7'
+tx.origin=0x5668EAd1eDB8E2a4d724C8fb9cB5fFEabEB422dc
+DSProxy.execute(_target=LoanShifterTaker, _data=0x35..0000) -> "" [1421947 gas]
+└── (delegate) LoanShifterTaker.moveLoan(
+      _exchangeData=[
+        0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,
+        ZERO_ADDRESS,
+        
+        ...
+        # Abridged because is super long #
+        ...
+ 
+
+    │                   └── LendingRateOracle.getMarketBorrowRate(_asset=DAI) -> 
+    │                       35000000000000000000000000 [1164 gas]
+    ├── DSProxy.authority() -> DSGuard [1291 gas]
+    ├── DSGuard.forbid(src=LoanShifterReceiver, dst=DSProxy, sig=0x1c..0000) [5253 gas]
+    └── DefisaverLogger.Log(
+          _contract=DSProxy, 
+          _caller=tx.origin, 
+          _logName="LoanShifter", 
+          _data=0x00..0000
+        ) [6057 gas]                                                                              
+
+
+

Similarly, you can use the provider directly to get a trace. +This is useful if you want to interact with the trace or change some parameters for creating the trace.

+
from ape import chain
+
+# Change the `debug_traceTransaction` parameter dictionary
+trace = chain.provider.get_transaction_trace(
+    "0x...", debug_trace_transaction_parameters={"enableMemory": False}
+)
+
+# You can still print the pretty call-trace (as we did in the example above)
+print(trace)
+
+# Interact with low-level logs for deeper analysis.
+struct_logs = trace.get_raw_frames()
+
+
+
+

Tracing Calls

+

Some network providers trace calls in addition to transactions. +EVM-based providers best achieve this by implementing the debug_traceCall RPC.

+

If you want to see the trace of call when making the call, use the show_trace= flag:

+
token.balanceOf(account, show_trace=True)
+
+
+
+

Warning

+

If your provider does not properly support call-tracing (e.g. doesn’t implement debug_traceCall), traces are limited to the top-level call.

+
+

Ape traces calls automatically when using --gas or --coverage in tests to build reports. +Learn more about testing in Ape in the testing guide and in the following sections.

+
+
+

Gas Reports

+

To view the gas report of a transaction receipt, use the ReceiptAPI.show_gas_report() method:

+
from ape import networks
+
+txn_hash = "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d"
+receipt = networks.provider.get_receipt(txn_hash)
+receipt.show_gas_report()
+
+
+

It outputs tables of contracts and methods with gas usages that look like this:

+
                            DAI Gas
+
+  Method           Times called    Min.    Max.    Mean   Median
+ ────────────────────────────────────────────────────────────────
+  balanceOf                   4   1302    13028   1302    1302
+  allowance                   2   1377    1377    1337    1337
+│ approve                     1   22414   22414   22414   22414
+│ burn                        1   11946   11946   11946   11946
+│ mint                        1   25845   25845   25845   25845
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/v0.8.20/userguides/transactions.html b/v0.8.20/userguides/transactions.html new file mode 100644 index 0000000000..5d7df5c9e7 --- /dev/null +++ b/v0.8.20/userguides/transactions.html @@ -0,0 +1,431 @@ + + + + + Transactions - ape documentation + + + + + + + + + + + + +
+
+
+ + + + ape + +
+ +
+
+
+
+
+
+
+ + + + +
+
+
+
+

Transactions

+

Regardless of how you are using ape, you will likely be making transactions. +There are various types of transactions you can make with ape. A simple example is deploying a contract.

+
+

Transfer

+

One of the simplest ways to transact in Ape is to use the the transfer method. +Transfers are transactions that send the base-currency (e.g. Ether) from one account to another.

+

The following is a simple guide to transferring ETH.

+

First, launch an ape console to your network of choice (for demo purposes; transfers can happen in any Python medium):

+
ape console --network ethereum:mainnet:node
+
+
+

Then, load the account you want to send money from:

+
account = accounts.load("<my-account>")
+
+
+

Find the address you want to send money to and invoke the .transfer() method. +The first argument is the account you are sending money to. +The second argument is the amount you want to send. +Any additional kwargs are passed to the transaction, such as gas, max_fee, or max_priority_fee, etc:

+
other_account = "0xab5801a7d398351b8be11c439e05c5b3259aec9b"
+tx = account.transfer(other_account, "1 ETH", gas=21000)
+print(tx.confirmed)
+
+
+

Learn more about accounts (necessary for .transfer()) by following the Accounts Guide.

+
+
+

Deployment

+

Deploying a smart contract is a unique type of transaction where we don’t necessarily care about the receipt as much +as we care about the contract instance. That is why the return value from +the deploy method is a +ContractInstance.

+

The following example demonstrates a simple deployment script:

+
from ape import accounts, project
+
+def deploy():
+    account = accounts.load("MyAccount")
+    # Assume you have a contract named `MyContract` in your project's contracts folder.
+    return account.deploy(project.MyContract)
+
+
+
+

Deployment from Ape Console

+

Deploying from ape console allows you to interact with a contract in real time. You can also use the --network flag to connect a live network.

+
ape console --network ethereum:sepolia:alchemy
+
+
+

This will launch an IPython shell:

+
In [1]: dev = accounts.load("dev")
+In [2]: token = dev.deploy(project.Token)
+In [3]: token.contract_method_defined_in_contract()
+
+
+

For an in depth tutorial on how to deploy, please visit ApeAcademy.

+
+
+

Deployment Metadata

+

To get the receipt of a deploy transaction, use the ContractInstance.creation_metadata property:

+
+

Note

+

Use ape-etherscan or a node with Otterscan for increased support for these features.

+
+
from ape import accounts, project
+
+dev = accounts.load("dev")
+contract = project.MyContract.deploy(sender=dev)
+
+# The receipt is available on the contract instance and has the expected sender.
+receipt = contract.creation_metadata.receipt
+assert receipt.sender == dev
+
+
+

NOTE: The creation_metadata contains other information as well, such as .factory for factory-deployed contracts.

+
+
+
+

Dynamic-Fee Transactions

+

Before EIP-1559, all transactions used a gas_price. +After the London fork of Ethereum, the gas_price got broken up into two values, max_fee and max_priority_fee. +The ape framework supports both types of transactions. By default, transactions use the dynamic-fee model. +Making contract calls without specifying any additional kwargs will use a dynamic-fee transaction.

+

Calling certain methods on a deployed-contract is one way to transact.

+
contract = deploy()  # Example from above, that returns a contract instance.
+contract.fundMyContract(value="1 gwei", sender=sender)  # Assuming there is a method named 'fundMyContract' on MyContract.
+
+
+

In the example above, the call to fundMyContract() invokes a dynamic-fee transaction. +To have more control of the fee-values, you can specify the max_fee, the max_priority_fee, or both.

+
contract.fundMyContract(value="1 gwei", max_priority_fee="50 gwei", max_fee="100 gwei", sender=sender)
+
+
+

The max_priority_fee cannot exceed the max_fee, as the max_fee includes both the base fee and the priority fee. +The max_priority_fee, when omitted, defaults to the return value from the +ProviderAPI.priority_fee +method property. +The max_fee, when omitted, defaults to the priority_fee (which gets its default applied beforehand) plus the latest +the value returned from the +ProviderAPI.base_fee method +property.

+
+
+

Static-Fee Transactions

+

Static-fee transactions are the transactions that Ethereum used before the London-fork +(before EIP-1559). +However, some applications may still require using static-fee transactions.

+

One way to use a static-fee transaction is by specifying the gas_price as a key-value argument:

+
contract.startAuction(gas_price="100 gwei", sender=sender)
+
+
+
+

Note

+

Miners prioritize static-fee transactions based on the highest gas_price.

+
+

Another way to use a static-fee transaction (without having to provide gas_price) is to set the key-value +argument type equal to 0x00.

+
contract.startAuction(type="0x0", sender=sender)
+
+
+

When declaring type="0x0" and not specifying a gas_price, the gas_price gets set using the provider’s estimation.

+
+
+

Access List Transactions

+

Utilizing EIP-2930, you can also make access-list transactions using Ape. +Access-list transactions are static-fee transactions except you can optionally specify an access list. +Access-lists make contract-interaction more predictable and optimized. +You can also use Access-lists in Dynamic-fee transactions.

+

To automatically use access-list (type 1) transactions in Ape, specify type=1 in your call:

+
contract.startAuction(type=1, sender=sender)
+
+
+

When specifying type=1, Ape uses eth_createAccessList RPC to attach an access list to the transaction automatically.

+

You can also specify the access-list directly:

+
contract.fundMyContract(type=1, sender=sender, access_list=MY_ACCESS_LIST)
+
+
+
+
+

Payable Transactions

+

To add value to a transaction, use the value= kwarg when transacting in Ape.

+
contract.fundMyContract(value="1 ether", sender=sender)
+
+
+

The value="1 ether" part is sending 1 ETH to the contract. +You would do this if fundMyContract was a "payable" method, e.g. marked @payable in Vyper.

+
+
+

Transaction Logs

+

In Ape, you can easily get all the events on a receipt. +Use the .events property to access the (ContractLog) objects. +Each object represents an event emitted from the call.

+
receipt = contract.fundMyContract(value="1 gwei", type="0x0", sender=sender)
+print(receipt.events)
+
+
+

To only get specific log types, use the decode_logs() method and pass the event ABIs as arguments:

+
for log in receipt.decode_logs(contract.FooEvent.abi, contract.BarEvent.abi):
+    print(log.amount)  # Assuming 'amount' is a property on the event.
+
+
+

You can also use the ContractEvent.from_receipt(receipt) method:

+
receipt = contract.fooMethod(value="1 gwei", type="0x0", sender=sender)
+for log in contract.FooEvent.from_receipt(receipt):
+    print(log.amount)  # Assuming 'amount' is a property on the event.
+
+
+
+

Note

+

If you have more than one event with the same name in your contract type’s ABI, you can access the events by using the get_event_by_signature() method:

+
+
event_type = contract.get_event_by_signature("FooEvent(uint256 bar, uint256 baz)")
+receipt.decode_logs(event_type.abi)
+
+
+

Otherwise, you will get an AttributeError.

+
+
+

Transaction Acceptance Timeout

+
+

Note

+

For longer running scripts, you may need to increase the transaction acceptance timeout.

+
+

The default value is 2 minutes for live networks and 20 seconds for local networks. +In your ape-config.yaml file, add the following:

+
ethereum:
+  mainnet:
+    transaction_acceptance_timeout: 600  # 5 minutes
+
+
+
+
+

Traces

+

Transaction traces are the steps in the contract the transaction took. +Traces both power a myriad of features in Ape as well are themselves a tool for developers to use to debug transactions. +To learn more about traces, see the traces userguide.

+
+
+

Estimate Gas Cost

+

To estimate the gas cost on a transaction or call without sending it, use the estimate_gas_cost() method from the contract’s transaction / call handler: +(Assume I have a contract instance named contract_a that has a method named methodToCall)

+
txn_cost = contract_a.myMutableMethod.estimate_gas_cost(1, sender=accounts.load("me"))
+print(txn_cost)
+
+view_cost = contract_a.myViewMethod.estimate_gas_cost()
+print(view_cost)
+
+
+
+
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file