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
).
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')
})