NOME
Docs/Onchain

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.

terminalbash
nome artifacts add ./out/Vault.json --name Vault
deploy.tsts
await 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.