L1L3Bridger¶
- class arbitrum_py.asset_bridger.l1_l3_bridger.TeleportationType[source]¶
Bases:
objectEnum-like class for teleportation types.
- Variables:
Standard – Standard teleportation
OnlyGasToken – Teleportation of only gas token
NonGasTokenToCustomGas – Teleportation of non-gas token to custom gas
- Standard = 0¶
- OnlyGasToken = 1¶
- NonGasTokenToCustomGas = 2¶
- class arbitrum_py.asset_bridger.l1_l3_bridger.RetryableGasValues(gas_limit, max_submission_fee)[source]¶
Bases:
objectGas values for retryable transactions.
- Variables:
gasLimit – Gas limit
maxSubmissionFee – Maximum submission fee
- class arbitrum_py.asset_bridger.l1_l3_bridger.TeleporterRetryableGasOverride(gas_limit=None, max_submission_fee=None)[source]¶
Bases:
objectGas overrides for teleporter retryable transactions.
- Variables:
gasLimit – Gas limit override
maxSubmissionFee – Maximum submission fee override
- class arbitrum_py.asset_bridger.l1_l3_bridger.TokenApproveParams(erc20_l1_address, amount=None)[source]¶
Bases:
objectParameters for token approval.
- Variables:
erc20L1Address – ERC20 L1 address
amount – Amount to approve
- class arbitrum_py.asset_bridger.l1_l3_bridger.TxRequestParams(tx_request, l1_signer, overrides=None)[source]¶
Bases:
objectParameters for transaction requests.
- Variables:
txRequest – Transaction request
l1Signer – L1 signer
overrides – Transaction overrides
- class arbitrum_py.asset_bridger.l1_l3_bridger.DepositRequestResult(tx_request, gas_token_amount)[source]¶
Bases:
objectResult of a deposit request.
- Variables:
txRequest – Transaction request
gasTokenAmount – Gas token amount
- class arbitrum_py.asset_bridger.l1_l3_bridger.Erc20L1L3DepositRequestRetryableOverrides(l1GasPrice=None, l2GasPrice=None, l3GasPrice=None, l2ForwarderFactoryRetryableGas=None, l1l2GasTokenBridgeRetryableGas=None, l1l2TokenBridgeRetryableGas=None, l2l3TokenBridgeRetryableGas=None)[source]¶
Bases:
objectOverrides for ERC20 L1->L3 deposit retryable transactions.
- Variables:
l1GasPrice – L1 gas price override
l2GasPrice – L2 gas price override
l3GasPrice – L3 gas price override
l2ForwarderFactoryRetryableGas – L2 forwarder factory retryable gas override
l1l2GasTokenBridgeRetryableGas – L1->L2 gas token bridge retryable gas override
l1l2TokenBridgeRetryableGas – L1->L2 token bridge retryable gas override
l2l3TokenBridgeRetryableGas – L2->L3 token bridge retryable gas override
- class arbitrum_py.asset_bridger.l1_l3_bridger.Erc20L1L3DepositRequestParams(erc20L1Address, amount, l2Provider, l3Provider, skipGasToken=False, destinationAddress=None, retryableOverrides=None)[source]¶
Bases:
objectParameters for ERC20 L1->L3 deposit requests.
- Variables:
erc20L1Address – ERC20 L1 address
amount – Amount to deposit
l2Provider – L2 provider
l3Provider – L3 provider
skipGasToken – Skip gas token
destinationAddress – Destination address
retryableOverrides – Retryable overrides
- class arbitrum_py.asset_bridger.l1_l3_bridger.TxReference(txHash=None, tx=None, txReceipt=None)[source]¶
Bases:
objectReference to a transaction.
- Variables:
txHash – Transaction hash
tx – Transaction
txReceipt – Transaction receipt
- class arbitrum_py.asset_bridger.l1_l3_bridger.GetL1L3DepositStatusParams(l1Provider, l2Provider, l3Provider, txHash=None, tx=None, txReceipt=None)[source]¶
Bases:
TxReferenceParameters for getting L1->L3 deposit status.
- Variables:
l1Provider – L1 provider
l2Provider – L2 provider
l3Provider – L3 provider
- class arbitrum_py.asset_bridger.l1_l3_bridger.Erc20L1L3DepositStatus(l1l2TokenBridgeRetryable, l2ForwarderFactoryRetryable, completed, l1l2GasTokenBridgeRetryable=None, l2l3TokenBridgeRetryable=None, l2ForwarderFactoryRetryableFrontRan=False)[source]¶
Bases:
objectStatus of an ERC20 L1->L3 deposit.
- Variables:
l1l2TokenBridgeRetryable – L1->L2 token bridge retryable status
l1l2GasTokenBridgeRetryable – L1->L2 gas token bridge retryable status
l2ForwarderFactoryRetryable – L2 forwarder factory retryable status
l2l3TokenBridgeRetryable – L2->L3 token bridge retryable status
l2ForwarderFactoryRetryableFrontRan – L2 forwarder factory retryable front ran
completed – Deposit completed
- class arbitrum_py.asset_bridger.l1_l3_bridger.EthL1L3DepositRequestParams(amount, l2Provider, l3Provider, destinationAddress=None, l2RefundAddress=None, l2TicketGasOverrides=None, l3TicketGasOverrides=None)[source]¶
Bases:
objectParameters for ETH L1->L3 deposit requests.
- Variables:
amount – Amount to deposit
l2Provider – L2 provider
l3Provider – L3 provider
destinationAddress – Destination address
l2RefundAddress – L2 refund address
l2TicketGasOverrides – L2 ticket gas overrides
l3TicketGasOverrides – L3 ticket gas overrides
- class arbitrum_py.asset_bridger.l1_l3_bridger.EthL1L3DepositStatus(l2Retryable, completed, l3Retryable=None)[source]¶
Bases:
objectStatus of an ETH L1->L3 deposit.
- Variables:
l2Retryable – L2 retryable status
l3Retryable – L3 retryable status
completed – Deposit completed
- class arbitrum_py.asset_bridger.l1_l3_bridger.BaseL1L3Bridger(l3_network)[source]¶
Bases:
objectBase class for L1->L3 bridgers.
- __init__(l3_network)[source]¶
Initialize the bridger.
- Parameters:
l3_network (
ArbitrumNetwork) – The L3 network
- _percent_increase(num, increase)[source]¶
Calculate the percent increase.
- Parameters:
num (
int) – The base numberincrease (
int) – The percent to increase by
- Return type:
int
- _get_tx_hash_from_tx_ref(tx_ref)[source]¶
Get the transaction hash from a transaction reference.
- Parameters:
tx_ref (
Union[Dict[str,Any],TxReference]) – The transaction reference- Return type:
str
- _get_tx_from_tx_ref(tx_ref, provider)[source]¶
Get the transaction from a transaction reference.
- Parameters:
tx_ref (
Union[Dict[str,Any],TxReference]) – The transaction referenceprovider (
Web3) – The provider
- Return type:
- _get_tx_receipt_from_tx_ref(tx_ref, provider)[source]¶
Get the transaction receipt from a transaction reference.
- Parameters:
tx_ref (
Union[Dict[str,Any],TxReference]) – The transaction referenceprovider (
Web3) – The provider
- Return type:
- class arbitrum_py.asset_bridger.l1_l3_bridger.Erc20L1L3Bridger(l3_network)[source]¶
Bases:
BaseL1L3BridgerErc20 L1->L3 bridger.
- __init__(l3_network)[source]¶
Initialize the bridger.
- Parameters:
l3_network (
ArbitrumNetwork) – The L3 network
- get_gas_token_on_l1(l1_provider, l2_provider)[source]¶
Get the gas token on L1.
- Parameters:
l1_provider (
Web3) – The L1 providerl2_provider (
Web3) – The L2 provider
- Return type:
str
- l2_forwarder_address(owner, router_or_inbox, destination_address, l1_or_l2_provider)[source]¶
- Return type:
str
- get_approve_token_request(params)[source]¶
Get the approve token request.
- Parameters:
params (
Dict[str,Any]) – The parameters- Return type:
Dict[str,Any]
- get_approve_gas_token_request(params)[source]¶
Get the approve gas token request.
- Parameters:
params (
Dict[str,Any]) – The parameters- Return type:
Dict[str,Any]
- get_deposit_request(params)[source]¶
Get the deposit request.
- Parameters:
params (
Dict[str,Any]) – The parameters- Return type:
Dict[str,Any]
- class arbitrum_py.asset_bridger.l1_l3_bridger.EthL1L3Bridger(l3_network)[source]¶
Bases:
BaseL1L3Bridger- __init__(l3_network)[source]¶
Initialize the bridger.
- Parameters:
l3_network (
ArbitrumNetwork) – The L3 network