nimbus-eth2/tests
tersec 8def2486b0
immutable validator database factoring (#2297)
* initial immutable validator database factoring

* remove changes from chain_dag: this abstraction properly belongs in beacon_chain_db

* add merging mutable/immutable validator portions; individually test database roundtripping of immutable validators and states-sans-immutable-validators

* update test summaries

* use stew/assign2 instead of Nim assignment

* add reading/writing of immutable validators in chaindag

* remove unused import

* replace chunked k/v store of immutable validators with per-row SQL table storage

* use List instead of HashList

* un-stub some ncli_db code so that it uses

* switch HashArray to array; move BeaconStateNoImmutableValidators from datatypes to beacon_chain_db

* begin only-mutable-part state storage

* uncomment some assigns

* work around https://github.com/nim-lang/Nim/issues/17253

* fix most of the issues/oversights; local sim runs again

* fix test suite by adding missing beaconstate field to copy function

* have ncli bench also store immutable validators

* extract some immutable-validator-specific code from the beacon chain db module

* add more rigorous database state roundtripping, with changing validator sets

* adjust ncli_db to use new schema

* simplify putState/getState by moving all immutable validator accounting into beacon state DB

* remove redundant test case and move code to immutable-beacon-chain module

* more efficient, but still brute-force, mutable+immutable validator merging

* reuse BeaconState in getState

* ensure HashList/HashArray caches are cleared when reusing getState buffers; add ncli_db and a unit test to verify this

* HashList.clear() -> HashList.clearCache()

* only copy incrementally necessary immutable validators

* increase strictness of test cases and fix/work around resulting HashList cache invalidation issues

* remove explanatory scaffolding

* allow for storage of full (with all validators) states for backwards/forwards-compatibility

* adjust DbSeq type usage

* store full, with-validators, state every 64 epochs to enable reverting versions

* reduce memory allocation and intermediate objects in state storage codepath

* eliminate allocation/copying through intermediate BeaconStateNoImmutableValidators objects

* skip benchmarking initial genesis-validator-heavy state store

* always store new-style state and sometimes old-style state

* document intent behind BeaconState/Validator type-punnery

* more accurate failure message on SQLite in-memory database initialization failure
2021-03-15 14:11:51 +00:00
..
fork_choice Fork choice - almost free pruning - fix #1534 (#1535) 2020-08-26 17:23:34 +02:00
fuzzing Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] (#2371) 2021-03-03 07:23:05 +01:00
helpers remove {.inline.} pragmas (#2033) 2020-11-20 11:00:22 +01:00
mocking Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] (#2371) 2021-03-03 07:23:05 +01:00
official last few v1.0.0 spec refs to v1.0.1 (#2404) 2021-03-13 20:51:39 +00:00
simulation simplify doppelganger detection to boolean 2021-02-03 20:55:33 +02:00
slashing_protection Consolidate modules by areas [part 1] (#2365) 2021-03-02 11:27:45 +01:00
spec_block_processing Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] (#2371) 2021-03-03 07:23:05 +01:00
spec_epoch_processing openarray -> openArray 2020-11-03 23:23:10 +02:00
all_tests.nim Slashing protection refactor - EIP 3076 (#2094) 2021-02-09 17:23:06 +02:00
all_tests.nim.cfg Rename binaries; Mimic the original repo layout in the distribution 2020-11-09 11:38:52 +02:00
test_attestation_pool.nim Move pruning out of latency critical path (#2384) 2021-03-09 15:36:17 +01:00
test_beacon_chain_db.nim immutable validator database factoring (#2297) 2021-03-15 14:11:51 +00:00
test_beacon_node.nim Rename binaries; Mimic the original repo layout in the distribution 2020-11-09 11:38:52 +02:00
test_beaconstate.nim Prefer converting int` to uint64 and switch foo.len.uint64 to .len64 (#1375) 2020-07-26 20:55:48 +02:00
test_bitseqs.nim reorder ssz (#1099) 2020-06-03 15:52:02 +02:00
test_block_pool.nim Move pruning out of latency critical path (#2384) 2021-03-09 15:36:17 +01:00
test_datatypes.nim Address review comments; Add a test 2020-07-12 21:01:31 +03:00
test_eth1_monitor.nim Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] (#2371) 2021-03-03 07:23:05 +01:00
test_exit_pool.nim Consensus object pools [reorg 4/5] (#2374) 2021-03-04 10:13:44 +01:00
test_helpers.nim Generate markdown test reports 2020-03-13 14:38:59 +00:00
test_honest_validator.nim centralize p2p validation in a single file and address https://github.com/status-im/nimbus-eth2/pull/2377#issuecomment-791313118 (#2383) 2021-03-06 08:32:55 +01:00
test_interop.nim Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] (#2371) 2021-03-03 07:23:05 +01:00
test_keystore.nim Fix #1855; Add support for wallet recovery passwords 2020-10-30 23:56:04 +02:00
test_peer_connection.nim more fork-choice fixes (#1388) 2020-07-30 17:48:25 +02:00
test_peer_pool.nim Reorg (5/5) (#2377) 2021-03-05 14:12:00 +01:00
test_ssz.nim Prefer converting int` to uint64 and switch foo.len.uint64 to .len64 (#1375) 2020-07-26 20:55:48 +02:00
test_ssz_merkleization.nim Move SSZ, deposit_contracts & eth1_monitor [reorg files 3/5] (#2371) 2021-03-03 07:23:05 +01:00
test_state_transition.nim address some TODOs (#2005) 2020-11-12 19:24:07 +00:00
test_statediff.nim immutable validator database factoring (#2297) 2021-03-15 14:11:51 +00:00
test_sync_manager.nim ncli_db pruneDatabase checkpointing; remove onSlotEnd lookaheadTime 2021-03-12 23:15:46 +02:00
test_sync_manager.nim.cfg Split Eth2Processor in prep for batching (#2396) 2021-03-11 11:10:57 +01:00
test_sync_protocol.nim Consolidate modules by areas [part 1] (#2365) 2021-03-02 11:27:45 +01:00
test_zero_signature.nim performance fixes (#2259) 2021-01-25 13:04:18 +01:00
testblockutil.nim Consolidate modules by areas [part 1] (#2365) 2021-03-02 11:27:45 +01:00
teststateutil.nim immutable validator database factoring (#2297) 2021-03-15 14:11:51 +00:00
testutil.nim immutable validator database factoring (#2297) 2021-03-15 14:11:51 +00:00