lighthouse/common
realbigsean f6ec44f0dd Register validator api (#3194)
## Issue Addressed

Lays the groundwork for builder API changes by implementing the beacon-API's new `register_validator` endpoint

## Proposed Changes

- Add a routine in the VC that runs on startup (re-try until success), once per epoch or whenever `suggested_fee_recipient` is updated, signing `ValidatorRegistrationData` and sending it to the BN.
  -  TODO: `gas_limit` config options https://github.com/ethereum/builder-specs/issues/17
-  BN only sends VC registration data to builders on demand, but VC registration data *does update* the BN's prepare proposer cache and send an updated fcU to  a local EE. This is necessary for fee recipient consistency between the blinded and full block flow in the event of fallback.  Having the BN only send registration data to builders on demand gives feedback directly to the VC about relay status. Also, since the BN has no ability to sign these messages anyways (so couldn't refresh them if it wanted), and validator registration is independent of the BN head, I think this approach makes sense. 
- Adds upcoming consensus spec changes for this PR https://github.com/ethereum/consensus-specs/pull/2884
  -  I initially applied the bit mask based on a configured application domain.. but I ended up just hard coding it here instead because that's how it's spec'd in the builder repo. 
  -  Should application mask appear in the api?



Co-authored-by: realbigsean <sean@sigmaprime.io>
2022-06-30 00:49:21 +00:00
..
account_utils Add client authentication to Web3Signer validators (#3170) 2022-05-18 23:14:37 +00:00
clap_utils Enforce Optimistic Sync Conditions & CLI Tests (v2) (#3050) 2022-03-01 22:56:47 +00:00
compare_fields Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
compare_fields_derive Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
deposit_contract Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
directory Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
eth2 Register validator api (#3194) 2022-06-30 00:49:21 +00:00
eth2_config Add sepolia config (#3268) 2022-06-17 03:10:52 +00:00
eth2_interop_keypairs Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
eth2_network_config Update Sepolia TTD (#3288) 2022-06-27 22:50:27 +00:00
eth2_wallet_manager Replace OpenOptions::new with File::options to be readable (#3059) 2022-03-07 06:30:18 +00:00
fallback Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
filesystem Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
hashset_delay Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
lighthouse_metrics Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
lighthouse_version v2.3.2-rc.0 (#3289) 2022-06-28 03:03:30 +00:00
lockfile Replace OpenOptions::new with File::options to be readable (#3059) 2022-03-07 06:30:18 +00:00
logging Add log debounce to work processor (#3045) 2022-03-07 06:30:17 +00:00
lru_cache keep failed finalized chains to avoid retries (#3142) 2022-04-13 01:10:55 +00:00
malloc_utils Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
monitoring_api cargo audit updates (#3063) 2022-03-08 19:48:12 +00:00
sensitive_url Enforce Optimistic Sync Conditions & CLI Tests (v2) (#3050) 2022-03-01 22:56:47 +00:00
slot_clock Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
target_check Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
task_executor Allow TaskExecutor to be used in async tests (#3178) 2022-05-16 08:35:59 +00:00
test_random_derive Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
unused_port Engine API v1.0.0.alpha.6 + interop tests (#3024) 2022-02-17 21:47:06 +00:00
validator_dir Update and consolidate dependencies (#3136) 2022-04-04 00:26:16 +00:00
warp_utils Support IPv6 in BN and VC HTTP APIs (#3104) 2022-03-24 00:04:49 +00:00
README.md Directory Restructure (#1163) 2020-05-18 21:24:23 +10:00

eth2

Common crates containing eth2-specific logic.