Skip to content

Fork-only — code with no upstream or core-geth pedigree

The highest-scrutiny surface: everything go-ethereum-classic authored itself, with no pedigree in upstream v1.17.3 or core-geth — neither transplanted from the pre-purge nor adopted from core-geth. Three views of the same thing:

  • Symbols — functions/types the fork added that map to no upstream or core-geth symbol.
  • ETC/MESS files — whole files for ETC features (*_etc.go) and MESS (*_mess.go), with their tests counted separately. Revived *_pow.go files are not here — their bodies are transplanted upstream code.
  • Fork-only lines — the per-subsystem tally of fork-only lines from the symbol 3-way diffs (the Coverage provenance metric, broken down by subsystem).
Subsystem Symbols Feature files Tests Fork-only lines
Consensus & Ethash 1 1 5 30
Total Difficulty (TD) 1 0 3 9
Core & EVM 0 1 2 0
Sync & Downloader 1 0 0 137
eth Protocol 1 0 2 37
Eth Service 0 0 0 19
Miner 2 0 1 135
MESS 1 2 1 17
RPC & API 0 0 0 7
CLI, Config & Genesis 2 4 1 86
Total 9 8 15 477

Consensus & Ethash

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
Ethash.VerifySeal 🆕 view

ETC/MESS feature files:

File
params/protocol_params_etc.go view

ETC/MESS tests:

File
consensus/etc/engine_etc_test.go view
consensus/ethash/algorithm_etc_test.go view
consensus/ethash/consensus_etc_test.go view
consensus/ethash/ethash_etc_test.go view
consensus/ethash/sealer_etc_test.go view

30 fork-only lines in this subsystem's 3-way diffs.

Total Difficulty (TD)

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
SubscribeSideBlocks 🆕 view

ETC/MESS tests:

File
core/blockchain_etc_test.go view
core/headerchain_etc_test.go view
core/rawdb/accessors_chain_etc_test.go view

9 fork-only lines in this subsystem's 3-way diffs.

Core & EVM

ETC/MESS feature files:

File
core/vm/jump_table_etc.go view

ETC/MESS tests:

File
core/txpool/validation_etc_test.go view
core/vm/jump_table_etc_test.go view

Sync & Downloader

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
newQueueWithHeaders 🆕 view

137 fork-only lines in this subsystem's 3-way diffs.

eth Protocol

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
GetProtocolVersions 🆕 view

ETC/MESS tests:

File
eth/protocols/eth/handshake_etc_test.go view
eth/protocols/eth/protocol_etc_test.go view

37 fork-only lines in this subsystem's 3-way diffs.

Miner

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
Miner.ExitCh 🆕 view
Miner.SetSyncing 🆕 view

ETC/MESS tests:

File
miner/miner_pow_etc_test.go view

135 fork-only lines in this subsystem's 3-way diffs.

MESS

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
ForkChoice.reorgAllowed 🆕 view

ETC/MESS feature files:

File
core/blockchain_mess.go view
eth/sync_mess.go view

ETC/MESS tests:

File
core/blockchain_mess_test.go view

17 fork-only lines in this subsystem's 3-way diffs.

CLI, Config & Genesis

Symbols — fork-authored, no upstream/core-geth origin:

Symbol
EthashEpochLengthFlag 🆕 view
setMinerETC 🆕 view

ETC/MESS feature files:

File
cmd/utils/flags_etc.go view
core/genesis_etc.go view
params/bootnodes_etc.go view
params/config_etc.go view

ETC/MESS tests:

File
params/bootnodes_etc_test.go view

86 fork-only lines in this subsystem's 3-way diffs.

← Code Changes overview · Coverage