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
Jacek Sieka
ef8bab58eb
load suggested fee recipient file also when keymanager is disabled ( #4078 )
...
Since these files may have been created in a previous run or manually,
we want to keep loading them even on nodes that don't enable the
keystore API (for example static setups)
Other changes:
* log keystore loading progressively (#3699 )
* print initial fee recipient when loading validators
* log dynamic fee recipient updates
2022-09-17 08:30:07 +03:00
tersec
02a99543c6
more `withState` `state` -> `forkyState` ( #4112 )
2022-09-13 14:53:12 +03:00
tersec
5b0b48f6e9
implement /eth/v1/validator/register_validator ( #4115 )
2022-09-13 14:52:26 +03:00
tersec
8be964a152
update consensus layer spec ref URLs to v1.2.0-rc.3 ( #4109 )
2022-09-10 17:16:38 +00:00
tersec
19bf460a3b
more `withState` `state` -> `forkyState` ( #4104 )
2022-09-10 08:12:07 +02:00
tersec
bf3a014287
more efficient forkchoiceUpdated usage ( #4055 )
...
* more efficient forkchoiceUpdated usage
* await rather than asyncSpawn; ensure head update before dag.updateHead
* use action tracker rather than attached validators to check for next slot proposal; use wall slot + 1 rather than state slot + 1 to correctly check when missing blocks
* re-add two-fcU case for when newPayload not VALID
* check dynamicFeeRecipientsStore for potential proposal
* remove duplicate checks for whether next proposer
2022-09-07 20:34:52 +02:00
tersec
324e021966
increase blinded block submission timeout from 1s to 4s ( #4088 )
2022-09-07 18:52:16 +02:00
tersec
301e5a919d
remove some Bellatrix-specific references ( #4019 )
...
* remove some Bellatrix-specific references
* remove more bellatrixData-dependencies
2022-09-03 20:56:20 +00:00
tersec
2309f11e9e
don't access potentially unitialized Opts ( #4054 )
2022-08-31 16:36:24 +00:00
tersec
9ae796daed
Cache and resend, rather than recreate, builder API registrations ( #4040 )
2022-08-31 03:29:03 +03:00
Jacek Sieka
e87b7f1572
metrics: add block failure counters ( #4036 )
2022-08-29 12:55:20 +03:00
tersec
61dc296046
update engine API spec ref URLs from alpha.9 to beta.1 ( #4030 )
...
* update engine API spec ref URLs from alpha.9 to beta.1
* require exactly 256-bit JWT keys
2022-08-26 13:44:50 +03:00
Etan Kissling
64972e3c8a
set `safe_block_hash` to fork choice justified ( #4010 )
...
Implements the fork choice safe block spec, where `safe_block_hash` in
`forkChoiceUpdated` is set to justified (used to be `ZERO_HASH`).
https://github.com/ethereum/consensus-specs/blob/v1.2.0-rc.3/fork_choice/safe-block.md#get_safe_execution_payload_hash
2022-08-25 23:34:02 +00:00
tersec
1d55743ebb
allow execution clients several seconds to construct blocks ( #4012 )
2022-08-23 19:19:52 +03:00
Jacek Sieka
9e9db216c5
Harden block proposal against expired slashings/exits ( #4013 )
...
* Harden block proposal against expired slashings/exits
When a message is signed in a phase0 domain, it can no longer be
validated under bellatrix due to the correct fork no longer being
available in the `BeaconState`.
To ensure that all slashing/exits are still valid, in this PR we re-run
the checks in the state that we're proposing for, thus hardening against
both signatures and other changes in the state that might have
invalidated the message.
* fix same message added multiple times
in case of attestation slashing of multiple validators in one go
2022-08-23 18:30:46 +03:00