tersec
251143fd51
attest to known valid block when possible ( #5313 )
...
* attest to known valid block when possible
* cleaner approach; slot is always == attestation slot itself
* copyright year linting
2024-01-11 22:34:10 +00:00
Jacek Sieka
62cbdeefc5
verify `genesis_time` more strictly ( fixes #1667 ) ( #5694 )
...
Bogus values lead to crashes down the line when timers overflow
2024-01-06 15:26:56 +01:00
Etan Kissling
030226148d
rename `exit_pool` > `validator_change_pool` ( #5679 )
...
The `ExitPool` was renamed to `ValidatorChangePool` with Capella, but
the files were still using the previous name. Rename for consistency.
2023-12-23 06:55:47 +01:00
tersec
9c6ba7d142
consensus spec v1.4.0-beta.5 URL updates ( #5672 )
2023-12-16 03:27:06 +01:00
tersec
cb6b54ec89
log engine/builder API decisionmaking ( #5608 )
2023-12-15 22:31:14 +02:00
andri lim
15147cccb1
Bump nim-web3 to dcabb8f29ee55afedefdf93cd3e102bb1daee354 ( #5664 )
...
* bump nim-web3 to dcabb8f29ee55afedefdf93cd3e102bb1daee354
also bump json-rpc to a8731e91bc336d930ac66f985d3b88ed7cf2a7d7
2023-12-12 22:15:00 +07:00
tersec
4776fecc33
consensus spec v1.4.0-beta.5 URL updates ( #5655 )
2023-12-06 22:16:55 +00:00
tersec
91029ce6d6
fix XDeclaredButNotUsed hints ( #5652 )
2023-12-06 17:23:45 +01:00
tersec
c36d2aa103
fix XDeclaredButNotUsed warnings ( #5648 )
2023-12-05 11:45:47 +00:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
Etan Kissling
b0839d1ae5
use correct KZG commitments in Deneb `constructPlainBlindedBlock` ( #5642 )
...
For Deneb, extend on #5639 and use correct KZG commitments when
producing new blinded blocks using Nimbus VC.
2023-12-04 17:36:50 +01:00
tersec
144d453f4a
Update to current (deprecated, but) version of produceBlindedBlock ( #5639 )
2023-12-03 10:04:12 +01:00
tersec
2fc43c9ba7
track block/blob matching/quarantines using both indices and commitments ( #5621 )
2023-12-01 18:58:46 +00:00
Eugene Kabanov
e2e4912645
REST API produceBlockV3 implementation ( #5474 )
...
Co-authored-by: Etan Kissling <etan@status.im>
Co-authored-by: Jacek Sieka <jacek@status.im>
2023-11-29 00:30:14 +01:00
tersec
ab5343d1bc
update some consensus spec URLs to v1.4.0-beta.4 ( #5631 )
2023-11-27 19:56:34 +01:00
tersec
0e5234efcc
avoid potentially subtle template/function symbol name interactions ( #5622 )
...
* avoid potentially subtle template/function symbol name interactions
* use warn instead of error in getExecutionPayload codepath to ensure lack of ambiguity
2023-11-24 16:34:25 +00:00
Jacek Sieka
e1e809eeb7
Batch slashing protection registration ( #5604 )
...
This PR brings down the time to send 100 attestations from ~1s to
~100ms, making it feasible to run 10k validators on a single node (which
regularly send 300 attestations / slot).
This is done by batching the slashing protection database write in a
single transaction thus avoiding a slow fsync for every signature -
effects will be more pronounced on slow drives.
The benefit applies both to beacon and client validators.
2023-11-19 14:08:07 +01:00
stephanep
dfd7b9bc61
Fix handling of VC validators by per payload-builder payload builder validator registration (issue #5599 ). ( #5603 )
...
The proposed change ensures that VC validators are registered with the builder specified by the `--payload-builder-url` argument even if the beacon node has no attached validators. It also prevent such validators from being unintentionally registered with builders configured for specific attached validators by the keymanager api.
Per the current specs, the VC have no way to specify which builders the BN should use on a per-node basis, so for the time being we have to resort to using the BN fallback default builder URL for VC validators.
2023-11-17 17:42:00 +03:00
Etan Kissling
b9a693d5fe
send LC finality update on event stream on supermajority ( #5602 )
...
When new finality is reached without supermajority sync committee
support, trigger another event push on beacon-API and libp2p once
the finality gains supermajority support.
- https://github.com/ethereum/consensus-specs/pull/3549
2023-11-16 19:57:15 -08:00
Etan Kissling
98e969084d
update Deneb for latest builder-specs flow ( #5598 )
...
The `BlobSidecar` construction has been moved to the relay and is no
longer done by the BN / VC in blinded flow. Builder bid contents have
been shrinked from full `BlindedBlobBundle` to `blob_kzg_commitments`.
- https://github.com/ethereum/builder-specs/pull/90
- https://github.com/ethereum/beacon-APIs/pull/369
2023-11-15 16:20:13 -08:00
tersec
c96163dbca
update some consensus spec URLs to v1.4.0-beta.4 ( #5594 )
2023-11-11 06:27:53 +01:00
Etan Kissling
d8a7f0df81
update Deneb for blob sidecar inclusion proofs ( #5565 )
...
`BlobSidecar` is no longer signed, instead use Merkle proof to link
blobs with block.
- https://github.com/ethereum/consensus-specs/pull/3531
Associated beacon-API / builder-specs still TBD; minimal changes done
to compile in similar style to previous spec, but not standardized yet.
- https://github.com/ethereum/beacon-APIs/pull/369
- https://github.com/ethereum/builder-specs/pull/90
2023-11-06 07:48:43 +01:00
Etan Kissling
a05278e263
wrap `kzgs`/`proofs`/`blobs` fields as `BlobsBundle` ( #5562 )
...
Less type conversion / copying by keeping the `BlobsBundle` together.
2023-11-04 13:49:58 +00:00
Eugene Kabanov
8cec3af61c
VC: Obtain randao signature before slot proposal. ( #5490 )
...
* Randao calculation caching for VC implementation.
* Add time monitoring for randao signatures process.
* Add delay calculation.
* Address review comments.
* Address review comments.
2023-11-04 08:14:14 +01:00
tersec
ab89e96265
fill in transactions root and KZG commitments from deneb.BlindedBeaconBlock in state transition ( #5553 )
2023-11-02 04:56:04 +01:00
tersec
657de2721a
fill blindedblockbody KZG commitments from deneb blinded header ( #5550 )
2023-11-01 14:00:21 +01:00
tersec
556d5e7114
rm unused code ( #5538 )
2023-11-01 05:53:09 +01:00
Jacek Sieka
8c81515bf6
log slashing protection database error on failure to load ( #5542 )
...
* log slashing protection database error on failure to load
...and fix noreturn warning
* fix the copied one too
* oops
* oops 2
2023-10-31 11:15:38 +01:00
tersec
62d59daaa7
consensus-spec URL updates to v1.4.0-beta.3 ( #5541 )
2023-10-30 06:44:43 +00:00
tersec
34eade3a99
sign blinded blob sidecars during builder API proposals ( #5537 )
2023-10-28 05:10:23 +00:00
tersec
b2e81de6db
remove unnecessary Builder API status endpoint usage ( #5518 )
2023-10-23 23:01:29 +00:00
tersec
769316d909
construct Deneb blinded blobs from builder API getHeader ( #5513 )
2023-10-19 17:34:32 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
tersec
6eb7d481fa
fix Deneb builder API block body type; introduce and use ExecutionPayloadHeaderAndBlindedBlobsBundle ( #5509 )
2023-10-18 02:54:02 +00:00
zah
35bf03a3fb
Add the --verifying-web3-signer-url configuration option ( #5504 )
2023-10-13 15:42:00 +03:00
tersec
c5028b56bf
change blinded block proposal failures to REST internal errors ( #5501 )
2023-10-12 23:54:24 +02:00
tersec
eeac00d08e
add RPC signature; add type constraints on proposeBlockMEV ( #5498 )
2023-10-12 11:49:48 +00:00
tersec
40616b6243
update some consensus spec URLs to v1.4.0-beta.2 ( #5497 )
2023-10-12 05:07:41 +00:00
tersec
ec1d98cc3a
implement deneb block and blob unblinding ( #5496 )
2023-10-12 03:40:15 +00:00
tersec
edc5c03230
consistently use SignedBlindedBeaconBlockContents; remove more Bellatrix Builder API remnants ( #5493 )
2023-10-11 11:48:35 +00:00
tersec
447786518f
ShufflingRef approach to next-epoch validator duty calculation/prediction ( #5414 )
...
* ShufflingRef approach to next-epoch validator duty calculation/prediction
* refactor action_tracker.updateActions to take ShufflingRef + beacon_proposers; refactor maybeUpdateActionTrackerNextEpoch to be separate and reused function; add actual fallback logic
* document one possible set of conditions
* check epoch participation flags and inactivity scores to ensure no penalties and MAX_EFFECTIVE_BALANCE to ensure rewards don't matter
* correctly (un)shuffle each proposer index
* remove debugging assertion
2023-10-10 00:02:07 +00:00
Eugene Kabanov
1da202156f
Improve keystore loading log statements to show information about why keystore was not loaded. ( #5480 )
...
Fix checkKeyName issue for `00` case.
2023-10-05 17:26:46 +03:00
Etan Kissling
37967ba03b
`ProveField` cleanups in `slashing_protection_common` ( #5477 )
...
Cleanup of `ProveField` warnings in `slashing_protection_common` module.
Note that `ProveField` is disabled by default in makefile, but sometimes
these pop up when doing a regular `nim c`, and cleaning these may allow
enabling the warning in some future.
As the `case` is over `a.kind`, `ProveField` warnings for `b` have to be
suppressed using `{.push.}` / `{.pop.}` for comparison operators.
2023-10-04 10:26:52 +02:00
Jacek Sieka
9a48e2e922
fix stale activity log ( #5465 )
2023-09-30 13:31:08 +00:00
tersec
7ecc1096e3
document strange-looking capella/bellatrix apparent mismatch in block building ( #5461 )
2023-09-27 16:06:22 +00:00
Etan Kissling
7c45b8f98d
convert remaining `toFork` -> `kind` for consistency ( #5462 )
...
We currently have multiple ways to obtain `ConsensusFork` or
`LcDataFork` from a forky type. Rename `toFork` to `kind`
for a consistent API naming.
2023-09-27 15:10:28 +00:00
Eugene Kabanov
88565e6da4
Make KeystoreCache working with KeystoreManagement API. ( #5443 )
2023-09-21 20:07:02 +02:00
Etan Kissling
e7bc41e005
`blck` --> `forkyBlck` when using `withBlck` / `withStateAndBlck` ( #5451 )
...
For symmetry with `forkyState` when using `withState`, and to avoid
problems with shadowing of `blck` when using `withBlck` in `template`,
also rename the injected `blck` to `forkyBlck`.
- https://github.com/nim-lang/Nim/issues/22698
2023-09-21 12:49:14 +02:00
tersec
351472a2d4
per payload-builder payload builder validator registration ( #5431 )
2023-09-20 17:00:37 +00:00
tersec
325d5a6afa
log builder unblinding requests ( #5434 )
2023-09-15 09:27:38 +00:00