Commit Graph

3862 Commits

Author SHA1 Message Date
Eitan Seri- Levi
ffc2b97699 Serve rpc by range and by root: 2026-02-24 00:55:29 -08:00
Michael Sproul
28eb5adf0a Update HotStateSummary construction 2026-02-24 18:16:53 +11:00
Michael Sproul
e2b3971cbd Add StatePayloadStatus to storage_strategy 2026-02-24 17:48:28 +11:00
Michael Sproul
886d31fe7e Delete dysfunctional fork_revert feature (#8891)
I found myself having to update this code for Gloas, and figured we may as well delete it seeing as it doesn't work.

See:

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


  Delete all `fork_revert` logic and the accompanying test.


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-24 06:27:16 +00:00
Michael Sproul
99e6ad5ca3 Merge remote-tracking branch 'michael/delete-fork-revert' into gloas-replay-blocks 2026-02-24 16:51:05 +11:00
Michael Sproul
b29c6c0e48 Address review comments 2026-02-24 16:45:41 +11:00
Michael Sproul
c22dde11f8 Merge remote-tracking branch 'michael/delete-fork-revert' into gloas-replay-blocks 2026-02-24 15:35:14 +11:00
Michael Sproul
295aaf982c Thread more payload status 2026-02-24 15:33:43 +11:00
Michael Sproul
adc0498057 Delete fork_revert feature 2026-02-24 15:23:54 +11:00
Jimmy Chen
341682e719 Add unit tests for BatchInfo and fix doc comments (#8873)
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-02-24 00:15:39 +00:00
Eitan Seri- Levi
d12bb4d712 Trying something out 2026-02-23 12:06:15 -08:00
Michael Sproul
9bdf44c76c Merge branch 'unstable' into gloas-replay-blocks 2026-02-23 17:29:13 +11:00
Michael Sproul
b3d2e85e55 Avoid Result::flatten (would require MSRV bump) 2026-02-23 17:28:46 +11:00
Eitan Seri-Levi
dcc43e3d20 Implement gloas block gossip verification changes (#8878)
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>
2026-02-23 06:17:24 +00:00
Michael Sproul
a2e0068b85 Payloads for cold blocks 2026-02-23 16:09:10 +11:00
Michael Sproul
afc6fb137c Connect up DB replay_blocks/load_blocks 2026-02-23 15:43:19 +11:00
0xMushow
2b214175d5 Enforce stricter checks on certain constants (#8500)
Which issue # does this PR address?
None


  All of these are performing a check, and adding a batch, or creating a new lookup, or a new query, etc..
Hence all of these limits would be off by one.

Example:

```rust
// BACKFILL_BATCH_BUFFER_SIZE = 5
if self.batches.iter().filter(...).count() >= BACKFILL_BATCH_BUFFER_SIZE {
return None;  // ← REJECT
}
// ... later adds batch via Entry::Vacant(entry).insert(...)
```

Without the `>` being changed to a `>=` , we would allow 6. The same idea applies to all changes proposed.


Co-Authored-By: Antoine James <antoine@ethereum.org>

Co-Authored-By: Jimmy Chen <jimmy@sigmaprime.io>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-02-23 02:02:56 +00:00
Michael Sproul
a959c5f640 Add payload support to BlockReplayer 2026-02-23 12:55:50 +11:00
Eitan Seri- Levi
b525fe055f Fix 2026-02-22 16:07:48 -08:00
Eitan Seri- Levi
de2362a820 Fix compilation error 2026-02-22 10:17:47 -08:00
Eitan Seri- Levi
1859bc25a4 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-payload-processing 2026-02-20 10:39:29 -08:00
Jimmy Chen
8d4af658bd Remove unreachable void pattern for ConnectionLimits (#8871)
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-02-20 04:27:33 +00:00
Jimmy Chen
4588971085 Add sync batch state metrics (#8847)
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-02-19 01:57:53 +00:00
Pawan Dhananjay
561898fc1c Process head_chains in descending order of number of peers (#8859)
N/A


  Another find by @gitToki. Sort the preferred_ids in descending order as originally intended from the comment in the function.


Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com>
2026-02-19 00:38:56 +00:00
Michael Sproul
fab77f4fc9 Skip payload_invalidation tests prior to Bellatrix (#8856)
Fix the failure of the beacon-chain tests for phase0/altair, which now only runs nightly.


  Just skip the payload invalidation tests, they don't make any sense prior to Bellatrix anyway.


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-18 21:55:13 +00:00
Eitan Seri-Levi
5ca68ad8b2 hacky fix 2026-02-18 11:28:45 -08:00
Jimmy Chen
da141a8c49 Merge remote-tracking branch 'origin/release-v8.1' into unstable 2026-02-18 17:54:48 +11:00
Eitan Seri-Levi
1bd941e0df Merge branch 'gloas-payload-processing' into gloas-devnet-0 2026-02-17 21:27:57 -08:00
Eitan Seri-Levi
0b58cbf2d2 mark block as avail as soon as call to el succeeds 2026-02-17 21:27:44 -08:00
Pawan Dhananjay
c5b4580e37 Return correct variant for snappy errors (#8841)
N/A


  Handle snappy crate errors as InvalidData instead of IoError.


Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com>
2026-02-18 04:17:07 +00:00
Jimmy Chen
691c8cf8e6 Fix duplicate data columns in DataColumnsByRange responses (#8843)
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-02-18 04:16:57 +00:00
Akihito Nakano
c61665b3a1 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-18 14:43:59 +11:00
Eitan Seri-Levi
d88f0f7b4c resolve merge conflicts 2026-02-17 18:10:22 -08:00
Eitan Seri-Levi
81d30d576a FMT 2026-02-17 17:47:34 -08:00
0xMushow
9065e4a56e fix(beacon_node): add pruning of observed_column_sidecars (#8531)
None


  I noticed that `observed_column_sidecars` is missing its prune call in the finalization handler, which results in a memory leak on long-running nodes (very slow (**7MB/day**)) :

13dfa9200f/beacon_node/beacon_chain/src/canonical_head.rs (L940-L959)

Both caches use the same generic type `ObservedDataSidecars<T>:`
22ec4b3271/beacon_node/beacon_chain/src/beacon_chain.rs (L413-L416)

The type's documentation explicitly requires manual pruning:

>  "*The cache supports pruning based upon the finalized epoch. It does not automatically prune, you must call Self::prune manually.*"


b4704eab4a/beacon_node/beacon_chain/src/observed_data_sidecars.rs (L66-L74)

Currently:
- `observed_blob_sidecars` => pruned
- `observed_column_sidecars` => **NOT** pruned

Without pruning, the underlying HashMap accumulates entries indefinitely, causing continuous memory growth until the node restarts.


Co-Authored-By: Antoine James <antoine@ethereum.org>
2026-02-18 12:38:05 +11:00
Eitan Seri-Levi
64c30b84fd Merge conflicts 2026-02-17 13:18:49 -08:00
Jimmy Chen
4625cb6ab6 Gloas local block building cleanup (#8834)
Continuation of #8754, some small cleanups and address TODOs


  


Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-02-17 09:22:16 +00:00
Eitan Seri-Levi
eec0700f94 Gloas local block building MVP (#8754)
The flow for local block building is
1. Create execution payload and bid
2. Construct beacon block
3. Sign beacon block and publish
4. Sign execution payload and publish

This PR adds the beacon block v4 flow , GET payload envelope and POST payload envelope (local block building only). The spec for these endpoints can be found here:  https://github.com/ethereum/beacon-APIs/pull/552  and is subject to change.

We needed a way to store the unsigned execution payload envelope associated to the execution payload bid that was included in the block. I introduced a new cache that stores these unsigned execution payload envelopes. the GET payload envelope queries this cache directly so that a proposer, after publishing a block, can fetch the payload envelope + sign and publish it.

I kept payload signing and publishing within the validators block service to keep things simple for now. The idea was to build out a block production MVP for devnet 0, try not to affect any non gloas code paths and build things out in such a way that it will be easy to deprecate pre-gloas code paths later on (for example block production v2 and v3).

We will eventually need to track which beacon node was queried for the block so that we can later query it for the payload. But thats not needed for the devnet.


  


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: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-02-17 02:09:35 +00:00
Mac L
945f6637c5 Remove reqwest re-exports from eth2 (#8829)
Remove `reqwest` from being re-exported within `eth2`


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-16 16:05:54 +00:00
Michael Sproul
48a2b2802d Delete OnDiskConsensusContext (#8824)
Remove the `OnDiskConsensusContext` type which is no longer used at all after the merge of:

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

This type was not necessary since the merge of Lion's change which removed the on-disk storage:

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


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-16 02:49:46 +00:00
Eitan Seri- Levi
a942fa4cfa another fix 2026-02-14 10:09:47 -08:00
Eitan Seri- Levi
8f513bd1cc Merge branch 'gloas-block-and-bid-production' into gloas-devnet-0 2026-02-14 09:12:46 -08:00
Eitan Seri- Levi
65e0fa199f USe payload v5 2026-02-14 09:12:36 -08:00
Eitan Seri- Levi
adea455742 Merge branch 'gloas-payload-processing' into gloas-devnet-0 2026-02-13 23:50:23 -08:00
Eitan Seri- Levi
72fe22067c Import logs 2026-02-13 23:49:59 -08:00
Eitan Seri- Levi
965cc50295 Merge branch 'gloas-block-and-bid-production' into gloas-devnet-0 2026-02-13 23:37:54 -08:00
Eitan Seri- Levi
9b7c21d697 Comments 2026-02-13 23:37:44 -08:00
Eitan Seri- Levi
f7d58ae89a Comments 2026-02-13 23:37:34 -08:00
Eitan Seri- Levi
90f758c7ca Comments 2026-02-13 23:37:12 -08:00
Eitan Seri- Levi
9f46ec6083 Merge branch 'gloas-block-and-bid-production' into gloas-devnet-0 2026-02-13 23:09:45 -08:00