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.4 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 2 1 8 39
Total Difficulty (TD) 3 0 3 9
Core & EVM 0 1 2 0
Sync & Downloader 1 0 0 137
eth Protocol 2 0 2 73
Eth Service 0 0 2 23
Miner 2 0 1 135
MESS 1 2 1 17
RPC & API 0 0 1 7
CLI, Config & Genesis 2 4 4 334
Total 13 8 24 774

Consensus & Ethash

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

Symbol
Ethash.VerifySeal 🆕 view
TestVerifyUncleHeaderVerifiesSeal 🆕 view

ETC/MESS feature files:

File
params/protocol_params_etc.go view

ETC/MESS tests:

File
consensus/etc/difficulty_bomb_etc_test.go view
consensus/etc/difficulty_parity_etc_test.go view
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
metrics/meter_forced_etc_test.go view

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

Total Difficulty (TD)

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

Symbol
BlockChain.SetPreserve 🆕 view
SubscribeSideBlocks 🆕 view
TestForkChoicePreserveEqualTD 🆕 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
rawNewBlockPacket / rawBlock 🆕 view

ETC/MESS tests:

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

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

Eth Service

ETC/MESS tests:

File
eth/backend_mining_pow_etc_test.go view
eth/ethconfig/config_etc_test.go view

23 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.

RPC & API

ETC/MESS tests:

File
ethstats/ethstats_etc_test.go view

7 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
core/forkid/forkid_etc_test.go view
core/genesis_hash_etc_test.go view
params/bootnodes_etc_test.go view
params/config_etc_test.go view

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

← Code Changes overview · Coverage