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.
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)
See
Type declaration
code?
readonly
optional
code: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()) // 420n
data?
readonly
optional
data:Hex
The input data for the call.
deployedBytecode?
readonly
optional
deployedBytecode: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?
readonly
optional
salt: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