ethBridger
Classes
EthBridger
Bridger for moving either ETH or custom gas tokens back and forth between parent and child networks
Extends
AssetBridger
<EthDepositParams
|EthDepositToParams
|ParentToChildTxReqAndSigner
,EthWithdrawParams
|ChildToParentTxReqAndSigner
>
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 | AssetBridger .nativeToken |
Accessors
nativeTokenIsEth
get protected nativeTokenIsEth(): boolean
Whether the chain uses ETH as its native/gas token
Returns
boolean
Source
assetBridger/assetBridger.ts:71
Methods
approveGasToken()
approveGasToken(params: WithParentSigner<ApproveGasTokenParamsOrTxRequest>): Promise<TransactionResponse>
Approves the custom gas token to be spent by the Inbox on the parent network.
Parameters
Parameter | Type | Description |
---|---|---|
params | WithParentSigner <ApproveGasTokenParamsOrTxRequest > |
Returns
Promise
<TransactionResponse
>
Source
assetBridger/ethBridger.ts:219
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
AssetBridger
. checkChildNetwork
Source
assetBridger/assetBridger.ts:60
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
AssetBridger
. checkParentNetwork
Source
assetBridger/assetBridger.ts:49
deposit()
deposit(params: EthDepositParams | ParentToChildTxReqAndSigner): Promise<ParentEthDepositTransaction>
Deposit ETH from Parent onto Child network
Parameters
Parameter | Type | Description |
---|---|---|
params | EthDepositParams | ParentToChildTxReqAndSigner |
Returns
Promise
<ParentEthDepositTransaction
>
Overrides
Source
assetBridger/ethBridger.ts:287
depositTo()
depositTo(params: EthDepositToParams | ParentToChildTransactionRequest & object & object): Promise<ParentContractCallTransaction>
Deposit ETH from parent network onto a different child network address
Parameters
Parameter | Type | Description |
---|---|---|
params | EthDepositToParams | ParentToChildTransactionRequest & object & object |
Returns
Promise
<ParentContractCallTransaction
>
Source
assetBridger/ethBridger.ts:339
getApproveGasTokenRequest()
getApproveGasTokenRequest(params?: ApproveGasTokenParams): Required<Pick<TransactionRequest, "data" | "value" | "to">>
Creates a transaction request for approving the custom gas token to be spent by the inbox on the parent network
Parameters
Parameter | Type | Description |
---|---|---|
params ? | ApproveGasTokenParams |
Returns
Required
<Pick
<TransactionRequest
, "data"
| "value"
| "to"
>>
Source
assetBridger/ethBridger.ts:191
getDepositRequest()
getDepositRequest(params: EthDepositRequestParams): Promise<OmitTyped<ParentToChildTransactionRequest, "retryableData">>
Gets tx request for depositing ETH or custom gas token
Parameters
Parameter | Type | Description |
---|---|---|
params | EthDepositRequestParams |
Returns
Promise
<OmitTyped
<ParentToChildTransactionRequest
, "retryableData"
>>
Source
assetBridger/ethBridger.ts:268
getDepositRequestData()
private getDepositRequestData(params: EthDepositRequestParams): string
Gets transaction calldata for a tx request for depositing ETH or custom gas token
Parameters
Parameter | Type | Description |
---|---|---|
params | EthDepositRequestParams |
Returns
string
Source
assetBridger/ethBridger.ts:241
getDepositToRequest()
getDepositToRequest(params: EthDepositToRequestParams): Promise<ParentToChildTransactionRequest>
Get a transaction request for an ETH deposit to a different child network address using Retryables
Parameters
Parameter | Type | Description |
---|---|---|
params | EthDepositToRequestParams |
Returns
Promise
<ParentToChildTransactionRequest
>
Source
assetBridger/ethBridger.ts:312
getWithdrawalRequest()
getWithdrawalRequest(params: EthWithdrawParams): Promise<ChildToParentTransactionRequest>
Get a transaction request for an eth withdrawal
Parameters
Parameter | Type | Description |
---|---|---|
params | EthWithdrawParams |
Returns
Promise
<ChildToParentTransactionRequest
>
Source
assetBridger/ethBridger.ts:372
isApproveGasTokenParams()
private isApproveGasTokenParams(params: ApproveGasTokenParamsOrTxRequest): params is WithParentSigner<ApproveGasTokenParams>
Asserts that the provided argument is of type ApproveGasTokenParams
and not ApproveGasTokenTxRequest
.
Parameters
Parameter | Type | Description |
---|---|---|
params | ApproveGasTokenParamsOrTxRequest |
Returns
params is WithParentSigner<ApproveGasTokenParams>
Source
assetBridger/ethBridger.ts:181
withdraw()
withdraw(params: ChildToParentTxReqAndSigner | EthWithdrawParams & object): Promise<ChildContractTransaction>
Withdraw ETH from child network onto parent network
Parameters
Parameter | Type | Description |
---|---|---|
params | ChildToParentTxReqAndSigner | EthWithdrawParams & object |
Returns
Promise
<ChildContractTransaction
>
Overrides
Source
assetBridger/ethBridger.ts:408
fromProvider()
static fromProvider(childProvider: Provider): Promise<EthBridger>
Instantiates a new EthBridger from a child network Provider
Parameters
Parameter | Type | Description |
---|---|---|
childProvider | Provider |
Returns
Promise
<EthBridger
>