Skip to content

getL2Output

Retrieves the first L2 output proposal that occurred after a provided block number. Used for the Withdrawal flow.

Usage

import { optimism } from 'viem/chains'
import { account, publicClientL1 } from './config'
 
const output = await publicClientL1.getL2Output({ 
  l2BlockNumber: 69420n, 
  targetChain: optimism, 
}) 

Returns

GetL2OutputReturnType

The L2 output proposal.

Parameters

l2BlockNumber

  • Type: bigint

The L2 block number.

const output = await publicClientL1.getL2Output({ 
  l2BlockNumber: 69420n, 
  targetChain: optimism, 
}) 

targetChain

The L2 chain.

const output = await publicClientL1.getL2Output({
  l2BlockNumber,
  targetChain: optimism, 
})

l2OutputOracleAddress (optional)

  • Type: Address
  • Default: targetChain.contracts.l2OutputOracle[chainId].address

The address of the L2 Output Oracle contract. Defaults to the L2 Output Oracle contract specified on the targetChain.

If a l2OutputOracleAddress is provided, the targetChain parameter becomes optional.

const output = await publicClientL1.getL2Output({
  l2BlockNumber,
  l2OutputOracleAddress: '0xbEb5Fc579115071764c7423A4f12eDde41f106Ed'
})