Skip to content

Releases: OffchainLabs/arbitrum-orbit-sdk

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 register custom parent chains (@spsjvc in #181)

Register a new custom parent chain by calling registerCustomParentChain with a CustomParentChain object. The type CustomParentChain inherits from viem's Chain and adds the requirement of providing the factory contract addresses.

registerCustomParentChain({
  id: 123,
  name: `Custom Parent Chain 123`,
  network: `custom-parent-chain-123`,
  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
  rpcUrls: {
    public: { http: ['http://localhost:3000'] },
    default: { http: ['http://localhost:3000'] },
  },
  // the following is required on CustomParentChain
  contracts: {
    rollupCreator: { address: '0x1000000000000000000000000000000000000000' },
    tokenBridgeCreator: { address: '0x2000000000000000000000000000000000000000' },
  },
})

Note that if you're using a custom parent chain, some defaults can't be provided.

  • When using createRollupPrepareDeploymentParamsConfig with a custom parent chain, confirmPeriodBlocks and sequencerInboxMaxTimeVariation will be required.
  • When using createRollupPrepareTransactionRequest with a custom parent chain, maxDataSize 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

v0.18.0

16 Aug 09:46
f82d01e
Compare
Choose a tag to compare

What's Changed

Breaking Changes

  • Updated Rollup deployment utilities to use RollupCreator v2.1 (@spsjvc in #153)
    • Parameter batchPoster: Address is changed to batchPosters: Address[]
    • Parameter batchPosterManager is added as optional
      • Responsible for managing active batch posters, optional as these actions can also be taken by the owner
const txRequest = await createRollupPrepareTransactionRequest({
  params: {
    config,
    validators: [validator],
-   batchPoster,
+   batchPosters: [batchPoster],
+   batchPosterManager,
  },
  account,
  publicClient,
});
  • Updated contract ABIs (@spsjvc in #160, #168)
    • Updated import paths so contracts are grouped by contract name and version
    • Updated the ABIs for Nitro contracts from v1.1 to v2.1, keeping v1.1 for backwards compatibility
- import { arbOwner, rollupAdminLogic, sequencerInbox } from '@arbitrum/orbit-sdk/contracts';
+ import { arbOwnerABI, arbOwnerAddress } from '@arbitrum/orbit-sdk/contracts/ArbOwner';
+ import { rollupABI } from '@arbitrum/orbit-sdk/contracts/Rollup';
+ import { sequencerInboxABI } from '@arbitrum/orbit-sdk/contracts/SequencerInbox';
// import latest version
import { rollupCreatorABI } from '@arbitrum/orbit-sdk/contracts/RollupCreator';
// import specific versions
import { rollupCreatorABI } from '@arbitrum/orbit-sdk/contracts/RollupCreator/v1.1';
import { rollupCreatorABI } from '@arbitrum/orbit-sdk/contracts/RollupCreator/v2.1';
  • Removed createRollupPrepareConfig which was marked as deprecated since v0.15.0 (@spsjvc in #163)
    • It's replaced by createRollupPrepareDeploymentParamsConfig, keeping almost exactly the same API, other than requiring a PublicClient of the parent chain in order to provide better defaults
- const config = createRollupPrepareConfig({
+ const config = createRollupPrepareDeploymentParamsConfig(parentPublicClient, {
    chainId,
    owner,
    chainConfig,
  });
  • Removed some configurable parameters in prepareChainConfig (@spsjvc in #169)
    • Parameters that should not be changed can no longer be changed
    • Parameters that can still be changed are:
      • chainId (required)
      • arbitrum.InitialChainOwner (required)
      • arbitrum.InitialArbOSVersion
      • arbitrum.DataAvailabilityCommittee
      • arbitrum.MaxCodeSize
      • arbitrum.MaxInitCodeSize

Other Changes

  • Added AEP fee routing utilities with examples (@TucksonDev in #80)
    • Added feeRouterDeployChildToParentRouter and feeRouterDeployRewardDistributor functions for contract deployment
  • Added utilities for dealing with Consensus releases and WASM module roots (@spsjvc in #155, #166, #167)
    • Added isKnownWasmModuleRoot to check if the provided value matches a known WASM module root
    • Added getConsensusReleaseByVersion and getConsensusReleaseByWasmModuleRoot for fetching Consensus releases
  • Updated the default WASM module root to Consensus v31 (@spsjvc in #164)
  • Updated Token Bridge Contracts refs to v1.2.2 (@spsjvc in #165)

Full Changelog: v0.17.2...v0.18.0

v0.17.2

07 Aug 17:09
6d8f9e0
Compare
Choose a tag to compare

What's Changed

  • Fixed an overflow issue when converting BigNumber to BigInt (@spsjvc in #158)

Full Changelog: v0.17.1...v0.17.2

v0.17.1

19 Jul 11:37
1e5a32b
Compare
Choose a tag to compare

What's Changed

  • Added an example script for enabling fast withdrawals (@TucksonDev in #143)
  • Updated version of the @arbitrum/sdk dependency to v4.0.0 (@spsjvc in #151)

Full Changelog: v0.17.0...v0.17.1

v0.17.0

25 Jun 16:47
4fedd67
Compare
Choose a tag to compare

What's Changed

  • Added isAnyTrust for checking if the given chain is an AnyTrust chain (@chrstph-dvx in #130)
  • Added getKeysets for fetching the list of DAC keysets for a given AnyTrust chain (@chrstph-dvx in #129)

Full Changelog: v0.16.0...v0.17.0

v0.16.0

20 Jun 10:54
e90ed84
Compare
Choose a tag to compare

What's Changed

  • Added getBatchPosters for fetching the list of active batch posters (@chrstph-dvx in #124)

Full Changelog: v0.15.3...v0.16.0

v0.15.3

19 Jun 14:46
f8242d8
Compare
Choose a tag to compare

What's Changed

  • Updated prepareNodeConfig to make DAS server URL configurable (@spsjvc in #128)

Full Changelog: v0.15.2...v0.15.3

v0.15.2

17 Jun 13:39
dd8ce09
Compare
Choose a tag to compare

What's Changed

  • Updated @arbitrum/sdk (internal dependency) to v4-alpha (@spsjvc in #81)

Full Changelog: v0.15.1...v0.15.2

v0.15.1

11 Jun 16:11
fa20b8d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.15.0...v0.15.1