networks
Interfaces
ArbitrumNetwork
Represents an Arbitrum chain, e.g. Arbitrum One, Arbitrum Sepolia, or an L3 chain.
Properties
Property | Type | Description |
---|---|---|
chainId | number | Id of the chain. |
confirmPeriodBlocks | number | The time allowed for validators to dispute or challenge state assertions. Measured in L1 blocks. |
ethBridge | EthBridge | The core contracts |
isBold? | boolean | Has the network been upgraded to bold. True if yes, otherwise undefined This is a temporary property and will be removed in future if Bold is widely adopted and the legacy challenge protocol is deprecated |
isCustom | boolean | Whether or not the chain was registered by the user. |
name | string | Name of the chain. |
nativeToken? | 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 chain as its native/gas token, this is the address of said token on the parent chain |
parentChainId | number | Chain id of the parent chain, i.e. the chain on which this chain settles to. |
retryableLifetimeSeconds? | number | Represents how long a retryable ticket lasts for before it expires (in seconds). Defaults to 7 days. |
teleporter? | Teleporter | The teleporter contracts. |
tokenBridge? | TokenBridge | The token bridge contracts. |
L2NetworkTokenBridge
This type is only here for when you want to achieve backwards compatibility between SDK v3 and v4.
Please see TokenBridge for the latest type.
Deprecated
since v4
Type Aliases
L2Network
type L2Network: Prettify<Omit<ArbitrumNetwork, "chainId" | "parentChainId" | "tokenBridge"> & object>;
This type is only here for when you want to achieve backwards compatibility between SDK v3 and v4.
Please see ArbitrumNetwork for the latest type.
Deprecated
since v4
Source
Functions
assertArbitrumNetworkHasTokenBridge()
function assertArbitrumNetworkHasTokenBridge<T>(network: T): asserts network is T & Object
Asserts that the given object has a token bridge. This is useful because not all Arbitrum network operations require a token bridge.
Type parameters
Type parameter |
---|
T extends ArbitrumNetwork |
Parameters
Parameter | Type | Description |
---|---|---|
network | T | ArbitrumNetwork object |
Returns
asserts network is T & Object
Throws
ArbSdkError if the object does not have a token bridge
Source
getArbitrumNetwork()
function getArbitrumNetwork(chainId: number): ArbitrumNetwork
Returns the Arbitrum chain associated with the given signer, provider or chain id.
Parameters
Parameter | Type |
---|---|
chainId | number |
Returns
Note
Throws if the chain is not an Arbitrum chain.
Source
getArbitrumNetworkInformationFromRollup()
function getArbitrumNetworkInformationFromRollup(rollupAddress: string, parentProvider: Provider): Promise<ArbitrumNetworkInformationFromRollup>
Returns all the information about an Arbitrum network that can be fetched from its Rollup contract.
Parameters
Parameter | Type | Description |
---|---|---|
rollupAddress | string | Address of the Rollup contract on the parent chain |
parentProvider | Provider | Provider for the parent chain |
Returns
Promise
<ArbitrumNetworkInformationFromRollup
>
An ArbitrumNetworkInformationFromRollup object
Source
getArbitrumNetworks()
function getArbitrumNetworks(): ArbitrumNetwork[]
Returns all Arbitrum networks registered in the SDK, both default and custom.
Returns
Source
getChildrenForNetwork()
function getChildrenForNetwork(parentChainOrChainId: number | ArbitrumNetwork): ArbitrumNetwork[]
Returns a list of children chains for the given chain or chain id.
Parameters
Parameter | Type |
---|---|
parentChainOrChainId | number | ArbitrumNetwork |
Returns
Source
isParentNetwork()
function isParentNetwork(parentChainOrChainId: number | ArbitrumNetwork): boolean
Determines if a chain is a parent of any other chain. Could be an L1 or an L2 chain.
Parameters
Parameter | Type |
---|---|
parentChainOrChainId | number | ArbitrumNetwork |
Returns
boolean
Source
mapL2NetworkToArbitrumNetwork()
function mapL2NetworkToArbitrumNetwork(l2Network: object): ArbitrumNetwork
Maps the old L2Network (from SDK v3) to ArbitrumNetwork (from SDK v4).
Parameters
Parameter | Type | Description |
---|---|---|
l2Network | object | - |
l2Network.chainID | number | - |
l2Network.confirmPeriodBlocks | number | The time allowed for validators to dispute or challenge state assertions. Measured in L1 blocks. |
l2Network.ethBridge | EthBridge | The core contracts |
l2Network.isBold ? | boolean | Has the network been upgraded to bold. True if yes, otherwise undefined This is a temporary property and will be removed in future if Bold is widely adopted and the legacy challenge protocol is deprecated |
l2Network.isCustom | boolean | Whether or not the chain was registered by the user. |
l2Network.name | string | Name of the chain. |
l2Network.nativeToken ? | 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 chain as its native/gas token, this is the address of said token on the parent chain |
l2Network.partnerChainID | number | - |
l2Network.retryableLifetimeSeconds ? | number | Represents how long a retryable ticket lasts for before it expires (in seconds). Defaults to 7 days. |
l2Network.teleporter ? | Teleporter | The teleporter contracts. |
l2Network.tokenBridge | L2NetworkTokenBridge | - |
Returns
Source
mapL2NetworkTokenBridgeToTokenBridge()
function mapL2NetworkTokenBridgeToTokenBridge(input: L2NetworkTokenBridge): TokenBridge
Maps the old L2Network.tokenBridge (from SDK v3) to ArbitrumNetwork.tokenBridge (from SDK v4).
Parameters
Parameter | Type |
---|---|
input | L2NetworkTokenBridge |
Returns
TokenBridge
Source
registerCustomArbitrumNetwork()
function registerCustomArbitrumNetwork(network: ArbitrumNetwork, options?: object): ArbitrumNetwork
Registers a custom Arbitrum network.
Parameters
Parameter | Type | Description |
---|---|---|
network | ArbitrumNetwork | ArbitrumNetwork to be registered |
options ? | object | Additional options |
options.throwIfAlreadyRegistered ? | boolean | Whether or not the function should throw if the network is already registered, defaults to false |