Commit Graph

95 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
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
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
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
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
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
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
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
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
Tan Chee Keong
120fa54d92 simplify 2025-04-01 22:06:17 +08:00