nimbus-eth2/beacon_chain/spec
Etan Kissling 4fcfed2f1f
add EIP-7044 support to keymanager API (#5959)
* add EIP-7044 support to keymanager API

When trying to sign `VoluntaryExit` via keymanager API, the logic is not
yet aware of EIP-7044 (part of Deneb). This patch adds missing EIP-7044
support to the keymanager API as well.

As part of this, the VC needs to become aware about:

- `CAPELLA_FORK_VERSION`: To correctly form the EIP-7044 signing domain.
  The fork schedule does not indicate which of the results, if any,
  corresponds to Capella.
- `CAPELLA_FORK_EPOCH`: To detect whether Capella was scheduled.
  If a BN does not have it in its config while other BNs have it,
  this leads to a log if Capella has not activated yet, or marks the BN
  as incompatible if Capella already activated.
- `DENEB_FORK_EPOCH`: To check whether EIP-7044 logic should be used.

Related PRs:

- #5120 added support for processing EIP-7044 `VoluntaryExit` messages
  as part of the state transition functions (tested by EF spec tests).
- #5953 synced the support from #5120 to gossip validation.
- #5954 added support to the `nimbus_beacon_node deposits exit` command.
- #5956 contains an alternative generic version of `VCForkConfig`.

* address reviewer feedback: letter case, module location, double lookup

---------

Co-authored-by: cheatfate <eugene.kabanov@status.im>

* Update beacon_chain/rpc/rest_constants.nim

* move `VCRuntimeConfig` back to `rest_types`

---------

Co-authored-by: cheatfate <eugene.kabanov@status.im>

* fix `getForkVersion` helper

---------

Co-authored-by: cheatfate <eugene.kabanov@status.im>
2024-02-26 16:25:12 +02:00
..
datatypes add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
eth2_apis add EIP-7044 support to keymanager API (#5959) 2024-02-26 16:25:12 +02:00
mev add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
presets automated consensus spec URL updating to v1.4.0-beta.6 (#5804) 2024-01-20 11:19:47 +00:00
beacon_time.nim automated consensus spec URL updating to v1.4.0-beta.6 (#5804) 2024-01-20 11:19:47 +00:00
beaconstate.nim automated consensus spec URL updating to v1.4.0-beta.6 (#5804) 2024-01-20 11:19:47 +00:00
block_id.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00
crypto.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
deposit_snapshots.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00
digest.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
engine_authentication.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
english_word_list.txt Bump testutils 2020-06-01 16:58:28 +03:00
eth2_merkleization.nim prevent accidentally hashing `BeaconState`/`BeaconBlock` in Deneb (#5852) 2024-02-06 19:57:53 +01:00
eth2_ssz_serialization.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00
forks.nim prevent accidentally hashing `BeaconState`/`BeaconBlock` in Deneb (#5852) 2024-02-06 19:57:53 +01:00
forks_light_client.nim fix LC header production for Deneb (#5763) 2024-01-16 22:54:20 +00:00
helpers.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
keystore.nim Clean up debug/heads v2 types (#5859) 2024-02-07 17:51:12 +01:00
light_client_sync.nim add missing `std/` prefix to more imports (#5696) 2024-01-06 07:18:28 +01:00
network.nim automated consensus spec URL updating to v1.4.0-beta.6 (#5804) 2024-01-20 11:19:47 +00:00
presets.nim automated consensus spec URL updating to v1.4.0-beta.6 (#5804) 2024-01-20 11:19:47 +00:00
signatures.nim add EIP-7044 support to keymanager API (#5959) 2024-02-26 16:25:12 +02:00
signatures_batch.nim fix EIP-7044 implementation when using batch verification (#5953) 2024-02-26 16:25:12 +02:00
ssz_codec.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00
state_transition.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
state_transition_block.nim fix EIP-7044 implementation when using batch verification (#5953) 2024-02-26 16:25:12 +02:00
state_transition_epoch.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
validator.nim add `{.push raises: [].}` to recently modified files (#5908) 2024-02-18 01:16:49 +00:00
weak_subjectivity.nim automated consensus spec URL updating to v1.4.0-beta.6 (#5804) 2024-01-20 11:19:47 +00:00