tersec
5c16062de9
remove all but truly stub support for `SHARDING_FORK_{EPOCH,VERSION}` ( #4385 )
2022-12-02 13:33:18 +01:00
tersec
4e71e77da7
structure for supporting capella block production ( #4383 )
2022-12-02 08:39:01 +01:00
Zahary Karadjov
c24286e676
Merge branch 'stable' into unstable
2022-12-01 19:30:51 +02:00
Zahary Karadjov
99dc572fa6
Some refinements to the 22.11.0 release notes
2022-12-01 18:23:27 +02:00
tersec
c0cacd2561
use safer case object transitions ( #4379 )
2022-12-01 14:36:44 +02:00
zah
7c783644a2
Fix and document some usages of defaultRuntimeConfig ( #4147 )
...
Other changes:
* Make the light client store compatible with phase0-only networks
and simulations
2022-12-01 11:25:21 +00:00
Zahary Karadjov
7dd4718735
Version 22.11.0
2022-12-01 07:38:54 +02:00
tersec
474b0d8502
`withUpdatedState` injects `updatedState` rather than `state` template ( #4375 )
2022-11-30 16:37:23 +02:00
tersec
096c43db59
don't try to access .error of Opt ( #4377 )
2022-11-30 12:34:31 +00:00
tersec
d51d7de10b
don't access Result.error when not error ( #4376 )
...
* don't access Result.error when not error
* correct `if` parity
* other error
2022-11-30 14:08:48 +02:00
Zahary Karadjov
fbbab3bfef
Add version metric for the VC; Enable VC metrics in the local simulation
2022-11-30 12:47:11 +02:00
Etan Kissling
2e09011d49
persist LC sync progress across restarts ( #4371 )
...
Persist the latest finalized header and sync committee across restarts
of `nimbus_light_client` to avoid redoing time-consuming bootstrap step.
2022-11-30 04:45:03 +01:00
tersec
9572bb8721
fix effective merge conflict between #s 4357 and 4358 around Withdrawal symbol ambiguity ( #4370 )
2022-11-29 11:04:36 +00:00
Eugene Kabanov
6c07c6e625
Address inaccurate time calculation for waitForBlockPublished(). ( #4368 )
...
Address #4353 .
2022-11-29 12:52:21 +02:00
tersec
df54470b13
verify `CAPELLA_FORK_EPOCH == FAR_FUTURE_EPOCH` for supported networks ( #4369 )
2022-11-29 09:12:25 +01:00
tersec
ed672113bc
support engine API execution payloads with withdrawals ( #4358 )
2022-11-29 05:02:16 +00:00
Jacek Sieka
cd160b5650
more strict read-only database mode ( #4362 )
...
* avoid creating pre-altair backwards compatibility tables
* allow running ncli_db era export without above tables present
* drop unused pre-altair backwards compatibility tables
* run benchmark on read-ronly database
* fix running benchmark from genesis
2022-11-28 23:21:58 +00:00
Eugene Kabanov
07885a7210
Fix unexpected block proposal cancellation. ( #4367 )
2022-11-28 22:00:44 +01:00
tersec
cf58fa9573
remove unused types from datatypes/bellatrix and capella ( #4366 )
2022-11-28 16:30:38 +00:00
Etan Kissling
c941dc801f
bump `nim-eth`, extend empty block fallback for Capella ( #4357 )
...
Implements `emptyPayloadToBlockHeader` for Capella.
https://github.com/status-im/nim-eth/pull/562
2022-11-28 14:41:25 +01:00
tersec
3d829b8755
fix unguarded result access
2022-11-27 00:49:30 +00:00
Dustin Brody
92826cf90e
increase builder API registration timeout
2022-11-27 00:07:37 +00:00
tersec
38298869ed
chunk large validator registrations ( #4364 )
2022-11-26 23:11:14 +00:00
tersec
c5d52f1b25
register validators for MEV regardless of whether attached to BN ( #4363 )
2022-11-26 18:50:42 +00:00
tersec
898684c175
REST server shouldn't create validation objects when optimistically synced ( #4361 )
2022-11-25 22:49:31 +00:00
tersec
806b4fd649
fix order of MEV signed block root assignment/checking ( #4360 )
2022-11-25 15:47:52 +02:00
zah
025c1a8b7c
The sync committee duties loop now starts after fork info to be available ( #4355 )
...
This is needed because the service needs to call `forkAtEpoch()` as part
of its operation.
2022-11-24 22:19:58 +00:00
tersec
61c5ac32d8
automated consensus spec ref URL update to v1.3.0-alpha.1 ( #4354 )
2022-11-24 19:07:02 +00:00
Zahary Karadjov
b7b460cf57
Log more data on the 'Unable to retrieve blinded block data' error
2022-11-24 18:35:38 +02:00
Jacek Sieka
41f21b2688
era: fix verification of era 1 ( #4351 )
...
it has block 0 which is special
2022-11-24 15:38:56 +00:00
tersec
1fceb33b2e
more capella ( #4350 )
2022-11-24 14:38:07 +00:00
Eugene Kabanov
8fa6064b9a
VC: blinded block publishing support ( #4332 )
...
* Add blind REST API declarations and implementations.
* shortLog is still not stable.
* Fix shortLog issues.
* Enable disabled logging statements.
* Address review comments.
* Avoid templates suffering from double evaluation of their params
* Address review comments.
* Fix compilation issue.
Co-authored-by: Zahary Karadjov <zahary@status.im>
2022-11-24 09:14:05 +00:00
tersec
c8083f2c32
implement more missing capella functionality ( #4344 )
2022-11-24 09:53:04 +02:00
Eugene Kabanov
fb4fea81b5
Fix doppelganger protection in validator duties. ( #4345 )
...
Fix missing activationEpoch setup.
2022-11-24 09:48:10 +02:00
zah
d07113767d
Bugfix: The VC was producing invalid sync committee contributions ( #4343 )
...
Since the sync committee duties are no longer updated on every slot
and previously the sync committee aggregators selection proofs were
generated during the duties update, this now resulted in the client
using stale selection proofs (they must be generated at each slot).
The fix consists of moving the selection proof generation logic in
a different function which is properly executed on each slot.
Other changes:
* The logtrace tool has been enhanced with a framework for adding
new simpler log aggregation and analysis algorithms.
The default CI testnet simulation will now ensure that the blocks
in the network have reasonable sync committee participation.
2022-11-24 09:46:35 +02:00
Etan Kissling
2823be7306
periodically log LC sync progress ( #4339 )
...
Adds a "Slot start" log to the LC that behaves similar to BN to inform
the user that the light client is doing something, and to indicate the
latest view of the network (finalized / optimistic).
2022-11-22 16:39:03 +01:00
tersec
ec443601eb
implement capellaImplementationMissing points; don't track not-active validator duties ( #4340 )
...
* implement several capellaImplementationMissing points
* don't register validator activity for not-active validators
* don't check validator indices already coming out of committees which exist; must be active validators, or else other deeper bugs
2022-11-22 13:56:05 +02:00
tersec
1146470f7d
use v1.3.0-alpha.1 consensus spec test vectors ( #4338 )
2022-11-21 08:44:49 +01:00
Eugene Kabanov
eb661565ed
Per-validator doppelganger protection. ( #4304 )
...
* Initial commit.
* NextAttestationEntry type.
* Add doppelgangerCheck and actual check.
* Recover deleted check.
* Remove NextAttestainEntry changes.
* More cleanups for NextAttestationEntry.
* Address review comments.
* Remove GENESIS_EPOCH specific check branch.
* Decrease number of full epochs for doppelganger check in VC.
Co-authored-by: zah <zahary@status.im>
2022-11-20 15:55:43 +02:00
Jacek Sieka
cc1464a935
readd bearssl/cacert
2022-11-20 08:20:23 +01:00
Etan Kissling
774eede63b
add ^C handler to LC binary ( #4337 )
...
Avoid ugly error message on ^C by adding a minimal ^C hook.
2022-11-19 11:58:04 +01:00
Eugene Kabanov
a2fc515db0
Address #4290 . ( #4333 )
2022-11-17 13:09:20 +02:00
tersec
b3f6be71d5
refactor `makeBeaconBlock`; some capella support for `ncli_db` and `wss_sim` ( #4321 )
2022-11-11 15:37:43 +01:00
Etan Kissling
93714756d7
update `sync_queue` docs w.r.t. joker's problem ( #4317 )
...
Explicitly mention in-line documentation within `sync_queue` relating to
older specification version to make rationale clearer.
2022-11-11 15:36:02 +01:00
Etan Kissling
94ff73af34
remove unused `SyncQueue.getFullMap` function ( #4319 )
...
The `getFullMap` function is unused and can be removed (verified with
`{.deprecated.}`).
2022-11-11 12:36:56 +00:00
Etan Kissling
2eb56f6e1b
rename `PeerScoreXyzBlocks` -> `PeerScoreXyzValues` ( #4318 )
...
The various `PeerScore` constants are used for both beacon blocks and
LC objects, and will likely also find use for EIP4844 blob sidecars.
Renaming them to use more generically applicable names not referring
to blocks explicitly aymore.
2022-11-11 11:34:28 +00:00
Etan Kissling
94b3df25f8
remove unused `sync_queue` types ( #4316 )
...
`SyncManagerError` and `sync_queue.BeaconBlocksRes` are unused and can
be removed for cleanup (verified with `{.deprecated.}`).
2022-11-11 10:41:30 +00:00
tersec
35b1104bea
`block_sim` runs capella by default ( #4315 )
2022-11-11 10:17:27 +00:00
tersec
04cbea754b
don't require attached validator for blinded block BN endpoint ( #4313 )
2022-11-10 20:18:08 +00:00
Etan Kissling
48994f67d3
rename `BlockError` -> `VerifierError` ( #4310 )
...
We currently use `BlockError` for both beacon blocks and LC objects.
In light of EIP4844, we will likely also use it for blob sidecars.
To avoid confusion, renaming it to a more generic `VerifierError`,
and update its documentation to be more generic.
To avoid long lines as a followup, also renaming the `block_processor`'s
`BlockProcessingCompleted.completed`->`ProcessingStatus.completed` and
`BlockProcessingCompleted.notCompleted`->`ProcessingStatus.notCompleted`
2022-11-10 17:40:27 +00:00