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.
| Command | Description |
|---|
| contracts:deploy | Deploy 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:verify | Submit 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. |
| Helper | Returns | Description |
|---|
| @contracts:codeAt | bytes | Return the deployed bytecode at an address. |
| @contracts:next | address | Predict the next contract address deployed by a given account. |
| @contracts:solidity | bytes | Compile 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.compiler | string | Compile 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.contract | string | Compile 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.standardJson | string | Compile 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:storageAt | bytes32 | Read a raw storage slot of a contract. |