erc20Bridger
Classes
AdminErc20Bridger
Admin functionality for the token bridge
Extends
Constructors
new AdminErc20Bridger()
new AdminErc20Bridger(childNetwork: ArbitrumNetwork): AdminErc20Bridger
Bridger for moving ERC20 tokens back and forth between parent-to-child
Parameters
| Parameter | Type |
|---|---|
childNetwork | ArbitrumNetwork |
Returns
Inherited from
Source
assetBridger/erc20Bridger.ts:205
Properties
| Property | Modifier | Type | Description | Inherited from |
|---|---|---|---|---|
nativeToken? | readonly | string | In case of a chain that uses ETH as its native/gas token, this is either undefined or the zero addressIn case of a chain that uses an ERC-20 token from the parent network as its native/gas token, this is the address of said token on the parent network | Erc20Bridger.nativeToken |
Accessors
nativeTokenIsEth
get protected nativeTokenIsEth(): boolean
Whether the chain uses ETH as its native/gas token
Returns
boolean
Source
assetBridger/assetBridger.ts:72
Methods
approveGasToken()
approveGasToken(params: ApproveParamsOrTxRequest): Promise<ContractTransaction>
Approves the custom gas token to be spent by the relevant gateway on the parent network
Parameters
| Parameter | Type | Description |
|---|---|---|
params | ApproveParamsOrTxRequest |
Returns
Promise<ContractTransaction>
Inherited from
Erc20Bridger . approveGasToken
Source
assetBridger/erc20Bridger.ts:276
approveToken()
approveToken(params: ApproveParamsOrTxRequest): Promise<ContractTransaction>
Approve tokens for deposit to the bridge. The tokens will be approved for the relevant gateway.
Parameters
| Parameter | Type | Description |
|---|---|---|
params | ApproveParamsOrTxRequest |
Returns
Promise<ContractTransaction>
Inherited from
Source
assetBridger/erc20Bridger.ts:339
checkChildNetwork()
protected checkChildNetwork(sop: SignerOrProvider): Promise<void>
Check the signer/provider matches the child network, throws if not
Parameters
| Parameter | Type | Description |
|---|---|---|
sop | SignerOrProvider |
Returns
Promise<void>
Inherited from
Erc20Bridger . checkChildNetwork
Source
assetBridger/assetBridger.ts:61
checkParentNetwork()
protected checkParentNetwork(sop: SignerOrProvider): Promise<void>
Check the signer/provider matches the parent network, throws if not
Parameters
| Parameter | Type | Description |
|---|---|---|
sop | SignerOrProvider |
Returns
Promise<void>
Inherited from
Erc20Bridger . checkParentNetwork
Source
assetBridger/assetBridger.ts:50
deposit()
deposit(params: Erc20DepositParams | ParentToChildTxReqAndSignerProvider): Promise<ParentContractCallTransaction>
Execute a token deposit from parent to child network
Parameters
| Parameter | Type | Description |
|---|---|---|
params | Erc20DepositParams | ParentToChildTxReqAndSignerProvider |
Returns
Promise<ParentContractCallTransaction>
Inherited from
Source
assetBridger/erc20Bridger.ts:769
getApproveGasTokenRequest()
getApproveGasTokenRequest(params: ProviderTokenApproveParams): Promise<Required<Pick<TransactionRequest, "data" | "value" | "to">>>
Creates a transaction request for approving the custom gas token to be spent by the relevant gateway on the parent network
Parameters
| Parameter | Type | Description |
|---|---|---|
params | ProviderTokenApproveParams |
Returns
Promise<Required<Pick<TransactionRequest, "data" | "value" | "to">>>
Inherited from
Erc20Bridger . getApproveGasTokenRequest
Source
assetBridger/erc20Bridger.ts:260
getApproveTokenRequest()
getApproveTokenRequest(params: ProviderTokenApproveParams): Promise<Required<Pick<TransactionRequest, "data" | "value" | "to">>>
Get a tx request to approve tokens for deposit to the bridge. The tokens will be approved for the relevant gateway.
Parameters
| Parameter | Type | Description |
|---|---|---|
params | ProviderTokenApproveParams |
Returns
Promise<Required<Pick<TransactionRequest, "data" | "value" | "to">>>
Inherited from
Erc20Bridger . getApproveTokenRequest
Source
assetBridger/erc20Bridger.ts:306
getChildErc20Address()
getChildErc20Address(erc20ParentAddress: string, parentProvider: Provider): Promise<string>
Get the corresponding child network token address for the provided parent network token
Parameters
| Parameter | Type | Description |
|---|---|---|
erc20ParentAddress | string | |
parentProvider | Provider |
Returns
Promise<string>
Inherited from
Erc20Bridger . getChildErc20Address
Source
assetBridger/erc20Bridger.ts:491
getChildGatewayAddress()
getChildGatewayAddress(erc20ParentAddress: string, childProvider: Provider): Promise<string>
Get the address of the child gateway for this token
Parameters
| Parameter | Type | Description |
|---|---|---|
erc20ParentAddress | string | |
childProvider | Provider |
Returns
Promise<string>
Inherited from
Erc20Bridger . getChildGatewayAddress
Source
assetBridger/erc20Bridger.ts:244
getChildGatewaySetEvents()
getChildGatewaySetEvents(
childProvider: Provider,
filter: object,
customNetworkChildGatewayRouter?: string): Promise<object[]>
Get all the gateway set events on the child gateway router
Parameters
| Parameter | Type | Description |
|---|---|---|
childProvider | Provider | The provider for the child network |
filter | object | An object containing fromBlock and toBlock to filter events |
filter.fromBlock | BlockTag | - |
filter.toBlock? | BlockTag | - |
customNetworkChildGatewayRouter? | string | Optional address of the custom network child gateway router |
Returns
Promise<object[]>
An array of GatewaySetEvent event arguments
Throws
If the network is custom and customNetworkChildGatewayRouter is not provided
Source
assetBridger/erc20Bridger.ts:1233
getChildTokenContract()
getChildTokenContract(childProvider: Provider, childTokenAddr: string): L2GatewayToken
Get the child network token contract at the provided address Note: This function just returns a typed ethers object for the provided address, it doesn't check the underlying form of the contract bytecode to see if it's an erc20, and doesn't ensure the validity of any of the underlying functions on that contract.
Parameters
| Parameter | Type | Description |
|---|---|---|
childProvider | Provider | |
childTokenAddr | string |
Returns
L2GatewayToken
Inherited from
Erc20Bridger . getChildTokenContract
Source
assetBridger/erc20Bridger.ts:462
getDepositRequest()
getDepositRequest(params: DepositRequest): Promise<ParentToChildTransactionRequest>
Get the arguments for calling the deposit function
Parameters
| Parameter | Type | Description |
|---|---|---|
params | DepositRequest |
Returns
Promise <ParentToChildTransactionRequest>
Inherited from
Erc20Bridger . getDepositRequest
Source
assetBridger/erc20Bridger.ts:655
getParentErc20Address()
getParentErc20Address(erc20ChildChainAddress: string, childProvider: Provider): Promise<string>
Get the corresponding parent network address for the provided child network token Validates the returned address against the child network router to ensure it is correctly mapped to the provided erc20ChildChainAddress