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
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
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
415b11aa67
EIP4844 tweaks to pass SSZ consensus object tests ( #4390 )
2022-12-05 21:36:53 +00:00
tersec
38827d776c
capella gossip support ( #4386 )
2022-12-04 08:42:03 +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
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
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
04cbea754b
don't require attached validator for blinded block BN endpoint ( #4313 )
2022-11-10 20:18:08 +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
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
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
tersec
16817fef95
cleanups: `proc` -> `func`, unused import, spec URLs ( #4224 )
2022-10-08 05:07:54 -05:00
tersec
1293e36148
don't crash on getBlindedExecutionPayload network errors ( #4222 )
2022-10-05 16:29:20 +00:00
Jacek Sieka
40bed02f60
Build block in parallel with attestation packing ( #4185 )
...
* fix block proposal in first slot after checkpoint
2022-10-04 11:24:16 +00:00
tersec
c367b14ad9
deprecate `--safe-slots-to-import-optimistically` ( #4182 )
2022-09-29 06:29:49 +00:00
tersec
57d68d0f72
re-enable randao checks ( #4187 )
...
* re-enable randao checks
* use `asSigVerified` consistently
* fix spelling
* document why state_transition.makeBeaconBlock trusting signatures is safe
2022-09-28 01:15:10 +00:00
Jacek Sieka
b1bc830a92
Harden EpochRef loading against bogus block root at tail ( #4178 )
...
* add more error information when things go wrong with database
* lower log level when reloading attestations from no-block epoch start
slot
2022-09-27 18:56:08 +02:00
tersec
df03d81e3d
don't verify BLS signatures in produced blocks ( #4184 )
2022-09-27 14:19:53 +00:00
tersec
9750cd3a38
update state diffs to Bellatrix ( #4177 )
2022-09-26 19:13:50 +00:00
tersec
3c03ba86c1
update consensus spec ref URLs to v1.2.0 ( #4164 )
2022-09-23 07:56:06 +00:00
tersec
350223c8aa
external block builder metrics ( #4158 )
2022-09-23 09:20:32 +03:00
Michael Sproul
d6325b1ab5
api: add skip_randao_verification for produceBlockV2 ( #3837 )
2022-09-21 09:38:08 +02:00
zah
154723947b
Don't search for the TTD block after the merge ( #4152 )
2022-09-20 09:17:25 +03:00
tersec
56720dd808
update consensus layer spec ref URLs to v1.2.0-rc.3 ( #4143 )
2022-09-20 02:08:09 +02:00
Jacek Sieka
f9a2860a61
log attestation/block when slashing protection is activated ( #4148 )
2022-09-19 19:50:19 +00:00