Skip to content

tevmContract

tevmContract<TAbi, TFunctionName>(client, params): Promise<ContractResult<TAbi, TFunctionName>>

A tree-shakeable version of the tevmContract action for viem. Interacts with a contract method call using TEVM.

Internally, tevmContract wraps tevmCall. It automatically encodes and decodes the contract call parameters and results, as well as any revert messages.

Type Parameters

TAbi extends readonly unknown[] | Abi = Abi

TFunctionName extends string = ContractFunctionName<TAbi>

Parameters

client: Client<TevmTransport<string>>

params: ContractParams<TAbi, TFunctionName>

Returns

Promise<ContractResult<TAbi, TFunctionName>>

Example

import { tevmContract } from 'tevm/actions'
import { createClient, http } from 'viem'
import { optimism } from 'tevm/common'
import { createTevmTransport } from 'tevm'
const client = createClient({
transport: createTevmTransport({
fork: { transport: http('https://mainnet.optimism.io')({}) }
}),
chain: optimism,
})
async function example() {
const res = await tevmContract(client, {
abi: [...],
functionName: 'myFunction',
args: [...],
})
console.log(res)
}
example()

See

Defined in

packages/memory-client/src/tevmContract.js:41