Skip to main content
Version: 1.11.0

Type Alias: SimulateLockOrBurnOpts

SimulateLockOrBurnOpts = { finality?: FinalityRequested; input: LockOrBurnSimInput; onRamp: string; pool: string; poolInterface?: PoolInterfaceVersion; provider: JsonRpcApiProvider; stateOverrides?: Record<string, unknown>; tokenArgs?: BytesLike; }

Defined in: evm/simulate.ts:315

Options for simulateLockOrBurn.

Properties

finality?

optional finality?: FinalityRequested

Defined in: evm/simulate.ts:328

Requested finality (v2/IPoolV2 pools only).


input

input: LockOrBurnSimInput

Defined in: evm/simulate.ts:326

The LockOrBurnInV1 input to simulate.


onRamp

onRamp: string

Defined in: evm/simulate.ts:324

An OnRamp registered on the source Router for the destination chain, used as the eth_call from, satisfying the pool's _onlyOnRamp gate.


pool

pool: string

Defined in: evm/simulate.ts:319

Source token pool address.


poolInterface?

optional poolInterface?: PoolInterfaceVersion

Defined in: evm/simulate.ts:339

Known pool interface generation, when the caller already resolved it (e.g. from the pool's typeAndVersion). Skips the ERC165 probes; omit to mirror the OnRamp's own ERC165 dispatch.


provider

provider: JsonRpcApiProvider

Defined in: evm/simulate.ts:317

Source chain provider.


stateOverrides?

optional stateOverrides?: Record<string, unknown>

Defined in: evm/simulate.ts:334

Optional eth_call state overrides (3rd RPC param). Burn pools burn from their own balance (the Router pre-transfers in production), so an isolated simulation may need the pool's token balance overridden to reach the destPoolData return.


tokenArgs?

optional tokenArgs?: BytesLike

Defined in: evm/simulate.ts:346

Message-level GenericExtraArgsV3.tokenArgs, passed through to IPoolV2.lockOrBurn exactly like the OnRamp does (pools/hooks may branch on it). Empty for legacy V1/V2 extraArgs. IPoolV1 pools don't take it — the OnRamp reverts TokenArgsNotSupportedOnPoolV1 for non-empty tokenArgs there, mirrored here as a typed error.