Skip to content

v0.18.0

Compare
Choose a tag to compare
@spsjvc spsjvc released this 16 Aug 09:46
· 66 commits to main since this release
f82d01e

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