Releases: OffchainLabs/arbitrum-orbit-sdk
Releases · OffchainLabs/arbitrum-orbit-sdk
v0.20.0-beta.0
What's Changed
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
andsequencerInboxMaxTimeVariation
will be required. - When using
createRollupPrepareTransactionRequest
with a custom parent chain,maxDataSize
will be required.
v0.19.0
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
andbuildDisableBatchPoster
buildSetValidKeyset
andbuildInvalidateKeysetHash
- New getters
Full Changelog: v0.18.0...v0.19.0
v0.18.0
What's Changed
Breaking Changes
- Updated Rollup deployment utilities to use RollupCreator v2.1 (@spsjvc in #153)
- Parameter
batchPoster: Address
is changed tobatchPosters: Address[]
- Parameter
batchPosterManager
is added as optional- Responsible for managing active batch posters, optional as these actions can also be taken by the owner
- Parameter
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 aPublicClient
of the parent chain in order to provide better defaults
- It's replaced by
- 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
andfeeRouterDeployRewardDistributor
functions for contract deployment
- Added
- 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
andgetConsensusReleaseByWasmModuleRoot
for fetching Consensus releases
- Added
- 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
v0.17.1
What's Changed
- Added an example script for enabling fast withdrawals (@TucksonDev in #143)
- Updated version of the
@arbitrum/sdk
dependency tov4.0.0
(@spsjvc in #151)
Full Changelog: v0.17.0...v0.17.1
v0.17.0
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
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
v0.15.2
v0.15.1
What's Changed
- Fixed issue with UpgradeExecutor utils only being usable on parent chains (@chrstph-dvx in #121)
- Exported UpgradeExecutor roles (@chrstph-dvx in #120)
Full Changelog: v0.15.0...v0.15.1