Skip to content

Produce block on main world state#270

Merged
damian-orzechowski merged 16 commits intomainfrom
feature/build-blocks-on-main-context
Oct 24, 2025
Merged

Produce block on main world state#270
damian-orzechowski merged 16 commits intomainfrom
feature/build-blocks-on-main-context

Conversation

@damian-orzechowski
Copy link
Copy Markdown
Collaborator

@damian-orzechowski damian-orzechowski commented Sep 30, 2025

Changes DigestMessage implementation to produce block on main WorldState (not read-only) and then update BlockTree without re-processing block for validation.
Depends on: NethermindEth/nethermind#9388

@damian-orzechowski damian-orzechowski marked this pull request as ready for review October 23, 2025 08:57
Copilot AI review requested due to automatic review settings October 23, 2025 08:57
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modifies the DigestMessage implementation to produce blocks directly on the main WorldState instead of a read-only state, then updates the BlockTree without re-processing blocks for validation. The change simplifies block production by removing event-based validation and enabling a new BuildBlocksOnMainState configuration option.

Key changes:

  • Adds BuildBlocksOnMainState configuration option to all Arbitrum config files
  • Removes event-based block validation logic from ArbitrumRpcModule
  • Introduces ArbitrumGlobalWorldStateBlockProducerEnvFactory to support building blocks on main state

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
arbitrum-sepolia.json Adds BuildBlocksOnMainState: true configuration
arbitrum-sepolia-archive.json Adds BuildBlocksOnMainState: true configuration
arbitrum-local.json Adds BuildBlocksOnMainState: true configuration
ArbitrumRpcModule.cs Removes event-based block validation and async processing logic
ArbitrumBlockProducer.cs Adds tracing namespace imports
ArbitrumBlockProcessor.cs Updates processing flags to use new approach
ArbitrumBlockProducerEnvFactory.cs Adds new factory for global world state block production
ArbitrumPlugin.cs Updates plugin to conditionally use new factory based on config
Nethermind.Arbitrum.slnx Removes Overseer test project reference
ArbitrumTestBlockchainBase.cs Updates test infrastructure to use new block production approach
ArbitrumChainSpecProviderTests.cs Updates test constructors with new parameter
BlockProducerTests.cs Fixes scope handling to prevent state access outside scope
BlockProcessorTests.cs Updates test to use BlockToProduce instead of Block
Nethermind Updates submodule reference

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@damian-orzechowski damian-orzechowski marked this pull request as draft October 23, 2025 09:16
@damian-orzechowski damian-orzechowski marked this pull request as ready for review October 23, 2025 09:50
@github-actions
Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Health
Nethermind.Arbitrum 78% 54%
Summary 78% (7190 / 9161) 54% (1626 / 3017)

Minimum allowed line rate is 60%

@damian-orzechowski damian-orzechowski merged commit 213b74a into main Oct 24, 2025
5 checks passed
@damian-orzechowski damian-orzechowski deleted the feature/build-blocks-on-main-context branch October 24, 2025 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants