Skip to content

deployHandler

deployHandler(client, options?): DeployHandler

Creates an DeployHandler for handling deploying a contract to tevm

Parameters

client

client.extend

Extends the base client with additional functionality. This enables optimal code splitting and extensibility

client.forkUrl?: string

Fork url if the EVM is forked

Example

const client = createMemoryClient({ forkUrl: 'https://mainnet.infura.io/v3/your-api-key' })
console.log(client.forkUrl)

client.getChainCommon?

Returns the chain being used by the client. THis type extends both viem Chain and ethereumjs Common This is the same object on getVm().common

client.getReceiptsManager?

Interface for querying receipts and historical state

client.getTxPool?

Gets the pool of pending transactions to be included in next block

client.getVm?

Internal instance of the VM. Can be used for lower level operations. Normally not recomended to use unless building libraries or extensions on top of Tevm.

client.logger?: Logger

The logger instance

client.miningConfig?: MiningConfig

The configuration for mining. Defaults to ‘auto'

  • 'auto’ will mine a block on every transaction
  • ’interval’ will mine a block every interval milliseconds
  • ’manual’ will not mine a block automatically and requires a manual call to mineBlock

client.mode?: "fork" | "normal"

The mode the current client is running in fork mode will fetch and cache all state from the block forked from the provided URL normal mode will not fetch any state and will only run the EVM in memory

Example

let client = createMemoryClient()
console.log(client.mode) // 'normal'
client = createMemoryClient({ forkUrl: 'https://mainnet.infura.io/v3/your-api-key' })
console.log(client.mode) // 'fork'

client.ready?

Returns promise that resulves when the client is ready The client is usable without calling this method but may have extra latency on the first call from initialization

Example

const client = createMemoryClient()
await client.ready()

options?= {}

options.throwOnFail?: undefined | boolean= true

whether to default to throwing or not when errors occur

Returns

DeployHandler

Source

packages/actions/src/tevm/deployHandler.js:19