Zahary Karadjov
46fc5716a4
Faster keystore generation in the local sim
2023-01-13 12:31:39 +02:00
Etan Kissling
7e276937dc
make LC data fork aware ( #4493 )
...
In a future fork, light client data will be extended with execution info
to support more use cases. To anticipate such an upgrade, introduce
`Forky` and `Forked` types, and ready the database schema.
Because the mapping of sync committee periods to fork versions is not
necessarily unique (fork schedule not in sync with period boundaries),
an additional column is added to `period` -> `LightClientUpdate` table.
2023-01-12 18:11:38 +01:00
Jacek Sieka
ba3db7aa5a
spec: Option -> Opt ( #4488 )
2023-01-11 12:29:21 +00:00
Etan Kissling
0590be7afe
add `num_active_participants` helpers for `SyncAggregate` ( #4478 )
...
Introduce `num_active_participants` helper function to reduce visibility
of low-level `countOnes` function and reduce code duplication.
2023-01-10 11:26:25 +00:00
tersec
2dd3cd786f
consensus spec ref URL update v1.3.0-{alpha.2,rc.0}; copyright year update ( #4477 )
2023-01-09 22:44:44 +00:00
henridf
64878888bd
Blob storage ( #4454 )
...
* Blob storage
* fix indentation
* Fix build (none->Opt.none)
* putBlobs -> putBlobsSidecar
* getBlobs -> getBlobsSidecar
* Check blob correctness when storing a backfill block
* Blobs table: rename and conditionally create
* Check block<->blob match in storeBackfillBlock
* Use when .. toFork() to condition on type
* Check blob viability in block_processor.storeBlock()
* Fix build
* Review feedback
2023-01-09 18:42:10 +00:00
tersec
47cb0f7991
capella forkchoiceUpdated support ( #4462 )
...
* capella forkchoiceUpdated support
* match V2 fcU with V2 getPayload
2023-01-06 22:01:10 +01:00
tersec
ec01065555
getPayloadV2 support for capella ( #4457 )
...
* getPayloadV2 support for capella
* check execution payload type more rigorously
2023-01-04 20:13:17 +01:00
Etan Kissling
2184fd2322
bump `nim-eth`, extend empty block fallback for EIP4844 ( #4425 )
...
Implements `emptyPayloadToBlockHeader` for EIP-4844.
https://github.com/status-im/nim-eth/pull/570
2022-12-20 20:00:56 +01:00
Jacek Sieka
bd8f08204e
Implement skip_randao_verification for blinded blocks ( #4435 )
...
* Implement skip_randao_verification for blinded blocks
* fix redundant randao verification on block replay (5% faster)
* check randao in REST instead of internally
* avoid redundant copies when making blocks
* cleanup leftover randao skipping code
* fix test summary
2022-12-19 15:11:12 +02:00
tersec
bb4ea37baa
update EF consensus spec URLs from v1.3.0-alpha.1 to v1.3.0-alpha.2 ( #4432 )
2022-12-15 12:15:12 +00:00
tersec
7faef7827e
fix EIP4844 withBlck ( #4411 )
...
* fix EIP4844 withBlck
* don't raiseAssert by default
2022-12-14 18:30:56 +01:00
tersec
45574021c3
use VC-provided graffiti for blinded block proposals ( #4417 )
2022-12-12 13:02:06 +00:00
Jacek Sieka
657d571e25
Use same skipping tense as other logs
2022-12-09 20:15:46 +01:00
Jacek Sieka
6e2a02466e
unify bn/vc doppelganger detection ( #4398 )
...
* fix REST liveness endpoint responding even when gossip is not enabled
* fix VC exit code on doppelganger hit
* fix activation epoch not being updated correctly on long deposit
queues
* fix activation epoch being set incorrectly when updating validator
* move most implementation logic to `validator_pool`, add tests
* ensure consistent logging between VC and BN
* add docs
2022-12-09 17:05:55 +01:00
tersec
031780b612
eip4844 operations tests ( #4392 )
2022-12-06 12:40:13 +00:00
tersec
415b11aa67
EIP4844 tweaks to pass SSZ consensus object tests ( #4390 )
2022-12-05 21:36:53 +00:00
Etan Kissling
996a0bdcdc
fix crash when calling MEV rpc with MEV disabled ( #4389 )
...
Avoid `/eth/v1/beacon/blinded_blocks` crash without `--payload-builder`.
2022-12-05 19:41:52 +00:00
henridf
f0329b2212
Types and scaffolding for EIP-4844 ( #4365 )
...
* Types and scaffolding for EIP-4844
This commit adds the EIP-4844 spec types, and fills in
scaffolding/boilerplate for the use of these types across the repo.
None of the actual EIP-4844 logic is introduced yet.
This follows the pattern used by @tersec when introducing Capella (#4276 ).
* use eth2-networks fork
* review feedback: add static check EIP4844_FORK_EPOCH == FAR_FUTURE_EPOCH
* review feedback: remove EIP4844 from /eth/v1/config/spec response
* Cleanup / review feedback
* Fix REST test
2022-12-05 16:29:09 +00:00
tersec
38827d776c
capella gossip support ( #4386 )
2022-12-04 08:42:03 +01:00
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
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
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
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
806b4fd649
fix order of MEV signed block root assignment/checking ( #4360 )
2022-11-25 15:47:52 +02:00
tersec
61c5ac32d8
automated consensus spec ref URL update to v1.3.0-alpha.1 ( #4354 )
2022-11-24 19:07:02 +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
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
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
tersec
5c0ad1b5c8
automated v1.2.0 -> v1.3.0-alpha.0 consensus spec URL update ( #4305 )
2022-11-09 09:20:53 +00:00
tersec
a4d2637259
implement /eth/v1/beacon/blinded_blocks BN endpoint ( #4286 )
...
* implement /eth/v1/beacon/blinded_blocks BN endpoint
* avoid function names in non-debug logs
* callers log, so callee can just return err()
2022-11-08 18:08:43 +00:00
Etan Kissling
7ad610f6d7
set fee recipient in empty payload fallback ( #4291 )
...
When the EL/Builder fails to produce an execution payload, we fall back
to an empty `ExecutionPayload`. Even though it contains no transactions
it should refer to the configured fee recipient. This is useful for
privacy reasons (do not reveal the reason for the empty payload) and for
compliance with additional fee recipient rules by staking pools.
2022-11-08 14:19:56 +00:00
Jacek Sieka
8297b962cc
Fix VC-based sync subnet subscriptions ( #4293 )
...
* move duty tracking code to `ActionTracker`
* fix earlier duties overwriting later ones
* re-run subnet selection when new duty appears
* log upcoming duties as soon as they're known (vs 4 epochs before)
2022-11-08 12:43:38 +01:00
tersec
909c095e64
initial automated v1.2.0 -> v1.3.0-alpha.0 consensus spec URL update ( #4296 )
2022-11-08 02:37:28 +00:00
tersec
5b46f0b723
add Capella support to Forked* ( #4276 )
...
* add Capella support to Forked*
* remove cruft
* add `OnForkyBlockAdded`
2022-11-02 16:23:30 +00:00
tersec
3ef09ff596
Support `/eth/v1/validator/blinded_blocks` ( #4272 )
...
* Support BN endpoints for producing blinded blocks
* use correct endpoint version
* serve either JSON or SSZ versions of endpoint
2022-10-31 18:39:03 +01:00
Jacek Sieka
1572814a0c
Highlight execution client for optimistically synced node ( #4266 )
...
...such that the user knows where to look
2022-10-27 17:22:32 +00:00
Jacek Sieka
28fc70de6d
Add error to block production log
2022-10-27 16:46:49 +02:00
Eugene Kabanov
367e7052f4
VC: some fixes ( #4240 )
...
* Skip doppelganger protection for validators which activated just now or in future.
* Fix sync committee duties spam issue.
* Optimize sync committee duties logging statements.
* Fix missing lazyWait.
* Add short path.
* Address #4087 .
* Add missing watch for crash.
2022-10-21 16:53:30 +02:00
Eugene Kabanov
9fd4e7405e
Remove validator_duties dependency from validator_client. ( #4244 )
2022-10-17 13:42:43 +00:00
tersec
fb6e6d9cf4
remove `newPayload` from block production flow ( #4186 )
...
* remove `newPayload` from block production flow
* refactor block_processor to run `newPayload` as part of `storeBlock`
2022-10-14 22:48:56 +03:00