Commit Graph

7388 Commits

Author SHA1 Message Date
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
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
Eitan Seri-Levi
b057cae302 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-payload-processing 2026-02-17 17:46:43 -08:00
Jimmy Chen
2f7a1f3ae8 Support pinning nightly ef test runs (#8738)
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-18 00:38:11 +00: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
Michael Sproul
41291a8aec Gloas fork upgrade consensus (#8833)
- Implement and optimise `upgrade_to_gloas`
- Enable EF tests for `fork_ugprade`


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-17 06:23:25 +00:00
Michael Sproul
67b9673191 Gloas payload attestation consensus (#8827)
- Implement `process_payload_attestation`
- Implement EF tests for payload attestations (allows simplification of handler now that we support all `operations` tests).
- Update the `BlockSignatureVerifier` to signature-verify payload attestations


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-17 05:50:44 +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
Mac L
fcfd061fc2 Fix eth2 compilation by feature gating SseEventSource (#8819)
`eth2` is currently unable to be built without the `events` feature.


  Feature gates the `SseEventSource` match arm in the `status` function.


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-16 01:45:29 +00:00
Lion - dapplion
5563b7a1dd fix second_payload head in execution engine test (#8789)
Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-02-15 23:58:30 +00:00
Romeo
1fe7a8ce77 Implement inactivity scores ef tests unstable (#8807)
fixes issue #8750


  This PR enables the inactivity_scores reward EF tests from v1.7.0-alpha.2.

- Enabled Tests: Added the inactivity_scores handler to the rewards test suite.
- Fork Filtering: Updated the runner to execute these tests only on supported forks (Altair onwards), preventing directory-not-found errors on earlier forks.
- CI Coverage: Removed exclusions in the file access check script to ensures all new test vectors are fully tracked.


Co-Authored-By: romeoscript <romeobourne211@gmail.com>

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

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-02-15 23:44:15 +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
Mac L
a3a74d8988 Correctly compute process times during ProcessHealth::observe (#8793)
I believe I found a bug where during computation of `pid_process_seconds_total` we add `children_system` twice.


  I assume that it was originally intended to add `children_system` and `children_user` once each


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-14 08:26:25 +00: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
Eitan Seri- Levi
75014fe3ad SseExtendPayloadAttributes hack 2026-02-13 23:09:33 -08:00
Eitan Seri- Levi
004e3b5b3b Merge branch 'gloas-block-and-bid-production' into gloas-devnet-0 2026-02-13 22:14:26 -08:00
Eitan Seri- Levi
022ee4e968 Special case signed beacon block ssz decoding 2026-02-13 22:13:02 -08:00
Eitan Seri- Levi
9db9965738 Revert 2026-02-13 21:42:33 -08:00
Eitan Seri- Levi
4795e1f341 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-block-and-bid-production 2026-02-13 21:33:06 -08:00
Eitan Seri- Levi
9bbcfe34ac Separate payload construction for gloas 2026-02-13 21:31:55 -08:00
Eitan Seri- Levi
d140145219 Fix 2026-02-13 17:26:38 -08:00
Eitan Seri- Levi
0e377fc8ac Fix 2026-02-13 17:22:48 -08:00
Eitan Seri- Levi
1c71e1970b revert 2026-02-13 17:22:00 -08:00
Eitan Seri- Levi
5466b8a241 SSE and enw endpoint 2026-02-13 17:21:22 -08:00
Eitan Seri- Levi
e5598d529c block verification changes 2026-02-13 15:00:31 -08:00
Eitan Seri-Levi
68ad9758a3 Gloas attestation verification (#8705)
https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#attestation-subnets

Implements attestation verification logic for Gloas and adds a few gloas related tests. Note that a few of these tests rely on gloas test harness block production which hasn't been built out yet. So for now those tests are ignored.


  


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

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-02-13 21:39:56 +00:00
Eitan Seri- Levi
ebaca3144c merge block production 2026-02-13 00:05:59 -08:00
Eitan Seri- Levi
dc143d9709 Hacky fork choice changes 2026-02-12 23:58:42 -08:00
Eitan Seri- Levi
7d0d438fd4 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-payload-processing 2026-02-12 22:40:57 -08:00
Eitan Seri- Levi
47782a68c3 delay cache, and remove some todos 2026-02-12 21:27:39 -08:00
Michael Sproul
26db016425 Gloas consensus: epoch processing, block signature verification, more tests (#8808)
- [x] Implement `process_builder_pending_payments` in epoch processing for Gloas. Enable the new EF tests for this sub-component as well.
- [x] Update `include_all_signatures_except_proposal` for Gloas to safely include the execution payload bid signature (this was an omission in the previous bid PR).
- [x] Enable Gloas for _all_ remaining EF tests by default. They all pass with the exception of the finality tests (see below).


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

Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com>
2026-02-13 05:24:26 +00:00
Lion - dapplion
f4a6b8d9b9 Tree-sync friendly lookup sync tests (#8592)
- Step 0 of the tree-sync roadmap https://github.com/sigp/lighthouse/issues/7678

Current lookup sync tests are written in an explicit way that assume how the internals of lookup sync work. For example the test would do:

- Emit unknown block parent message
- Expect block request for X
- Respond with successful block request
- Expect block processing request for X
- Response with successful processing request
- etc..

This is unnecessarily verbose. And it will requires a complete re-write when something changes in the internals of lookup sync (has happened a few times, mostly for deneb and fulu).

What we really want to assert is:

- WHEN: we receive an unknown block parent message
- THEN: Lookup sync can sync that block
- ASSERT: Without penalizing peers, without unnecessary retries


  Keep all existing tests and add new cases but written in the new style described above. The logic to serve and respond to request is in this function `fn simulate` 2288a3aeb1/beacon_node/network/src/sync/tests/lookups.rs (L301)
- It controls peer behavior based on a `CompleteStrategy` where you can set for example "respond to BlocksByRoot requests with empty"
- It actually runs beacon processor messages running their clousures. Now sync tests actually import blocks, increasing the test coverage to the interaction of sync and the da_checker.
- To achieve the above the tests create real blocks with the test harness. To make the tests as fast as before, I disabled crypto with `TestConfig`

Along the way I found a couple bugs, which I documented on the diff.


Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-02-13 04:24:51 +00:00
Eitan Seri- Levi
5796864201 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-payload-processing 2026-02-12 14:18:46 -08:00
Mac L
c59e4a0cee Disable legacy-arith by default in consensus/types (#8695)
Currently, `consensus/types` cannot build with `no-default-features` since we use "legacy" standard arithmetic operations.


  - Remove the offending arithmetic to fix compilation.
- Rename `legacy-arith` to `saturating-arith` and disable it by default.


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-12 20:51:39 +00:00
Mac L
036ba1f221 Add network feature to eth2 (#8558)
This reverts some of the changes from #8524 by adding back the typed network endpoints with an optional `network` feature. Without the `network` feature, these endpoints (and associated dependencies) will not be built.

This means the `enr`, `multiaddr` and `libp2p-identity` dependencies have returned but are now optional


Co-Authored-By: Mac L <mjladson@pm.me>
2026-02-12 20:51:26 +00:00
Sergey Yakovlev
96bc5617d0 fix: auto-populate ENR UDP port from discovery listen port (#8804)
Co-Authored-By: Sergey Yakovlev <selfuryon@pm.me>
2026-02-12 19:33:00 +00:00
Eitan Seri- Levi
4c7039276d Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-payload-processing 2026-02-11 23:35:28 -08:00