hopinheimer
38205192ca
Fix http api tests ci ( #7943 )
...
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com >
Co-Authored-By: Michael Sproul <micsproul@gmail.com >
Co-Authored-By: Michael Sproul <michael@sigmaprime.io >
Co-Authored-By: hopinheimer <knmanas6@gmail.com >
2025-09-10 06:46:48 +00:00
chonghe
a93cafee08
Implement selections Beacon API endpoints to support DVT middleware ( #7016 )
...
* #6610
- [x] Add `beacon_committee_selections` endpoint
- [x] Test beacon committee aggregator and confirmed working
- [x] Add `sync_committee_selections` endpoint
- [x] Test sync committee aggregator and confirmed working
2025-09-03 03:50:41 +00:00
chonghe
522bd9e9c6
Update Rust Edition to 2024 ( #7766 )
...
* #7749
Thanks @dknopik and @michaelsproul for your help!
2025-08-13 03:04:31 +00: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
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
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
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
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
ThreeHrSleep
d60c24ef1c
Integrate tracing ( #6339 )
...
Tracing Integration
- [reference](5bbf1859e9/projects/project-ideas.md (L297) )
- [x] replace slog & log with tracing throughout the codebase
- [x] implement custom crit log
- [x] make relevant changes in the formatter
- [x] replace sloggers
- [x] re-write SSE logging components
cc: @macladson @eserilev
2025-03-12 22:31:05 +00:00
Michael Sproul
b4e79edf2a
Merge remote-tracking branch 'origin/release-v7.0.0' into unstable
2025-03-10 15:21:24 +11:00
Michael Sproul
80cd8bd911
Add --disable-attesting flag to validator client ( #7046 )
...
Cleaned up and isolated version of the `--disable-attesting` flag for the VC, from the `holesky-rescue` branch:
- https://github.com/sigp/lighthouse/pull/7041
I figured we don't need the `--disable-attesting` flag on the BN for now, and it was a much more invasive impl.
2025-02-26 13:07:16 +00:00
realbigsean
8a772520a5
Cache validator registration only after successful publish ( #7034 )
2025-02-25 05:00:51 +00:00
Pawan Dhananjay
b3b6aea1c5
Rust 1.85 lints ( #7019 )
...
N/A
2 changes:
1. Replace Option::map_or(true, ...) with is_none_or(...)
2. Remove unnecessary `Into::into` blocks where the type conversion is apparent from the types
2025-02-24 02:36:13 +00:00
Eitan Seri-Levi
276eda3dfe
POST /eth/v2/beacon/pool/attestations bugfixes (#6867 )
2025-01-31 00:20:44 +00:00
Eitan Seri-Levi
06329ec2d1
SingleAttestation implementation (#6488 )
...
* First pass
* Add restrictions to RuntimeVariableList api
* Use empty_uninitialized and fix warnings
* Fix some todos
* Merge branch 'unstable' into max-blobs-preset
* Fix take impl on RuntimeFixedList
* cleanup
* Fix test compilations
* Fix some more tests
* Fix test from unstable
* Merge branch 'unstable' into max-blobs-preset
* SingleAttestation
* Add post attestation v2 endpoint logic to attestation service
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* Implement "Bugfix and more withdrawal tests"
* Implement "Add missed exit checks to consolidation processing"
* Implement "Update initial earliest_exit_epoch calculation"
* Implement "Limit consolidating balance by validator.effective_balance"
* Implement "Use 16-bit random value in validator filter"
* Implement "Do not change creds type on consolidation"
* some tests and fixed attestqtion calc
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* Rename PendingPartialWithdraw index field to validator_index
* Skip slots to get test to pass and add TODO
* Implement "Synchronously check all transactions to have non-zero length"
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Remove footgun function
* Minor simplifications
* Move from preset to config
* Fix typo
* Revert "Remove footgun function"
This reverts commit de01f923c7 .
* Try fixing tests
* Implement "bump minimal preset MAX_BLOB_COMMITMENTS_PER_BLOCK and KZG_COMMITMENT_INCLUSION_PROOF_DEPTH"
* Thread through ChainSpec
* Fix release tests
* Move RuntimeFixedVector into module and rename
* Add test
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* Added more test coverage, simplified Attestation conversion, and other minor refactors
* Removed unusued codepaths
* Fix failing test
* Implement "Remove post-altair `initialize_beacon_state_from_eth1` from specs"
* Update preset YAML
* Remove empty RuntimeVarList awefullness
* Make max_blobs_per_block a config parameter (#6329 )
Squashed commit of the following:
commit 04b3743ec1
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:36:58 2025 +1100
Add test
commit 440e854199
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:24:50 2025 +1100
Move RuntimeFixedVector into module and rename
commit f66e179a40
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:17:17 2025 +1100
Fix release tests
commit e4bfe71cd1
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:05:30 2025 +1100
Thread through ChainSpec
commit 063b79c16a
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:32:16 2025 +1100
Try fixing tests
commit 88bedf09bc
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:37 2025 +1100
Revert "Remove footgun function"
This reverts commit de01f923c7 .
commit 32483d385b
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:32 2025 +1100
Fix typo
commit 2e86585b47
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:15 2025 +1100
Move from preset to config
commit 1095d60a40
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:38:40 2025 +1100
Minor simplifications
commit de01f923c7
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:06:57 2025 +1100
Remove footgun function
commit 0c2c8c4224
Merge: 21ecb58ff f51a292f7
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:02:50 2025 +1100
Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
commit f51a292f77
Author: Daniel Knopik <107140945+dknopik@users.noreply.github.com >
Date: Fri Jan 3 20:27:21 2025 +0100
fully lint only explicitly to avoid unnecessary rebuilds (#6753 )
* fully lint only explicitly to avoid unnecessary rebuilds
commit 7e0cddef32
Author: Akihito Nakano <sora.akatsuki@gmail.com >
Date: Tue Dec 24 10:38:56 2024 +0900
Make sure we have fanout peers when publish (#6738 )
* Ensure that `fanout_peers` is always non-empty if it's `Some`
commit 21ecb58ff8
Merge: 2fcb2935e 9aefb5539
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Mon Oct 21 14:46:00 2024 -0700
Merge branch 'unstable' into max-blobs-preset
commit 2fcb2935ec
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Sep 6 18:28:31 2024 -0700
Fix test from unstable
commit 12c6ef118a
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Wed Sep 4 16:16:36 2024 -0700
Fix some more tests
commit d37733b846
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Wed Sep 4 12:47:36 2024 -0700
Fix test compilations
commit 52bb581e07
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 18:38:19 2024 -0700
cleanup
commit e71020e3e6
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 17:16:10 2024 -0700
Fix take impl on RuntimeFixedList
commit 13f9bba647
Merge: 60100fc6b 4e675cf5d
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 16:08:59 2024 -0700
Merge branch 'unstable' into max-blobs-preset
commit 60100fc6be
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 16:04:11 2024 -0700
Fix some todos
commit a9cb329a22
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 15:54:00 2024 -0700
Use empty_uninitialized and fix warnings
commit 4dc6e6515e
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 15:53:18 2024 -0700
Add restrictions to RuntimeVariableList api
commit 25feedfde3
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Thu Aug 29 16:11:19 2024 -0700
First pass
* Fix tests
* Implement max_blobs_per_block_electra
* Fix config issues
* Simplify BlobSidecarListFromRoot
* Disable PeerDAS tests
* Cleanup single attestation imports
* Fix some single attestation network plumbing
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Bump quota to account for new target (6)
* Remove clone
* Fix issue from review
* Try to remove ugliness
* Merge branch 'unstable' into max-blobs-preset
* Merge remote-tracking branch 'origin/unstable' into electra-alpha10
* Merge commit '04b3743ec1e0b650269dd8e58b540c02430d1c0d' into electra-alpha10
* Merge remote-tracking branch 'pawan/max-blobs-preset' into electra-alpha10
* Update tests to v1.5.0-beta.0
* Merge remote-tracking branch 'origin/electra-alpha10' into single_attestation
* Fix some tests
* Cargo fmt
* lint
* fmt
* Resolve merge conflicts
* Merge branch 'electra-alpha10' of https://github.com/sigp/lighthouse into single_attestation
* lint
* Linting
* fmt
* Merge branch 'electra-alpha10' of https://github.com/sigp/lighthouse into single_attestation
* Fmt
* Fix test and add TODO
* Gracefully handle slashed proposers in fork choice tests
* Merge remote-tracking branch 'origin/unstable' into electra-alpha10
* Keep latest changes from max_blobs_per_block PR in codec.rs
* Revert a few more regressions and add a comment
* Merge branch 'electra-alpha10' of https://github.com/sigp/lighthouse into single_attestation
* Disable more DAS tests
* Improve validator monitor test a little
* Make test more robust
* Fix sync test that didn't understand blobs
* Fill out cropped comment
* Merge remote-tracking branch 'origin/electra-alpha10' into single_attestation
* Merge remote-tracking branch 'origin/unstable' into single_attestation
* Merge remote-tracking branch 'origin/unstable' into single_attestation
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* publish_attestations should accept Either<Attestation,SingleAttestation>
* log an error when failing to convert to SingleAttestation
* Use Cow to avoid clone
* Avoid reconverting to SingleAttestation
* Tweak VC error message
* update comments
* update comments
* pass in single attestation as ref to subnetid calculation method
* Improved API, new error variants and other minor tweaks
* Fix single_attestation event topic boilerplate
* fix sse event failure
* Add single_attestation event topic test coverage
2025-01-16 18:27:08 +00:00
Pawan Dhananjay
1f6850fae2
Rust 1.84 lints ( #6781 )
...
* Fix few lints
* Fix remaining lints
* Use fully qualified syntax
2025-01-10 01:13:29 +00:00
Mac L
b2b1faad4e
Enforce alphabetically ordered cargo deps ( #6678 )
...
* Enforce alphabetically ordered cargo deps
* Fix test-suite
* Another CI fix
* Merge branch 'unstable' into cargo-sort
* Fix conflicts
* Merge remote-tracking branch 'origin/unstable' into cargo-sort
2024-12-19 05:46:03 +00:00
Age Manning
8e95024945
Split the VC into crates making it more modular ( #6453 )
...
* Starting to modularize the VC
* Revert changes to eth2
* More progress
* More progress
* Compiles
* Merge latest unstable and make it compile
* Fix some lints
* Tests compile
* Merge latest unstable
* Remove unnecessary deps
* Merge latest unstable
* Correct release tests
* Merge latest unstable
* Merge remote-tracking branch 'origin/unstable' into modularize-vc
* Merge branch 'unstable' into modularize-vc
* Revert unnecessary cargo lock changes
* Update validator_client/beacon_node_fallback/Cargo.toml
* Update validator_client/http_metrics/Cargo.toml
* Update validator_client/http_metrics/src/lib.rs
* Update validator_client/initialized_validators/Cargo.toml
* Update validator_client/signing_method/Cargo.toml
* Update validator_client/validator_metrics/Cargo.toml
* Update validator_client/validator_services/Cargo.toml
* Update validator_client/validator_store/Cargo.toml
* Update validator_client/validator_store/src/lib.rs
* Merge remote-tracking branch 'origin/unstable' into modularize-vc
* Fix format string
* Rename doppelganger trait
* Don't drop the tempdir
* Cargo fmt
2024-11-08 01:01:46 +00:00