Releases: OffchainLabs/arbitrum-orbit-sdk
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
v0.20.1
v0.20.0
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
createTokenBridge
andcreateTokenBridgePrepareTransactionRequest
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
- Added a new function
- 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
What's Changed
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 requiredparams.sequencerInboxMaxTimeVariation
will be required
createRollupPrepareTransactionRequest
andcreateRollup
params.maxDataSize
will be required
prepareNodeConfig
parentChainIsArbitrum
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