nimbus-eth2/tests
Eugene Kabanov 18409a69e1
Light forward sync mechanism (#6515)
* Initial commit.

* Add hybrid syncing.

* Compilation fixes.

* Cast custom event for our purposes.

* Instantiate AsyncEventQueue properly.

* Fix mistype.

* Further research on optimistic updates.

* Fixing circular deps.

* Add backfilling.

* Add block download feature.

* Add block store.

* Update backfill information before storing block.

* Use custom block verifier for backfilling sync.

* Skip signature verification in backfilling.

* Add one more generic reload to storeBackfillBlock().

* Add block verification debugging statements.

* Add more debugging

* Do not use database for backfilling, part 1.

* Fix for stash.

* Stash fixes part 2.

* Prepare for testing.

* Fix assertion.

* Fix post-restart syncing process.

* Update backfill loading log statement.
Use proper backfill slot callback for sync manager.

* Add handling of Duplicates.

* Fix store duration and block backfilled log statements.

* Add proper syncing state log statement.

* Add snappy compression to beaconchain_file.
Format syncing speed properly.

* Add blobs verification.

* Add `slot` number to file structure for easy navigation over stream of compressed objects.

* Change database filename.

* Fix structure size.

* Add more consistency properties.

* Fix checkRepair() issues.

* Preparation to state rebuild process.

* Add plain & compressed size.

* Debugging snappy encode process.

* Add one more debugging line.

* Dump blocks.

* One more filedump.

* Fix chunk corruption code.

* Fix detection issue.

* Some fixes in state rebuilding process.

* Add more clearance steps.

* Move updateHead() back to block_processor.

* Fix compilation issues.

* Make code more async friendly.

* Fix async issues.
Add more information when proposer verification failed.

* Fix 8192 slots issue.

* Fix Future double completion issue.

* Pass updateFlags to some of the core procedures.

* Fix tests.

* Improve initial sync handling mechanism.

* Fix checkStateTransition() performance improvements.

* Add some performance tuning and meters.

* Light client performance tuning.

* Remove debugging statement.

* Use single file descriptor for blockchain file.

* Attempt to fix LC.

* Fix timeleft calculation when untrusted sync backfilling started right after LC block received.

* Workaround for `chronicles` + `results` `error` issue.
Remove some compilation warnings.
Fix `CatchableError` leaks on Windows.

* Address review comments.

* Address review comments part 2.

* Address review comments part 1.

* Rebase and fix the issues.

* Address review comments part 3.

* Add tests and fix some issues in auto-repair mechanism.

* Add tests to all_tests.

* Rename binary test file to pass restrictions.

* Add `bin` extension to excluded list.
Recover binary test data.

* Rename fixture file to .bin again.

* Update AllTests.

* Address review comments part 4.

* Address review comments part 5 and fix tests.

* Address review comments part 6.

* Eliminate foldl and combine from blobs processing.
Add some tests to ensure that checkResponse() also checks for correct order.

* Fix forgotten place.

* Post rebase fixes.

* Add unique slots tests.

* Optimize updateHead() code.

* Add forgotten changes.

* Address review comments on state as argument.
2024-10-30 05:38:53 +00:00
..
consensus_spec Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
fixtures Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
fuzzing add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
helpers make `Gwei` `distinct` (#6090) 2024-03-19 14:22:07 +01:00
media Add a JWT file that must be present on the file system for the test suite to succeed 2023-03-17 17:49:39 +02:00
mocking ensure that rarely ran files are compiled on PR (#6379) 2024-06-23 23:35:56 +00:00
simulation add `KZGProof` and `Blob` REST JSON serializations (#5526) 2023-10-25 23:50:59 +02:00
slashing_protection stop using deprecated stew/results (#6343) 2024-06-11 02:34:56 +00:00
all_tests.nim Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
nim.cfg fix most ConvFromXtoItselfNotNeeded hints and unhide remaining ones (#6307) 2024-05-22 13:56:37 +02:00
test_action_tracker.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_attestation_pool.nim fix inconsistent aggregation bits len in Electra (#6679) 2024-10-25 16:04:35 +02:00
test_beacon_chain_db.nim add Electra beacon chain database state tests (#6584) 2024-09-27 07:53:58 +02:00
test_beacon_chain_file.nim Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
test_beacon_time.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_beacon_validators.nim rm outdated/semi-duplicate execution layer withdrawal request processing (#6301) 2024-05-22 01:59:11 +02:00
test_block_dag.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_block_processor.nim Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
test_block_quarantine.nim when adding duplicates to quarantine, schedule deepest missing parent (#6112) 2024-03-21 18:41:05 +00:00
test_blockchain_dag.nim Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
test_conf.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00
test_datatypes.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_deposit_snapshots.nim Bump NimYAML + bump related changes (#6431) 2024-07-17 21:50:29 +02:00
test_discovery.nim Bump nim-eth for Opt changes and make Opt related adjustments (#6369) 2024-06-18 23:46:51 +02:00
test_eip7594_helpers.nim add: recover matrix (#6553) 2024-09-17 10:21:55 +00:00
test_el_conf.nim explicitly mention `{.raises.}` in `tests` folder (#5990) 2024-02-29 10:28:32 +00:00
test_el_manager.nim refactor engine API conversions out of EL manager (#6507) 2024-08-22 16:12:03 +02:00
test_engine_api_conversions.nim rm ExecutionPayloadV4/electra.ExecutionPayload roundtrip tests (#6632) 2024-10-10 10:31:45 +00:00
test_engine_authentication.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_eth2_ssz_serialization.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_forks.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_gossip_transition.nim add electra gossip transition 2024-05-15 13:30:49 +00:00
test_gossip_validation.nim add test for shuffled attestation signatures (#6459) 2024-07-26 23:31:05 +00:00
test_helpers.nim hypergeometric distribution CDF for PeerDAS (#6447) 2024-07-25 01:59:24 +00:00
test_honest_validator.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_key_splitting.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_keymanager_api.nim remove option to select Capella fork choice algo (#6478) 2024-08-07 14:48:05 +00:00
test_keystore.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_keystore_management.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_light_client.nim don't use {.noinit.} with case objects (#6662) 2024-10-21 01:22:16 +02:00
test_light_client_processor.nim don't use {.noinit.} with case objects (#6662) 2024-10-21 01:22:16 +02:00
test_message_signatures.nim add some support for electra aggregated attestations (#6283) 2024-05-14 06:12:35 +02:00
test_network_metadata.nim rm built-in Goerli beacon chain support (#6057) 2024-04-03 23:25:36 +00:00
test_peer_pool.nim use `closureScope` with `{.raises.}` in `test_peer_pool` (#5992) 2024-02-29 00:57:19 +00:00
test_remote_keystore.nim remove some debugRaiseAsserts and fill in Electra functionality (#6177) 2024-04-05 21:30:06 +02:00
test_rest_json_serialization.nim remove block fork guessing/inference from REST JSON decoding (#6552) 2024-09-25 02:58:53 +00:00
test_serialization.nim stop using deprecated stew/results (#6343) 2024-06-11 02:34:56 +00:00
test_signing_node.nim VC: Electra fixes. (#6631) 2024-10-16 17:20:39 +00:00
test_spec.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_statediff.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
test_sync_committee_pool.nim rm unused code/type conversoins; re-enable Electra block gossip verification (#6545) 2024-09-12 11:11:08 +02:00
test_sync_manager.nim Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
test_toblindedblock.nim use EF consensus spec v1.5.0-alpha.6 test vectors (#6568) 2024-09-20 21:32:16 +02:00
test_validator_bucket_sort.nim rm unused code/type conversoins; re-enable Electra block gossip verification (#6545) 2024-09-12 11:11:08 +02:00
test_validator_change_pool.nim add Electra attester slashing pool (#6579) 2024-09-24 11:01:40 +02:00
test_validator_client.nim devel-branch-compatibility tweaks for Nim in test_validator_client (#6686) 2024-10-30 05:21:20 +01:00
test_validator_pool.nim VC/NIMBUS-BN validators protection. (#6329) 2024-06-11 19:38:16 +00:00
test_zero_signature.nim add trivial `{.push raises: [].}` to `research` and `test` folders (#5988) 2024-02-29 13:24:08 +00:00
testbcutil.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
testblockutil.nim Bump nim-eth: Convert GasInt to uint64 (#6415) 2024-07-06 20:25:31 +00:00
testdbutil.nim electra attestation updates (#6295) 2024-05-17 15:37:41 +03:00
teststateutil.nim use EF consensus spec v1.5.0-alpha.7 test vectors (#6600) 2024-10-06 13:15:56 +02:00
testutil.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00