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