l1l3Bridger
Classes
Erc20L1L3Bridger
Bridger for moving ERC20 tokens from L1 to L3
Extends
BaseL1L3Bridger
Properties
Property | Modifier | Type | Default value | Description |
---|---|---|---|---|
_l1FeeTokenAddress | protected | undefined | string | undefined | If the L3 network uses a custom fee token, this is the address of that token on L1 |
l2ForwarderFactoryDefaultGasLimit | readonly | BigNumber | ... | Default gas limit for L2ForwarderFactory.callForwarder of 1,000,000 Measured Standard: 361746 Measured OnlyGasToken: 220416 Measured NonGasTokenToCustomGas: 373449 |
l2GasTokenAddress | readonly | undefined | string | undefined | If the L3 network uses a custom (non-eth) fee token, this is the address of that token on L2 |
teleporter | readonly | Teleporter | undefined | Addresses of teleporter contracts on L2 |
Methods
_checkL1Network()
protected _checkL1Network(sop: SignerOrProvider): Promise<void>
Check the signer/provider matches the l1Network, throws if not
Parameters
Parameter | Type | Description |
---|---|---|
sop | SignerOrProvider |
Returns
Promise
<void
>
Inherited from
BaseL1L3Bridger._checkL1Network
Source
assetBridger/l1l3Bridger.ts:306
_checkL2Network()
protected _checkL2Network(sop: SignerOrProvider): Promise<void>
Check the signer/provider matches the l2Network, throws if not
Parameters
Parameter | Type | Description |
---|---|---|
sop | SignerOrProvider |
Returns
Promise
<void
>
Inherited from
BaseL1L3Bridger._checkL2Network
Source
assetBridger/l1l3Bridger.ts:314
_checkL3Network()
protected _checkL3Network(sop: SignerOrProvider): Promise<void>
Check the signer/provider matches the l3Network, throws if not
Parameters
Parameter | Type | Description |
---|---|---|
sop | SignerOrProvider |
Returns
Promise
<void
>
Inherited from
BaseL1L3Bridger._checkL3Network
Source
assetBridger/l1l3Bridger.ts:322
_decodeCallForwarderCalldata()
protected _decodeCallForwarderCalldata(data: string): L2ForwarderParamsStruct
Given raw calldata for a callForwarder call, decode the parameters
Parameters
Parameter | Type |
---|---|
data | string |
Returns
L2ForwarderParamsStruct
Source
assetBridger/l1l3Bridger.ts:1402
_decodeTeleportCalldata()
protected _decodeTeleportCalldata(data: string): TeleportParamsStruct
Given raw calldata for a teleport tx, decode the teleport parameters
Parameters
Parameter | Type |
---|---|
data | string |
Returns
TeleportParamsStruct
Source
assetBridger/l1l3Bridger.ts:1388
_fillPartialTeleportParams()
protected _fillPartialTeleportParams(
partialTeleportParams: OmitTyped<TeleportParamsStruct, "gasParams">,
retryableOverrides: Erc20L1L3DepositRequestRetryableOverrides,
l1Provider: Provider,
l2Provider: Provider,
l3Provider: Provider): Promise<object>
Given TeleportParams without the gas parameters, return TeleportParams with gas parameters populated. Does not modify the input parameters.
Parameters
Parameter | Type |
---|---|
partialTeleportParams | OmitTyped <TeleportParamsStruct , "gasParams" > |
retryableOverrides | Erc20L1L3DepositRequestRetryableOverrides |
l1Provider | Provider |
l2Provider | Provider |
l3Provider | Provider |
Returns
Promise
<object
>
Member | Type |
---|---|
costs | [BigNumber , BigNumber , number , RetryableGasCostsStructOutput ] & object |
teleportParams | object |
teleportParams.amount | BigNumberish |
teleportParams.gasParams | RetryableGasParamsStruct |
teleportParams.l1Token | string |
teleportParams.l1l2Router | string |
teleportParams.l2l3RouterOrInbox | string |
teleportParams.l3FeeTokenL1Addr | string |
teleportParams.to | string |
Source
assetBridger/l1l3Bridger.ts:1194
_getL1L2FeeTokenBridgeGasEstimates()
protected _getL1L2FeeTokenBridgeGasEstimates(params: object): Promise<RetryableGasValues>
Estimate the gasLimit and maxSubmissionFee for the L1 to L2 fee token bridge leg of a teleportation
Parameters
Parameter | Type |
---|---|
params | object |
params.feeTokenAmount | BigNumber |
params.l1GasPrice | BigNumber |
params.l1Provider | Provider |
params.l2ForwarderAddress | string |
params.l2Provider | Provider |
params.l3FeeTokenL1Addr | string |
Returns
Promise
<RetryableGasValues
>
Source
assetBridger/l1l3Bridger.ts:1056
_getL1L2TokenBridgeGasEstimates()
protected _getL1L2TokenBridgeGasEstimates(params: object): Promise<RetryableGasValues>
Estimate the gasLimit and maxSubmissionFee for the L1 to L2 token bridge leg of a teleportation
Parameters
Parameter | Type |
---|---|
params | object |
params.amount | BigNumberish |
params.l1GasPrice | BigNumber |
params.l1Provider | Provider |
params.l1Token | string |
params.l2ForwarderAddress | string |
params.l2Provider | Provider |
Returns
Promise
<RetryableGasValues
>
Source
assetBridger/l1l3Bridger.ts:1024
_getL2ForwarderFactoryGasEstimates()
protected _getL2ForwarderFactoryGasEstimates(l1GasPrice: BigNumber, l1Provider: Provider): Promise<RetryableGasValues>
Estimate the gasLimit and maxSubmissionFee for L2ForwarderFactory.callForwarder leg of a teleportation. Gas limit is hardcoded to 1,000,000
Parameters
Parameter | Type |
---|---|
l1GasPrice | BigNumber |
l1Provider | Provider |
Returns
Promise
<RetryableGasValues
>
Source
assetBridger/l1l3Bridger.ts:1095
_getL2L3BridgeGasEstimates()
protected _getL2L3BridgeGasEstimates(params: object): Promise<RetryableGasValues>
Estimate the gasLimit and maxSubmissionFee for the L2 -> L3 leg of a teleportation.
Parameters
Parameter | Type |
---|---|
params | object |
params.l1Provider | Provider |
params.l2ForwarderAddress | string |
params.l2GasPrice | BigNumber |
params.l2Provider | Provider |
params.l3Provider | Provider |
params.partialTeleportParams | OmitTyped <TeleportParamsStruct , "gasParams" > |
Returns
Promise
<RetryableGasValues
>
Source
assetBridger/l1l3Bridger.ts:1117
_getTokenBridgeGasEstimates()
protected _getTokenBridgeGasEstimates(params: object): Promise<RetryableGasValues>
Estimate the gasLimit and maxSubmissionFee for a token bridge retryable
Parameters
Parameter | Type |
---|---|
params | object |
params.amount | BigNumber |
params.childProvider | Provider |
params.from | string |
params.isWeth | boolean |
params.parentErc20Address | string |
params.parentGasPrice | BigNumber |
params.parentGatewayAddress | string |
params.parentProvider | Provider |
params.to | string |
Returns
Promise
<RetryableGasValues
>
Source
assetBridger/l1l3Bridger.ts:976
_l2ForwarderFactoryCalldataSize()
protected _l2ForwarderFactoryCalldataSize(): number
Returns
number
The size of the calldata for a call to L2ForwarderFactory.callForwarder
Source
assetBridger/l1l3Bridger.ts:1366
approveGasToken()
approveGasToken(params: TxRequestParams | object): Promise<ContractTransaction>
Approve the L3's fee token for teleportation. The tokens will be approved for L1Teleporter. Will throw if the L3 network uses ETH for fees or the fee token doesn't exist on L1.
Parameters
Parameter | Type |
---|---|
params | TxRequestParams | object |
Returns
Promise
<ContractTransaction
>
Source
assetBridger/l1l3Bridger.ts:701
approveToken()
approveToken(params: TxRequestParams | TokenApproveParams & object): Promise<ContractTransaction>
Approve tokens for teleportation. The tokens will be approved for L1Teleporter.