Skip to content

Releases: OffchainLabs/arbitrum-sdk

v3.3.1

15 Mar 16:08
b7df6b6
Compare
Choose a tag to compare

What's Changed

  • Dropped support for Goerli and Arbitrum Goerli (@brtkx in #428)

Full Changelog: v3.3.0...v3.3.1

v3.3.0

14 Feb 11:29
4c0d43a
Compare
Choose a tag to compare

What's Changed

Custom Gas Token Support

This release adds custom gas token support. Added by @spsjvc, @douglance and @godzillaba in #310.

L2Network

  • Added a new property nativeToken?: string
    • In case of a chain that uses ETH as its gas token, this is either undefined or the zero address
    • In case of a chain that uses a custom gas token, this is the address of said token on the parent chain

Asset Bridger

  • Added a new property nativeToken?: string which is read from the L2Network object

EthBridger

  • Added getApproveGasTokenRequest and approveGasToken for approving the gas token to be spent by the Inbox

Erc20Bridger

  • Added getApproveGasTokenRequest and approveGasToken for approving the gas token to be spent by the relevant Gateway

The only extra thing you have to do for custom gas token chains is to make sure to call approveGasToken before executing a deposit, so that the Inbox (in case of a native token deposit) or the relevant Gateway (in case of a token deposit) have allowance to spend your tokens in order to pay for fees. The rest of your code can stay the same, as everything else will be handled internally by the SDK.

Erc20Bridger

  • Updated to call outboundTransferCustomRefund when using a different refund address (@brtkx in #285)

Full Changelog: v3.2.0...v3.3.0

v3.2.0

05 Feb 10:55
48f5723
Compare
Choose a tag to compare

What's Changed

This release introduces support for L3s, along with a couple other useful features and improvements. 🎉

L3 Support

Added by @brtkx, @douglance and @spsjvc in #379.

AssetBridger, InboxTools

  • Updated type of l1Network property from L1Network to L1Network | L2Network, as the referenced parent chain can be an L2Network in case of an L3

Constants

  • Added ARB_MINIMUM_BLOCK_TIME_IN_SECONDS which represents the minimum block time for an Arbitrum chain

L2Network

  • Added blockTime: number to make more consistent with L1Network
    • Represents the minimum block time for the chain
    • When registering a custom Arbitrum chain, use the ARB_MINIMUM_BLOCK_TIME_IN_SECONDS constant
  • Added partnerChainIDs: number[] to make more consistent with L1Network
    • Represents the ids of the children chains (chains that settle to this chain)
    • When registering a custom L3 Arbitrum chain, you can leave this empty
    • When registering a custom L2 Arbitrum chain, you can leave this empty, unless there's a custom L3 that settles to this chain

Registering a custom L3 works the same way as registering a custom L2:

const myL3Network: L2Network = { ... }
addCustomNetwork({ customL2Network: myL3Network })

L2ToL1Message

  • Updated waitUntilReadyToExecute to return status instead of void (@DZGoldman in #381, #386)
  • Updated getOutboxProof to use NodeInterface.l2BlockRangeForL1 if available (@brtkx in #404)
    • Should make looking up proofs significantly faster

Misc

New Contributors

Full Changelog: v3.1.13...v3.2.0

v3.1.12

05 Oct 09:20
382dd9e
Compare
Choose a tag to compare

What's Changed

L2ToL1MessageNitro

  • Cache values returned from getBlockRangesForL1Block by @brtkx in #343

Misc

New Contributors

Full Changelog: v3.1.11...v3.1.12

v3.1.11

14 Sep 13:13
f8b7eeb
Compare
Choose a tag to compare

What's Changed

Misc

Full Changelog: v3.1.10...v3.1.11

v3.1.10

31 Aug 13:52
2929059
Compare
Choose a tag to compare

What's Changed

  • feat: add Stylus testnet network by @bartlomiej94 in #329

Full Changelog: v3.1.9...v3.1.10

v3.1.10-beta.0

28 Aug 09:43
3d22c14
Compare
Choose a tag to compare
v3.1.10-beta.0 Pre-release
Pre-release

What's Changed

  • feat: add ParentChain and Chain to support Orbit chains @bartlomiej94 in #312

Full Changelog: v3.1.8...v3.1.10-beta.0

v3.1.9

24 Aug 07:59
8f56af9
Compare
Choose a tag to compare

What's Changed

  • chore: update arbitrum sepolia contracts by @bartlomiej94 in #327

Full Changelog: v3.1.8...v3.1.9

v3.1.8

18 Aug 10:49
07b85a9
Compare
Choose a tag to compare

What's Changed

Utils

  • Added getFirstBlockForL1Block and getBlockRangesForL1Block for looking up L2 and Orbit blocks by @bartlomiej94 in #317

Erc20Bridger

  • Enabled specifying toAddress in getL2WithdrawalEvents by @spsjvc in #324

Full Changelog: v3.1.7...v3.1.8

v3.1.7

17 Aug 11:34
03a7cb5
Compare
Choose a tag to compare

What's Changed

Networks

  • Added support for Sepolia and Arbitrum Sepolia by @bartlomiej94 in #320

Full Changelog: v3.1.6...v3.1.7