Skip to content

Commit a910f20

Browse files
committed
Merge main into perf/ssz-tree-write-cursor
Main gained the gloas stack (#634, #635, #639, #662, #663). Adapted to it: the write cursor also drives gloas's progressive registry. A cursor pass crosses a ProgressiveList's subtrees with global indices, and try_update_validators_with_balances and try_update_balances work on any BeaconState, so electra's effective-balance step and the reward deltas write through them too.
2 parents 8e0bf8d + 13b61d5 commit a910f20

193 files changed

Lines changed: 46664 additions & 5225 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/ci.yml‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,11 @@ jobs:
257257
preset: [mainnet, minimal]
258258
env:
259259
# Read by the Makefile, which declares this `?=` and so defers to the
260-
# environment. A run reads its own preset's tree plus `general` and nothing
261-
# else, so fetching the other preset's would be the largest single download
262-
# in the workflow spent on files no case opens.
263-
CONSENSUS_SPEC_TESTS_CONFIGS: general ${{ matrix.preset }}
260+
# environment. A run reads its own preset's tree and nothing else, so
261+
# fetching the other preset's would be the largest single download in the
262+
# workflow spent on files no case opens. The preset-independent BLS/KZG
263+
# vectors are a separate download (`make cryptography-specs`) below.
264+
CONSENSUS_SPEC_TESTS_CONFIGS: ${{ matrix.preset }}
264265
steps:
265266
- uses: actions/checkout@v6
266267

@@ -291,8 +292,8 @@ jobs:
291292
- name: Download the consensus spec test fixtures
292293
run: make consensus-spec-tests
293294

294-
- name: Download the gossip validation test fixtures
295-
run: make consensus-spec-gossip-tests
295+
- name: Download the BLS/KZG test vectors
296+
run: make cryptography-specs
296297

297298
- name: Run the Beacon Chain spec tests
298299
run: make test-beacon-${{ matrix.preset }}

‎.gitignore‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@ target
3434
# Beacon Chain spec test fixtures, downloaded by `make consensus-spec-tests`
3535
/consensus-spec-tests
3636

37-
# The gossip validation vectors, from a newer release, downloaded by
38-
# `make consensus-spec-gossip-tests`
39-
/consensus-spec-tests-gossip
37+
# BLS and KZG test vectors, downloaded by `make cryptography-specs`
38+
/cryptography-specs
4039

4140
# Personal Claude Code overrides (not shared with team)
4241
CLAUDE.local.md

‎CLAUDE.md‎

Lines changed: 190 additions & 52 deletions
Large diffs are not rendered by default.

‎Cargo.lock‎

Lines changed: 39 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,17 +134,21 @@ postcard = { version = "1.1.3", features = ["alloc"] }
134134
# hand out `&mut` into an `SszList` (the validator registry, through
135135
# `altair_validator_lists_mut`), which published libssz-types 0.3.0 cannot do:
136136
# it exposes only `Deref` and `Index`. `DerefMut` and `IndexMut` landed after
137-
# that release, in lambdaclass/libssz#33.
137+
# that release, in lambdaclass/libssz#33. Gloas's progressive state lists need
138+
# the same in-place access on `ProgressiveList`, which lambdaclass/libssz#37
139+
# adds.
138140
#
139141
# Pinned by `rev` rather than tracking `main`: the requirement is a commit that
140-
# carries #33, not whatever `main` holds today, and `main` here is the SSZ encoder
141-
# and merkleizer that decides every `hash_tree_root`, so a routine `cargo update`
142-
# must not be able to move it. Return these to a crates.io version once a release
143-
# carrying #33 exists.
144-
libssz = { git = "https://github.com/lambdaclass/libssz", rev = "36802dd1d3e3a83d95d2ac552647539cbe3f7fd7" }
145-
libssz-derive = { git = "https://github.com/lambdaclass/libssz", rev = "36802dd1d3e3a83d95d2ac552647539cbe3f7fd7" }
146-
libssz-merkle = { git = "https://github.com/lambdaclass/libssz", rev = "36802dd1d3e3a83d95d2ac552647539cbe3f7fd7" }
147-
libssz-types = { git = "https://github.com/lambdaclass/libssz", rev = "36802dd1d3e3a83d95d2ac552647539cbe3f7fd7" }
142+
# carries #33 and #37, not whatever `main` holds today, and `main` here is the
143+
# SSZ encoder and merkleizer that decides every `hash_tree_root`, so a routine
144+
# `cargo update` must not be able to move it. This rev is #37's PR branch head,
145+
# not yet merged: it must move to #37's merge commit before this branch merges,
146+
# since a PR branch ref stops being fetchable once the branch is deleted. Return
147+
# these to a crates.io version once a release carrying #33 and #37 exists.
148+
libssz = { git = "https://github.com/lambdaclass/libssz", rev = "5cb14378ffdadcb51b387c003567e2630d0c7073" }
149+
libssz-derive = { git = "https://github.com/lambdaclass/libssz", rev = "5cb14378ffdadcb51b387c003567e2630d0c7073" }
150+
libssz-merkle = { git = "https://github.com/lambdaclass/libssz", rev = "5cb14378ffdadcb51b387c003567e2630d0c7073" }
151+
libssz-types = { git = "https://github.com/lambdaclass/libssz", rev = "5cb14378ffdadcb51b387c003567e2630d0c7073" }
148152

149153
# VCDIFF delta compression for beacon state diffs.
150154
#

0 commit comments

Comments
 (0)