* Implement split preset/config support This is the initial bulk refactor to introduce runtime config values in a number of places, somewhat replacing the existing mechanism of loading network metadata. It still needs more work, this is the initial refactor that introduces runtime configuration in some of the places that need it. The PR changes the way presets and constants work, to match the spec. In particular, a "preset" now refers to the compile-time configuration while a "cfg" or "RuntimeConfig" is the dynamic part. A single binary can support either mainnet or minimal, but not both. Support for other presets has been removed completely (can be readded, in case there's need). There's a number of outstanding tasks: * `SECONDS_PER_SLOT` still needs fixing * loading custom runtime configs needs redoing * checking constants against YAML file * yeerongpilly support `build/nimbus_beacon_node --network=yeerongpilly --discv5:no --log-level=DEBUG` * load fork epoch from config * fix fork digest sent in status * nicer error string for request failures * fix tools * one more * fixup * fixup * fixup * use "standard" network definition folder in local testnet Files are loaded from their standard locations, including genesis etc, to conform to the format used in the `eth2-networks` repo. * fix launch scripts, allow unknown config values * fix base config of rest test * cleanups * bundle mainnet config using common loader * fix spec links and names * only include supported preset in binary * drop yeerongpilly, add altair-devnet-0, support boot_enr.yaml
14 KiB
AllTests-mainnet
Attestation pool processing [Preset: mainnet]
+ Attestations may arrive in any order [Preset: mainnet] OK
+ Attestations may overlap, bigger first [Preset: mainnet] OK
+ Attestations may overlap, smaller first [Preset: mainnet] OK
+ Attestations should be combined [Preset: mainnet] OK
+ Can add and retrieve simple attestations [Preset: mainnet] OK
+ Everyone voting for something different [Preset: mainnet] OK
+ Fork choice returns block with attestation OK
+ Fork choice returns latest block with no attestations OK
+ Trying to add a block twice tags the second as an error OK
+ Trying to add a duplicate block from an old pruned epoch is tagged as an error OK
+ Working with aggregates [Preset: mainnet] OK
OK: 11/11 Fail: 0/11 Skip: 0/11
Beacon chain DB [Preset: mainnet]
+ empty database [Preset: mainnet] OK
+ find ancestors [Preset: mainnet] OK
+ sanity check Altair and cross-fork getState rollback [Preset: mainnet] OK
+ sanity check Altair blocks [Preset: mainnet] OK
+ sanity check Altair states [Preset: mainnet] OK
+ sanity check Altair states, reusing buffers [Preset: mainnet] OK
+ sanity check genesis roundtrip [Preset: mainnet] OK
+ sanity check phase 0 blocks [Preset: mainnet] OK
+ sanity check phase 0 getState rollback [Preset: mainnet] OK
+ sanity check phase 0 states [Preset: mainnet] OK
+ sanity check phase 0 states, reusing buffers [Preset: mainnet] OK
+ sanity check state diff roundtrip [Preset: mainnet] OK
OK: 12/12 Fail: 0/12 Skip: 0/12
Beacon state [Preset: mainnet]
+ Smoke test initialize_beacon_state_from_eth1 [Preset: mainnet] OK
OK: 1/1 Fail: 0/1 Skip: 0/1
Bit fields
+ iterating words OK
+ overlaps OK
+ roundtrips BitArray OK
+ roundtrips BitSeq OK
OK: 4/4 Fail: 0/4 Skip: 0/4
Block pool processing [Preset: mainnet]
+ Adding the same block twice returns a Duplicate error [Preset: mainnet] OK
+ Reverse order block add & get [Preset: mainnet] OK
+ Simple block add&get [Preset: mainnet] OK
+ getRef returns nil for missing blocks OK
+ loading tail block works [Preset: mainnet] OK
+ updateHead updates head and headState [Preset: mainnet] OK
+ updateStateData sanity [Preset: mainnet] OK
OK: 7/7 Fail: 0/7 Skip: 0/7
BlockRef and helpers [Preset: mainnet]
+ epochAncestor sanity [Preset: mainnet] OK
+ get_ancestor sanity [Preset: mainnet] OK
+ isAncestorOf sanity [Preset: mainnet] OK
OK: 3/3 Fail: 0/3 Skip: 0/3
BlockSlot and helpers [Preset: mainnet]
+ atSlot sanity [Preset: mainnet] OK
+ parent sanity [Preset: mainnet] OK
OK: 2/2 Fail: 0/2 Skip: 0/2
Eth1 monitor
+ Rewrite HTTPS Infura URLs OK
OK: 1/1 Fail: 0/1 Skip: 0/1
Eth2 specific discovery tests
+ Invalid attnets field OK
+ Subnet query OK
+ Subnet query after ENR update OK
OK: 3/3 Fail: 0/3 Skip: 0/3
Exit pool testing suite
+ addExitMessage/getAttesterSlashingMessage OK
+ addExitMessage/getProposerSlashingMessage OK
+ addExitMessage/getVoluntaryExitMessage OK
OK: 3/3 Fail: 0/3 Skip: 0/3
Fork Choice + Finality [Preset: mainnet]
+ fork_choice - testing finality #01 OK
+ fork_choice - testing finality #02 OK
+ fork_choice - testing no votes OK
+ fork_choice - testing with votes OK
OK: 4/4 Fail: 0/4 Skip: 0/4
Gossip validation [Preset: mainnet]
+ Validation sanity OK
OK: 1/1 Fail: 0/1 Skip: 0/1
Honest validator
+ General pubsub topics OK
+ Mainnet attestation topics OK
+ is_aggregator OK
OK: 3/3 Fail: 0/3 Skip: 0/3
Interop
+ Interop genesis OK
+ Interop signatures OK
+ Mocked start private key OK
OK: 3/3 Fail: 0/3 Skip: 0/3
PeerPool testing suite
+ Access peers by key test OK
+ Acquire from empty pool OK
+ Acquire/Sorting and consistency test OK
+ Delete peer on release text OK
+ Iterators test OK
+ Peer lifetime test OK
+ Safe/Clear test OK
+ Score check test OK
+ Space tests OK
+ addPeer() test OK
+ addPeerNoWait() test OK
+ deletePeer() test OK
OK: 12/12 Fail: 0/12 Skip: 0/12
SSZ dynamic navigator
+ navigating fields OK
OK: 1/1 Fail: 0/1 Skip: 0/1
SSZ navigator
+ basictype OK
+ lists with max size OK
+ simple object fields OK
OK: 3/3 Fail: 0/3 Skip: 0/3
Slashing Protection DB - Interchange [Preset: mainnet]
+ Smoke test - Complete format - Invalid database is refused [Preset: mainnet] OK
+ Smoke test - Complete format [Preset: mainnet] OK
OK: 2/2 Fail: 0/2 Skip: 0/2
Slashing Protection DB - v1 and v2 migration [Preset: mainnet]
+ Minimal format migration [Preset: mainnet] OK
OK: 1/1 Fail: 0/1 Skip: 0/1
Slashing Protection DB [Preset: mainnet]
+ Attestation ordering #1698 OK
+ Don't prune the very last attestation(s) even by mistake OK
+ Don't prune the very last block even by mistake OK
+ Empty database [Preset: mainnet] OK
+ Pruning attestations works OK
+ Pruning blocks works OK
+ SP for block proposal - backtracking append OK
+ SP for block proposal - linear append OK
+ SP for same epoch attestation target - linear append OK
+ SP for surrounded attestations OK
+ SP for surrounding attestations OK
+ Test valid attestation #1699 OK
OK: 12/12 Fail: 0/12 Skip: 0/12
Spec datatypes
+ Graffiti bytes OK
OK: 1/1 Fail: 0/1 Skip: 0/1
Spec helpers
+ integer_squareroot OK
OK: 1/1 Fail: 0/1 Skip: 0/1
SyncManager test suite
+ [SyncQueue] Async pending and resetWait() test OK
+ [SyncQueue] Async unordered push start from zero OK
+ [SyncQueue] Async unordered push with not full start from non-zero OK
+ [SyncQueue] Full and incomplete success/fail start from non-zero OK
+ [SyncQueue] Full and incomplete success/fail start from zero OK
+ [SyncQueue] One smart and one stupid + debt split + empty OK
+ [SyncQueue] Smart and stupid success/fail OK
+ [SyncQueue] Start and finish slots equal OK
+ [SyncQueue] Two full requests success/fail OK
+ [SyncQueue] checkResponse() test OK
+ [SyncQueue] contains() test OK
+ [SyncQueue] getLastNonEmptySlot() test OK
+ [SyncQueue] getRewindPoint() test OK
+ [SyncQueue] hasEndGap() test OK
OK: 14/14 Fail: 0/14 Skip: 0/14
Zero signature sanity checks
+ SSZ serialization roundtrip of SignedBeaconBlockHeader OK
OK: 1/1 Fail: 0/1 Skip: 0/1
[Unit - Spec - Block processing] Attestations [Preset: mainnet]
+ Valid attestation OK
+ Valid attestation from previous epoch OK
OK: 2/2 Fail: 0/2 Skip: 0/2
[Unit - Spec - Block processing] Deposits [Preset: mainnet]
+ Deposit at MAX_EFFECTIVE_BALANCE balance (32 ETH) OK
+ Deposit over MAX_EFFECTIVE_BALANCE balance (32 ETH) OK
+ Deposit under MAX_EFFECTIVE_BALANCE balance (32 ETH) OK
+ Invalid deposit at MAX_EFFECTIVE_BALANCE balance (32 ETH) OK
+ Validator top-up OK
OK: 5/5 Fail: 0/5 Skip: 0/5
[Unit - Spec - Epoch processing] Justification and Finalization [Preset: mainnet]
+ Rule I - 234 finalization with enough support OK
+ Rule I - 234 finalization without support OK
+ Rule II - 23 finalization with enough support OK
+ Rule II - 23 finalization without support OK
+ Rule III - 123 finalization with enough support OK
+ Rule III - 123 finalization without support OK
+ Rule IV - 12 finalization with enough support OK
+ Rule IV - 12 finalization without support OK
OK: 8/8 Fail: 0/8 Skip: 0/8
chain DAG finalization tests [Preset: mainnet]
+ init with gaps [Preset: mainnet] OK
+ orphaned epoch block [Preset: mainnet] OK
+ prune heads on finalization [Preset: mainnet] OK
OK: 3/3 Fail: 0/3 Skip: 0/3
hash
+ HashArray OK
+ HashList fixed OK
+ HashList variable OK
OK: 3/3 Fail: 0/3 Skip: 0/3
state diff tests [Preset: mainnet]
+ random slot differences [Preset: mainnet] OK
OK: 1/1 Fail: 0/1 Skip: 0/1
---TOTAL--- OK: 128/128 Fail: 0/128 Skip: 0/128