Eugene Kabanov
b05734f610
Backward sync support for SyncManager. ( #3131 )
...
* Unbundle SyncQueue from sync_manager.nim.
Unbundle Peer scores constants to peer_scores.nim.
Add Forward/Backward enum.
* Further improvements and tests.
* Adopt getRewindPoint() and fix MissingParent handler.
* Remove unused procedures.
Refactor `result` usage.
Fix resetWait().
* Add all the tests and fix the issue with rewind point.
* Fix get() issue.
* Fix flaky tests.
* test fixes
Co-authored-by: Jacek Sieka <jacek@status.im>
2021-12-08 22:15:29 +01:00
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
tersec
cc51f3fd12
v1.1.{5 -> 6} phase 0 and altair spec URL updates ( #3157 )
2021-12-03 17:40:23 +00:00
tersec
2e868dc2ba
mass/mechanical update of 1.1.4 phase0 and altair spec URLs to 1.1.5 ( #3067 )
2021-11-09 07:40:41 +00:00
tersec
2c8600e746
mass/mechanical update of 1.1.3 phase0 spec URLs to 1.1.4 in markdown ( #3059 )
2021-11-08 09:26:18 +00:00
Jacek Sieka
ea0a191723
Better REST/RPC error messages ( #3046 )
...
* Better REST/RPC error messages
* homogenise block logging (root first)
* homegenise message verification pipeline (verify in
`gossip_verification`, act in `eth2_processor`)
* use `subcommitteeIdx` consistently
* log each sent contribution
* fix block_sim
* fix block topic
* don't recalc root on gossip block validation
* move position loop into sync pool
2021-11-05 17:39:47 +02:00
tersec
36e37bda40
v1.1.3 spec refs URLs ( #3036 )
2021-10-27 18:40:17 +00:00
tersec
968a5b3bec
some spec refs to v1.1.3 ( #3032 )
2021-10-26 18:42:48 +00:00
tersec
8307e9c601
mechanical non-merge v1.1.2 to v1.1.3 spec URL updates ( #3030 )
2021-10-26 16:44:23 +00:00
Jacek Sieka
421bf936ff
odds and ends ( #3015 )
...
* `allSyncCommittees` => `allSyncSubcommittees`
* simplify `_snappy` topic generation (avoid pointless string copies)
* simplify gossip id generator (avoid pointless string copies)
* avoid redundant syncnet ENR updates
* simplify topic validation (allow only validated topics)
2021-10-21 15:09:19 +02:00
tersec
2ad1b7366a
update 62 spec URLs to v1.1.2 ( #2979 )
2021-10-12 10:17:37 +00:00
tersec
0ae736f397
update 67 spec URLs to v1.1.2 ( #2977 )
2021-10-12 08:09:59 +00:00
tersec
ca4c6b4c5c
update 30 spec URLs to v1.1.0 ( #2914 )
2021-09-28 14:01:46 +00:00
tersec
aec5cf2b1b
update 31 spec reference URLs to v1.1.0 ( #2910 )
2021-09-28 07:46:06 +00:00
tersec
9725d15a3e
update spec references from eth2.0-specs to consensus-specs and to v1.1.0-beta.2 ( #2822 )
2021-08-26 10:21:52 +02:00
zah
eb2dc5cbbb
Implement the new Altair req/resp protocols ( #2676 )
...
* Implement the new Altair req/resp protocols
Also fixes the altair message-id computation by providing the correct
forkdigest prefix in `isAltairTopic`.
Co-authored-by: Tanguy Cizain <tanguycizain@gmail.com>
2021-07-07 12:09:47 +03:00
Mamy Ratsimbazafy
3276dfc683
Consolidate modules by areas [part 1] ( #2365 )
...
* Move sync in subfolder
* move validator related thingies in validators
* fix binary builds
* update bounds comment [skip ci]
2021-03-02 11:27:45 +01:00
tersec
28e9568d3c
update docs to use v1.0.1 spec ref URLs ( #2368 )
2021-03-02 09:32:07 +01:00
Mamy Ratsimbazafy
08f063aba9
[RFC - Doc] State of Nimbus block & attestation flows ( #2351 )
...
* Expand documentation on block flow [skip ci]
* address review comments [skip ci]
* Update with GossipFlow out [skip ci]
* LocalBlockProposer -> LocalValidatorDuties + WeakSubjectivitySync
* First outline of attestation flow
* finish up prose
2021-03-01 11:22:16 +01:00