Skip to content

Releases: OffchainLabs/arbitrum-orbit-sdk

v0.22.1

09 May 10:56
205f453

Choose a tag to compare

Summary

This release updates Nitro contracts to v2.1.3.

What's Changed

Full Changelog: v0.22.0...v0.22.1

v0.23.1

07 May 12:16
55e16cc

Choose a tag to compare

Summary

This release adds support for deploying L3s with BoLD and support for Nitro contracts v3.1 in getValidators.

What's Changed

Full Changelog: v0.23.0...v0.23.1

Nitro Version Support

The minimum version of Nitro required for this release is v3.6.0.

v0.23.0

24 Apr 14:46
0aa988d

Choose a tag to compare

Summary

This release adds support for Nitro contracts v3.1, enabling BoLD and custom gas tokens for Rollups.

Important

BoLD is currently only supported on L2s, with support for L3s coming soon.
If you wish to deploy an L3, please use an older version of the SDK (v0.22.x) that doesn't use BoLD.

Support for Nitro contracts v3.1 in getValidators and getBatchPosters is coming soon.

EDIT - These were added in v0.23.1.

What's Changed

  • Added RollupCreator v3.1 ABI and addresses (@spsjvc in #262)
  • Added support for RollupCreator v3.1 (@spsjvc in #243)
  • Added restriction to only allow L2s to be deployed with BoLD (@spsjvc in #263)
  • Updated Rollup and SequencerInbox ABIs to v3.1 (@spsjvc in #260)
  • Updated node config for BoLD (@spsjvc in #264)

Full Changelog: v0.22.0...v0.23.0

Nitro Version Support

The minimum version of Nitro required for this release is v3.5.5.

v0.22.0

08 Apr 09:30
bd2f57e

Choose a tag to compare

What's Changed

  • BREAKING - Removed support for Holesky (@spsjvc in #255)
  • Added Rollup and SequencerInbox v3.0 ABIs in preparation for v3 support (@spsjvc in #254)
  • Added multiple defaults getters in preparation for BoLD and v3 support (@spsjvc in #253)
    • getDefaultChallengeGracePeriodBlocks
    • getDefaultValidatorAfkBlocks
    • getDefaultMinimumAssertionPeriod
  • Added getWethAddress for fetching the WETH address for a parent chain (@spsjvc in #246)
  • Updated the default value for confirmPeriodBlocks from 6.4 to 7 days (@spsjvc in #250)
  • Updated multiple dependencies and solved/ignored advisories (@spsjvc in #244, #245, #251, #256)

Full Changelog: v0.21.5...v0.22.0

v0.21.5

14 Feb 15:00
87cf8ba

Choose a tag to compare

What's Changed

  • Fixed an issue with failed decoding of calls through Safe in getValidators (@spsjvc in #238)
  • Exported several utilities for preparing data for transactions (@spsjvc in #234)
    • arbOwnerPrepareFunctionData
    • arbAggregatorPrepareFunctionData
    • sequencerInboxPrepareFunctionData
    • rollupAdminLogicPrepareFunctionData
  • Added rollupDeploymentBlockNumber parameter for reducing block query range (@spsjvc in #239)

Full Changelog: v0.21.4...v0.21.5

v0.21.4

14 Feb 10:32
97721d0

Choose a tag to compare

What's Changed

  • Fixed an issue where the wrong gateway router was used for ChildToParentRewardRouter (@TucksonDev in #230)

Full Changelog: v0.21.3...v0.21.4

v0.21.3

21 Nov 13:25
d6ccb3b

Choose a tag to compare

What's Changed

  • Fixed an issue where the wrong RPC was used when transforming PublicClient (viem) to Provider (ethers) (@spsjvc in #226)

Full Changelog: v0.21.2...v0.21.3

v0.21.2

05 Nov 23:59
729facd

Choose a tag to compare

What's Changed

Support for non-18 decimal custom gas tokens

This release adds support for non-18 decimal custom gas tokens. Added by @chrstph-dvx and @spsjvc in #216 and #219.

The necessary scaling is done in the background for you. However, if you need to do any scaling yourself (e.g. for approvals), we've provided the following utilities - scaleFrom18DecimalsToNativeTokenDecimals and scaleFromNativeTokenDecimalsTo18Decimals.

This release also bumps the version of @arbitrum/sdk to v4.0.2.

Other

  • Added prepareArbitrumNetwork for easier compatibility with @arbitrum/sdk (@chrstph-dvx in #221)
  • Exported several retryable fee utils (@spsjvc in #220):
    • createRollupGetRetryablesFees
    • createRollupGetRetryablesFeesWithDefaults
    • createRollupDefaultRetryablesFees
    • createTokenBridgeDefaultRetryablesFees
  • Exported several ERC-20 utils (@spsjvc in #224):
    • fetchAllowance
    • fetchDecimals

Full Changelog: v0.21.1...v0.21.2

v0.21.1

17 Oct 11:17
db18a1c

Choose a tag to compare

What's Changed

  • Added extra buffer to createRollup retryable fees (@spsjvc in #217)

Full Changelog: v0.21.0...v0.21.1

v0.21.0

15 Oct 14:24
fc7f8f4

Choose a tag to compare

What's Changed

Custom Parent Chains

This release adds in functionality to use custom parent chains which are not supported by default. Added by @spsjvc in #181.

Register a custom parent chain by calling registerCustomParentChain with the custom parent chain object as the argument.
The object needs to be a viem Chain with the RollupCreator and TokenBridgeCreator contract addresses filled in:

registerCustomParentChain({
  id: 123,
  name: `My Chain`,
  network: `my-chain`,
  nativeCurrency: { 
    name: 'Ether', 
    symbol: 'ETH', 
    decimals: 18
  },
  rpcUrls: {
    public: { 
      http: ['http://localhost:3000'] },
      default: { http: ['http://localhost:3000'] 
    },
  },
  // the following contract addresses have to be provided
  contracts: {
    rollupCreator: { address: '0x1000000000000000000000000000000000000000' },
    tokenBridgeCreator: { address: '0x2000000000000000000000000000000000000000' },
  },
})

Note that if you're using a custom parent chain, defaults for certain functions can't be provided, so you'll have to specify those values:

  • createRollupPrepareDeploymentParamsConfig
    • params.confirmPeriodBlocks will be required
    • params.sequencerInboxMaxTimeVariation will be required
  • createRollupPrepareTransactionRequest and createRollup
    • params.maxDataSize will be required
  • prepareNodeConfig
    • parentChainIsArbitrum will be required

Other

  • Updated createRollupFetchTransactionHash to allow fromBlock override (@spsjvc in #213)
  • Updated long-range log query handling (@chrstph-dvx in #208)
    • Long-range log queries will be split into several in case the RPC has a limit (will take longer but won't fail with an error)

Full Changelog: v0.20.1...v0.21.0