Releases: OffchainLabs/arbitrum-orbit-sdk
v0.22.1
v0.23.1
Summary
This release adds support for deploying L3s with BoLD and support for Nitro contracts v3.1 in getValidators
.
What's Changed
- Added support for deploying L3s with BoLD (@spsjvc in #268)
- Added support for Nitro contracts v3.1 in
getValidators
(@fionnachan, @spsjvc in #265) - Updated Nitro node config for v3.6.0 (@spsjvc in #267)
- Updated dependencies and advisories (@spsjvc in #269, #270)
- Updated ABI generation script to use Etherscan API v2 (@spsjvc in #266)
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
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
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
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
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
v0.21.2
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
v0.21.0
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 requiredparams.sequencerInboxMaxTimeVariation
will be required
createRollupPrepareTransactionRequest
andcreateRollup
params.maxDataSize
will be required
prepareNodeConfig
parentChainIsArbitrum
will be required
Other
- Updated
createRollupFetchTransactionHash
to allowfromBlock
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