Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b8c77d3
glamsterdam upgrade
dharjeezy Jul 14, 2026
accfd46
test for gloas
dharjeezy Jul 15, 2026
9795062
unit tests for serde
dharjeezy Jul 15, 2026
cbe67c7
runtime dispatch verification
dharjeezy Jul 23, 2026
b6eb6fc
Return the verified execution payload from the sync committee verifier
dharjeezy Aug 25, 2026
caf7e38
Merkleize the Gloas beacon state as a progressive container
dharjeezy Aug 26, 2026
26be085
Pin every ssz-rs dependent to the progressive SSZ revision
dharjeezy Aug 27, 2026
223f644
Move bls-utils and sync-committee primitives onto the lighthouse ssz …
dharjeezy Sep 1, 2026
8ea5292
Move the sync committee prover, verifier and BSC clients onto the lig…
dharjeezy Sep 2, 2026
43f2e7f
Complete the gloas path for the prover and its tests
dharjeezy Sep 2, 2026
7916f16
Point the ssz stack at the polytope-labs forks
dharjeezy Sep 2, 2026
50edee7
Move the pre-gloas prover tests onto the new proof api
dharjeezy Sep 2, 2026
7c2b4b6
Bump tree_hash to the reviewed revision
dharjeezy Sep 2, 2026
eaab781
Bump tree_hash to the second review revision
dharjeezy Sep 3, 2026
25991f7
Merge branch 'main' of github.com:polytope-labs/hyperbridge into dami…
dharjeezy Sep 3, 2026
f4d40e4
Close the test module after merging both test sets
dharjeezy Sep 3, 2026
708932e
Close the conversion impl after merging the length tests
dharjeezy Sep 3, 2026
d05c871
Restore the turbofish in the ported length tests
dharjeezy Sep 3, 2026
a2c17e3
Import the ssz decode trait anonymously beside the scale one
dharjeezy Sep 3, 2026
04762c7
Count set bits through the ssz_types api
dharjeezy Sep 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 141 additions & 33 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,11 @@ lto = "thin"
strip = true

[workspace.dependencies]
ssz = { package = "ethereum_ssz", version = "0.10", default-features = false }
ssz_derive = { package = "ethereum_ssz_derive", version = "0.10" }
tree_hash = { version = "0.12", default-features = false }
tree_hash_derive = { version = "0.12" }
ssz_types = { version = "0.14", default-features = false }
polkadot-sdk = { version = "=2606.0.0", default-features = false }

rocksdb = { version = "0.24.0", features = ["bindgen-runtime"] }
Expand Down Expand Up @@ -406,3 +411,12 @@ features = ["derive"]
[workspace.dependencies.reconnecting-jsonrpsee-ws-client]
version = "0.5.0"
default-features = false

[patch.crates-io]
ethereum_ssz = { git = "https://github.com/polytope-labs/ethereum_ssz", rev = "be67c8cf3fb9ad34597db52d242f213536eca9a6" }
ethereum_ssz_derive = { git = "https://github.com/polytope-labs/ethereum_ssz", rev = "be67c8cf3fb9ad34597db52d242f213536eca9a6" }
tree_hash = { git = "https://github.com/polytope-labs/tree_hash", rev = "a22ca828bfa199585b0e2f8275a8214305fc336f" }
tree_hash_derive = { git = "https://github.com/polytope-labs/tree_hash", rev = "a22ca828bfa199585b0e2f8275a8214305fc336f" }
ssz_types = { git = "https://github.com/polytope-labs/ssz_types", rev = "16e1e2a2a50952283af74b6fe2c6f8af8367199f" }
ethereum_serde_utils = { git = "https://github.com/polytope-labs/ethereum_serde_utils", rev = "b67233cce50833e2082ebcb16a9971df063c7ecb" }
ethereum_hashing = { git = "https://github.com/polytope-labs/ethereum_hashing", rev = "777b16da793573d5a0dd37d33d77f24ce4b624e7" }
3 changes: 2 additions & 1 deletion modules/consensus/bsc/prover/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,6 @@ features = ["sp-core", "sp-crypto-hashing"]
[dev-dependencies]
tokio = { workspace = true, features = ["macros"] }
dotenv = "0.15.0"
ssz-rs = { git = "https://github.com/polytope-labs/ssz-rs", branch = "main", default-features = false, features = ["std"] }
ssz = { workspace = true, features = ["scale"] }
ssz_types = { workspace = true, features = ["scale"] }
futures = { workspace = true }
7 changes: 4 additions & 3 deletions modules/consensus/bsc/prover/src/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ use bsc_verifier::{
};
use ismp::messaging::Keccak256;
use polkadot_sdk::*;
use ssz_rs::{Bitvector, Deserialize};
use ssz::Decode;
use ssz_types::BitVector;
use std::time::Duration;

use crate::{get_rotation_block, BscPosProver, UpdateParams};
Expand Down Expand Up @@ -131,7 +132,7 @@ async fn verify_bsc_pos_headers() {
// Reject updates with insufficient BLS participation from the current set.
let extra_data = parse_extra::<Host, Testnet>(&update.attested_header)
.expect("infallible: prover already parsed extra data");
let validators_bit_set = Bitvector::<VALIDATOR_BIT_SET_SIZE>::deserialize(
let validators_bit_set = BitVector::<ssz_types::typenum::U64>::from_ssz_bytes(
extra_data.vote_address_set.to_le_bytes().to_vec().as_slice(),
)
.expect("infallible: prover already parsed extra data");
Expand Down Expand Up @@ -241,7 +242,7 @@ async fn verify_bsc_pos_headers() {

let extra_data = parse_extra::<Host, Testnet>(&update.attested_header)
.expect("infallible: prover already parsed extra data");
let validators_bit_set = Bitvector::<VALIDATOR_BIT_SET_SIZE>::deserialize(
let validators_bit_set = BitVector::<ssz_types::typenum::U64>::from_ssz_bytes(
extra_data.vote_address_set.to_le_bytes().to_vec().as_slice(),
)
.expect("infallible: prover already parsed extra data");
Expand Down
Loading