nimbus-eth2/tests/consensus_spec
Jacek Sieka 1a8b7469e3
move quarantine outside of chaindag (#3124)
* move quarantine outside of chaindag

The quarantine has been part of the ChainDAG for the longest time, but
this design has a few issues:

* the function in which blocks are verified and added to the dag becomes
reentrant and therefore difficult to reason about - we're currently
using a stateful flag to work around it
* quarantined blocks bypass the processing queue leading to a processing
stampede
* the quarantine flow is unsuitable for orphaned attestations - these
should also should be quarantined eventually

Instead of processing the quarantine inside ChainDAG, this PR moves
re-queueing to `block_processor` which already is responsible for
dealing with follow-up work when a block is added to the dag

This sets the stage for keeping attestations in the quarantine as well.

Also:

* make `BlockError` `{.pure.}`
* avoid use of `ValidationResult` in block clearance (that's for gossip)
2021-12-06 10:49:01 +01:00
..
altair fix Altair fork tests in minimal preset (#3163) 2021-12-06 05:56:46 +00:00
merge use v1.1.4 test vectors 2021-11-07 21:42:11 +02:00
phase0 Cleanups (#3123) 2021-11-25 13:20:36 +01:00
README.md test fixture cleanups (#2976) 2021-10-12 13:36:52 +02:00
all_tests.nim test fixture cleanups (#2976) 2021-10-12 13:36:52 +02:00
consensus_spec_tests_preset.nim Fork choice EF consensus tests (#3041) 2021-11-25 19:41:39 +01:00
fixtures_utils.nim v1.1.{5 -> 6} phase 0 and altair spec URL updates (#3157) 2021-12-03 17:40:23 +00:00
test_fixture_fork_choice.nim move quarantine outside of chaindag (#3124) 2021-12-06 10:49:01 +01:00
test_fixture_ssz_generic_types.nim better logging on invalid database (#3097) 2021-11-13 17:27:28 +01:00

README.md

Tests based on scenarios generated from the consensus spec.