buildInitiateWithdrawal
Builds & prepares parameters for a withdrawal to be initiated on an L2.
Usage
example.ts
import { account, publicClientL1, walletClientL2 } from './config'
 
const args = await publicClientL1.buildInitiateWithdrawal({ 
  account, 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', 
  value: parseEther('1'), 
}) 
 
const hash = await walletClientL2.initiateWithdrawal(args)Account Hoisting
If you do not wish to pass an account to every buildInitiateWithdrawal, you can also hoist the Account on the Wallet Client (see config.ts).
example.ts
import { publicClientL1, walletClientL2 } from './config'
 
const args = await publicClientL1.buildInitiateWithdrawal({
  mint: parseEther('1')
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
})
 
const hash = await walletClientL2.initiateWithdrawal(args)Returns
InitiateWithdrawalParameters
The parameters required to initiate a withdrawal.
Parameters
account (optional)
- Type: Account | Address
The Account to send the transaction from.
Accepts a JSON-RPC Account or Local Account (Private Key, etc).
const args = await client.buildInitiateWithdrawal({
  account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1')
})data (optional)
- Type: Hex
Encoded contract method & arguments.
const args = await client.buildInitiateWithdrawal({
  data: '0x...', 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
})gas (optional)
- Type: bigint
Gas limit for transaction execution on the L1.
const args = await client.buildInitiateWithdrawal({
  gas: 21_000n, 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1')
})to (optional)
- Type: Address
L1 recipient.
const args = await client.buildInitiateWithdrawal({
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',  
  value: parseEther('1')
})value (optional)
- Type: bigint
Value in wei to withdrawal from the L2 to the L1. Debited from the caller's L2 balance.
const args = await client.buildInitiateWithdrawal({
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', 
  value: parseEther('1') 
})
