Commit Graph

3733 Commits

Author SHA1 Message Date
Eitan Seri- Levi
8d853507ee Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-block-and-bid-production 2026-02-11 14:53:39 -08:00
Lion - dapplion
8d72cc34eb Add sync request metrics (#7790)
Add error rates metrics on unstable to benchmark against tree-sync. In my branch there are frequent errors but mostly connections errors as the node is still finding it set of stable peers.

These metrics are very useful and unstable can benefit from them ahead of tree-sync


  Add three new metrics:
- sync_rpc_requests_success_total: Total count of sync RPC requests successes
- sync_rpc_requests_error_total: Total count of sync RPC requests errors
- sync_rpc_request_duration_sec: Time to complete a successful sync RPC requesst


Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-02-10 23:40:01 +00:00
Akihito Nakano
889946c04b Remove pending requests from ready_requests (#6625)
Co-Authored-By: ackintosh <sora.akatsuki@gmail.com>

Co-Authored-By: João Oliveira <hello@jxs.pt>
2026-02-10 23:14:28 +00:00
Akihito Nakano
e1d3dcc8dc Penalize peers that send an invalid rpc request (#6986)
Since https://github.com/sigp/lighthouse/pull/6847, invalid `BlocksByRange`/`BlobsByRange` requests, which do not comply with the spec, are [handled in the Handler](3d16d1080f/beacon_node/lighthouse_network/src/rpc/handler.rs (L880-L911)). Any peer that sends an invalid request is penalized and disconnected.

However, other kinds of invalid rpc request, which result in decoding errors, are just dropped. No penalty is applied and the connection with the peer remains.


  I have added handling for the `ListenUpgradeError` event to notify the application of an `RPCError:InvalidData` error and disconnect to the peer that sent the invalid rpc request.

I also added tests for handling invalid rpc requests.


Co-Authored-By: ackintosh <sora.akatsuki@gmail.com>
2026-02-10 22:49:20 +00:00
Eitan Seri-Levi
56eb81a5e0 Implement weak subjectivity safety checks (#7347)
Closes #7273


  https://github.com/ethereum/consensus-specs/pull/4179


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>

Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-02-10 21:52:52 +00:00
Eitan Seri- Levi
a08c1d956b call process_envelope 2026-02-10 13:15:10 -08:00
Eitan Seri- Levi
ac51041290 Fix state root 2026-02-10 12:26:03 -08:00
Eitan Seri- Levi
846b1ba023 pub crate 2026-02-10 12:16:59 -08:00
Eitan Seri- Levi
36f722c5db Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-block-and-bid-production 2026-02-10 12:12:24 -08:00
Eitan Seri- Levi
088e5bbb3a Remove unused endpoint 2026-02-10 12:12:18 -08:00
Eitan Seri- Levi
b16da1414a Fix test 2026-02-09 21:55:00 -08:00
Eitan Seri- Levi
aa0795238e Add comment 2026-02-09 21:41:26 -08:00
Eitan Seri- Levi
34b4c46e75 Reorder 2026-02-09 21:37:22 -08:00
Eitan Seri- Levi
8eb409a73a linting 2026-02-09 21:34:00 -08:00
Eitan Seri- Levi
fea43fb0c8 Move block production specific stuff to block_production module 2026-02-09 21:05:25 -08:00
Eitan Seri- Levi
850dea6e54 Remove unused 2026-02-09 20:57:08 -08:00
Eitan Seri- Levi
3eb4db2022 Instrument 2026-02-09 20:56:47 -08:00
Eitan Seri- Levi
ed5cc3b272 add const 2026-02-09 20:55:39 -08:00
Eitan Seri- Levi
525bed709f add consts 2026-02-09 20:52:21 -08:00
Eitan Seri- Levi
8a53da9906 Add unexpected error variant 2026-02-09 20:46:24 -08:00
Eitan Seri-Levi
08c4653312 Update beacon_node/http_api/src/validator/execution_payload_bid.rs
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
2026-02-09 20:43:27 -08:00
João Oliveira
0c9f97f015 Remove libp2p multiaddress (#8683)
Co-Authored-By: João Oliveira <hello@jxs.pt>

Co-Authored-By: ackintosh <sora.akatsuki@gmail.com>
2026-02-09 23:31:49 +00:00
Michael Sproul
a3f04bd2d2 Merge v8.1.0 (stable) into unstable 2026-02-10 08:27:43 +11:00
Pawan Dhananjay
b8d098685f Record metrics for only valid gossip blocks (#8723)
N/A


  Fixes the issue where we were setting block observed timings for blocks that were potentially gossip invalid.
Thanks @gitToki for the find


Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-02-09 05:23:44 +00:00
Michael Sproul
c4437d2927 Fix regression test for #8528 (#8771)
I accidentally broke `unstable` while merging some missed commits from `release-v8.0`. The merge was clean but semantically broken, and I didn't notice because I pushed without running CI 😬


  - Fix the regression test added for #8528, for compatibility with the recent `RpcBlock` changes. I'm passing `is_available = false` which seems correct for this test.


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-09 01:31:50 +00:00
Michael Sproul
532d8918c8 Merge remote-tracking branch 'origin/release-v8.0' into unstable 2026-02-09 09:18:10 +11:00
Mac L
2ad02510cd Remove syn version 1 (#8678)
#8547


  This updates a few of our crates to remove the older `syn 1` crate.

This updates:
- `criterion` -> `0.8`
- `itertools` -> `0.14`

And also certain `sigp` crates:
- `xdelta3` -> [`fe39066`](fe3906605c)
- `superstruct` -> `0.10.1`
- `ethereum_ssz` -> `0.10.1`
- `tree_hash` -> `0.12.1`
- `metastruct` -> `0.1.4`
- `context_deserialize` -> `0.2.1`
- `compare_fields` -> `0.1.1`


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-07 01:18:04 +00:00
Mac L
e4bc650097 Use if-addrs instead of local_ip_address (#8659)
Swaps out the `local_ip_address` dependency for `if-addrs`. The reason for this is that is that `local_ip_address` is a relatively heavy dependency (depends on `neli`) compared to `if-addrs` and we only use it to check the presence of an IPv6 interface. This is an experiment to see if we can use the more lightweight `if-addrs` instead.


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-06 15:40:09 +00:00
Eitan Seri- Levi
62f9648d5c FMT 2026-02-04 18:47:40 -08:00
Jimmy Chen
339ba6e143 Move gloas http logic to modules. 2026-02-05 12:25:40 +11:00
Jimmy Chen
f9bfaf9da6 Move block production to gloas file (no logic change). 2026-02-05 10:53:13 +11:00
Eitan Seri- Levi
75bb4288ff Resolve some TODOs 2026-02-03 21:19:58 -08:00
Pawan Dhananjay
e50bab098e Remove state lru cache (#8724)
N/A


  In https://github.com/sigp/lighthouse/pull/4801 , we added a state lru cache to avoid having too many states in memory which was a concern with 200mb+ states pre tree-states.
With https://github.com/sigp/lighthouse/pull/5891 , we made the overflow cache a simpler in memory lru cache that can only hold 32 pending states at the most and doesn't flush anything to disk. As noted in #5891, we can always fetch older blocks which never became available over rpc if they become available later.

Since we merged tree states, I don't think the state lru cache is relevant anymore. Instead of having the `DietAvailabilityPendingExecutedBlock` that stores only the state root, we can just store the full state in the `AvailabilityPendingExecutedBlock`.
Given entries in the cache can span max 1 epoch (cache size is 32), the underlying `BeaconState` objects in the cache share most of their memory. The state_lru_cache is one level of indirection that doesn't give us any benefit.
Please check me on this cc @dapplion


Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com>
2026-02-04 04:55:53 +00:00
Eitan Seri- Levi
1e69734e18 resolve merge conflicts 2026-02-03 20:47:42 -08:00
Eitan Seri- Levi
1c1e6dda10 Fmt 2026-02-03 20:28:41 -08:00
Eitan Seri- Levi
25853847ef Publish payload 2026-02-03 20:28:28 -08:00
Eitan Seri- Levi
1ed80fa35d Fetch and sign payload envelope 2026-02-03 19:37:09 -08:00
Jimmy Chen
1dd0f7bcbb Remove kzg_commitments from DataColumnSidecarGloas (#8739)
Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-02-04 03:37:05 +00:00
Eitan Seri-Levi
39727aa406 Move KZG commitments from payload envelope to payload bid and spec alpha.2 (#8725)
Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-02-04 02:52:40 +00:00
Eitan Seri- Levi
2d321f60eb Add get payload envelope route 2026-02-03 18:51:53 -08:00
hopinheimer
bd1966353a Use events API to eager send attestations (#7892)
Co-Authored-By: hopinheimer <knmanas6@gmail.com>

Co-Authored-By: hopinheimer <48147533+hopinheimer@users.noreply.github.com>

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-02-04 01:40:16 +00:00
Eitan Seri- Levi
50dde1585c Add payload to a cache for later signing 2026-02-03 17:27:58 -08:00
Eitan Seri- Levi
7cf4eb0396 Add new block production endpoint 2026-02-03 16:13:07 -08:00
Eitan Seri- Levi
5bb7ebb8de Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-block-and-bid-production 2026-02-03 11:39:04 -08:00
Michael Sproul
d42327bb86 Implement Gloas withdrawals and refactor (#8692)
Co-Authored-By: Michael Sproul <michael@sigmaprime.io>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-02-03 07:36:20 +00:00
Eitan Seri- Levi
4c9fa245af Block and bid production 2026-02-02 23:22:00 -08:00
Eitan Seri-Levi
ed7354d460 Payload envelope db operations (#8717)
Adds support for payload envelopes in the db. This is the minimum we'll need to store and fetch payloads.


  


Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>
2026-02-03 05:46:10 +00:00
Eitan Seri- Levi
15691237b1 Merge branch 'gloas-move-commitments-to-bid' into unstable 2026-02-02 20:09:01 -08:00
Michael Sproul
940fa81a5b Fast path for /eth/v1/beacon/blocks/head/root (#8729)
Closes:

- https://github.com/sigp/lighthouse/issues/8667


  Use the `early_attester_cache` to serve the head block root (if present). This should be faster than waiting for the head to finish importing.


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-02 06:41:43 +00:00
Eitan Seri-Levi
3ecf964385 Replace INTERVALS_PER_SLOT with explicit slot component times (#7944)
https://github.com/ethereum/consensus-specs/pull/4476


  


Co-Authored-By: Barnabas Busa <barnabas.busa@ethereum.org>

Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-02 05:58:42 +00:00