Commit Graph

693 Commits

Author SHA1 Message Date
Tan Chee Keong
aefc1a3d7b Merge remote-tracking branch 'origin/unstable' into dvt 2025-07-02 21:23:44 +08:00
Daniel Knopik
a0a6b9300f Do not compute sync selection proofs for the sync duty at the current slot (#7551) 2025-06-25 06:22:24 +00:00
chonghe
8e3c5d1524 Rust 1.89 compiler lint fix (#7644)
Fix lints for Rust 1.89 beta compiler
2025-06-25 05:33:17 +00:00
Mac L
e34a9a0c65 Allow the --beacon-nodes list to be updated at runtime (#6551)
Adds a new `/lighthouse` API call to the VC which allows the list of beacon nodes to be updated dynamically at runtime.

An entirely new beacon node list is provided to the VC so it effectively adds, removes or reorders nodes to match the new list.

This can then be used in Siren, which will enable a "drag to reorder" system along with adding and removing beacon nodes while the VC is on. This will make it unnecessary to reboot the VC when users want to simply add or remove a BN from the list.
2025-06-23 03:59:34 +00:00
Pawan Dhananjay
11bcccb353 Remove all prod eth1 related code (#7133)
N/A


  After the electra fork which includes EIP 6110, the beacon node no longer needs the eth1 bridging mechanism to include new deposits as they are provided by the EL as a `deposit_request`. So after electra + a transition period where the finalized bridge deposits pre-fork are included through the old mechanism, we no longer need the elaborate machinery we had to get deposit contract data from the execution layer.

Since holesky has already forked to electra and completed the transition period, this PR basically checks to see if removing all the eth1 related logic leads to any surprises.
2025-06-23 03:00:07 +00:00
Eitan Seri-Levi
6786b9d12a Single attestation "Full" implementation (#7444)
#6970


  This allows for us to receive `SingleAttestation` over gossip and process it without converting. There is still a conversion to `Attestation` as a final step in the attestation verification process, but by then the `SingleAttestation` is fully verified.

I've also fully removed the `submitPoolAttestationsV1` endpoint as its been deprecated

I've also pre-emptively deprecated supporting `Attestation` in `submitPoolAttestationsV2` endpoint. See here for more info: https://github.com/ethereum/beacon-APIs/pull/531

I tried to the minimize the diff here by only making the "required" changes. There are some unnecessary complexities with the way we manage the different attestation verification wrapper types. We could probably consolidate this to one wrapper type and refactor this even further. We could leave that to a separate PR if we feel like cleaning things up in the future.

Note that I've also updated the test harness to always submit `SingleAttestation` regardless of fork variant. I don't see a problem in that approach and it allows us to delete more code :)
2025-06-17 09:01:26 +00:00
Akihito Nakano
a2797d4bbd Fix formatting errors from cargo-sort (#7512)
[cargo-sort is currently failing on CI](https://github.com/sigp/lighthouse/actions/runs/15198128212/job/42746931918?pr=7025), likely due to new checks introduced in version [2.0.0](https://github.com/DevinR528/cargo-sort/releases/tag/v2.0.0).


  Fixed the errors by running cargo-sort with formatting enabled.
2025-05-23 05:25:56 +00:00
Daniel Knopik
e29b607257 Move notifier and latency service to validator_services (#7427)
We would like to reuse the `notifier` and `latency_service` in Anchor. To make this possible, this PR moves these from `validator_client` to `validator_services` and makes them use the new `ValidatorStore` trait is used so that the code can be reused in Anchor.
2025-05-21 01:25:53 +00:00
Daniel Knopik
0688932de2 Pass blobs into ValidatorStore::sign_block (#7497)
While the Lighthouse implementation of the `ValidatorStore` does not really care about blobs, Anchor needs to be able to return different blobs from `sign_blocks` than what was passed into it, in case it decides to sign another Anchor node's block. Only passing the unsigned block into `sign_block` and only returning a signed block from it (without any blobs and proofs) was an oversight in #6705.


  - Replace `validator_store::{Uns,S}ignedBlock` with `validator_store::block_service::{Uns,S}ignedBlock`, as we need all data in there.
- In `lighthouse_validator_store`, just add the received blobs back to the signed block after signing it.
2025-05-21 00:50:16 +00:00
Mac L
5393d33af8 Silence Uninitialized warn log on start-up (#7411)
#7410


  Silences the `Uninitialized` warn log during routine beacon node health check.
2025-05-19 05:05:18 +00:00
ethDreamer
7684d1f866 ContextDeserialize and Beacon API Improvements (#7372)
* #7286
* BeaconAPI is not returning a versioned response when it should for some V1 endpoints
* these [strange functions with vX in the name that still accept `endpoint_version` arguments](https://github.com/sigp/lighthouse/blob/stable/beacon_node/http_api/src/produce_block.rs#L192)

This refactor is a prerequisite to get the fulu EF tests running.
2025-05-19 05:05:16 +00:00
Tan Chee Keong
69e7e60f93 Add comment for clarity 2025-05-09 19:59:48 +08:00
Tan Chee Keong
4e77e39b66 Add debug 2025-05-09 16:07:40 +08:00
Tan Chee Keong
c790d9dd45 Fix 2025-05-09 16:00:56 +08:00
Tan Chee Keong
46c29b09b7 fix 2025-05-09 14:15:46 +08:00
chonghe
bcfe5ff2e8 Merge branch 'unstable' into dvt 2025-05-09 11:06:44 +08:00
Jimmy Chen
8dc3d23af0 Add a default timeout to all BeaconNodeHttpClient requests (#7400)
Add a default request timeout to all `BeaconNodeHttpClient` requests to ensure that no HTTP request can hang indefinitely.
2025-05-08 02:08:32 +00:00
Yeongjong Pyo
058dae0641 Add requires --http when using vc subcommands --http-port (#7405)
Prevent running  `lighthouse vc --http-port <PORT>` without `--http`.
Issue: https://github.com/sigp/lighthouse/issues/7402


  Added requires `--http` when using `lighthouse vc --http-port <PORT>`.
Implemented a test code for this issue.
2025-05-07 05:00:56 +00:00
Daniel Knopik
3d92e3663b Modularize validator store (#6705)
- Create trait `ValidatorStore` with all functions used by the `validator_services`
- Make `validator_services` generic on `S: ValidatorStore`
- Introduce `LighthouseValidatorStore`, which has identical functionality to the old `ValidatorStore`
- Remove dependencies (especially `environment`) from `validator_services` and `beacon_node_fallback` in order to be able to cleanly use them in Anchor
2025-05-07 03:43:33 +00:00
Tan Chee Keong
9d8a9e7e70 revise comment 2025-05-06 15:12:21 +08:00
Mac L
94ccd7608e Add documentation for VC API /lighthouse/beacon/health (#6653)
Changes the endpoint to get fallback health information from `/lighthouse/ui/fallback_health` to `/lighthouse/beacon/health`. This more accurately describes that the endpoint is related to the connected beacon nodes and also matched the `/lighthouse/beacon/update` endpoint being added in #6551.

Adds documentation for both fallback health and the endpoint to the Lighthouse book.
2025-04-30 02:07:07 +00:00
Roman Krasiuk
34a6c3a930 vc: increase default gas limit (#6897)
Increases default gas limit to 36M.
2025-04-30 01:15:39 +00:00
Tan Chee Keong
d34a91ac07 address comments 2025-04-29 16:28:42 +08:00
Tan Chee Keong
9d6d1cb654 Revise a bit 2025-04-29 15:33:18 +08:00
Tan Chee Keong
b71e40d4a6 Revise config move to lib.rs 2025-04-29 15:12:58 +08:00
Tan Chee Keong
05df47bed8 Comment 2025-04-23 15:39:52 +08:00
Tan Chee Keong
f20f7491d7 Add comments 2025-04-23 15:17:29 +08:00
Tan Chee Keong
23c901345a remove logging 2025-04-23 13:24:50 +08:00
Tan Chee Keong
2bcb984f80 Revised to sync_duties 2025-04-23 13:20:10 +08:00
Tan Chee Keong
c71de7185d change to 0 2025-04-23 11:44:59 +08:00
Tan Chee Keong
980e3997be Revise to SyncDutiesMap 2025-04-23 11:40:27 +08:00
Tan Chee Keong
67bfd112b5 refactor for normal mode 2025-04-23 10:24:59 +08:00
Tan Chee Keong
239c1839c3 proof_slot 2025-04-21 17:11:06 +08:00
Tan Chee Keong
247f133b79 change to slot 2025-04-21 15:28:35 +08:00
Tan Chee Keong
67d2f9b4f8 change computation offset 2025-04-21 13:54:08 +08:00
Tan Chee Keong
23fefa338a Add more logging 2025-04-18 14:14:06 +08:00
Tan Chee Keong
f2725ce0cc Add log to debug 2025-04-18 12:12:16 +08:00
Tan Chee Keong
24b125f851 Try to fix 2025-04-18 10:43:44 +08:00
Tan Chee Keong
efa14b08e4 refactor distributed sync part 2025-04-17 11:52:09 +08:00
Tan Chee Keong
2612a6b5d8 create helper function in sync 2025-04-16 13:20:34 +08:00
Tan Chee Keong
ab1d2c06c6 Modify to FuturesUnordered for Sync 2025-04-15 21:39:55 +08:00
chonghe
3fc62f2241 Merge branch 'unstable' into dvt 2025-04-15 10:41:10 +08:00
Tan Chee Keong
b506fa5369 Remove duplication with a function 2025-04-15 10:40:48 +08:00
Tan Chee Keong
44bd5f13f6 rearrange 2025-04-11 19:37:46 +08:00
Tan Chee Keong
ea13f74c06 Add duration of computation offset 2025-04-11 12:03:54 +08:00
Tan Chee Keong
76125fa0fa Process each result 2025-04-11 11:39:45 +08:00
Tan Chee Keong
af676d43be Remove negation 2025-04-10 19:45:53 +08:00
Tan Chee Keong
a11cee21d3 Use FuturesUnordered 2025-04-09 22:19:13 +08:00
Tan Chee Keong
d3dbe870ef Add SelectionProofConfig 2025-04-09 11:32:10 +08:00
Michael Sproul
e77fb01a06 Remove CLI conflict for secrets-dir and datadir (#7265)
Redo this PR:

- https://github.com/sigp/lighthouse/pull/5480

After a regression during the switch to `clap_derive`.

- https://github.com/sigp/lighthouse/pull/6300


  - Remove `conflicts_with`
- Add test to prevent future regression
2025-04-06 09:08:59 +00:00