1a8b7469e3
* 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) |
||
---|---|---|
.. | ||
altair | ||
merge | ||
phase0 | ||
README.md | ||
all_tests.nim | ||
consensus_spec_tests_preset.nim | ||
fixtures_utils.nim | ||
test_fixture_fork_choice.nim | ||
test_fixture_ssz_generic_types.nim |
README.md
Tests based on scenarios generated from the consensus spec.