Commit Graph

706 Commits

Author SHA1 Message Date
Daniel Knopik
00f29dbb6e Merge branch 'unstable' into into-anchor 2025-07-24 10:38:30 +02:00
chonghe
c4b973f5ba Use SSZ by default when calling /eth/v3/validator/blocks (#7727)
* #7698
2025-07-23 00:29:21 +00:00
Daniel Knopik
701c199ee1 Merge branch 'dvt' into into-anchor 2025-07-15 15:52:26 +02:00
Daniel Knopik
3e6b0bd0a3 Make notifier_service::notify pub (#7708)
Anchor wants the `notify` function to run only in certain cases - so the `spawn_notifier` function is unsuitable for us.


  Anchor uses it's own `notify` function, which then calls `notifier_service::notify` (in most circumstances). To enable that, `notify` needs to be `pub`.
2025-07-07 10:46:18 +00:00
Pawan Dhananjay
0f895f3066 Bump default gas limit (#7695)
N/A


  Bump the default gas limit to 45 million based on recommendation from EL teams https://x.com/vdWijden/status/1939234101631856969 and pandas https://ethpandaops.io/posts/gaslimit-scaling/
2025-07-04 22:54:30 +00:00
Tan Chee Keong
aefc1a3d7b Merge remote-tracking branch 'origin/unstable' into dvt 2025-07-02 21:23:44 +08:00
chonghe
257d270718 Add voluntary exit via validator manager (#6612)
* #4303
* #4804


  -Add voluntary exit feature to the validator manager
-Add delete all validators by using the keyword "all"
2025-07-01 03:07:49 +00: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
Daniel Knopik
98f275332f fmt 2025-05-26 08:21:38 +02:00
Daniel Knopik
cbb98421b3 make notifier_service::notify pub 2025-05-23 23:49:13 +02:00
Daniel Knopik
1ba6712b26 fix off-by-one in fill_in_aggregation_proofs 2025-05-23 23:47:00 +02:00
Daniel Knopik
a7d5244638 Merge branch 'unstable' into into-anchor 2025-05-23 16:53:46 +02: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
Daniel Knopik
0bc38e414e Merge branch 'separate-vc-metrics' into into-anchor 2025-05-13 11:05:14 +02: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
Daniel Knopik
ed8b939ac2 Merge branch 'unstable' into separate-vc-metrics 2025-05-08 23:16:46 +02: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
Daniel Knopik
87816b5e1f Move notifier and latency service to validator_services 2025-04-25 15:24:34 +02: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