CallParams
CallParams<
TThrowOnFail>:BaseCallParams<TThrowOnFail> &object
TEVM parameters to execute a call on the VM.
Call is the lowest level method to interact with the VM, and other methods such as contract and script use call under the hood.
Type declaration
code?
readonlyoptionalcode:Hex
The encoded code to deploy with for a deployless call. Code is encoded with constructor arguments, unlike deployedBytecode.
Examples
import { createClient } from 'viem'import { createTevmTransport, tevmCall, encodeDeployData } from 'tevm'import { optimism } from 'tevm/common'
const client = createClient({ transport: createTevmTransport({}), chain: optimism,})
const callParams = { createTransaction: true, data: encodeDeployData({ bytecode: '0x...', data: '0x...', abi: [{...}], args: [1, 2, 3], })}
await tevmCall(client, callParams)Code is also automatically created if using TEVM contracts via the script method.
import { createClient } from 'viem'import { createTevmTransport, tevmContract } from 'tevm'import { optimism } from 'tevm/common'import { SimpleContract } from 'tevm/contracts'
const client = createClient({ transport: createTevmTransport({}), chain: optimism,})
const script = SimpleContract.script({ constructorArgs: [420n] })
await tevmContract(client, script.read.get()) // 420ndata?
readonlyoptionaldata:Hex
The input data for the call.
deployedBytecode?
readonlyoptionaldeployedBytecode:Hex
The code to put into the state before executing the call. If you wish to call the constructor, use code instead.
Example
import { createClient } from 'viem'import { createTevmTransport, tevmCall } from 'tevm'import { optimism } from 'tevm/common'
const client = createClient({ transport: createTevmTransport({}), chain: optimism,})
const callParams = { data: '0x...', deployedBytecode: '0x...',}
await tevmCall(client, callParams)salt?
readonlyoptionalsalt:Hex
An optional CREATE2 salt.
Example
import { createClient } from 'viem'import { createTevmTransport, tevmCall } from 'tevm'import { optimism } from 'tevm/common'
const client = createClient({ transport: createTevmTransport({}), chain: optimism,})
const callParams = { data: '0x...', bytecode: '0x...', gasLimit: 420n, salt: '0x1234...',}
await tevmCall(client, callParams)See
Type Parameters
• TThrowOnFail extends boolean = boolean
Example
import { createClient } from 'viem'import { createTevmTransport, tevmCall } from 'tevm'import { optimism } from 'tevm/common'
const client = createClient({ transport: createTevmTransport({}), chain: optimism,})
const callParams = { data: '0x...', bytecode: '0x...', gasLimit: 420n,}
await tevmCall(client, callParams)