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