Skip to content

contracts

Contract lifecycle commands and helpers for EVML scripts: deploy creation bytecode (CREATE, CREATE2, CREATE3, or mirroring an existing deployment), verify source code on Etherscan V2, inspect deployed code and storage, and compile Solidity from inline source or a URL with the @solidity helpers.

load contracts
CommandDescription
contracts:deployDeploy a contract from raw creation bytecode. Binds the predicted address to . Mirror an existing deployment with --mirror-chain / --mirror-address (fetches the original creation bytecode from Etherscan).
contracts:verifySubmit Solidity Standard JSON Input source code to Etherscan V2 for verification at
. Mirror an existing verification with --mirror-chain / --mirror-address, or supply source explicitly with --source. Inside sim:fork this becomes a local dry-run: the source is compiled and checked against the fork's deployed bytecode instead of being sent to Etherscan.
HelperReturnsDescription
@contracts:codeAtbytesReturn the deployed bytecode at an address.
@contracts:nextaddressPredict the next contract address deployed by a given account.
@contracts:soliditybytesCompile Solidity source (inline text or a http/ipfs URL) and return the creation bytecode, ready for deploy. Options: version:<x.y.z>, runs:, optimizer:off, via-ir, evm:, contract:.
@contracts:solidity.compilerstringCompile Solidity source (inline text or a http/ipfs URL) and return the long compiler version (0.8.26+commit.8a97fa7a), ready for verify --compiler. Pass the same options as the matching @solidity call so the cached compile is reused.
@contracts:solidity.contractstringCompile Solidity source (inline text or a http/ipfs URL) and return the qualified contract name (File.sol:Contract), ready for verify --contract-name. Pass the same options as the matching @solidity call so the cached compile is reused.
@contracts:solidity.standardJsonstringCompile Solidity source (inline text or a http/ipfs URL) and return the exact solc Standard JSON Input text, ready for verify --source. Pass the same options as the matching @solidity call so the cached compile is reused.
@contracts:storageAtbytes32Read a raw storage slot of a contract.