From bcc8e93c6a65942f2be7d7eae3c50f556f7410d3 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 10 Nov 2026 11:00:25 +0000 Subject: [PATCH 1/5] Drop unused dependencies (hex, rand, anyhow, qp-ownership-inputs); move aggregator rayon to dev-deps cargo-machete plus a manual sweep found: - common: rand was declared (optional, enabled by std) but never used - wormhole/circuit: hex never used - ownership/tests: anyhow, hex, qp-ownership-inputs never used - aggregator: rayon only used by the public_batch_compare example since the rayon code paths were removed in #94; multithread is kept as a no-op feature so downstream manifests keep resolving Co-authored-by: illuzen --- Cargo.lock | 5 ----- common/Cargo.toml | 4 ---- ownership/tests/Cargo.toml | 3 --- wormhole/aggregator/Cargo.toml | 7 +++++-- wormhole/circuit/Cargo.toml | 1 - 5 files changed, 5 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ea7c707a..e2eb907e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1093,10 +1093,7 @@ dependencies = [ name = "ownership-tests" version = "4.4.0" dependencies = [ - "anyhow", - "hex", "qp-ownership-circuit", - "qp-ownership-inputs", "qp-ownership-prover", "qp-ownership-verifier", "qp-plonky2", @@ -1411,7 +1408,6 @@ version = "4.4.0" dependencies = [ "anyhow", "env_logger", - "hex", "qp-plonky2", "qp-wormhole-inputs", "qp-zk-circuits-common", @@ -1484,7 +1480,6 @@ dependencies = [ "qp-plonky2", "qp-poseidon-core", "qp-wormhole-inputs", - "rand 0.8.6", "serde", "serde_json", ] diff --git a/common/Cargo.toml b/common/Cargo.toml index 7c1bf5b8..f39d1d00 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -12,7 +12,6 @@ anyhow = { workspace = true, default-features = false } qp-plonky2 = { workspace = true, default-features = false } qp-poseidon-core = { workspace = true, default-features = false } qp-wormhole-inputs = { version = "=4.4.0", path = "../wormhole/inputs", default-features = false } -rand = { version = "=0.8.6", default-features = false, features = ["alloc"], optional = true } serde = { workspace = true } serde_json = { version = "=1.0.150", default-features = false, features = ["alloc"] } @@ -21,12 +20,9 @@ default = ["std"] formal-export = ["qp-plonky2/formal-export", "std"] std = [ "anyhow/std", - "dep:rand", "qp-plonky2/std", "qp-poseidon-core/std", "qp-wormhole-inputs/std", - "rand/std", - "rand/std_rng", "serde/std", "serde_json/std", ] diff --git a/ownership/tests/Cargo.toml b/ownership/tests/Cargo.toml index c095ce75..0d8f8a0a 100644 --- a/ownership/tests/Cargo.toml +++ b/ownership/tests/Cargo.toml @@ -8,12 +8,9 @@ publish = false version.workspace = true [dependencies] -anyhow = { workspace = true } -hex = { workspace = true } ownership-circuit = { package = "qp-ownership-circuit", version = "=4.4.0", path = "../circuit" } ownership-prover = { package = "qp-ownership-prover", version = "=4.4.0", path = "../prover" } ownership-verifier = { package = "qp-ownership-verifier", version = "=4.4.0", path = "../verifier" } -qp-ownership-inputs = { version = "=4.4.0", path = "../inputs" } qp-plonky2 = { workspace = true, default-features = true } tiny-keccak = { workspace = true } wormhole-circuit = { package = "qp-wormhole-circuit", version = "=4.4.0", path = "../../wormhole/circuit" } diff --git a/wormhole/aggregator/Cargo.toml b/wormhole/aggregator/Cargo.toml index c75de85c..67a7b69a 100644 --- a/wormhole/aggregator/Cargo.toml +++ b/wormhole/aggregator/Cargo.toml @@ -14,7 +14,6 @@ qp-plonky2 = { workspace = true } qp-wormhole-gpu = { version = "=4.4.0", path = "../gpu", optional = true, features = ["constraint-export"] } qp-wormhole-inputs = { version = "=4.4.0", path = "../inputs" } rand = "=0.8.6" -rayon = { version = "=1.12.0", optional = true } serde = { version = "=1.0.228", features = ["derive"] } serde_json = "=1.0.150" tracing = { workspace = true, optional = true } @@ -26,6 +25,7 @@ zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", pa criterion = { workspace = true } env_logger = "=0.11.9" futures = { version = "=0.3.32", default-features = false, features = ["executor"] } +rayon = "=1.12.0" test-helpers = { path = "../tests/test-helpers", default-features = false } tracing-subscriber = { version = "=0.3.23", default-features = false, features = ["registry", "std"] } # Enables `TracingBuilder` for the checked-in formal wrapper trace test. @@ -37,7 +37,10 @@ wormhole-circuit-builder = { package = "qp-wormhole-circuit-builder", path = ".. [features] default = ["multithread", "std"] gpu = ["dep:qp-wormhole-gpu", "dep:tracing", "std"] -multithread = ["rayon"] +# No-op: the rayon code paths behind it were removed in #94 and parallelism +# comes from `qp-plonky2/parallel`. Kept so downstream manifests that enable it +# keep resolving. +multithread = [] no_zk = [] profile = ["qp-plonky2/rand", "qp-plonky2/timing", "std"] std = [ diff --git a/wormhole/circuit/Cargo.toml b/wormhole/circuit/Cargo.toml index e0f783a3..8556cd10 100644 --- a/wormhole/circuit/Cargo.toml +++ b/wormhole/circuit/Cargo.toml @@ -9,7 +9,6 @@ version.workspace = true [dependencies] anyhow = { workspace = true } -hex = { workspace = true, features = ["alloc"] } qp-plonky2 = { workspace = true } qp-wormhole-inputs = { version = "=4.4.0", path = "../inputs", default-features = false } zeroize = { workspace = true } From 2b3f79023c3669edd1a36842e14c1ef317b8728d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 10 Nov 2026 11:01:34 +0000 Subject: [PATCH 2/5] Bump exact-pinned deps (clap, serde_json, libc, zeroize) and replace futures with pollster - clap 4.6.1 -> 4.6.7, serde_json 1.0.150 -> 1.0.154, libc 0.2.186 -> 0.2.191, zeroize 1.8.2 -> 1.9.1 - futures (executor only, dev/test/bench/example code) -> pollster 1.0.1, a zero-dependency block_on; drops five futures-* crates from the native build - env_logger stays at 0.11.9: 0.11.10+ need log ^0.4.29 while qp-plonky2 pins log =0.4.28 Co-authored-by: illuzen --- Cargo.lock | 88 +++++-------------- Cargo.toml | 2 +- common/Cargo.toml | 2 +- ownership/circuit-builder/Cargo.toml | 2 +- wormhole/aggregator/Cargo.toml | 4 +- wormhole/aggregator/benches/gpu.rs | 2 +- .../examples/prepare_public_batch.rs | 2 +- .../examples/public_batch_compare.rs | 2 +- .../aggregator/src/aggregator/gpu_tests.rs | 4 +- .../src/public_batch/prover/backend.rs | 6 +- wormhole/circuit-builder/Cargo.toml | 2 +- wormhole/gpu/Cargo.toml | 2 +- wormhole/gpu/benches/kernels.rs | 2 +- wormhole/gpu/src/circuit/openings/tests.rs | 2 +- wormhole/gpu/src/circuit/prover/tests.rs | 10 +-- wormhole/gpu/src/circuit/quotient/tests.rs | 2 +- wormhole/gpu/src/circuit/tests.rs | 2 +- .../gpu/src/operations/extension/tests.rs | 2 +- wormhole/gpu/src/operations/fri/tests.rs | 2 +- wormhole/gpu/src/operations/pow/tests.rs | 2 +- wormhole/gpu/src/operations/queries/tests.rs | 2 +- wormhole/gpu/src/operations/quotient/tests.rs | 2 +- wormhole/gpu/src/operations/scan/tests.rs | 2 +- wormhole/gpu/src/operations/tests.rs | 6 +- wormhole/gpu/src/runtime.rs | 12 +-- wormhole/gpu/src/runtime/timestamps.rs | 4 +- wormhole/memprof/Cargo.toml | 2 +- wormhole/tests/Cargo.toml | 2 +- 28 files changed, 64 insertions(+), 110 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e2eb907e..2f110378 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -256,9 +256,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.1" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" dependencies = [ "clap_builder", "clap_derive", @@ -266,9 +266,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.6.0" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" dependencies = [ "anstream 1.0.0", "anstyle", @@ -278,14 +278,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.1" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +checksum = "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 3.0.6", ] [[package]] @@ -530,60 +530,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" -[[package]] -name = "futures" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4" -dependencies = [ - "futures-core", - "futures-sink", -] - [[package]] name = "futures-core" version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" -[[package]] -name = "futures-executor" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" - -[[package]] -name = "futures-sink" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d" - [[package]] name = "futures-task" version = "0.3.34" @@ -596,12 +548,8 @@ version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" dependencies = [ - "futures-channel", "futures-core", - "futures-io", - "futures-sink", "futures-task", - "memchr", "pin-project-lite", "slab", ] @@ -872,9 +820,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.186" +version = "0.2.191" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a" [[package]] name = "libloading" @@ -1152,6 +1100,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32c137808ca984ab2458b612b7eb0462d853ee041a3136e83d54b96074c7610" +[[package]] +name = "pollster" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6355899e1c9462875b6757c79f3caa011a1fdae12bbb1a2e72dd1f234f8336" + [[package]] name = "portable-atomic" version = "1.13.1" @@ -1384,8 +1338,8 @@ dependencies = [ "anyhow", "criterion", "env_logger", - "futures", "hex", + "pollster", "qp-plonky2", "qp-wormhole-circuit", "qp-wormhole-circuit-builder", @@ -1435,7 +1389,7 @@ version = "4.4.0" dependencies = [ "anyhow", "criterion", - "futures", + "pollster", "qp-plonky2", "tracing", "tracing-subscriber", @@ -1765,9 +1719,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.150" +version = "1.0.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6" dependencies = [ "itoa", "memchr", @@ -2578,9 +2532,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.8.2" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879" [[package]] name = "zmij" diff --git a/Cargo.toml b/Cargo.toml index ffcba8db..fe2f56e7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ qp-poseidon-core = { version = "=3.1.0", default-features = false } serde = { version = "=1.0.228", default-features = false, features = ["derive"] } tiny-keccak = { version = "=2.0.2", default-features = false, features = ["keccak"] } tracing = { version = "=0.1.44", default-features = false, features = ["std"] } -zeroize = { version = "=1.8.2", default-features = false, features = ["alloc"] } +zeroize = { version = "=1.9.1", default-features = false, features = ["alloc"] } [workspace.package] authors = ["Quantus Network"] diff --git a/common/Cargo.toml b/common/Cargo.toml index f39d1d00..c280761a 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -13,7 +13,7 @@ qp-plonky2 = { workspace = true, default-features = false } qp-poseidon-core = { workspace = true, default-features = false } qp-wormhole-inputs = { version = "=4.4.0", path = "../wormhole/inputs", default-features = false } serde = { workspace = true } -serde_json = { version = "=1.0.150", default-features = false, features = ["alloc"] } +serde_json = { version = "=1.0.154", default-features = false, features = ["alloc"] } [features] default = ["std"] diff --git a/ownership/circuit-builder/Cargo.toml b/ownership/circuit-builder/Cargo.toml index 23ca4142..fbb23bbf 100644 --- a/ownership/circuit-builder/Cargo.toml +++ b/ownership/circuit-builder/Cargo.toml @@ -11,7 +11,7 @@ version.workspace = true [dependencies] anyhow = { workspace = true, features = ["std"] } -clap = { version = "=4.6.1", features = ["derive"] } +clap = { version = "=4.6.7", features = ["derive"] } ownership-circuit = { package = "qp-ownership-circuit", version = "=4.4.0", path = "../circuit" } qp-plonky2 = { workspace = true, features = ["default"] } zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", path = "../../common" } diff --git a/wormhole/aggregator/Cargo.toml b/wormhole/aggregator/Cargo.toml index 67a7b69a..275760e9 100644 --- a/wormhole/aggregator/Cargo.toml +++ b/wormhole/aggregator/Cargo.toml @@ -15,7 +15,7 @@ qp-wormhole-gpu = { version = "=4.4.0", path = "../gpu", optional = true, featur qp-wormhole-inputs = { version = "=4.4.0", path = "../inputs" } rand = "=0.8.6" serde = { version = "=1.0.228", features = ["derive"] } -serde_json = "=1.0.150" +serde_json = "=1.0.154" tracing = { workspace = true, optional = true } wormhole-circuit = { package = "qp-wormhole-circuit", version = "=4.4.0", path = "../circuit", default-features = false } wormhole-prover = { package = "qp-wormhole-prover", version = "=4.4.0", path = "../prover", default-features = false } @@ -24,7 +24,7 @@ zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", pa [dev-dependencies] criterion = { workspace = true } env_logger = "=0.11.9" -futures = { version = "=0.3.32", default-features = false, features = ["executor"] } +pollster = "=1.0.1" rayon = "=1.12.0" test-helpers = { path = "../tests/test-helpers", default-features = false } tracing-subscriber = { version = "=0.3.23", default-features = false, features = ["registry", "std"] } diff --git a/wormhole/aggregator/benches/gpu.rs b/wormhole/aggregator/benches/gpu.rs index b5de38d1..d465cca8 100644 --- a/wormhole/aggregator/benches/gpu.rs +++ b/wormhole/aggregator/benches/gpu.rs @@ -34,7 +34,7 @@ const WORKER_COUNTS: &[usize] = &[2, 4]; fn device() -> Arc { static DEVICE: OnceLock> = OnceLock::new(); Arc::clone(DEVICE.get_or_init(|| { - let context = futures::executor::block_on(DeviceContext::new()) + let context = pollster::block_on(DeviceContext::new()) .expect("GPU benches require a hardware GPU with native u64 shader support"); eprintln!("adapter: {:?}", context.adapter_info()); Arc::new(context) diff --git a/wormhole/aggregator/examples/prepare_public_batch.rs b/wormhole/aggregator/examples/prepare_public_batch.rs index 3ef05af7..e657aadf 100644 --- a/wormhole/aggregator/examples/prepare_public_batch.rs +++ b/wormhole/aggregator/examples/prepare_public_batch.rs @@ -41,7 +41,7 @@ fn run(profile: &profile::Profile) -> Result<()> { start.elapsed().as_secs_f64() ); let start = Instant::now(); - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; println!( "GPU device initialization: {:.3}s", start.elapsed().as_secs_f64() diff --git a/wormhole/aggregator/examples/public_batch_compare.rs b/wormhole/aggregator/examples/public_batch_compare.rs index f103f8b2..b63161aa 100644 --- a/wormhole/aggregator/examples/public_batch_compare.rs +++ b/wormhole/aggregator/examples/public_batch_compare.rs @@ -123,7 +123,7 @@ fn run(arguments: Vec, timestamps: bool, profile: Option<&profile::Profi let mut gpu_init = 0.0; if backend == "gpu" { let device_started = Instant::now(); - let context = Arc::new(futures::executor::block_on(DeviceContext::with_options( + let context = Arc::new(pollster::block_on(DeviceContext::with_options( DeviceOptions { timestamps, ..Default::default() diff --git a/wormhole/aggregator/src/aggregator/gpu_tests.rs b/wormhole/aggregator/src/aggregator/gpu_tests.rs index 9c59f8b7..8c3a361f 100644 --- a/wormhole/aggregator/src/aggregator/gpu_tests.rs +++ b/wormhole/aggregator/src/aggregator/gpu_tests.rs @@ -34,7 +34,7 @@ fn gpu_proving_context( }) }) .collect::>>()?; - let context = Arc::new(futures::executor::block_on(DeviceContext::new())?); + let context = Arc::new(pollster::block_on(DeviceContext::new())?); prover.with_gpu(context, PreparationOptions::default())?; let proving = ProvingContext { aggregator_address: address, @@ -110,7 +110,7 @@ fn gpu_backend_proves_through_aggregator_and_cloned_workers() -> Result<()> { assert_send_sync::(); let (prover, inner, private_batch_verifier) = crate::public_batch::prover::lib::tests::gpu_fixture(); - let context = Arc::new(futures::executor::block_on(DeviceContext::new())?); + let context = Arc::new(pollster::block_on(DeviceContext::new())?); let options = PreparationOptions::default(); let address = BytesDigest::try_from([7u8; 32])?; let proving = ProvingContext { diff --git a/wormhole/aggregator/src/public_batch/prover/backend.rs b/wormhole/aggregator/src/public_batch/prover/backend.rs index 57ee4e7b..c500f03e 100644 --- a/wormhole/aggregator/src/public_batch/prover/backend.rs +++ b/wormhole/aggregator/src/public_batch/prover/backend.rs @@ -168,7 +168,7 @@ mod tests { #[ignore = "requires a hardware GPU with native u64 shader support"] fn gpu_backend_keeps_proving_after_a_worker_panics_mid_proof() -> Result<()> { let circuit = build_circuit(); - let context = Arc::new(futures::executor::block_on(DeviceContext::new())?); + let context = Arc::new(pollster::block_on(DeviceContext::new())?); let backend = GpuBackend::prepare(Arc::clone(&circuit), context, PreparationOptions::default())?; circuit.verify(backend.prove(PartialWitness::new())?)?; @@ -191,14 +191,14 @@ mod tests { fn gpu_rebuild_releases_old_backend_and_can_retry_after_failure() -> Result<()> { let circuit = build_circuit(); let options = PreparationOptions::default(); - let old_context = Arc::new(futures::executor::block_on(DeviceContext::new())?); + let old_context = Arc::new(pollster::block_on(DeviceContext::new())?); let old_weak = Arc::downgrade(&old_context); let mut backend = ProvingBackend::Gpu(Box::new(GpuBackend::prepare( Arc::clone(&circuit), old_context, options, )?)); - let context = Arc::new(futures::executor::block_on(DeviceContext::new())?); + let context = Arc::new(pollster::block_on(DeviceContext::new())?); let error = backend .replace_gpu(&context, || { // This checks ownership release, not physical driver VRAM reclamation. diff --git a/wormhole/circuit-builder/Cargo.toml b/wormhole/circuit-builder/Cargo.toml index 3274530b..a5009c09 100644 --- a/wormhole/circuit-builder/Cargo.toml +++ b/wormhole/circuit-builder/Cargo.toml @@ -16,7 +16,7 @@ zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", pa [dependencies] anyhow = { workspace = true, features = ["std"] } -clap = { version = "=4.6.1", features = ["derive"] } +clap = { version = "=4.6.7", features = ["derive"] } qp-plonky2 = { workspace = true, features = ["default"] } rand = "=0.8.6" wormhole-aggregator = { package = "qp-wormhole-aggregator", version = "=4.4.0", path = "../aggregator", default-features = false, features = [ diff --git a/wormhole/gpu/Cargo.toml b/wormhole/gpu/Cargo.toml index 274249d9..ecddff98 100644 --- a/wormhole/gpu/Cargo.toml +++ b/wormhole/gpu/Cargo.toml @@ -30,7 +30,7 @@ wgpu = { version = "=27.0.1", optional = true, default-features = false, feature [dev-dependencies] criterion = { workspace = true } -futures = { version = "=0.3.32", default-features = false, features = ["executor"] } +pollster = "=1.0.1" qp-plonky2 = { workspace = true, features = ["rand"] } tracing-subscriber = { version = "=0.3.23", default-features = false, features = ["registry", "std"] } diff --git a/wormhole/gpu/benches/kernels.rs b/wormhole/gpu/benches/kernels.rs index bd0c8666..29000495 100644 --- a/wormhole/gpu/benches/kernels.rs +++ b/wormhole/gpu/benches/kernels.rs @@ -30,7 +30,7 @@ const CHUNK_ROWS: usize = 1 << 16; fn context() -> &'static DeviceContext { static CONTEXT: OnceLock = OnceLock::new(); CONTEXT.get_or_init(|| { - let context = futures::executor::block_on(DeviceContext::new()) + let context = pollster::block_on(DeviceContext::new()) .expect("kernel benches require a hardware GPU with native u64 shader support"); eprintln!("adapter: {:?}", context.adapter_info()); context diff --git a/wormhole/gpu/src/circuit/openings/tests.rs b/wormhole/gpu/src/circuit/openings/tests.rs index 96285864..29c31501 100644 --- a/wormhole/gpu/src/circuit/openings/tests.rs +++ b/wormhole/gpu/src/circuit/openings/tests.rs @@ -69,7 +69,7 @@ fn next_row_openings_and_composition_span_coefficient_batches() -> Result<()> { use plonky2::field::polynomial::PolynomialCoeffs; use plonky2::util::reducing::ReducingFactor; - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let mut config = CircuitConfig::standard_recursion_config(); config.num_challenges = 3; let circuit = CircuitBuilder::::new(config).build::(); diff --git a/wormhole/gpu/src/circuit/prover/tests.rs b/wormhole/gpu/src/circuit/prover/tests.rs index 47d96d6e..afa2456d 100644 --- a/wormhole/gpu/src/circuit/prover/tests.rs +++ b/wormhole/gpu/src/circuit/prover/tests.rs @@ -97,7 +97,7 @@ fn prove_two_inputs_on_one_workspace(context: &DeviceContext) -> Result<()> { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn coordinator_generates_verifiable_proofs_with_fri_and_reuses_workspace() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; prove_two_inputs_on_one_workspace(&context) } @@ -107,7 +107,7 @@ fn profiled_coordinator_records_every_host_span() -> Result<()> { let captured = HostSpans::default(); let dispatcher = tracing::Dispatch::new(tracing_subscriber::registry().with(captured.clone())); tracing::dispatcher::with_default(&dispatcher, || -> Result<()> { - let context = futures::executor::block_on(DeviceContext::with_options(DeviceOptions { + let context = pollster::block_on(DeviceContext::with_options(DeviceOptions { timestamps: true, ..Default::default() }))?; @@ -156,7 +156,7 @@ fn profiled_coordinator_records_every_host_span() -> Result<()> { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn pow_grind_spanning_many_chunks_matches_single_chunk_and_cpu_proofs() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let mut config = CircuitConfig::standard_recursion_config(); config.fri_config.reduction_strategy = FriReductionStrategy::Fixed(vec![]); config.fri_config.proof_of_work_bits = 6; @@ -217,7 +217,7 @@ fn pow_grind_spanning_many_chunks_matches_single_chunk_and_cpu_proofs() -> Resul #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn boundary_witness_values_prove_identically_to_cpu() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let mut config = CircuitConfig::standard_recursion_config(); config.fri_config.reduction_strategy = FriReductionStrategy::Fixed(vec![1]); config.fri_config.proof_of_work_bits = 4; @@ -292,7 +292,7 @@ fn workspace_ranges_and_pow_retries_are_checked() { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn coordinator_handles_zero_fri_rounds_and_reuses_workspace_after_input_errors() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let mut config = CircuitConfig::standard_recursion_config(); config.fri_config.reduction_strategy = FriReductionStrategy::Fixed(vec![]); config.fri_config.proof_of_work_bits = 8; diff --git a/wormhole/gpu/src/circuit/quotient/tests.rs b/wormhole/gpu/src/circuit/quotient/tests.rs index 8b0a6588..3785c995 100644 --- a/wormhole/gpu/src/circuit/quotient/tests.rs +++ b/wormhole/gpu/src/circuit/quotient/tests.rs @@ -214,7 +214,7 @@ fn cpu_quotient_values( #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn resident_proving_stages_match_cpu_and_generate_verifiable_proofs() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; for (challenges, factor, rate) in [(2, 8, 3), (3, 7, 4)] { let mut config = CircuitConfig::standard_recursion_config(); config.num_challenges = challenges; diff --git a/wormhole/gpu/src/circuit/tests.rs b/wormhole/gpu/src/circuit/tests.rs index f08d5146..7e09c3bb 100644 --- a/wormhole/gpu/src/circuit/tests.rs +++ b/wormhole/gpu/src/circuit/tests.rs @@ -210,7 +210,7 @@ fn column_batches_respect_binding_limits() { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn resident_wire_commitment_matches_cpu_and_reuses_preparation() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let (circuit, input) = tiny_circuit(); let prepared = PreparedCircuit::prepare( &context, diff --git a/wormhole/gpu/src/operations/extension/tests.rs b/wormhole/gpu/src/operations/extension/tests.rs index b91c4c8b..c7a129d0 100644 --- a/wormhole/gpu/src/operations/extension/tests.rs +++ b/wormhole/gpu/src/operations/extension/tests.rs @@ -14,7 +14,7 @@ fn planes(values: &[E]) -> Vec { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn extension_polynomial_operations_match_cpu_across_block_boundaries() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let kernels = Arc::new(ExtensionKernels::prepare(&context)?); let point = E([F::from_canonical_u64(11), F::from_canonical_u64(9)]); let weights = [ diff --git a/wormhole/gpu/src/operations/fri/tests.rs b/wormhole/gpu/src/operations/fri/tests.rs index 0ef49f68..71a348c8 100644 --- a/wormhole/gpu/src/operations/fri/tests.rs +++ b/wormhole/gpu/src/operations/fri/tests.rs @@ -28,7 +28,7 @@ fn planes(values: &[E]) -> Vec { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn fri_folds_and_chunked_commitments_match_cpu() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let kernels = Arc::new(FriKernels::prepare(&context)?); let poseidon = Arc::new(PoseidonKernels::prepare(&context)?); for (rows, arity, cap_height) in [ diff --git a/wormhole/gpu/src/operations/pow/tests.rs b/wormhole/gpu/src/operations/pow/tests.rs index d8f2b05c..4e39a9d5 100644 --- a/wormhole/gpu/src/operations/pow/tests.rs +++ b/wormhole/gpu/src/operations/pow/tests.rs @@ -18,7 +18,7 @@ fn pow_ranges_and_snapshots_are_checked() -> Result<()> { #[ignore = "requires a hardware GPU with native u64 shader support"] fn pow_matches_cpu_transcript_and_retries_without_advancing_on_exhaustion() -> Result<()> { use crate::ProofWorkspace; - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let kernels = Arc::new(PowKernels::prepare( &context, Arc::new(PoseidonKernels::prepare(&context)?), diff --git a/wormhole/gpu/src/operations/queries/tests.rs b/wormhole/gpu/src/operations/queries/tests.rs index 1174f728..e3a98c62 100644 --- a/wormhole/gpu/src/operations/queries/tests.rs +++ b/wormhole/gpu/src/operations/queries/tests.rs @@ -33,7 +33,7 @@ fn query_layout_decodes_cpu_records_and_rejects_invalid_shapes() -> Result<()> { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn sparse_initial_and_fri_queries_match_cpu_leaves_and_paths() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let kernels = Arc::new(MerkleQueryKernels::prepare(&context)?); let challenges = [ F::ZERO, diff --git a/wormhole/gpu/src/operations/quotient/tests.rs b/wormhole/gpu/src/operations/quotient/tests.rs index 220d873e..96d32911 100644 --- a/wormhole/gpu/src/operations/quotient/tests.rs +++ b/wormhole/gpu/src/operations/quotient/tests.rs @@ -157,7 +157,7 @@ fn zero_padding_is_not_emitted_as_horner_work() { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn quotient_matches_cpu_gates_and_permutation_equations_on_arbitrary_rows() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; for challenges in [2, 3] { let mut config = CircuitConfig::standard_recursion_config(); config.num_challenges = challenges; diff --git a/wormhole/gpu/src/operations/scan/tests.rs b/wormhole/gpu/src/operations/scan/tests.rs index f8c5676f..bca3d16a 100644 --- a/wormhole/gpu/src/operations/scan/tests.rs +++ b/wormhole/gpu/src/operations/scan/tests.rs @@ -6,7 +6,7 @@ use plonky2::field::types::Field; #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn hierarchical_prefix_products_match_cpu_including_zeros() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; // The last shape requires three scan levels, not just one carry pass. for rows in [1, 255, 256, 257, 65537] { let columns = 2; diff --git a/wormhole/gpu/src/operations/tests.rs b/wormhole/gpu/src/operations/tests.rs index 449d10cf..c5981b4b 100644 --- a/wormhole/gpu/src/operations/tests.rs +++ b/wormhole/gpu/src/operations/tests.rs @@ -42,7 +42,7 @@ fn mds_accumulation_bound_is_checked() { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn goldilocks_arithmetic_matches_cpu_at_boundaries_and_arbitrary_values() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let mut a = samples(64, 7); a[..6].copy_from_slice(&[ F::ZERO, @@ -90,7 +90,7 @@ fn goldilocks_arithmetic_matches_cpu_at_boundaries_and_arbitrary_values() -> Res #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn fft_and_inverse_match_cpu_with_padding_and_cosets() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let kernels = Arc::new(FftKernels::prepare(&context)?); for (degree, rows) in [(1, 1), (1, 8), (8, 8), (8, 64), (64, 64)] { for shift in [F::ONE, F::coset_shift()] { @@ -136,7 +136,7 @@ fn fft_and_inverse_match_cpu_with_padding_and_cosets() -> Result<()> { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn poseidon_commitments_match_cpu_layout_caps_and_bit_reversal() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let kernels = Arc::new(PoseidonKernels::prepare(&context)?); for width in [1, 7, 8, 9, 17, 143] { let rows = 16usize; diff --git a/wormhole/gpu/src/runtime.rs b/wormhole/gpu/src/runtime.rs index 01fb77c6..4ce76b9b 100644 --- a/wormhole/gpu/src/runtime.rs +++ b/wormhole/gpu/src/runtime.rs @@ -1440,7 +1440,7 @@ mod tests { use plonky2::plonk::circuit_data::CircuitConfig; use plonky2::plonk::config::PoseidonGoldilocksConfig; - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let builder = CircuitBuilder::::new(CircuitConfig::standard_recursion_config()); let circuit = builder.build::(); @@ -1476,7 +1476,7 @@ mod tests { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn hardware_upload_copy_export_and_reuse() -> Result<()> { - let mut context = futures::executor::block_on(DeviceContext::new())?; + let mut context = pollster::block_on(DeviceContext::new())?; let mut workspace = ProofWorkspace::prepare(&context, &[4, 2])?; assert_eq!(workspace.allocated_bytes(), 48); let source = workspace.buffer(0)?; @@ -1593,7 +1593,7 @@ mod tests { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn hardware_fixed_data_is_shared_and_bindings_are_checked() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let values = [ GoldilocksField::from_canonical_u64(7), GoldilocksField::from_canonical_u64(11), @@ -1640,7 +1640,7 @@ mod tests { let first_allocation = first.buffer(0)?; let first_output = first_allocation.slice(0..2)?; let second_output = second.buffer(0)?; - let other_device = futures::executor::block_on(DeviceContext::new())?; + let other_device = pollster::block_on(DeviceContext::new())?; let foreign_fixed = other_device.prepare_fixed(&values)?; let foreign_params = other_device.prepare_params([1, 0, 0, 0])?; let saved_bindings; @@ -1799,7 +1799,7 @@ mod tests { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn hardware_read_only_layout_rejects_a_writing_shader() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let result = PreparedKernel::prepare(&context, "@group(0) @binding(0) var fixed: array;\n@compute @workgroup_size(1) fn main() { fixed[0] = 0lu; }", &[FieldBindingSpec { access: BindingAccess::Read, min_elements: 1 }], "intentional fixed-write failure"); @@ -1814,7 +1814,7 @@ mod tests { #[test] #[ignore = "requires a hardware GPU with native u64 shader support"] fn hardware_validation_error_invalidates_context_without_panicking() -> Result<()> { - let context = futures::executor::block_on(DeviceContext::new())?; + let context = pollster::block_on(DeviceContext::new())?; let mut workspace = ProofWorkspace::prepare(&context, &[2])?; // Invalid MAP_READ usage provokes a real uncaptured wgpu validation // error without exhausting the machine's memory or touching its data. diff --git a/wormhole/gpu/src/runtime/timestamps.rs b/wormhole/gpu/src/runtime/timestamps.rs index 36d68123..270112f0 100644 --- a/wormhole/gpu/src/runtime/timestamps.rs +++ b/wormhole/gpu/src/runtime/timestamps.rs @@ -236,12 +236,12 @@ mod tests { #[test] #[ignore = "requires hardware timestamp queries and native u64 shaders"] fn timestamp_resources_survive_cancel_capacity_errors_dropped_tokens_and_reuse() -> Result<()> { - let ordinary = futures::executor::block_on(DeviceContext::new())?; + let ordinary = pollster::block_on(DeviceContext::new())?; assert!(ProofWorkspace::prepare(&ordinary, &[1])? .timestamps .is_none()); drop(ordinary); - let context = futures::executor::block_on(DeviceContext::with_options(DeviceOptions { + let context = pollster::block_on(DeviceContext::with_options(DeviceOptions { timestamps: true, timestamp_dispatch_capacity: 1, }))?; diff --git a/wormhole/memprof/Cargo.toml b/wormhole/memprof/Cargo.toml index f66622cb..e5272b87 100644 --- a/wormhole/memprof/Cargo.toml +++ b/wormhole/memprof/Cargo.toml @@ -9,7 +9,7 @@ version.workspace = true [dependencies] anyhow = { workspace = true, features = ["std"] } -clap = { version = "=4.6.1", features = ["derive"] } +clap = { version = "=4.6.7", features = ["derive"] } qp-plonky2 = { workspace = true, features = ["default"] } rayon = "=1.12.0" wormhole-aggregator = { package = "qp-wormhole-aggregator", version = "=4.4.0", path = "../aggregator", default-features = false, features = [ diff --git a/wormhole/tests/Cargo.toml b/wormhole/tests/Cargo.toml index 0f5d1b11..42ba7c9e 100644 --- a/wormhole/tests/Cargo.toml +++ b/wormhole/tests/Cargo.toml @@ -14,7 +14,7 @@ bench = [] anyhow = { workspace = true } circuit-builder = { package = "qp-wormhole-circuit-builder", version = "=4.4.0", path = "../circuit-builder" } hex = { workspace = true } -libc = "=0.2.186" +libc = "=0.2.191" qp-plonky2 = { workspace = true, default-features = true } qp-wormhole-inputs = { version = "=4.4.0", path = "../inputs" } rand = { version = "=0.9.4", default-features = false, features = [ From a9206581944e6a6b1cc556f900da86b1c57fe0f6 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 10 Nov 2026 11:03:40 +0000 Subject: [PATCH 3/5] Consolidate on rand 0.10.1 (the version qp-plonky2 pins) and bump proptest to 1.12 The tree carried three rand lineages: 0.8 (aggregator, circuit-builder, common), 0.9 (tests + proptest 1.11) and 0.10 (qp-plonky2). Moving our code to 0.10 removes rand 0.8/0.9, rand_core 0.6/0.9, rand_chacha 0.3/0.9, getrandom 0.2/0.3, ppv-lite86, wasi and r-efi 5 from the build. API changes: thread_rng() -> rng(), Rng -> RngExt, gen() -> random(). StdRng output is unchanged (rand 0.10 switched the backing crate to chacha20 but kept the stream), so the seeded test vectors are unaffected. proptest 1.12 is the first release on rand 0.10. Its bit-vec 0.10 dependency has weak features that make borsh/toml_edit appear in Cargo.lock without ever being built (cargo tree --target all confirms). Co-authored-by: illuzen --- Cargo.lock | 257 +++++++++--------- wormhole/aggregator/Cargo.toml | 2 +- wormhole/aggregator/src/dummy_proof.rs | 4 +- .../circuit/tests/circuit_logic.rs | 6 +- .../src/private_batch/prover/lib.rs | 2 +- wormhole/circuit-builder/Cargo.toml | 2 +- wormhole/tests/Cargo.toml | 6 +- wormhole/tests/src/prover/prover_tests.rs | 8 +- 8 files changed, 143 insertions(+), 144 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2f110378..34ff554b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,7 +145,16 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ - "bit-vec", + "bit-vec 0.8.0", +] + +[[package]] +name = "bit-set" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56d87354e4229f54a44f7bf2435906a4656dba36026ab6eaca629a2c436a691c" +dependencies = [ + "bit-vec 0.10.1", ] [[package]] @@ -154,6 +163,16 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +[[package]] +name = "bit-vec" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5727b15fa97d4f4fee0a3b7c3d550ed0269f54329207b86388de918604e31269" +dependencies = [ + "borsh", + "serde", +] + [[package]] name = "bitflags" version = "2.12.1" @@ -166,6 +185,30 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +[[package]] +name = "borsh" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "553c5d846a6ba5150c65e3b1b8ec073bcf1abc20f9b7220de384a4443ea4e20a" +dependencies = [ + "borsh-derive", + "bytes", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cdfe656708a01f89b451a7d36466e6fe6c414de0aa18fc54f864f6f9ca9f56" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 3.0.6", +] + [[package]] name = "bumpalo" version = "3.20.3" @@ -198,6 +241,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "bytes" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" + [[package]] name = "cast" version = "0.3.0" @@ -224,7 +273,7 @@ checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" dependencies = [ "cfg-if", "cpufeatures", - "rand_core 0.10.1", + "rand_core", ] [[package]] @@ -336,6 +385,12 @@ dependencies = [ "libc", ] +[[package]] +name = "core_detect" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" + [[package]] name = "cpufeatures" version = "0.3.0" @@ -554,29 +609,6 @@ dependencies = [ "slab", ] -[[package]] -name = "getrandom" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "libc", - "r-efi 5.3.0", - "wasip2", -] - [[package]] name = "getrandom" version = "0.4.2" @@ -585,8 +617,8 @@ checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", "libc", - "r-efi 6.0.0", - "rand_core 0.10.1", + "r-efi", + "rand_core", "wasip2", "wasip3", ] @@ -904,7 +936,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8" dependencies = [ "arrayvec", - "bit-set", + "bit-set 0.8.0", "bitflags", "cfg-if", "cfg_aliases", @@ -1121,15 +1153,6 @@ dependencies = [ "portable-atomic", ] -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - [[package]] name = "prettyplease" version = "0.2.37" @@ -1150,6 +1173,15 @@ dependencies = [ "uint", ] +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit", +] + [[package]] name = "proc-macro2" version = "1.0.106" @@ -1167,16 +1199,17 @@ checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" [[package]] name = "proptest" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" +checksum = "b8530004ccb15eae51c7e40009fbe317f341f804db54dc033eec1c50be28cfa0" dependencies = [ - "bit-set", - "bit-vec", + "bit-set 0.11.1", + "bit-vec 0.10.1", "bitflags", + "chacha20", + "core_detect", "num-traits", - "rand 0.9.4", - "rand_chacha 0.9.0", + "rand", "rand_xorshift", "regex-syntax", "rusty-fork", @@ -1256,7 +1289,7 @@ dependencies = [ "qp-plonky2-field", "qp-plonky2-verifier", "qp-poseidon-core", - "rand 0.10.1", + "rand", "serde", "static_assertions", "unroll", @@ -1278,7 +1311,7 @@ dependencies = [ "num", "plonky2_util", "qp-plonky2-field", - "rand 0.10.1", + "rand", "serde", "static_assertions", "unroll", @@ -1294,7 +1327,7 @@ dependencies = [ "itertools 0.13.0", "num", "plonky2_util", - "rand 0.10.1", + "rand", "rustc_version", "serde", "static_assertions", @@ -1347,7 +1380,7 @@ dependencies = [ "qp-wormhole-inputs", "qp-wormhole-prover", "qp-zk-circuits-common", - "rand 0.8.6", + "rand", "rayon", "serde", "serde_json", @@ -1379,7 +1412,7 @@ dependencies = [ "qp-wormhole-circuit", "qp-wormhole-prover", "qp-zk-circuits-common", - "rand 0.8.6", + "rand", "test-helpers", ] @@ -1453,39 +1486,12 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - [[package]] name = "r-efi" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" -[[package]] -name = "rand" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", -] - [[package]] name = "rand" version = "0.10.1" @@ -1493,46 +1499,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ "chacha20", - "getrandom 0.4.2", - "rand_core 0.10.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.17", -] - -[[package]] -name = "rand_core" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" -dependencies = [ - "getrandom 0.3.4", + "getrandom", + "rand_core", ] [[package]] @@ -1543,11 +1511,11 @@ checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" [[package]] name = "rand_xorshift" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +checksum = "60aa6af80be32871323012e02e6e65f8a7cc7890931ae421d217ad8fe0df2ccf" dependencies = [ - "rand_core 0.9.5", + "rand_core", ] [[package]] @@ -1812,7 +1780,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom", "once_cell", "rustix", "windows-sys", @@ -1845,7 +1813,7 @@ dependencies = [ "qp-wormhole-prover", "qp-wormhole-verifier", "qp-zk-circuits-common", - "rand 0.9.4", + "rand", "test-helpers", ] @@ -1897,6 +1865,36 @@ dependencies = [ "serde_json", ] +[[package]] +name = "toml_datetime" +version = "1.1.3+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173f25c883cd2176a2d8212155638c0a60d484a9d84546d270866f40f56b6e49" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.25.19+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd43688c4858d7264ae1cf9a9f874a67c3feb74a883b1cd7bebd6a4ea8307218" +dependencies = [ + "indexmap", + "toml_datetime", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.1.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa693a8032d7e1cada7d0041e96126df243179ff061456783ac7f12bda4744c" +dependencies = [ + "winnow", +] + [[package]] name = "tracing" version = "0.1.44" @@ -2004,12 +2002,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - [[package]] name = "wasip2" version = "1.0.3+wasi-0.2.9" @@ -2157,8 +2149,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27a75de515543b1897b26119f93731b385a19aea165a1ec5f0e3acecc229cae7" dependencies = [ "arrayvec", - "bit-set", - "bit-vec", + "bit-set 0.8.0", + "bit-vec 0.8.0", "bitflags", "bytemuck", "cfg_aliases", @@ -2402,6 +2394,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "winnow" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3b93199df0ab874cdf0c6a94f0a0dc3423fe41f1cafb62b8bd7b1deb277aef" +dependencies = [ + "memchr", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/wormhole/aggregator/Cargo.toml b/wormhole/aggregator/Cargo.toml index 275760e9..c5807810 100644 --- a/wormhole/aggregator/Cargo.toml +++ b/wormhole/aggregator/Cargo.toml @@ -13,7 +13,7 @@ hex = "=0.4.3" qp-plonky2 = { workspace = true } qp-wormhole-gpu = { version = "=4.4.0", path = "../gpu", optional = true, features = ["constraint-export"] } qp-wormhole-inputs = { version = "=4.4.0", path = "../inputs" } -rand = "=0.8.6" +rand = { version = "=0.10.1", default-features = false, features = ["thread_rng"] } serde = { version = "=1.0.228", features = ["derive"] } serde_json = "=1.0.154" tracing = { workspace = true, optional = true } diff --git a/wormhole/aggregator/src/dummy_proof.rs b/wormhole/aggregator/src/dummy_proof.rs index 635a5efb..e51b7c05 100644 --- a/wormhole/aggregator/src/dummy_proof.rs +++ b/wormhole/aggregator/src/dummy_proof.rs @@ -24,7 +24,7 @@ use anyhow::Result; use plonky2::plonk::circuit_data::CommonCircuitData; use plonky2::plonk::proof::ProofWithPublicInputs; use qp_wormhole_inputs::PublicCircuitInputs; -use rand::Rng; +use rand::RngExt; use wormhole_circuit::inputs::{CircuitInputs, PrivateCircuitInputs}; use wormhole_circuit::unspendable_account::UnspendableAccount; use zk_circuits_common::circuit::{C, D, F}; @@ -157,7 +157,7 @@ pub fn build_dummy_circuit_inputs() -> Result { /// Generate a random 32-byte nullifier preimage for dummy proofs. /// The circuit will hash this to produce the actual nullifier. pub(crate) fn generate_random_nullifier_preimage() -> BytesDigest { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); loop { let mut nullifier = [0u8; 32]; rng.fill(&mut nullifier); diff --git a/wormhole/aggregator/src/private_batch/circuit/tests/circuit_logic.rs b/wormhole/aggregator/src/private_batch/circuit/tests/circuit_logic.rs index ddb4a581..93bd97d3 100644 --- a/wormhole/aggregator/src/private_batch/circuit/tests/circuit_logic.rs +++ b/wormhole/aggregator/src/private_batch/circuit/tests/circuit_logic.rs @@ -15,7 +15,7 @@ use plonky2::{ }; use qp_wormhole_inputs::{BytesDigest, PrivateBatchShape, WithdrawalOutput}; use rand::rngs::StdRng; -use rand::{Rng, SeedableRng}; +use rand::{RngExt, SeedableRng}; use zk_circuits_common::circuit::{ wormhole_leaf_circuit_config, wormhole_private_batch_circuit_config, C, D, F, @@ -106,7 +106,7 @@ fn build_private_batch( fn deterministic_dummy_nullifier_pre_images(n: usize) -> Vec<[F; 4]> { let mut rng = StdRng::from_seed([77u8; 32]); (0..n) - .map(|_| core::array::from_fn(|_| F::from_canonical_u64(rng.gen::() as u64))) + .map(|_| core::array::from_fn(|_| F::from_canonical_u64(rng.random::() as u64))) .collect() } @@ -482,7 +482,7 @@ fn recursive_aggregation_tree() { let block = block_hash(0); let inputs: Vec = (0..SHAPE.num_leaf_proofs) - .map(|_| rng.gen::() >> 4) + .map(|_| rng.random::() >> 4) .collect(); let proofs: Vec<_> = inputs .iter() diff --git a/wormhole/aggregator/src/private_batch/prover/lib.rs b/wormhole/aggregator/src/private_batch/prover/lib.rs index 0d18e8ad..3d054e82 100644 --- a/wormhole/aggregator/src/private_batch/prover/lib.rs +++ b/wormhole/aggregator/src/private_batch/prover/lib.rs @@ -388,7 +388,7 @@ impl PrivateBatchProver { } outputs.resize(self.shape.num_exit_slots, WithdrawalOutput::default()); - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); // Uniformly shuffle proofs to hide dummy positions. The circuit selects its block // reference from the first non-dummy slot in-circuit, so no position is special. diff --git a/wormhole/circuit-builder/Cargo.toml b/wormhole/circuit-builder/Cargo.toml index a5009c09..020003f3 100644 --- a/wormhole/circuit-builder/Cargo.toml +++ b/wormhole/circuit-builder/Cargo.toml @@ -18,7 +18,7 @@ zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", pa anyhow = { workspace = true, features = ["std"] } clap = { version = "=4.6.7", features = ["derive"] } qp-plonky2 = { workspace = true, features = ["default"] } -rand = "=0.8.6" +rand = { version = "=0.10.1", default-features = false, features = ["thread_rng"] } wormhole-aggregator = { package = "qp-wormhole-aggregator", version = "=4.4.0", path = "../aggregator", default-features = false, features = [ "std", ] } diff --git a/wormhole/tests/Cargo.toml b/wormhole/tests/Cargo.toml index 42ba7c9e..54378972 100644 --- a/wormhole/tests/Cargo.toml +++ b/wormhole/tests/Cargo.toml @@ -17,9 +17,7 @@ hex = { workspace = true } libc = "=0.2.191" qp-plonky2 = { workspace = true, default-features = true } qp-wormhole-inputs = { version = "=4.4.0", path = "../inputs" } -rand = { version = "=0.9.4", default-features = false, features = [ - "thread_rng", -] } +rand = { version = "=0.10.1", default-features = false, features = ["thread_rng"] } test-helpers = { path = "./test-helpers" } wormhole-aggregator = { package = "qp-wormhole-aggregator", version = "=4.4.0", path = "../aggregator", features = ["no_zk"] } wormhole-circuit = { package = "qp-wormhole-circuit", version = "=4.4.0", path = "../circuit", default-features = true } @@ -28,7 +26,7 @@ wormhole-verifier = { package = "qp-wormhole-verifier", version = "=4.4.0", path zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", path = "../../common" } [dev-dependencies] -proptest = "=1.11.0" +proptest = "=1.12.0" [lints] workspace = true diff --git a/wormhole/tests/src/prover/prover_tests.rs b/wormhole/tests/src/prover/prover_tests.rs index be313dab..9417b2c4 100644 --- a/wormhole/tests/src/prover/prover_tests.rs +++ b/wormhole/tests/src/prover/prover_tests.rs @@ -241,7 +241,7 @@ fn verify_proof_native( #[test] fn test_random_tree_proof_native_verification() { use rand::rngs::StdRng; - use rand::{Rng, SeedableRng}; + use rand::{RngExt, SeedableRng}; // Use a seeded RNG for reproducibility let mut rng = StdRng::seed_from_u64(12345); @@ -302,7 +302,7 @@ fn with_genuine_block_hash(mut inputs: CircuitInputs) -> CircuitInputs { #[test] fn test_random_tree_circuit_verification() { use rand::rngs::StdRng; - use rand::{Rng, SeedableRng}; + use rand::{RngExt, SeedableRng}; use test_helpers::block_header::{ DEFAULT_BLOCK_NUMBERS, DEFAULT_DIGESTS, DEFAULT_EXTRINSICS_ROOTS, DEFAULT_STATE_ROOTS, }; @@ -412,7 +412,7 @@ fn test_random_tree_circuit_verification() { #[test] fn test_depth_2_tree_circuit_verification() { use rand::rngs::StdRng; - use rand::{Rng, SeedableRng}; + use rand::{RngExt, SeedableRng}; use test_helpers::block_header::{ DEFAULT_BLOCK_NUMBERS, DEFAULT_DIGESTS, DEFAULT_EXTRINSICS_ROOTS, DEFAULT_STATE_ROOTS, }; @@ -505,7 +505,7 @@ fn test_depth_2_tree_circuit_verification() { #[test] fn test_depth_3_tree_circuit_verification() { use rand::rngs::StdRng; - use rand::{Rng, SeedableRng}; + use rand::{RngExt, SeedableRng}; use test_helpers::block_header::{ DEFAULT_BLOCK_NUMBERS, DEFAULT_DIGESTS, DEFAULT_EXTRINSICS_ROOTS, DEFAULT_STATE_ROOTS, }; From 40b323452ed2b46a90ff3709fccf77d4a29601d8 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 10 Nov 2026 11:04:53 +0000 Subject: [PATCH 4/5] cargo update: refresh transitive deps; replaces yanked chacha20 0.10.0 Lockfile shrinks from 265 to 246 packages (the wit-bindgen/wasm-encoder tooling chain behind old wasip2/wasip3 drops out). Exact-pinned direct deps and everything qp-plonky2 pins are unchanged. Co-authored-by: illuzen --- Cargo.lock | 402 ++++++++++++++++------------------------------------- 1 file changed, 116 insertions(+), 286 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 34ff554b..94d23b19 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16,9 +16,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" dependencies = [ "memchr", ] @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.12.1" +version = "2.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" [[package]] name = "block" @@ -206,7 +206,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.10", ] [[package]] @@ -232,7 +232,7 @@ checksum = "6a1f896587b6f2c069c73d2f0913e2d590c3990285cd2f0b6aa02b786b4c679c" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.10", ] [[package]] @@ -255,9 +255,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cfg-if" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" [[package]] name = "cfg_aliases" @@ -267,9 +267,9 @@ checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" [[package]] name = "chacha20" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" dependencies = [ "cfg-if", "cpufeatures", @@ -334,14 +334,14 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.10", ] [[package]] name = "clap_lex" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" [[package]] name = "codespan-reporting" @@ -393,9 +393,9 @@ checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" [[package]] name = "cpufeatures" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" dependencies = [ "libc", ] @@ -442,9 +442,9 @@ checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] name = "crossbeam-deque" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -452,18 +452,18 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.20" +version = "0.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.21" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" [[package]] name = "crunchy" @@ -482,9 +482,9 @@ dependencies = [ [[package]] name = "either" -version = "1.16.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" +checksum = "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be" [[package]] name = "env_filter" @@ -511,9 +511,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826" [[package]] name = "errno" @@ -527,9 +527,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" [[package]] name = "fixed-hash" @@ -576,7 +576,7 @@ checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.10", ] [[package]] @@ -611,16 +611,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" dependencies = [ "cfg-if", "libc", "r-efi", "rand_core", - "wasip2", - "wasip3", ] [[package]] @@ -717,9 +715,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" [[package]] name = "hex" @@ -733,22 +731,14 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "indexmap" -version = "2.14.0" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" dependencies = [ "equivalent", "hashbrown 0.17.1", - "serde", - "serde_core", ] [[package]] @@ -788,16 +778,17 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +checksum = "3bd1574e617a9a6c1f8f8181bd7e841e1f20e4277607ef28945765188d6284d4" [[package]] name = "jiff" -version = "0.2.28" +version = "0.2.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4603d3033e49e2b0e31229fcab20a5d40089c607d975cd9c80551dc69eed9102" +checksum = "fefca06093eeaed707a905795e68206da0edca4edef23d2a3997a3ddbee462aa" dependencies = [ + "jiff-core", "jiff-static", "log", "portable-atomic", @@ -805,26 +796,35 @@ dependencies = [ "serde_core", ] +[[package]] +name = "jiff-core" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a24020db0ee88d1c681d677681bd31f9f4ea189a455425223d52ce4f1508aa" +dependencies = [ + "log", +] + [[package]] name = "jiff-static" -version = "0.2.28" +version = "0.2.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "782d32378dddf207193ac91cefb848ad41abb58195c95168e1291227a0832b47" +checksum = "41d3213549742662eea1a18e6c5af9be5dfbabeb7611ab71356a54928ec398f0" dependencies = [ + "jiff-core", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] name = "js-sys" -version = "0.3.99" +version = "0.3.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11" +checksum = "8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a" dependencies = [ "cfg-if", "futures-util", - "once_cell", "wasm-bindgen", ] @@ -844,12 +844,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb" -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "libc" version = "0.2.191" @@ -880,9 +874,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litrs" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +checksum = "4744e383959f0db86ede514b809b1c53251889093803c05267acc7d4e7030d70" [[package]] name = "lock_api" @@ -910,9 +904,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.1" +version = "2.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "metal" @@ -971,9 +965,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" dependencies = [ "num-integer", "num-traits", @@ -990,20 +984,19 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.46" +version = "0.1.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b" dependencies = [ "num-traits", ] [[package]] name = "num-iter" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -1062,9 +1055,9 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "ordered-float" -version = "5.5.0" +version = "5.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c9e0d9b23589f26070720bac724174bfec1083e82f7854cdd0267518343c0" +checksum = "7f59006ce1e204c30956638535b74d317bca99477b9356dfaec54c37f6f600ab" dependencies = [ "num-traits", ] @@ -1140,29 +1133,19 @@ checksum = "bc6355899e1c9462875b6757c79f3caa011a1fdae12bbb1a2e72dd1f234f8336" [[package]] name = "portable-atomic" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" [[package]] name = "portable-atomic-util" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" dependencies = [ "portable-atomic", ] -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.117", -] - [[package]] name = "primitive-types" version = "0.10.1" @@ -1184,9 +1167,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -1479,9 +1462,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.45" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -1555,9 +1538,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", @@ -1567,9 +1550,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.14" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" dependencies = [ "aho-corasick", "memchr", @@ -1578,9 +1561,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "renderdoc-sys" @@ -1605,9 +1588,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.4" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +checksum = "e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa" dependencies = [ "bitflags", "errno", @@ -1618,9 +1601,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "rusty-fork" @@ -1682,7 +1665,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -1715,9 +1698,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" -version = "1.16.2" +version = "1.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" +checksum = "149309498a5f7334b12ddae0cad8aba81ce785fe91755068867e017cf98fee46" [[package]] name = "spirv" @@ -1753,9 +1736,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" dependencies = [ "proc-macro2", "quote", @@ -1764,9 +1747,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.6" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +checksum = "4ae9ccbea3a7b0b09443036490c8f34a8b1b760fd345e5c0dae0aac718faea79" dependencies = [ "proc-macro2", "quote", @@ -1834,7 +1817,7 @@ checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.10", ] [[package]] @@ -1945,21 +1928,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.24" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" [[package]] name = "unicode-width" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +checksum = "ca718471876992059f251e33aafc334346ada08042b7661dd1fe313a9bced557" [[package]] name = "unroll" @@ -2002,32 +1979,13 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "wasip2" -version = "1.0.3+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" -dependencies = [ - "wit-bindgen 0.57.1", -] - -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen 0.51.0", -] - [[package]] name = "wasm-bindgen" -version = "0.2.122" +version = "0.2.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409" +checksum = "a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c" dependencies = [ "cfg-if", - "once_cell", "rustversion", "wasm-bindgen-macro", "wasm-bindgen-shared", @@ -2035,9 +1993,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.122" +version = "0.2.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6" +checksum = "6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2045,65 +2003,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.122" +version = "0.2.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e" +checksum = "2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn 3.0.10", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.122" +version = "0.2.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437" +checksum = "3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e" dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap", - "wasm-encoder", - "wasmparser", -] - -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags", - "hashbrown 0.15.5", - "indexmap", - "semver", -] - [[package]] name = "web-sys" -version = "0.3.99" +version = "0.3.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436" +checksum = "d7d179596ff5ec0f6de4db64d54011bde6289cc49603d3a6e4ce3f329207ab88" dependencies = [ "js-sys", "wasm-bindgen", @@ -2282,7 +2206,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -2293,7 +2217,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -2403,100 +2327,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags", - "indexmap", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] - [[package]] name = "wormhole-memprof" version = "4.4.0" @@ -2513,22 +2343,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.50" +version = "0.8.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1" +checksum = "e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.50" +version = "0.8.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639" +checksum = "863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -2539,6 +2369,6 @@ checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879" [[package]] name = "zmij" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" From 9e7367a56cbcae2eafc6fe625193879f74531af4 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 10 Nov 2026 11:35:25 +0000 Subject: [PATCH 5/5] aggregator: remove the no-op multithread feature Its rayon code paths were removed in #94; parallelism comes from qp-plonky2/parallel. Downstream manifests enabling the feature need to drop it. Co-authored-by: illuzen --- wormhole/aggregator/Cargo.toml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/wormhole/aggregator/Cargo.toml b/wormhole/aggregator/Cargo.toml index c5807810..ddc5bec4 100644 --- a/wormhole/aggregator/Cargo.toml +++ b/wormhole/aggregator/Cargo.toml @@ -35,12 +35,8 @@ zk-circuits-common = { package = "qp-zk-circuits-common", version = "=4.4.0", pa wormhole-circuit-builder = { package = "qp-wormhole-circuit-builder", path = "../circuit-builder" } [features] -default = ["multithread", "std"] +default = ["std"] gpu = ["dep:qp-wormhole-gpu", "dep:tracing", "std"] -# No-op: the rayon code paths behind it were removed in #94 and parallelism -# comes from `qp-plonky2/parallel`. Kept so downstream manifests that enable it -# keep resolving. -multithread = [] no_zk = [] profile = ["qp-plonky2/rand", "qp-plonky2/timing", "std"] std = [ @@ -69,4 +65,4 @@ required-features = ["gpu"] [[example]] name = "public_batch_compare" -required-features = ["gpu", "multithread"] +required-features = ["gpu"]