Contracts
Deploy, call, and trace contracts with decoded inputs, outputs, and reverts.
NOME works with compiled artifacts from standard toolchains. Register an artifact once and deploy or call it by name from any operation.
nome artifacts add ./out/Vault.json --name Vaultawait env.execute([
{ type: "deploy", artifact: "Vault", from: "deployer", args: ["USDX"] },
{ type: "call", to: "Vault", fn: "deposit", from: "user_1", args: [250n] },
]);Decoding
When an artifact includes an ABI, NOME decodes function arguments, return values, events, and custom errors in traces, diffs, and the Console. Undecoded data is always available alongside the decoded view.
Reverts
Reverted calls are first-class results, not failures of the run. A revert produces a trace, the decoded error, and the gas consumed up to the revert. Scenarios can assert that a revert occurred with a specific error.
Reading from a public network
Contract code and storage can be imported from a public network at a block height, allowing you to reproduce a deployed contract's exact state inside an isolated environment.