Skip to content

remove classic and mordor network support#9671

Merged
macfarla merged 16 commits intobesu-eth:mainfrom
macfarla:rm-mordor
Feb 9, 2026
Merged

remove classic and mordor network support#9671
macfarla merged 16 commits intobesu-eth:mainfrom
macfarla:rm-mordor

Conversation

@macfarla
Copy link
Copy Markdown
Contributor

@macfarla macfarla commented Jan 22, 2026

PR description

Fixed Issue(s)

fixes #9461,
fixes #9462

Thanks for sending a pull request! Have you done the following?

  • Checked out our contribution guidelines?
  • Considered documentation and added the doc-change-required label to this PR if updates are required.
  • Considered the changelog and included an update if required.
  • For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

  • spotless: ./gradlew spotlessApply
  • unit tests: ./gradlew build
  • acceptance tests: ./gradlew acceptanceTest
  • integration tests: ./gradlew integrationTest
  • reference tests: ./gradlew ethereum:referenceTests:referenceTests
  • hive tests: Engine or other RPCs modified?

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
@daniellehrner
Copy link
Copy Markdown
Contributor

It seems there is some more leftover code. For example everything starting with ecip1015, ecip1017 & ecip1099 seems to be related only to Ethereum Classic as well. Should this be removed in this PR or will we do that in a future one?

@macfarla macfarla self-assigned this Jan 22, 2026
@macfarla macfarla marked this pull request as draft January 22, 2026 23:46
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
@macfarla macfarla moved this to Open PRs in 26.1.0 Release Jan 23, 2026
@macfarla macfarla moved this from Open PRs to CFI in 26.1.0 Release Jan 23, 2026
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
@macfarla macfarla marked this pull request as ready for review January 23, 2026 01:31
@macfarla
Copy link
Copy Markdown
Contributor Author

all tests pass. also running 2 mainnet syncs on aws nodes

@macfarla
Copy link
Copy Markdown
Contributor Author

mainnet sync looks good
Screenshot 2026-01-27 at 10 07 37 am

@macfarla macfarla removed their assignment Jan 27, 2026
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
macfarla and others added 10 commits January 30, 2026 12:09
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
@macfarla macfarla merged commit 1167c5a into besu-eth:main Feb 9, 2026
46 checks passed
@github-project-automation github-project-automation bot moved this from CFI to Done in 26.1.0 Release Feb 9, 2026
@macfarla macfarla deleted the rm-mordor branch February 9, 2026 23:13
chris-mercer added a commit to chris-mercer/besu that referenced this pull request Mar 3, 2026
Reverts commit 1167c5a (PR besu-eth#9671) which removed all Ethereum Classic
support from Besu. This restores:

- ClassicProtocolSpecs.java: All ETC fork definitions (Classic Recovery
  through Spiral)
- ClassicBlockProcessor.java: ECIP-1017 era-based reward calculation
- ClassicDifficultyCalculators.java: 4 ETC difficulty calculators
  (bomb paused/delayed/removed + EIP100)
- ClassicEVMs.java: ETC-specific EVM operations (Spiral: Istanbul + PUSH0)
- ClassicForkPeerValidator.java: DAO fork block hash validation
- classic.json: ETC mainnet genesis (chain ID 61)
- mordor.json: Mordor testnet genesis (chain ID 63)
- EtcHashTest.java: Epoch calculator tests (30K vs 60K)

Also restores ETC code in 22 modified files:
- GenesisConfigOptions: 13 Classic fork block getters
- HardforkId: ClassicHardforkId enum (14 values)
- EpochCalculator: Ecip1099EpochCalculator (60K epoch)
- MilestoneDefinitions: Classic milestone definitions
- MainnetProtocolSpecFactory: 10 Classic factory methods
- ProtocolScheduleBuilder: Classic fork scheduling
- BesuControllerBuilder: ClassicForkPeerValidator setup
- NetworkDefinition: CLASSIC + MORDOR network entries
- 7 test files with Classic test coverage

ETC is a PoW chain requiring continued client support for the
upcoming Olympia hard fork (ECIP-1121).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
chris-mercer added a commit to chris-mercer/besu that referenced this pull request Mar 5, 2026
Reverts commit 1167c5a (PR besu-eth#9671) which removed all Ethereum Classic
support from Besu. This restores:

- ClassicProtocolSpecs.java: All ETC fork definitions (Classic Recovery
  through Spiral)
- ClassicBlockProcessor.java: ECIP-1017 era-based reward calculation
- ClassicDifficultyCalculators.java: 4 ETC difficulty calculators
  (bomb paused/delayed/removed + EIP100)
- ClassicEVMs.java: ETC-specific EVM operations (Spiral: Istanbul + PUSH0)
- ClassicForkPeerValidator.java: DAO fork block hash validation
- classic.json: ETC mainnet genesis (chain ID 61)
- mordor.json: Mordor testnet genesis (chain ID 63)
- EtcHashTest.java: Epoch calculator tests (30K vs 60K)

Also restores ETC code in 22 modified files:
- GenesisConfigOptions: 13 Classic fork block getters
- HardforkId: ClassicHardforkId enum (14 values)
- EpochCalculator: Ecip1099EpochCalculator (60K epoch)
- MilestoneDefinitions: Classic milestone definitions
- MainnetProtocolSpecFactory: 10 Classic factory methods
- ProtocolScheduleBuilder: Classic fork scheduling
- BesuControllerBuilder: ClassicForkPeerValidator setup
- NetworkDefinition: CLASSIC + MORDOR network entries
- 7 test files with Classic test coverage

ETC is a PoW chain requiring continued client support for the
upcoming Olympia hard fork (ECIP-1121).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

[ETC Removal - Phase 2] Remove Tests and Update Documentation [ETC Removal - Phase 1] Remove Protocol Specs and Network Configurations

3 participants