Skip to main content

createTokenBridge

Type Aliases

CreateTokenBridgeParams<TParentChain, TOrbitChain>

type CreateTokenBridgeParams<TParentChain, TOrbitChain>: WithTokenBridgeCreatorAddressOverride<object>;

Type declaration

MemberType
accountPrivateKeyAccount
gasOverridesTransactionRequestGasOverrides
nativeTokenAddressAddress
orbitChainPublicClientPublicClient<Transport, TOrbitChain>
parentChainPublicClientPublicClient<Transport, TParentChain>
retryableGasOverridesTransactionRequestRetryableGasOverrides
rollupAddressAddress
rollupOwnerAddress
setWethGatewayGasOverridesTransactionRequestRetryableGasOverrides

Type parameters

Type parameter
TParentChain extends Chain | undefined
TOrbitChain extends Chain | undefined

Source

src/createTokenBridge.ts:41


CreateTokenBridgeResults<TParentChain, TOrbitChain>

type CreateTokenBridgeResults<TParentChain, TOrbitChain>: object;

Type parameters

Type parameter
TParentChain extends Chain | undefined
TOrbitChain extends Chain | undefined

Type declaration

MemberTypeDescription
retryablesWaitForRetryablesResultRetryable transaction receipts of createTokenBridgePrepareTransactionReceipt (WaitForRetryablesResult)
setWethGatewayobjectOptional: createTokenBridgePrepareSetWethGatewayTransaction's result
setWethGateway.retryables[TransactionReceipt]Retryable transaction receipt of createTokenBridgePrepareSetWethGatewayTransactionReceipt (WaitForRetryablesResult)
setWethGateway.transactionTransactionTransaction of createTokenBridgePrepareSetWethGatewayTransactionReceipt (Transaction)
setWethGateway.transactionReceiptCreateTokenBridgeSetWethGatewayTransactionReceipt<TOrbitChain>Transaction receipt of createTokenBridgePrepareSetWethGatewayTransactionReceipt (createTokenBridgePrepareSetWethGatewayTransactionReceipt)
tokenBridgeContractsTokenBridgeContractsCore token bridge contracts (TokenBridgeContracts)
transactionTransactionTransaction of createTokenBridgePrepareTransactionRequest
transactionReceiptCreateTokenBridgeTransactionReceipt<TParentChain, TOrbitChain>Transaction receipt of createTokenBridgePrepareTransactionReceipt (CreateTokenBridgeTransactionReceipt)

Source

src/createTokenBridge.ts:56

Functions

createTokenBridge()

function createTokenBridge<TParentChain, TOrbitChain>(createTokenBridgeParams: CreateTokenBridgeParams<TParentChain, TOrbitChain>): Promise<CreateTokenBridgeResults<TParentChain, TOrbitChain>>

Performs the transactions to deploy the token bridge core contracts

For chain with custom gas token, it checks the custom gas token allowance token allowance and approve if necessary.

Returns the token bridge core contracts.

Type parameters

Type parameter
TParentChain extends undefined | Chain<undefined | ChainFormatters>
TOrbitChain extends undefined | Chain<undefined | ChainFormatters>

Parameters

ParameterTypeDescription
createTokenBridgeParamsCreateTokenBridgeParams<TParentChain, TOrbitChain>

Returns

Promise<CreateTokenBridgeResults<TParentChain, TOrbitChain>>

Promise<CreateTokenBridgeResults>

Example

const tokenBridgeCreator = await deployTokenBridgeCreator({
publicClient: l2Client,
});

const tokenBridgeContracts = await createTokenBridge({
rollupOwner: rollupOwner.address,
rollupAddress: rollupAddress,
account: deployer,
parentChainPublicClient: l1Client,
orbitChainPublicClient: l2Client,
tokenBridgeCreatorAddressOverride: tokenBridgeCreator,
gasOverrides: {
gasLimit: {
base: 6_000_000n,
},
},
retryableGasOverrides: {
maxGasForFactory: {
base: 20_000_000n,
},
maxGasForContracts: {
base: 20_000_000n,
},
maxSubmissionCostForFactory: {
base: 4_000_000_000_000n,
},
maxSubmissionCostForContracts: {
base: 4_000_000_000_000n,
},
},
setWethGatewayGasOverrides: {
gasLimit: {
base: 100_000n,
},
},
});

Source

src/createTokenBridge.ts:160