diff --git a/docs/arbitrum-essentials/how-to-estimate-gas.mdx b/docs/arbitrum-essentials/how-to-estimate-gas.mdx index 7bf8c77a8d..9cf773c730 100644 --- a/docs/arbitrum-essentials/how-to-estimate-gas.mdx +++ b/docs/arbitrum-essentials/how-to-estimate-gas.mdx @@ -23,7 +23,7 @@ Multiplying the value from `eth_estimateGas` by the child chain gas price gives Alternatively, call `NodeInterface.gasEstimateComponents()` and use the first result (`gasEstimate`) as your gas limit. Multiply by the third result (`baseFee`) to get the total cost. For background on `NodeInterface` itself, see the [NodeInterface overview](/arbitrum-essentials/nodeinterface/overview.mdx). -Note that when working with [parent to child chain messages](/arbitrum-essentials/bridging/cross-chain-messaging.mdx) (also known as [retryable tickets](/how-arbitrum-works/deep-dives/l1-to-l2-messaging.mdx)), you can use the function [`ParentToChildMessageGasEstimator.estimateAll()`](https://github.com/OffchainLabs/arbitrum-sdk/blob/main/packages/sdk/src/lib/message/ParentToChildMessageGasEstimator.ts) of the Arbitrum SDK or [`NodeInterface.estimateRetryableTicket()`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/nodeInterface/NodeInterface.go#L120) to get all the gas information needed to send a successful transaction. +Note that when working with [parent to child chain messages](/arbitrum-essentials/bridging/cross-chain-messaging.mdx) (also known as [retryable tickets](/how-arbitrum-works/deep-dives/l1-to-l2-messaging.mdx)), you can use the function [`ParentToChildMessageGasEstimator.estimateAll()`](https://github.com/OffchainLabs/arbitrum-sdk/blob/main/packages/sdk/src/lib/message/ParentToChildMessageGasEstimator.ts) of the Arbitrum SDK or [`NodeInterface.estimateRetryableTicket()`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/nodeInterface/NodeInterface.go#L120) to get all the gas information needed to send a successful transaction. ## The fee formula diff --git a/docs/arbitrum-essentials/nodeinterface/overview.mdx b/docs/arbitrum-essentials/nodeinterface/overview.mdx index 2372ad5c77..d8894bc2f3 100644 --- a/docs/arbitrum-essentials/nodeinterface/overview.mdx +++ b/docs/arbitrum-essentials/nodeinterface/overview.mdx @@ -8,6 +8,6 @@ displayed_sidebar: arbitrumEssentialsSidebar -The Arbitrum Nitro software includes a special `NodeInterface` contract available at address `0xc8` that is only accessible via [RPCs](/arbitrum-essentials/arbitrum-vs-ethereum/rpc-methods.mdx) (it's not actually deployed onchain and thus can't be called by smart contracts). The way it works is that the node uses Geth's [`InterceptRPCMessage`](https://github.com/OffchainLabs/go-ethereum/blob/@@goEthereumCommit=0f618f330b8d78457524839997f0041d86f3cd1a@@/internal/ethapi/api.go#L1034) hook to detect messages sent to the address `0xc8`, and swaps out the message it's handling before deriving a transaction from it. +The Arbitrum Nitro software includes a special `NodeInterface` contract available at address `0xc8` that is only accessible via [RPCs](/arbitrum-essentials/arbitrum-vs-ethereum/rpc-methods.mdx) (it's not actually deployed onchain and thus can't be called by smart contracts). The way it works is that the node uses Geth's [`InterceptRPCMessage`](https://github.com/OffchainLabs/go-ethereum/blob/@@goEthereumCommit=f3a977ddf30b138da2fe673ac5cbff2bc6dd4c88@@/internal/ethapi/api.go#L1034) hook to detect messages sent to the address `0xc8`, and swaps out the message it's handling before deriving a transaction from it. The [reference page](/arbitrum-essentials/nodeinterface/reference.mdx) contains information about all methods available in the `NodeInterface`. diff --git a/docs/arbitrum-essentials/precompiles/reference.mdx b/docs/arbitrum-essentials/precompiles/reference.mdx index e1139d8ef4..87d601094d 100644 --- a/docs/arbitrum-essentials/precompiles/reference.mdx +++ b/docs/arbitrum-essentials/precompiles/reference.mdx @@ -18,32 +18,32 @@ This section is divided into two tables. We first list precompiles we expect use | Precompile | Address | Solidity interface | Go implementation | Purpose | | --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -| [ArbAggregator](#arbaggregator) | `0x6d` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbAggregator.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbAggregator.go) | Configuring transaction aggregation | -| [ArbGasInfo](#arbgasinfo) | `0x6c` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbGasInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbGasInfo.go) | Info about gas pricing | -| [ArbRetryableTx](#arbretryabletx) | `0x6e` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbRetryableTx.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbRetryableTx.go) | Managing retryables | -| [ArbSys](#arbsys) | `0x64` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbSys.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbSys.go) | System-level functionality | -| [ArbWasm](#arbwasm) | `0x71` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbWasm.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasm.go) | Manages Stylus contracts | -| [ArbWasmCache](#arbwasmcache) | `0x72` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbWasmCache.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasmCache.go) | Manages Stylus cache | +| [ArbAggregator](#arbaggregator) | `0x6d` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbAggregator.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbAggregator.go) | Configuring transaction aggregation | +| [ArbGasInfo](#arbgasinfo) | `0x6c` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbGasInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbGasInfo.go) | Info about gas pricing | +| [ArbRetryableTx](#arbretryabletx) | `0x6e` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbRetryableTx.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbRetryableTx.go) | Managing retryables | +| [ArbSys](#arbsys) | `0x64` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbSys.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbSys.go) | System-level functionality | +| [ArbWasm](#arbwasm) | `0x71` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbWasm.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasm.go) | Manages Stylus contracts | +| [ArbWasmCache](#arbwasmcache) | `0x72` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbWasmCache.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasmCache.go) | Manages Stylus cache | ### Other precompiles | Precompile | Address | Solidity interface | Go implementation | Purpose | | ------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | -| [ArbAddressTable](#arbaddresstable) | `0x66` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbAddressTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbAddressTable.go) | Supporting compression of addresses | +| [ArbAddressTable](#arbaddresstable) | `0x66` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbAddressTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbAddressTable.go) | Supporting compression of addresses | | ArbBLS | - | - | - | **Disabled** (Former registry of BLS public keys) | -| [ArbDebug](#arbdebug) | `0xff` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbDebug.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbDebug.go) | Testing tools | -| [ArbFunctionTable](#arbfunctiontable) | `0x68` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbFunctionTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbFunctionTable.go) | No longer used | -| [ArbInfo](#arbinfo) | `0x65` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbInfo.go) | Info about accounts | -| [ArbOwner](#arbowner) | `0x70` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbOwner.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwner.go) | Chain administration, callable only by chain owner | -| [ArbOwnerPublic](#arbownerpublic) | `0x6b` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbOwnerPublic.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwnerPublic.go) | Info about chain owners | -| [ArbosTest](#arbostest) | `0x69` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbosTest.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbosTest.go) | No longer used | -| [ArbStatistics](#arbstatistics) | `0x6f` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbStatistics.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbStatistics.go) | Info about the pre-Nitro state | +| [ArbDebug](#arbdebug) | `0xff` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbDebug.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbDebug.go) | Testing tools | +| [ArbFunctionTable](#arbfunctiontable) | `0x68` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbFunctionTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbFunctionTable.go) | No longer used | +| [ArbInfo](#arbinfo) | `0x65` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbInfo.go) | Info about accounts | +| [ArbOwner](#arbowner) | `0x70` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbOwner.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwner.go) | Chain administration, callable only by chain owner | +| [ArbOwnerPublic](#arbownerpublic) | `0x6b` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbOwnerPublic.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwnerPublic.go) | Info about chain owners | +| [ArbosTest](#arbostest) | `0x69` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbosTest.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbosTest.go) | No longer used | +| [ArbStatistics](#arbstatistics) | `0x6f` | [Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbStatistics.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbStatistics.go) | Info about the pre-Nitro state | ## Precompiles reference ### `ArbAddressTable` -ArbAddressTable ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbAddressTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbAddressTable.go)) provides the ability to create short-hands for commonly used accounts. +ArbAddressTable ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbAddressTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbAddressTable.go)) provides the ability to create short-hands for commonly used accounts. For a working example of using `ArbAddressTable` to register addresses and retrieve their indices, see the [address-table tutorial](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/address-table). @@ -55,7 +55,7 @@ import ArbAddressTableRef from '../../for-devs/dev-tools-and-resources/partials/ ### `ArbAggregator` -ArbAggregator ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbAggregator.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbAggregator.go)) provides aggregators and their users methods for configuring how they participate in parent chain aggregation. Arbitrum One's default aggregator is the Sequencer, which a user will prefer unless `SetPreferredAggregator` is invoked to change it. +ArbAggregator ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbAggregator.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbAggregator.go)) provides aggregators and their users methods for configuring how they participate in parent chain aggregation. Arbitrum One's default aggregator is the Sequencer, which a user will prefer unless `SetPreferredAggregator` is invoked to change it. Compression ratios are measured in basis points. Methods that are checkmarked are access-controlled and will revert if not called by the aggregator, its fee collector, or a chain owner. @@ -75,7 +75,7 @@ This precompile has been disabled. It previously provided a registry of BLS publ ### `ArbDebug` -ArbDebug ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbDebug.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbDebug.go)) provides mechanisms useful for testing. The methods of `ArbDebug` are only available for chains with the `AllowDebugPrecompiles` chain parameter set. Otherwise, calls to this precompile will revert. +ArbDebug ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbDebug.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbDebug.go)) provides mechanisms useful for testing. The methods of `ArbDebug` are only available for chains with the `AllowDebugPrecompiles` chain parameter set. Otherwise, calls to this precompile will revert. Precompile address: `0x00000000000000000000000000000000000000ff` @@ -85,7 +85,7 @@ import ArbDebugRef from '../../for-devs/dev-tools-and-resources/partials/precomp ### `ArbFunctionTable` -ArbFunctionTable ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbFunctionTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbFunctionTable.go)) provides aggregators the ability to manage function tables, to enable one form of transaction compression. The Nitro aggregator implementation does not use these, so these methods have been stubbed and their effects disabled. They are kept for backwards compatibility. +ArbFunctionTable ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbFunctionTable.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbFunctionTable.go)) provides aggregators the ability to manage function tables, to enable one form of transaction compression. The Nitro aggregator implementation does not use these, so these methods have been stubbed and their effects disabled. They are kept for backwards compatibility. Precompile address: `0x0000000000000000000000000000000000000068` @@ -95,7 +95,7 @@ import ArbFunctionTableRef from '../../for-devs/dev-tools-and-resources/partials ### `ArbGasInfo` -ArbGasInfo ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbGasInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbGasInfo.go)) provides insight into the cost of using the chain. These methods have been adjusted to account for Nitro's heavy use of calldata compression. Of note to end-users, we no longer make a distinction between non-zero and zero-valued calldata bytes. For a practical guide on using these methods alongside `NodeInterface` to estimate transaction costs, see [How to estimate gas](/arbitrum-essentials/how-to-estimate-gas.mdx). +ArbGasInfo ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbGasInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbGasInfo.go)) provides insight into the cost of using the chain. These methods have been adjusted to account for Nitro's heavy use of calldata compression. Of note to end-users, we no longer make a distinction between non-zero and zero-valued calldata bytes. For a practical guide on using these methods alongside `NodeInterface` to estimate transaction costs, see [How to estimate gas](/arbitrum-essentials/how-to-estimate-gas.mdx). Precompile address: `0x000000000000000000000000000000000000006C` @@ -105,7 +105,7 @@ import ArbGasInfoRef from '../../for-devs/dev-tools-and-resources/partials/preco ### `ArbInfo` -ArbInfo ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbInfo.go)) provides the ability to lookup basic info about accounts and contracts. +ArbInfo ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbInfo.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbInfo.go)) provides the ability to lookup basic info about accounts and contracts. Precompile address: `0x0000000000000000000000000000000000000065` @@ -115,7 +115,7 @@ import ArbInfoRef from '../../for-devs/dev-tools-and-resources/partials/precompi ### `ArbNativeTokenManager` -ArbNativeTokenManager ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbNativeTokenManager.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbNativeTokenManager.go)) enables minting and burning of the chain's native gas token by callers authorized through the `ArbOwner` precompile. Available since ArbOS 41. +ArbNativeTokenManager ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbNativeTokenManager.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbNativeTokenManager.go)) enables minting and burning of the chain's native gas token by callers authorized through the `ArbOwner` precompile. Available since ArbOS 41. Precompile address: `0x0000000000000000000000000000000000000073` @@ -125,7 +125,7 @@ import ArbNativeTokenManagerRef from '../../for-devs/dev-tools-and-resources/par ### `ArbosTest` -ArbosTest ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbosTest.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbosTest.go)) provides a method of burning arbitrary amounts of gas, which exists for historical reasons. In Classic, `ArbosTest` had additional methods only the zero address could call. These have been removed since users don't use them and calls to missing methods revert. +ArbosTest ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbosTest.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbosTest.go)) provides a method of burning arbitrary amounts of gas, which exists for historical reasons. In Classic, `ArbosTest` had additional methods only the zero address could call. These have been removed since users don't use them and calls to missing methods revert. Precompile address: `0x0000000000000000000000000000000000000069` @@ -135,7 +135,7 @@ import ArbosTestRef from '../../for-devs/dev-tools-and-resources/partials/precom ### `ArbOwner` -ArbOwner ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbOwner.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwner.go)) provides owners with tools for managing the rollup. Calls by non-owners will always revert. +ArbOwner ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbOwner.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwner.go)) provides owners with tools for managing the rollup. Calls by non-owners will always revert. Most of Arbitrum Classic's owner methods have been removed since they no longer make sense in Nitro: @@ -151,7 +151,7 @@ import ArbOwnerRef from '../../for-devs/dev-tools-and-resources/partials/precomp ### `ArbOwnerPublic` -ArbOwnerPublic ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbOwnerPublic.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwnerPublic.go)) provides non-owners with info about the current chain owners. +ArbOwnerPublic ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbOwnerPublic.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbOwnerPublic.go)) provides non-owners with info about the current chain owners. Precompile address: `0x000000000000000000000000000000000000006b` @@ -161,7 +161,7 @@ import ArbOwnerPublicRef from '../../for-devs/dev-tools-and-resources/partials/p ### `ArbRetryableTx` -ArbRetryableTx ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbRetryableTx.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbRetryableTx.go)) provides methods for managing retryables. The model has been adjusted for Nitro, most notably in terms of how retry transactions are scheduled. For more information on retryables, please see [the retryable documentation](/how-arbitrum-works/deep-dives/l1-to-l2-messaging.mdx#retryable-tickets). For a worked example of creating and redeeming retryables from application code, see [How to bridge from the parent chain](/arbitrum-essentials/bridging/cross-chain-messaging.mdx#ethereum-to-arbitrum-messaging). +ArbRetryableTx ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbRetryableTx.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbRetryableTx.go)) provides methods for managing retryables. The model has been adjusted for Nitro, most notably in terms of how retry transactions are scheduled. For more information on retryables, please see [the retryable documentation](/how-arbitrum-works/deep-dives/l1-to-l2-messaging.mdx#retryable-tickets). For a worked example of creating and redeeming retryables from application code, see [How to bridge from the parent chain](/arbitrum-essentials/bridging/cross-chain-messaging.mdx#ethereum-to-arbitrum-messaging). Precompile address: `0x000000000000000000000000000000000000006E` @@ -171,7 +171,7 @@ import ArbRetryableTxRef from '../../for-devs/dev-tools-and-resources/partials/p ### `ArbStatistics` -ArbStatistics ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbStatistics.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbStatistics.go)) provides statistics about the chain as of just before the Nitro upgrade. In Arbitrum Classic, this was how a user would get info such as the total number of accounts, but there are better ways to get that info in Nitro. +ArbStatistics ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbStatistics.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbStatistics.go)) provides statistics about the chain as of just before the Nitro upgrade. In Arbitrum Classic, this was how a user would get info such as the total number of accounts, but there are better ways to get that info in Nitro. Precompile address: `0x000000000000000000000000000000000000006F` @@ -181,7 +181,7 @@ import ArbStatisticsRef from '../../for-devs/dev-tools-and-resources/partials/pr ### `ArbSys` -ArbSys ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbSys.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbSys.go)) provides system-level functionality for interacting with the parent chain and understanding the call stack. +ArbSys ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbSys.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbSys.go)) provides system-level functionality for interacting with the parent chain and understanding the call stack. Precompile address: `0x0000000000000000000000000000000000000064` @@ -191,7 +191,7 @@ import ArbSysRef from '../../for-devs/dev-tools-and-resources/partials/precompil ### `ArbWasm` -ArbWasm ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbWasm.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasm.go)) provides helper methods for managing Stylus contracts +ArbWasm ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbWasm.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasm.go)) provides helper methods for managing Stylus contracts Precompile address: `0x0000000000000000000000000000000000000071` @@ -201,7 +201,7 @@ import ArbWasmRef from '../../for-devs/dev-tools-and-resources/partials/precompi ### `ArbWasmCache` -ArbWasmCache ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=9056310e554d04829bc590d4ba7e17d40d0a9635@@/ArbWasmCache.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasmCache.go)) provides helper methods for managing Stylus cache +ArbWasmCache ([Interface](https://github.com/OffchainLabs/@@nitroPrecompilesRepositorySlug=nitro-precompile-interfaces@@/blob/@@nitroPrecompilesCommit=7e88c8cc53c2e96201a23c638f1536557b9cb68b@@/ArbWasmCache.sol) | [Implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/ArbWasmCache.go)) provides helper methods for managing Stylus cache Precompile address: `0x0000000000000000000000000000000000000072` diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAddressTable.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAddressTable.mdx index 327f7a02a8..f562f6d4c2 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAddressTable.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAddressTable.mdx @@ -13,12 +13,12 @@ addressExists(address addr) - + Interface - + Implementation @@ -29,12 +29,12 @@ compress(address addr) - + Interface - + Implementation @@ -45,12 +45,12 @@ decompress(bytes calldata buf, uint256 offset) - + Interface - + Implementation @@ -61,12 +61,12 @@ lookup(address addr) - + Interface - + Implementation @@ -77,12 +77,12 @@ lookupIndex(uint256 index) - + Interface - + Implementation @@ -93,12 +93,12 @@ register(address addr) - + Interface - + Implementation @@ -109,12 +109,12 @@ size() - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAggregator.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAggregator.mdx index caa7e9fad7..bf3c62b984 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAggregator.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbAggregator.mdx @@ -13,12 +13,12 @@ ⚠️getPreferredAggregator(address addr) - + Interface - + Implementation @@ -29,12 +29,12 @@ ⚠️getDefaultAggregator() - + Interface - + Implementation @@ -45,12 +45,12 @@ getBatchPosters() - + Interface - + Implementation @@ -61,12 +61,12 @@ addBatchPoster(address newBatchPoster) - + Interface - + Implementation @@ -77,12 +77,12 @@ getFeeCollector(address batchPoster) - + Interface - + Implementation @@ -93,12 +93,12 @@ setFeeCollector(address batchPoster, address newFeeCollector) - + Interface - + Implementation @@ -109,12 +109,12 @@ ⚠️getTxBaseFee(address aggregator) - + Interface - + Implementation @@ -125,12 +125,12 @@ ⚠️setTxBaseFee(address aggregator, uint256 feeInL1Gas) - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbDebug.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbDebug.mdx index 693a739b08..8d271335c5 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbDebug.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbDebug.mdx @@ -13,12 +13,12 @@ becomeChainOwner() - + Interface - + Implementation @@ -29,12 +29,12 @@ overwriteContractCode(address target, bytes calldata newCode) - + Interface - + Implementation @@ -45,12 +45,12 @@ events(bool flag, bytes32 value) - + Interface - + Implementation @@ -61,12 +61,12 @@ eventsView() - + Interface - + Implementation @@ -77,12 +77,12 @@ customRevert(uint64 number) - + Interface - + Implementation @@ -93,12 +93,12 @@ panic() - + Interface - + Implementation @@ -109,12 +109,12 @@ legacyError() - + Interface - + Implementation @@ -138,12 +138,12 @@ Basic - + Interface - + Implementation @@ -156,12 +156,12 @@ Mixed - + Interface - + Implementation @@ -174,12 +174,12 @@ Store - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbFunctionTable.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbFunctionTable.mdx index bdaf7ffe46..72a40e28b3 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbFunctionTable.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbFunctionTable.mdx @@ -13,12 +13,12 @@ upload(bytes calldata buf) - + Interface - + Implementation @@ -29,12 +29,12 @@ size(address addr) - + Interface - + Implementation @@ -45,12 +45,12 @@ get(address addr, uint256 index) - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbGasInfo.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbGasInfo.mdx index 7131dbbab2..90a91a7410 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbGasInfo.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbGasInfo.mdx @@ -13,12 +13,12 @@ getPricesInWeiWithAggregator(address aggregator) - + Interface - + Implementation @@ -29,12 +29,12 @@ getPricesInWei() - + Interface - + Implementation @@ -45,12 +45,12 @@ getPricesInArbGasWithAggregator(address aggregator) - + Interface - + Implementation @@ -61,12 +61,12 @@ getPricesInArbGas() - + Interface - + Implementation @@ -77,12 +77,12 @@ getGasAccountingParams() - + Interface - + Implementation @@ -93,12 +93,12 @@ getMaxTxGasLimit() - + Interface - + Implementation @@ -109,12 +109,12 @@ getMinimumGasPrice() - + Interface - + Implementation @@ -125,12 +125,12 @@ getL1BaseFeeEstimate() - + Interface - + Implementation @@ -141,12 +141,12 @@ getL1BaseFeeEstimateInertia() - + Interface - + Implementation @@ -157,12 +157,12 @@ getL1RewardRate() - + Interface - + Implementation @@ -173,12 +173,12 @@ getL1RewardRecipient() - + Interface - + Implementation @@ -189,12 +189,12 @@ getL1GasPriceEstimate() - + Interface - + Implementation @@ -205,12 +205,12 @@ getCurrentTxL1GasFees() - + Interface - + Implementation @@ -221,12 +221,12 @@ getGasBacklog() - + Interface - + Implementation @@ -237,12 +237,12 @@ getPricingInertia() - + Interface - + Implementation @@ -253,12 +253,12 @@ getGasBacklogTolerance() - + Interface - + Implementation @@ -269,12 +269,12 @@ getL1PricingSurplus() - + Interface - + Implementation @@ -285,12 +285,12 @@ getPerBatchGasCharge() - + Interface - + Implementation @@ -301,12 +301,12 @@ getAmortizedCostCapBips() - + Interface - + Implementation @@ -317,12 +317,12 @@ getL1FeesAvailable() - + Interface - + Implementation @@ -333,12 +333,12 @@ getL1PricingEquilibrationUnits() - + Interface - + Implementation @@ -349,12 +349,12 @@ getLastL1PricingUpdateTime() - + Interface - + Implementation @@ -365,12 +365,12 @@ getL1PricingFundsDueForRewards() - + Interface - + Implementation @@ -381,12 +381,12 @@ getL1PricingUnitsSinceUpdate() - + Interface - + Implementation @@ -397,12 +397,12 @@ getLastL1PricingSurplus() - + Interface - + Implementation @@ -413,12 +413,12 @@ getMaxBlockGasLimit() - + Interface - + Implementation @@ -429,16 +429,48 @@ getGasPricingConstraints() - + Interface - + Implementation GetGasPricingConstraints gets the current gas pricing constraints used by the Multi-Constraint Pricer. + + + getMultiGasPricingConstraints() + + + + Interface + + + + + Implementation + + + GetMultiGasPricingConstraints returns the current configuration of multi-gas pricing constraints + + + + getMultiGasBaseFee() + + + + Interface + + + + + Implementation + + + GetMultiGasBaseFee gets the current base fee for each resource type used by the Multi-Constraint Pricer + diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbInfo.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbInfo.mdx index 6d1a6b00ad..15d8103893 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbInfo.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbInfo.mdx @@ -13,12 +13,12 @@ getBalance(address account) - + Interface - + Implementation @@ -29,12 +29,12 @@ getCode(address account) - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbNativeTokenManager.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbNativeTokenManager.mdx index e900708784..e5cfa21fa4 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbNativeTokenManager.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbNativeTokenManager.mdx @@ -13,12 +13,12 @@ mintNativeToken(uint256 amount) - + Interface - + Implementation @@ -29,12 +29,12 @@ burnNativeToken(uint256 amount) - + Interface - + Implementation @@ -58,12 +58,12 @@ NativeTokenMinted - + Interface - + Implementation @@ -74,12 +74,12 @@ NativeTokenBurned - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwner.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwner.mdx index 64975e26b4..c606a8448f 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwner.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwner.mdx @@ -13,12 +13,12 @@ addChainOwner(address newOwner) - + Interface - + Implementation @@ -29,12 +29,12 @@ removeChainOwner(address ownerToRemove) - + Interface - + Implementation @@ -45,12 +45,12 @@ isChainOwner(address addr) - + Interface - + Implementation @@ -61,12 +61,12 @@ getAllChainOwners() - + Interface - + Implementation @@ -77,28 +77,44 @@ setNativeTokenManagementFrom(uint64 timestamp) - + Interface - + Implementation SetNativeTokenManagementFrom sets native token management enabled-from time. + + + setTransactionFilteringFrom(uint64 timestamp) + + + + Interface + + + + + Implementation + + + SetTransactionFilteringFrom sets transaction filtering enabled-from time. + addNativeTokenOwner(address newOwner) - + Interface - + Implementation @@ -109,12 +125,12 @@ removeNativeTokenOwner(address ownerToRemove) - + Interface - + Implementation @@ -125,12 +141,12 @@ isNativeTokenOwner(address addr) - + Interface - + Implementation @@ -141,28 +157,124 @@ getAllNativeTokenOwners() - + Interface - + Implementation GetAllNativeTokenOwners retrieves the list of native token owners + + + addTransactionFilterer(address filterer) + + + + Interface + + + + + Implementation + + + AddTransactionFilterer adds account as a transaction filterer (authorized to use ArbFilteredTransactionsManager) + + + + removeTransactionFilterer(address filterer) + + + + Interface + + + + + Implementation + + + RemoveTransactionFilterer removes account from the list of transaction filterers + + + + isTransactionFilterer(address filterer) + + + + Interface + + + + + Implementation + + + IsTransactionFilterer checks if the account is a transaction filterer + + + + getAllTransactionFilterers() + + + + Interface + + + + + Implementation + + + GetAllTransactionFilterers retrieves the list of transaction filterers + + + + setFilteredFundsRecipient(address newRecipient) + + + + Interface + + + + + Implementation + + + SetFilteredFundsRecipient sets the address that receives funds redirected from filtered transactions. Set to address(0) to use the networkFeeAccount as fallback. + + + + getFilteredFundsRecipient() + + + + Interface + + + + + Implementation + + + GetFilteredFundsRecipient gets the address that receives funds redirected from filtered transactions. Returns address(0) if not explicitly set (networkFeeAccount is used as fallback at runtime). + setL1BaseFeeEstimateInertia(uint64 inertia) - + Interface - + Implementation @@ -173,12 +285,12 @@ setL2BaseFee(uint256 priceInWei) - + Interface - + Implementation @@ -189,12 +301,12 @@ setMinimumL2BaseFee(uint256 priceInWei) - + Interface - + Implementation @@ -205,12 +317,12 @@ setSpeedLimit(uint64 limit) - + Interface - + Implementation @@ -221,12 +333,12 @@ setMaxTxGasLimit(uint64 limit) - + Interface - + Implementation @@ -237,12 +349,12 @@ setMaxBlockGasLimit(uint64 limit) - + Interface - + Implementation @@ -253,12 +365,12 @@ setL2GasPricingInertia(uint64 sec) - + Interface - + Implementation @@ -269,12 +381,12 @@ setL2GasBacklogTolerance(uint64 sec) - + Interface - + Implementation @@ -285,12 +397,12 @@ getNetworkFeeAccount() - + Interface - + Implementation @@ -301,12 +413,12 @@ getInfraFeeAccount() - + Interface - + Implementation @@ -317,12 +429,12 @@ setNetworkFeeAccount(address newNetworkFeeAccount) - + Interface - + Implementation @@ -333,12 +445,12 @@ setInfraFeeAccount(address newInfraFeeAccount) - + Interface - + Implementation @@ -349,12 +461,12 @@ scheduleArbOSUpgrade(uint64 newVersion, uint64 timestamp) - + Interface - + Implementation @@ -365,12 +477,12 @@ setL1PricingEquilibrationUnits(uint256 equilibrationUnits) - + Interface - + Implementation @@ -381,12 +493,12 @@ setL1PricingInertia(uint64 inertia) - + Interface - + Implementation @@ -397,12 +509,12 @@ setL1PricingRewardRecipient(address recipient) - + Interface - + Implementation @@ -413,12 +525,12 @@ setL1PricingRewardRate(uint64 weiPerUnit) - + Interface - + Implementation @@ -429,12 +541,12 @@ setL1PricePerUnit(uint256 pricePerUnit) - + Interface - + Implementation @@ -445,12 +557,12 @@ setParentGasFloorPerToken(uint64 floorPerToken) - + Interface - + Implementation @@ -461,12 +573,12 @@ setPerBatchGasCharge(int64 cost) - + Interface - + Implementation @@ -477,12 +589,12 @@ setBrotliCompressionLevel(uint64 level) - + Interface - + Implementation @@ -493,12 +605,12 @@ setAmortizedCostCapBips(uint64 cap) - + Interface - + Implementation @@ -509,12 +621,12 @@ releaseL1PricerSurplusFunds(uint256 maxWeiToRelease) - + Interface - + Implementation @@ -525,12 +637,12 @@ setInkPrice(uint32 price) - + Interface - + Implementation @@ -541,12 +653,12 @@ setWasmMaxStackDepth(uint32 depth) - + Interface - + Implementation @@ -557,12 +669,12 @@ setWasmFreePages(uint16 pages) - + Interface - + Implementation @@ -573,12 +685,12 @@ setWasmPageGas(uint16 gas) - + Interface - + Implementation @@ -589,12 +701,12 @@ setWasmPageLimit(uint16 limit) - + Interface - + Implementation @@ -605,12 +717,12 @@ setWasmMaxSize(uint32 size) - + Interface - + Implementation @@ -621,12 +733,12 @@ setWasmMinInitGas(uint8 gas, uint16 cached) - + Interface - + Implementation @@ -637,12 +749,12 @@ setWasmInitCostScalar(uint64 percent) - + Interface - + Implementation @@ -653,12 +765,12 @@ setWasmExpiryDays(uint16 _days) - + Interface - + Implementation @@ -669,12 +781,12 @@ setWasmKeepaliveDays(uint16 _days) - + Interface - + Implementation @@ -685,12 +797,12 @@ setWasmBlockCacheSize(uint16 count) - + Interface - + Implementation @@ -701,12 +813,12 @@ addWasmCacheManager(address manager) - + Interface - + Implementation @@ -717,12 +829,12 @@ removeWasmCacheManager(address manager) - + Interface - + Implementation @@ -733,12 +845,12 @@ setChainConfig(string calldata chainConfig) - + Interface - + Implementation @@ -749,12 +861,12 @@ setCalldataPriceIncrease(bool enable) - + Interface - + Implementation @@ -765,12 +877,12 @@ setGasBacklog(uint64 backlog) - + Interface - + Implementation @@ -781,28 +893,76 @@ setGasPricingConstraints(uint64[3][] calldata constraints) - + Interface - + Implementation SetGasPricingConstraints sets the gas pricing constraints used by the multi-constraint pricing model + + + setMultiGasPricingConstraints(ArbMultiGasConstraintsTypes.ResourceConstraint[] calldata constraints) + + + + Interface + + + + + Implementation + + + SetMultiGasPricingConstraints configures the multi-dimensional gas pricing model + + + + setCollectTips(bool collectTips) + + + + Interface + + + + + Implementation + + + SetCollectTips enables or disables tip collection. When enabled, transaction tips are collected by the network fee account. When disabled (default), tips are dropped. + + + + setMaxStylusContractFragments(uint8 maxFragments) + + + + Interface + + + + + Implementation + + + + setWasmActivationGas(uint64 gas) - + Interface - + Implementation @@ -821,17 +981,129 @@ + + + TransactionFiltererAdded + + + + Interface + + + + + Implementation + + + @notice Emitted when an address is added as a transaction filterer. + + + + TransactionFiltererRemoved + + + + Interface + + + + + Implementation + + + @notice Emitted when an address is removed as a transaction filterer. + + + + FilteredFundsRecipientSet + + + + Interface + + + + + Implementation + + + @notice Emitted when the filtered funds recipient address is changed. @notice Available in ArbOS version 60 and above + + + + ChainOwnerAdded + + + + Interface + + + + + Implementation + + + @notice Emitted when an address is added as a chain owner. @notice Available in ArbOS version 60 and above + + + + ChainOwnerRemoved + + + + Interface + + + + + Implementation + + + @notice Emitted when an address is removed as a chain owner. @notice Available in ArbOS version 60 and above + + + + NativeTokenOwnerAdded + + + + Interface + + + + + Implementation + + + @notice Emitted when an address is added as a native token owner. @notice Available in ArbOS version 60 and above + + + + NativeTokenOwnerRemoved + + + + Interface + + + + + Implementation + + + @notice Emitted when an address is removed as a native token owner. @notice Available in ArbOS version 60 and above + OwnerActs - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwnerPublic.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwnerPublic.mdx index ed59321a61..8df061d9ac 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwnerPublic.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbOwnerPublic.mdx @@ -13,12 +13,12 @@ isChainOwner(address addr) - + Interface - + Implementation @@ -29,12 +29,12 @@ rectifyChainOwner(address ownerToRectify) - + Interface - + Implementation @@ -45,12 +45,12 @@ getAllChainOwners() - + Interface - + Implementation @@ -61,12 +61,12 @@ getNativeTokenManagementFrom() - + Interface - + Implementation @@ -77,12 +77,12 @@ isNativeTokenOwner(address addr) - + Interface - + Implementation @@ -93,28 +93,92 @@ getAllNativeTokenOwners() - + Interface - + Implementation GetAllNativeTokenOwners retrieves the list of native token owners + + + getTransactionFilteringFrom() + + + + Interface + + + + + Implementation + + + TransactionFilteringFrom returns the time in epoch seconds when the transaction filtering feature becomes enabled + + + + isTransactionFilterer(address filterer) + + + + Interface + + + + + Implementation + + + IsTransactionFilterer checks if the account is a transaction filterer + + + + getAllTransactionFilterers() + + + + Interface + + + + + Implementation + + + GetAllTransactionFilterers retrieves the list of transaction filterers + + + + getFilteredFundsRecipient() + + + + Interface + + + + + Implementation + + + GetFilteredFundsRecipient gets the address that receives funds redirected from filtered transactions. Returns address(0) if not explicitly set (networkFeeAccount is used as fallback at runtime). + getNetworkFeeAccount() - + Interface - + Implementation @@ -125,12 +189,12 @@ getInfraFeeAccount() - + Interface - + Implementation @@ -141,12 +205,12 @@ getBrotliCompressionLevel() - + Interface - + Implementation @@ -157,12 +221,12 @@ getParentGasFloorPerToken() - + Interface - + Implementation @@ -173,12 +237,12 @@ getScheduledUpgrade() - + Interface - + Implementation @@ -189,17 +253,49 @@ isCalldataPriceIncreaseEnabled() - + Interface - + Implementation IsCalldataPriceIncreaseEnabled checks if the increased calldata price feature (EIP-7623) is enabled + + + getCollectTips() + + + + Interface + + + + + Implementation + + + GetCollectTips returns whether tip collection is enabled. + + + + getMaxStylusContractFragments() + + + + Interface + + + + + Implementation + + + + @@ -218,12 +314,12 @@ ChainOwnerRectified - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbRetryableTx.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbRetryableTx.mdx index 06834e38f0..36531148de 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbRetryableTx.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbRetryableTx.mdx @@ -13,12 +13,12 @@ redeem(bytes32 ticketId) - + Interface - + Implementation @@ -29,12 +29,12 @@ getLifetime() - + Interface - + Implementation @@ -45,12 +45,12 @@ getTimeout(bytes32 ticketId) - + Interface - + Implementation @@ -61,12 +61,12 @@ keepalive(bytes32 ticketId) - + Interface - + Implementation @@ -77,12 +77,12 @@ getBeneficiary(bytes32 ticketId) - + Interface - + Implementation @@ -93,12 +93,12 @@ cancel(bytes32 ticketId) - + Interface - + Implementation @@ -109,12 +109,12 @@ getCurrentRedeemer() - + Interface - + Implementation @@ -125,12 +125,12 @@ submitRetryable(bytes32 requestId, uint256 l1BaseFee, uint256 deposit, uint256 callvalue, uint256 gasFeeCap, uint64 gasLimit, uint256 maxSubmissionFee, address feeRefundAddress, address beneficiary, address retryTo, bytes calldata retryData) - + Interface - + Implementation @@ -154,12 +154,12 @@ TicketCreated - + Interface - + Implementation @@ -170,12 +170,12 @@ LifetimeExtended - + Interface - + Implementation @@ -186,12 +186,12 @@ RedeemScheduled - + Interface - + Implementation @@ -202,12 +202,12 @@ Canceled - + Interface - + Implementation @@ -218,12 +218,12 @@ Redeemed - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbStatistics.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbStatistics.mdx index 59f395cce0..9b9da7fdfd 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbStatistics.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbStatistics.mdx @@ -13,12 +13,12 @@ getStats() - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbSys.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbSys.mdx index 08a662e113..ecee8fd54a 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbSys.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbSys.mdx @@ -13,12 +13,12 @@ arbBlockNumber() - + Interface - + Implementation @@ -29,12 +29,12 @@ arbBlockHash(uint256 arbBlockNum) - + Interface - + Implementation @@ -45,12 +45,12 @@ arbChainID() - + Interface - + Implementation @@ -61,12 +61,12 @@ arbOSVersion() - + Interface - + Implementation @@ -77,12 +77,12 @@ getStorageGasAvailable() - + Interface - + Implementation @@ -93,12 +93,12 @@ isTopLevelCall() - + Interface - + Implementation @@ -109,12 +109,12 @@ mapL1SenderContractAddressToL2Alias(address sender, address unused) - + Interface - + Implementation @@ -125,12 +125,12 @@ wasMyCallersAddressAliased() - + Interface - + Implementation @@ -141,12 +141,12 @@ myCallersAddressWithoutAliasing() - + Interface - + Implementation @@ -157,12 +157,12 @@ withdrawEth(address destination) - + Interface - + Implementation @@ -173,12 +173,12 @@ sendTxToL1(address destination, bytes calldata data) - + Interface - + Implementation @@ -189,12 +189,12 @@ sendMerkleTreeState() - + Interface - + Implementation @@ -218,12 +218,12 @@ L2ToL1Tx - + Interface - + Implementation @@ -234,12 +234,12 @@ L2ToL1Transaction - + Interface - + Implementation @@ -252,12 +252,12 @@ SendMerkleUpdate - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasm.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasm.mdx index 30e8ac5dce..76ec4785ab 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasm.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasm.mdx @@ -13,12 +13,12 @@ activateProgram(address program) - + Interface - + Implementation @@ -29,12 +29,12 @@ stylusVersion() - + Interface - + Implementation @@ -45,12 +45,12 @@ codehashVersion(bytes32 codehash) - + Interface - + Implementation @@ -61,12 +61,12 @@ codehashKeepalive(bytes32 codehash) - + Interface - + Implementation @@ -77,12 +77,12 @@ codehashAsmSize(bytes32 codehash) - + Interface - + Implementation @@ -93,12 +93,12 @@ programVersion(address program) - + Interface - + Implementation @@ -109,12 +109,12 @@ programInitGas(address program) - + Interface - + Implementation @@ -125,12 +125,12 @@ programMemoryFootprint(address program) - + Interface - + Implementation @@ -141,12 +141,12 @@ programTimeLeft(address program) - + Interface - + Implementation @@ -157,12 +157,12 @@ inkPrice() - + Interface - + Implementation @@ -173,12 +173,12 @@ maxStackDepth() - + Interface - + Implementation @@ -189,12 +189,12 @@ freePages() - + Interface - + Implementation @@ -205,12 +205,12 @@ pageGas() - + Interface - + Implementation @@ -221,12 +221,12 @@ pageRamp() - + Interface - + Implementation @@ -237,12 +237,12 @@ pageLimit() - + Interface - + Implementation @@ -253,12 +253,12 @@ minInitGas() - + Interface - + Implementation @@ -269,12 +269,12 @@ initCostScalar() - + Interface - + Implementation @@ -285,12 +285,12 @@ expiryDays() - + Interface - + Implementation @@ -301,12 +301,12 @@ keepaliveDays() - + Interface - + Implementation @@ -317,12 +317,12 @@ blockCacheSize() - + Interface - + Implementation @@ -333,12 +333,12 @@ activationGas() - + Interface - + Implementation @@ -362,12 +362,12 @@ ProgramActivated - + Interface - + Implementation @@ -378,12 +378,12 @@ ProgramLifetimeExtended - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasmCache.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasmCache.mdx index b75c16fead..bc2e8da62a 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasmCache.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbWasmCache.mdx @@ -13,12 +13,12 @@ isCacheManager(address manager) - + Interface - + Implementation @@ -29,12 +29,12 @@ allCacheManagers() - + Interface - + Implementation @@ -45,12 +45,12 @@ cacheCodehash(bytes32 codehash) - + Interface - + Implementation @@ -61,12 +61,12 @@ cacheProgram(address addr) - + Interface - + Implementation @@ -77,12 +77,12 @@ evictCodehash(bytes32 codehash) - + Interface - + Implementation @@ -93,12 +93,12 @@ codehashIsCached(bytes32 codehash) - + Interface - + Implementation @@ -122,12 +122,12 @@ UpdateProgramCache - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbosTest.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbosTest.mdx index 238fea1bad..e5e5fa90dc 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbosTest.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_ArbosTest.mdx @@ -13,12 +13,12 @@ burnArbGas(uint256 gasAmount) - + Interface - + Implementation diff --git a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_NodeInterface.mdx b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_NodeInterface.mdx index f7e7cc9893..f78c9feee3 100644 --- a/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_NodeInterface.mdx +++ b/docs/for-devs/dev-tools-and-resources/partials/precompile-tables/_NodeInterface.mdx @@ -18,7 +18,7 @@ - + Implementation @@ -34,7 +34,7 @@ - + Implementation @@ -50,7 +50,7 @@ - + Implementation @@ -66,7 +66,7 @@ - + Implementation @@ -82,7 +82,7 @@ - + Implementation @@ -98,7 +98,7 @@ - + Implementation @@ -114,7 +114,7 @@ - + Implementation @@ -130,7 +130,7 @@ - + Implementation @@ -146,7 +146,7 @@ - + Implementation @@ -162,7 +162,7 @@ - + Implementation diff --git a/docs/launch-arbitrum-chain/chain-config/data-availability/configure-dac.mdx b/docs/launch-arbitrum-chain/chain-config/data-availability/configure-dac.mdx index 8101f786d6..5e565ba10c 100644 --- a/docs/launch-arbitrum-chain/chain-config/data-availability/configure-dac.mdx +++ b/docs/launch-arbitrum-chain/chain-config/data-availability/configure-dac.mdx @@ -82,7 +82,7 @@ Once you have the JSON structure, save it into a file, for example, `keyset-info Finally, we'll use Nitro's `datool dumpkeyset` utility inside Docker to generate the keyset and keyset hash. ```shell -docker run -v $(pwd):/data/keyset --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ dumpkeyset --conf.file /data/keyset/keyset-info.json +docker run -v $(pwd):/data/keyset --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ dumpkeyset --conf.file /data/keyset/keyset-info.json ``` This command will output two results: `Keyset` and `KeysetHash`. Save them to use in the next steps. @@ -114,7 +114,7 @@ The JSON file is: And when running the command we obtain: ```shell -$ docker run -v $(pwd):/data/keyset --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ dumpkeyset --conf.file /data/keyset/keyset-info.json +$ docker run -v $(pwd):/data/keyset --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ dumpkeyset --conf.file /data/keyset/keyset-info.json Keyset: 0x0000000000000002000000000000000201216006dcb5e56764bb72e6a45e6deb301ca85d8c4315c1da2efa29927f2ac8fb25571ce31d2d603735fe03196f6d56bcbf9a1999a89a74d5369822c4445d676c15ed52e5008daa775dc9a839c99ff963a19946ac740579874dac4f639907ae1bc69f0c6694955b524d718ca445831c5375393773401f33725a79661379dddabd5fff28619dc070befd9ed73d699e5c236c1a163be58ba81002b6130709bc064af5d7ba947130b72056bf17263800f1a3ab2269c6a510ef8e7412fd56d1ef1b916a1306e3b1d9c82c099371bd9861582acaada3a16e9dfee5d0ebce61096598a82f112d0a935e8cab5c48d82e3104b0c7ba79157dad1a019a3e7f6ad077b8e6308b116fec0f58239622463c3631fa01e2b4272409215b8009422c16715dbede5909060121600835f995f2478f24892d050daa289f8b6b9c1b185bcd28532f88d610c2642a2dc6f3509740236d33c3e2d9136aab17f819c8c671293bba277717762e8d1c1f7bac9e17dd28d2939a959bb38e500f9c11c38cebbc426e2dea97c40175a655d17400ae6c75ff49e884c79469249e70953258854b64fa8445c585ad45dc6dc6975501c6af7cff7074202c687f8a7bf1a3ac192689755f232275b4c8421b1a5669e9b904c29a292cdf961b783a7c0b4ce736900de4d8c63c5f85a65cb44af34bef840acef84ab75f44c4c9137610b68107aff3bbdcc19119c7a927c115b7b9bfb27d85c500ee77d13ec5a97a3ae6bf51d3b70a5502e8416de7b5eb8e9feee376411ca35c8a7f3f597c7606578cf96a4715ce5a35cf48e39c0a1faa2dee22d74e6819 KeysetHash: 0xfdca3e4e2de25f0a56d0ced68fd1cc64f91b20cde67c964c55105477c02f49be ``` diff --git a/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-das.mdx b/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-das.mdx index 021e0c64d5..d1fcb7bbb2 100644 --- a/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-das.mdx +++ b/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-das.mdx @@ -84,7 +84,7 @@ DA servers also have an optional REST aggregator which, when a data batch is not Gather the following information: -- The latest Nitro docker image: `@@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@` +- The latest Nitro docker image: `@@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@` - An RPC endpoint for the parent chain. It is recommended to use a [third-party provider RPC](/arbitrum-essentials/reference/node-providers.mdx#third-party-rpc-providers) or [run your own node](/run-arbitrum-node/02-run-full-node.mdx) to prevent being rate limited. - The `SequencerInbox` contract address in the parent chain. @@ -124,7 +124,7 @@ Here's an example of how to use the `datool keygen` utility inside Docker and st ```shell docker run -v $(pwd)/bls_keys:/data/keys --entrypoint datool \ -@@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ keygen --dir /data/keys +@@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ keygen --dir /data/keys ``` ### Step 2: Deploy the DAS @@ -250,7 +250,7 @@ template: - | mkdir -p /home/user/data/badgerdb /usr/local/bin/daserver --data-availability.parent-chain-node-url "" --data-availability.sequencer-inbox-address "
" --data-availability.key.key-dir /home/user/data/keys --enable-rpc --rpc-addr '0.0.0.0' --log-level 3 --enable-rest --rest-addr '0.0.0.0' --data-availability.local-cache.enable --data-availability.rest-aggregator.enable --data-availability.rest-aggregator.online-url-list "" --data-availability.s3-storage.enable --data-availability.s3-storage.access-key "" --data-availability.s3-storage.bucket "" --data-availability.s3-storage.region "" --data-availability.s3-storage.secret-key "" --data-availability.s3-storage.object-prefix "/" --data-availability.s3-storage.discard-after-timeout false --data-availability.local-file-storage.enable --data-availability.local-file-storage.data-dir /home/user/data/das-data - image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ + image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ imagePullPolicy: Always resources: limits: @@ -347,7 +347,7 @@ datool keygen --dir /some/local/dir/keys --ecdsa You can also use the `docker run` command as follows: ```shell -docker run --rm -it -v /some/local/dir:/home/user/data --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ keygen --dir /home/user/data/keys --ecdsa +docker run --rm -it -v /some/local/dir:/home/user/data --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ keygen --dir /home/user/data/keys --ecdsa ``` #### Step 2: Change the DAS configuration and restart the server @@ -383,7 +383,7 @@ datool client rpc store --server-url http://localhost:9876 --message "Hello wor You can also use the `docker run` command: ```shell -docker run --rm -it -v /some/local/dir:/home/user/data --network="host" --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ client rpc store --server-url http://localhost:9876 --message "Hello world" --signing-key /home/user/data/keys/ecdsa +docker run --rm -it -v /some/local/dir:/home/user/data --network="host" --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ client rpc store --server-url http://localhost:9876 --message "Hello world" --signing-key /home/user/data/keys/ecdsa ``` The above command will output the `Hex Encoded Data Hash` which can then be used to retrieve the data in the next step. @@ -399,7 +399,7 @@ datool client rest getbyhash --server-url http://localhost:9877 --data-hash 0xDa You can also use the `docker run` command: ```shell -docker run --rm -it --network="host" --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ client rest getbyhash --server-url http://localhost:9877 --data-hash 0xDataHash +docker run --rm -it --network="host" --entrypoint datool @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ client rest getbyhash --server-url http://localhost:9877 --data-hash 0xDataHash ``` If we set `0xDataHash` to `0x052cca0e379137c975c966bcc69ac8237ac38dc1fcf21ac9a6524c87a2aab423` (from the previous step), then the result should be: `Message: Hello world` diff --git a/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-mirror-das.mdx b/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-mirror-das.mdx index 5a8b471146..5df2ed8b92 100644 --- a/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-mirror-das.mdx +++ b/docs/launch-arbitrum-chain/chain-config/data-availability/deploy-mirror-das.mdx @@ -42,7 +42,7 @@ A mirror DAS will use the same tool and, thus, the same configuration options as Gather the following information: -- The latest Nitro docker image: `@@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@` +- The latest Nitro docker image: `@@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@` - An RPC endpoint for the parent chain. It is recommended to use a [third-party provider RPC](/arbitrum-essentials/reference/node-providers.mdx#third-party-rpc-providers) or [run your own node](/run-arbitrum-node/02-run-full-node.mdx) to prevent being rate limited. - The SequencerInbox contract address in the parent chain. - URL of the list of REST endpoints of other DA servers to configure the REST aggregator. @@ -198,7 +198,7 @@ spec: mkdir -p /home/user/data/badgerdb mkdir -p /home/user/data/syncState /usr/local/bin/daserver --data-availability.parent-chain-node-url "" --data-availability.sequencer-inbox-address "
" --enable-rest --rest-addr '0.0.0.0' --log-level 3 --data-availability.local-cache.enable --data-availability.rest-aggregator.enable --data-availability.rest-aggregator.urls "http://your-main-das.svc.cluster.local:9877" --data-availability.rest-aggregator.online-url-list "" --data-availability.rest-aggregator.sync-to-storage.eager --data-availability.rest-aggregator.sync-to-storage.eager-lower-bound-block "BLOCK NUMBER" --data-availability.rest-aggregator.sync-to-storage.state-dir /home/user/data/syncState --data-availability.s3-storage.enable --data-availability.s3-storage.access-key "" --data-availability.s3-storage.bucket "" --data-availability.s3-storage.region "" --data-availability.s3-storage.secret-key "" --data-availability.s3-storage.object-prefix "/" --data-availability.local-file-storage.enable --data-availability.local-file-storage.data-dir /home/user/data/das-data - image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ + image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ imagePullPolicy: Always resources: limits: diff --git a/docs/launch-arbitrum-chain/protocol-hacks/arbos.mdx b/docs/launch-arbitrum-chain/protocol-hacks/arbos.mdx index d51072c8c2..82e057d429 100644 --- a/docs/launch-arbitrum-chain/protocol-hacks/arbos.mdx +++ b/docs/launch-arbitrum-chain/protocol-hacks/arbos.mdx @@ -34,7 +34,7 @@ Below, you will find four examples of ArbOS-related code changes and, generally, ### 1. Add a new method to existing precompile on a specific ArbOS version After you add `sayHi()` to `ArbSys.go` according to the guide in [customize precompile Option 1](./precompiles.mdx#option-1-add-new-methods-to-an-existing-precompile), -you need to continue to modify [precompile.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/precompile.go). +you need to continue to modify [precompile.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/precompile.go). For example, the original code is: @@ -60,7 +60,7 @@ In this way, this method will be executed normally and return results only after ### 2. Create a new precompile contract on a specific ArbOS version -After you add a new precompile named `ArbHi` according to the guide in [customize precompile Option 2](./precompiles.mdx#option-2-create-a-new-precompile) and make changes to [`precompile.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/precompile.go), +After you add a new precompile named `ArbHi` according to the guide in [customize precompile Option 2](./precompiles.mdx#option-2-create-a-new-precompile) and make changes to [`precompile.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/precompile.go), you also need to make the following changes: ```go @@ -138,7 +138,7 @@ func (con *ArbHi) SayHi(c ctx, evm mech) (string, error) { } ``` -In the above code, we use precompiles as an example. Some logic might also affect the STF, such as the methods in [`block_process.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToArbos=arbos@@/block_processor.go), [`internal_tx.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToArbos=arbos@@/internal_tx.go), [`tx_processor.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToArbos=arbos@@/tx_processor.go) and so on. +In the above code, we use precompiles as an example. Some logic might also affect the STF, such as the methods in [`block_process.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToArbos=arbos@@/block_processor.go), [`internal_tx.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToArbos=arbos@@/internal_tx.go), [`tx_processor.go`](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToArbos=arbos@@/tx_processor.go) and so on. The aforementioned ArbOS control methods will be needed for interacting with different versions of the STF logic. :::tip Backward compatibility diff --git a/docs/launch-arbitrum-chain/protocol-hacks/precompiles.mdx b/docs/launch-arbitrum-chain/protocol-hacks/precompiles.mdx index dbe76c461e..32dff5c9bc 100644 --- a/docs/launch-arbitrum-chain/protocol-hacks/precompiles.mdx +++ b/docs/launch-arbitrum-chain/protocol-hacks/precompiles.mdx @@ -23,7 +23,7 @@ To support these additional use cases, follow the instructions described in [How There are five primary ways to customize your chain's precompiles: -1. Add new methods to an existing [precompile](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/) (local: `/precompiles`) +1. Add new methods to an existing [precompile](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/) (local: `/precompiles`) 2. Create a new precompile. 3. Define a new event. 4. Customize gas usage for a specific method. @@ -34,14 +34,14 @@ There are five primary ways to customize your chain's precompiles: Clone the Nitro repository before you begin: ```shell -git clone --branch @@nitroVersionTag=v3.11.0@@ +git clone --branch @@nitroVersionTag=v3.11.1@@ cd nitro git submodule update --init --recursive --force ``` ## Option 1: Add new methods to an existing precompile -Using your favorite code editor, open an existing precompile from the [precompiles implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/) directory (local `/precompiles`). We'll use `ArbSys.go` as an example. Open the corresponding Go implementation file (`ArbSys.go`) and add a simple `SayHi` method: +Using your favorite code editor, open an existing precompile from the [precompiles implementation](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/) directory (local `/precompiles`). We'll use `ArbSys.go` as an example. Open the corresponding Go implementation file (`ArbSys.go`) and add a simple `SayHi` method: ```go func (con *ArbSys) SayHi(c ctx, evm mech) (string, error) { @@ -122,7 +122,7 @@ var ArbInfoAddress = common.HexToAddress("0x65") var ArbHiAddress = common.HexToAddress("0x11a") // 0x011a here is an example address ``` -Then, update [precompile.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/precompile.go) to register the new precompile under the `Precompiles()` method: +Then, update [precompile.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/precompile.go) to register the new precompile under the `Precompiles()` method: ```go insert(MakePrecompile(pgen.ArbHiMetaData, &ArbHi{Address: types.ArbHiAddress})) // Set the ArbHiAddress here we just added to arbitrum_signer.go @@ -237,7 +237,7 @@ Next, build Nitro by following the instructions in [How to build Nitro locally]( Run Nitro with the following command: ```shell -docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url= --chain.id= --http.api=net,web3,eth,debug --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* +docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url= --chain.id= --http.api=net,web3,eth,debug --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* ``` ### Send the transaction and get the transaction receipt @@ -315,7 +315,7 @@ Next, build Nitro by following the instructions in [How to build Nitro locally]( Run Nitro with the following command: ```shell -docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url= --chain.id= --http.api=net,web3,eth,debug --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* +docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url= --chain.id= --http.api=net,web3,eth,debug --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* ``` ### Send the transaction and get the transaction receipt @@ -401,9 +401,9 @@ To learn more about the gas cost model, see [how to estimate gas](/arbitrum-esse In this example, we'll demonstrate how to _read from_ and _write to_ a precompile contract's [ArbOS state](https://github.com/OffchainLabs/nitro/blob/v2.2.0/arbos/arbosState/arbosstate.go#L38). -First, open the [arbosstate.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToArbosState=arbos/arbosState@@/arbosstate.go) file and locate the [ArbosState](https://github.com/OffchainLabs/nitro/blob/v2.2.0/arbos/arbosState/arbosstate.go#L38) structure. This is where ArbOS state is defined. +First, open the [arbosstate.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToArbosState=arbos/arbosState@@/arbosstate.go) file and locate the [ArbosState](https://github.com/OffchainLabs/nitro/blob/v2.2.0/arbos/arbosState/arbosstate.go#L38) structure. This is where ArbOS state is defined. -Define a state key called `myNumber` of type `storage.StorageBackedUint64`. You can find more types in [storage.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToStorage=arbos/storage@@/storage.go): +Define a state key called `myNumber` of type `storage.StorageBackedUint64`. You can find more types in [storage.go](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToStorage=arbos/storage@@/storage.go): ``` type ArbosState struct { @@ -470,7 +470,7 @@ func (state *ArbosState) GetMyNumber() (uint64, error) { } ``` -Next, head back to the [precompiles directory](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.0@@/@@nitroPathToPrecompiles=precompiles@@/) and create a new `ArbHi.go` (introduced in Option 2). +Next, head back to the [precompiles directory](https://github.com/OffchainLabs/@@nitroRepositorySlug=nitro@@/blob/@@nitroVersionTag=v3.11.1@@/@@nitroPathToPrecompiles=precompiles@@/) and create a new `ArbHi.go` (introduced in Option 2). This time, we'll add two new methods to read and write the ArbOS state: ``` diff --git a/docs/launch-arbitrum-chain/protocol-hacks/stf.mdx b/docs/launch-arbitrum-chain/protocol-hacks/stf.mdx index b4dea04bcb..fcb78e9562 100644 --- a/docs/launch-arbitrum-chain/protocol-hacks/stf.mdx +++ b/docs/launch-arbitrum-chain/protocol-hacks/stf.mdx @@ -60,7 +60,7 @@ To modify the State Transition Function, you'll need to build a modified Arbitru Clone the Nitro repository before you begin: ```shell -git clone --branch @@nitroVersionTag=v3.11.0@@ https://github.com/OffchainLabs/nitro.git +git clone --branch @@nitroVersionTag=v3.11.1@@ https://github.com/OffchainLabs/nitro.git cd nitro git submodule update --init --recursive --force ``` diff --git a/docs/launch-arbitrum-chain/run-a-node/split-validator-node.mdx b/docs/launch-arbitrum-chain/run-a-node/split-validator-node.mdx index 7d1522fbad..54a8106787 100644 --- a/docs/launch-arbitrum-chain/run-a-node/split-validator-node.mdx +++ b/docs/launch-arbitrum-chain/run-a-node/split-validator-node.mdx @@ -51,7 +51,7 @@ Start the validation node with the JWT secret: docker run --rm -it \ --entrypoint nitro-val \ -p 0.0.0.0:5200:5200 \ - @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ \ + @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ \ --auth.addr 127.0.0.1 \ --auth.origins 0.0.0.0 \ --auth.jwtsecret /tmp/nitro-val.jwt \ @@ -76,7 +76,7 @@ Start the bonder node with the following command, connecting it to your validati ```bash docker run --rm -it \ -v /some/local/dir/arbitrum:/home/user/.arbitrum \ - @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ \ + @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ \ --parent-chain.connection.url= \ --node.staker.enable=true \ --node.staker.strategy=MakeNodes \ @@ -158,7 +158,7 @@ helm install nitro-validator offchainlabs/nitro --values validation_values.yaml To get a full list of parameters for the validation node, you can run the following command: ```bash -docker run --rm -it --entrypoint nitro-val @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --help +docker run --rm -it --entrypoint nitro-val @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --help ``` ### Additional configurations for helm charts diff --git a/docs/run-arbitrum-node/02-run-full-node.mdx b/docs/run-arbitrum-node/02-run-full-node.mdx index 7c67978c62..e2a5fea826 100644 --- a/docs/run-arbitrum-node/02-run-full-node.mdx +++ b/docs/run-arbitrum-node/02-run-full-node.mdx @@ -40,7 +40,7 @@ To ensure the database persists across restarts, mount an external volume to **` If using a `node-config.json` file with Docker to mount, use the following command: ``` -docker run --rm -it -v /Path/to/mount/arbitrum:/home/user/.arbitrum -v /Path/to/node-config.json:/home/user/.arbitrum/node-config.json -p 0.0.0.0:8450:8450 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --conf.file /home/user/.arbitrum/node-config.json +docker run --rm -it -v /Path/to/mount/arbitrum:/home/user/.arbitrum -v /Path/to/node-config.json:/home/user/.arbitrum/node-config.json -p 0.0.0.0:8450:8450 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --conf.file /home/user/.arbitrum/node-config.json ``` ::: diff --git a/docs/run-arbitrum-node/more-types/01-run-archive-node.mdx b/docs/run-arbitrum-node/more-types/01-run-archive-node.mdx index 2f7da3d296..c50a535bb9 100644 --- a/docs/run-arbitrum-node/more-types/01-run-archive-node.mdx +++ b/docs/run-arbitrum-node/more-types/01-run-archive-node.mdx @@ -66,7 +66,7 @@ import HardwarePartial from '../../partials/_hardware-requirements.mdx'; 1. **Docker images:** We'll specify these in the below commands; you don't need to download them manually. - - Latest Docker image for **Arbitrum One Nitro**: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ + - Latest Docker image for **Arbitrum One Nitro**: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ - Latest Docker image for **Arbitrum One Classic**: @@latestClassicNodeImage=offchainlabs/arb-node:v1.4.6-551a39b3@@ 2. **Database snapshots:** - Nitro database snapshot @@ -114,7 +114,7 @@ To run both Arbitrum Nitro and/or Arbitrum Classic in archive mode, follow one o - **Arbitrum One Nitro archive node**: ```shell - docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url https://l1-node:8545 --chain.id=42161 --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* --execution.caching.archive + docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url https://l1-node:8545 --chain.id=42161 --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* --execution.caching.archive ``` - **Arbitrum One Classic archive node**: ```shell @@ -122,7 +122,7 @@ To run both Arbitrum Nitro and/or Arbitrum Classic in archive mode, follow one o ``` - **Arbitrum One Nitro archive node with forwarding classic execution support**: ```shell - docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url https://l1-node:8545 --chain.id=42161 --execution.rpc.classic-redirect= --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* --execution.caching.archive + docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url https://l1-node:8545 --chain.id=42161 --execution.rpc.classic-redirect= --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* --execution.caching.archive ``` Note that the above commands both map to port `8547` on their hosts. To run both on the same host, you should edit those mapping to different ports and specify your Classic node RPC URL as `` in your Nitro start command. To verify the connection health of your node(s), see [Docker network between containers - Docker Networking Example](https://www.middlewareinventory.com/blog/docker-network-example/). diff --git a/docs/run-arbitrum-node/more-types/02-run-validator-node.mdx b/docs/run-arbitrum-node/more-types/02-run-validator-node.mdx index 9ca9292ac8..937a06886e 100644 --- a/docs/run-arbitrum-node/more-types/02-run-validator-node.mdx +++ b/docs/run-arbitrum-node/more-types/02-run-validator-node.mdx @@ -80,7 +80,7 @@ On top of the configuration of a regular full node, you'll need to configure the Here's an example of how to run a defensive validator for Arbitrum One: ```shell -docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url=https://l1-mainnet-node:8545 --chain.id=42161 --node.staker.enable --node.staker.strategy=Defensive --node.staker.parent-chain-wallet.password="SOME SECURE PASSWORD" --node.staker.strategy=Defensive +docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url=https://l1-mainnet-node:8545 --chain.id=42161 --node.staker.enable --node.staker.strategy=Defensive --node.staker.parent-chain-wallet.password="SOME SECURE PASSWORD" --node.staker.strategy=Defensive ``` ### Step 2: verify that your node is running as a validator @@ -123,7 +123,7 @@ Nitro includes a tool to create a validator wallet for a specific chain automati Here is an example of how to create a validator wallet for Arbitrum One and exit: ```shell -docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url=https://l1-mainnet-node:8545 --chain.id=42161 --node.staker.enable --node.staker.parent-chain-wallet.only-create-key --node.staker.parent-chain-wallet.password="SOME SECURE PASSWORD" +docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url=https://l1-mainnet-node:8545 --chain.id=42161 --node.staker.enable --node.staker.parent-chain-wallet.only-create-key --node.staker.parent-chain-wallet.password="SOME SECURE PASSWORD" ``` The wallet file will be created under the mounted directory inside the `/wallet/` directory (for example, `arb1/wallet/` for Arbitrum One, or `nova/wallet/` for Arbitrum Nova). Be sure to backup the wallet file, as it will be the only way to withdraw the bond when desired. diff --git a/docs/run-arbitrum-node/nitro-support-policy.mdx b/docs/run-arbitrum-node/nitro-support-policy.mdx index 1968be4483..72ca3bab90 100644 --- a/docs/run-arbitrum-node/nitro-support-policy.mdx +++ b/docs/run-arbitrum-node/nitro-support-policy.mdx @@ -14,8 +14,8 @@ This policy defines which versions of Nitro the Offchain team actively supports | Currently supported | Supported until | Supported deployment | | -------------------------------------------------------------------------- | ------------------------------------------ | -------------------- | -| [Nitro 3.10.x](https://github.com/OffchainLabs/nitro/releases/tag/v3.10.0) | 30 calendar days after 3.11.x is released. | Docker | -| [Nitro 3.9.9](https://github.com/OffchainLabs/nitro/releases/tag/v3.9.9) | June 11, 2026 | Docker | +| [Nitro 3.11.x](https://github.com/OffchainLabs/nitro/releases/tag/v3.11.1) | 30 calendar days after 3.11.x is released. | Docker | +| [Nitro 3.10.2](https://github.com/OffchainLabs/nitro/releases/tag/v3.11.0) | July 22, 2026 | Docker | ### Special note about ArbOS and Arbitrum Classic @@ -27,7 +27,7 @@ This policy defines which versions of Nitro the Offchain team actively supports We will always support the current minor release of Nitro. The previous minor release will be supported for 30 calendar days after a newer minor release becomes available. In other words, support for a Nitro minor release stops once a minor release of the Nitro node software is made available for 30 calendar days. -This means that we will effectively support at most 2 minor releases for a maximum of 30 calendar days. +This means that we will effectively support at most two minor releases for a maximum of 30 calendar days. :::caution diff --git a/docs/run-arbitrum-node/nitro/01-build-nitro-locally.mdx b/docs/run-arbitrum-node/nitro/01-build-nitro-locally.mdx index b426536a81..9d1a4f590c 100644 --- a/docs/run-arbitrum-node/nitro/01-build-nitro-locally.mdx +++ b/docs/run-arbitrum-node/nitro/01-build-nitro-locally.mdx @@ -64,7 +64,7 @@ For troubleshooting, check Docker's section in [their documentation](https://doc ### Step 2. Download the Nitro source code ```shell -git clone --branch @@nitroVersionTag=v3.11.0@@ https://github.com/OffchainLabs/nitro.git +git clone --branch @@nitroVersionTag=v3.11.1@@ https://github.com/OffchainLabs/nitro.git cd nitro git submodule update --init --recursive --force ``` diff --git a/docs/run-arbitrum-node/nitro/docker-and-cli-binaries.mdx b/docs/run-arbitrum-node/nitro/docker-and-cli-binaries.mdx index 6fa657f0bb..5693d11877 100644 --- a/docs/run-arbitrum-node/nitro/docker-and-cli-binaries.mdx +++ b/docs/run-arbitrum-node/nitro/docker-and-cli-binaries.mdx @@ -60,7 +60,7 @@ The `nitro-node-validator` image uses `split-val-entry.sh` as its entrypoint. Th You can pass validator-specific flags using the `--val-options` and `--val-options-latest` prefixes, separated by `--`. The legacy validator was removed upstream, so passing `--val-options-legacy` now causes the container to exit immediately. ```shell -docker run @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@-validator \ +docker run @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@-validator \ --val-options-latest --validation.api-auth=false -- \ --node.block-validator.enable ``` @@ -144,7 +144,7 @@ Use `--entrypoint` to run a different binary from the same Docker image. The exa ```shell docker run --rm \ --entrypoint relay \ - @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ \ + @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ \ --node.feed.input.url wss://arb1.arbitrum.io/feed \ --chain.id 42161 ``` @@ -154,7 +154,7 @@ docker run --rm \ ```shell docker run --rm \ --entrypoint nitro-val \ - @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ \ + @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ \ --help ``` @@ -163,7 +163,7 @@ docker run --rm \ ```shell docker run --rm \ --entrypoint anytrusttool \ - @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ \ + @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ \ dumpkeyset --url https://your-dac-url ``` @@ -173,7 +173,7 @@ docker run --rm \ docker run --rm \ -v /path/to/keys:/data/keys \ --entrypoint anytrusttool \ - @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ \ + @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ \ keygen --dir /data/keys ``` @@ -188,7 +188,7 @@ version: '3.8' services: nitro: - image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ + image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ restart: unless-stopped ports: # HTTP JSON-RPC endpoint diff --git a/docs/run-arbitrum-node/partials/run-full-node/_dao-chains-example.mdx b/docs/run-arbitrum-node/partials/run-full-node/_dao-chains-example.mdx index bdc2da879e..548cc8a494 100644 --- a/docs/run-arbitrum-node/partials/run-full-node/_dao-chains-example.mdx +++ b/docs/run-arbitrum-node/partials/run-full-node/_dao-chains-example.mdx @@ -1,3 +1,3 @@ ```shell -docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url= --parent-chain.blob-client.beacon-url= --chain.id= --init.latest=pruned --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* +docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url= --parent-chain.blob-client.beacon-url= --chain.id= --init.latest=pruned --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* ``` diff --git a/docs/run-arbitrum-node/partials/run-full-node/_orbit-chains-example.mdx b/docs/run-arbitrum-node/partials/run-full-node/_orbit-chains-example.mdx index 6056768bba..2c8b7f3965 100644 --- a/docs/run-arbitrum-node/partials/run-full-node/_orbit-chains-example.mdx +++ b/docs/run-arbitrum-node/partials/run-full-node/_orbit-chains-example.mdx @@ -1,5 +1,5 @@ ```shell -docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url= --chain.info-json= --chain.name= --node.feed.input.url= --execution.forwarding-target= --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* +docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url= --chain.info-json= --chain.name= --node.feed.input.url= --execution.forwarding-target= --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* ``` - You can see an example of `--chain.info-json` in the section above. diff --git a/docs/run-arbitrum-node/run-feed-relay.mdx b/docs/run-arbitrum-node/run-feed-relay.mdx index 8585925fd3..3e4e8acb48 100644 --- a/docs/run-arbitrum-node/run-feed-relay.mdx +++ b/docs/run-arbitrum-node/run-feed-relay.mdx @@ -39,11 +39,11 @@ The feed relay is in the same Docker image as the Nitro node. - Here is an example of how to run the feed relay for Arbitrum One: ```shell - docker run --rm -it -p 0.0.0.0:9642:9642 --entrypoint relay @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --node.feed.output.addr=0.0.0.0 --node.feed.input.url=wss://arb1-feed.arbitrum.io/feed --chain.id=42161 + docker run --rm -it -p 0.0.0.0:9642:9642 --entrypoint relay @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --node.feed.output.addr=0.0.0.0 --node.feed.input.url=wss://arb1-feed.arbitrum.io/feed --chain.id=42161 ``` - Here is an example of how to run nitro-node for Arbitrum One with a custom relay: ```shell - docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --parent-chain.connection.url=https://l1-mainnet-node:8545 --chain.id=42161 --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* --node.feed.input.url=ws://local-relay-address:9642 + docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --parent-chain.connection.url=https://l1-mainnet-node:8545 --chain.id=42161 --http.api=net,web3,eth --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* --node.feed.input.url=ws://local-relay-address:9642 ``` Note that Arbitrum Classic does not communicate with Nitro sequencer, so classic relay is no longer used. diff --git a/docs/run-arbitrum-node/sequencer/03-run-sequencer-coordination-manager.mdx b/docs/run-arbitrum-node/sequencer/03-run-sequencer-coordination-manager.mdx index 900ebffcf2..72dabbe6c8 100644 --- a/docs/run-arbitrum-node/sequencer/03-run-sequencer-coordination-manager.mdx +++ b/docs/run-arbitrum-node/sequencer/03-run-sequencer-coordination-manager.mdx @@ -11,7 +11,7 @@ The tool offers keyboard-only support. Any changes you make are stored locally u - Clone and enter nitro repository: ```shell - git clone --branch @@nitroVersionTag=v3.11.0@@ https://github.com/OffchainLabs/nitro.git + git clone --branch @@nitroVersionTag=v3.11.1@@ https://github.com/OffchainLabs/nitro.git cd nitro ``` diff --git a/docs/run-arbitrum-node/sequencer/04-run-sequencer-node.mdx b/docs/run-arbitrum-node/sequencer/04-run-sequencer-node.mdx index 55ba5b6fdf..5699ebcdce 100644 --- a/docs/run-arbitrum-node/sequencer/04-run-sequencer-node.mdx +++ b/docs/run-arbitrum-node/sequencer/04-run-sequencer-node.mdx @@ -39,7 +39,7 @@ Even though there are alpha and beta versions of the Arbitrum Nitro software, on ::: -Latest Docker image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ +Latest Docker image: @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ ## Required parameters @@ -130,7 +130,7 @@ Enable your node to send batches to DAS and get DACerts from them. - Example: ```shell wordWrap=true - docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ --node.sequencer=true --node.delayed-sequencer.enable=true --node.delayed-sequencer.use-merge-finality=false --node.delayed-sequencer.finalize-distance=1 --node.batch-poster.enable=true --node.batch-poster.max-size=90000 --node.batch-poster.parent-chain-wallet.private-key= --node.staker.enable=true --node.staker.strategy=MakeNodes --node.staker.parent-chain-wallet.private-key= --node.data-availability.enable=true --node.data-availability.sequencer-inbox-address= --node.data-availability.parent-chain-node-url= --node.data-availability.rest-aggregator.enable=true --node.data-availability.rest-aggregator.urls= --node.data-availability.rpc-aggregator.enable=true --node.data-availability.rpc-aggregator.assumed-honest=1 --node.data-availability.rpc-aggregator.backends= --execution.sequencer.enable=true --execution.sequencer.max-tx-data-size=85000 + docker run --rm -it -v /some/local/dir/arbitrum:/home/user/.arbitrum -p 0.0.0.0:8547:8547 -p 0.0.0.0:8548:8548 @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ --node.sequencer=true --node.delayed-sequencer.enable=true --node.delayed-sequencer.use-merge-finality=false --node.delayed-sequencer.finalize-distance=1 --node.batch-poster.enable=true --node.batch-poster.max-size=90000 --node.batch-poster.parent-chain-wallet.private-key= --node.staker.enable=true --node.staker.strategy=MakeNodes --node.staker.parent-chain-wallet.private-key= --node.data-availability.enable=true --node.data-availability.sequencer-inbox-address= --node.data-availability.parent-chain-node-url= --node.data-availability.rest-aggregator.enable=true --node.data-availability.rest-aggregator.urls= --node.data-availability.rpc-aggregator.enable=true --node.data-availability.rpc-aggregator.assumed-honest=1 --node.data-availability.rpc-aggregator.backends= --execution.sequencer.enable=true --execution.sequencer.max-tx-data-size=85000 ``` - Ensure that `/some/local/dir/arbitrum` already exists; otherwise, the directory might be created with `root` as owner, and the Docker container won't be able to write to it. diff --git a/docs/run-arbitrum-node/start-here.mdx b/docs/run-arbitrum-node/start-here.mdx index 503b92ae9c..e60d9cec6e 100644 --- a/docs/run-arbitrum-node/start-here.mdx +++ b/docs/run-arbitrum-node/start-here.mdx @@ -44,7 +44,7 @@ Although there are beta and release candidate versions of the Arbitrum Nitro sof ::: -Latest [Docker image](https://hub.docker.com/r/offchainlabs/nitro-node/tags): @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.0-a618155@@ +Latest [Docker image](https://hub.docker.com/r/offchainlabs/nitro-node/tags): @@latestNitroNodeImage=offchainlabs/nitro-node:v3.11.1-8512b8c@@ ### Database snapshots diff --git a/src/resources/globalVars.js b/src/resources/globalVars.js index 239ac9b9d2..0891a691c9 100644 --- a/src/resources/globalVars.js +++ b/src/resources/globalVars.js @@ -21,7 +21,7 @@ const sepoliaForceIncludePeriodBlocks = 5760; const globalVars = { // Node docker images - latestNitroNodeImage: 'offchainlabs/nitro-node:v3.11.0-a618155', + latestNitroNodeImage: 'offchainlabs/nitro-node:v3.11.1-8512b8c', latestClassicNodeImage: 'offchainlabs/arb-node:v1.4.6-551a39b3', // Node snapshots (taken around April 20th, 2013) @@ -38,7 +38,7 @@ const globalVars = { // Nitro Github references nitroRepositorySlug: 'nitro', - nitroVersionTag: 'v3.11.0', + nitroVersionTag: 'v3.11.1', nitroPathToPrecompiles: 'precompiles', nitroContractsRepositorySlug: 'nitro-contracts', @@ -47,10 +47,10 @@ const globalVars = { // Precompile interfaces repository nitroPrecompilesRepositorySlug: 'nitro-precompile-interfaces', - nitroPrecompilesCommit: '9056310e554d04829bc590d4ba7e17d40d0a9635', + nitroPrecompilesCommit: '7e88c8cc53c2e96201a23c638f1536557b9cb68b', nitroPrecompilesPathToInterfaces: '', - goEthereumCommit: '0f618f330b8d78457524839997f0041d86f3cd1a', + goEthereumCommit: 'f3a977ddf30b138da2fe673ac5cbff2bc6dd4c88', nitroPathToArbos: 'arbos', nitroPathToArbosState: 'arbos/arbosState',