Skip to content

Releases: OffchainLabs/arbitrum-orbit-sdk

v0.21.5

14 Feb 15:00
87cf8ba
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v0.20.1

03 Oct 10:45
7669197
Compare
Choose a tag to compare

What's Changed

  • Fixed an issue with createRollupPrepareTransactionRequest retryable fee estimation (@spsjvc in 85785a5, fdb7d29)

Full Changelog: v0.20.0...v0.20.1

v0.20.0

02 Oct 10:05
0149881
Compare
Choose a tag to compare

What's Changed

  • Updated the default ArbOS version to ArbOS 32 (@spsjvc in #162)
  • Updated retryable fee estimation, which should make things more stable in case of parent base fee spikes
    • Updated createRollupPrepareTransactionRequest to make the retryable fee dynamic (@spsjvc in #193, #194, #200)
    • Updated createTokenBridgePrepareTransactionRequest retryable fee estimation (@spsjvc in #196, #197, #200)
  • Updated createTokenBridge and createTokenBridgePrepareTransactionRequest to throw with a custom error in case the token bridge contracts are already deployed for the Rollup (@chrstph-dvx in #186, @spsjvc in #201, #202)
    • Added a new function isTokenBridgeDeployed to check for this scenario
    • Previously, the functions would throw while waiting for retryables to execute
  • Updated node params needed in the example for fast withdrawals (@TucksonDev in #183)

Full Changelog: v0.19.0...v0.20.0

v0.20.0-beta.0

10 Sep 13:24
b455803
Compare
Choose a tag to compare
v0.20.0-beta.0 Pre-release
Pre-release

What's Changed

  • Added the option to use custom parent chains (@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 object with the RollupCreator and TokenBridgeCreator contract addresses filled out:

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

v0.19.0

10 Sep 13:06
5fb2533
Compare
Choose a tag to compare

What's Changed

  • Fixed an issue with the setup-fast-withdrawal example, where the fast confirmer wasn't in the validator list (@TucksonDev in #171)
  • Fixed an issue with createRollupPrepareTransaction, making it work with RollupCreator v1.1 (@spsjvc in #173)
  • Added new getters and transaction request builders for SequencerInbox (@chrstph-dvx in #114, #117, #176, #178, #182)
    • New getters
      • getMaxTimeVariation
      • isBatchPoster
      • isValidKeysetHash
    • New transaction request builders
      • buildSetMaxTimeVariation
      • buildSetIsBatchPoster, buildEnableBatchPoster and buildDisableBatchPoster
      • buildSetValidKeyset and buildInvalidateKeysetHash

Full Changelog: v0.18.0...v0.19.0