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