Skip to content

buildDepositTransaction

Builds & prepares parameters for a deposit transaction to be initiated on an L1 and executed on the L2.

Usage

import { account, publicClientL2, walletClientL1 } from './config'
 
const args = await publicClientL2.buildDepositTransaction({ 
  account, 
  mint: parseEther('1'), 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', 
}) 
 
const hash = await walletClientL1.depositTransaction(args)

Account Hoisting

If you do not wish to pass an account to every buildDepositTransaction, you can also hoist the Account on the Wallet Client (see config.ts).

Learn more.

import { publicClientL2, walletClientL1 } from './config'
 
const args = await publicClientL2.buildDepositTransaction({
  mint: parseEther('1')
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
})
 
const hash = await walletClientL1.depositTransaction(args)

Returns

DepositTransactionParameters

The parameters required to execute a deposit transaction.

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.buildDepositTransaction({
  account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1')
})

data (optional)

  • Type: Hex

Contract deployment bytecode or encoded contract method & arguments.

const args = await client.buildDepositTransaction({
  data: '0x...', 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
})

gas (optional)

  • Type: bigint

Gas limit for transaction execution on the L2.

const args = await client.buildDepositTransaction({
  gas: 21_000n, 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
  value: parseEther('1')
})

isCreation (optional)

  • Type: boolean

Whether or not this is a contract deployment transaction.

const args = await client.buildDepositTransaction({
  data: '0x...',
  isCreation: true
})

mint (optional)

  • Type: bigint

Value in wei to mint (deposit) on the L2. Debited from the caller's L1 balance.

const args = await client.buildDepositTransaction({
  mint: parseEther('1') 
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', 
})

to (optional)

  • Type: Address

L2 Transaction recipient.

const args = await client.buildDepositTransaction({
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',  
  value: parseEther('1')
})

value (optional)

  • Type: bigint

Value in wei sent with this transaction on the L2. Debited from the caller's L2 balance.

const args = await client.buildDepositTransaction({
  to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', 
  value: parseEther('1') 
})