From 63a219e6adaa547132626b235b735bd7cbbffcf5 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Thu, 6 Aug 2026 11:58:09 -0300 Subject: [PATCH 1/2] drop the accidentally committed fix-acceptance.log' --- fix-acceptance.log | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 fix-acceptance.log diff --git a/fix-acceptance.log b/fix-acceptance.log deleted file mode 100644 index 9979d1f4e..000000000 --- a/fix-acceptance.log +++ /dev/null @@ -1,42 +0,0 @@ - Compiling math-cuda v0.1.0 (/private/tmp/claude-501/-Users-maurofab-workspace-lambda-vm/2dac2516-28e9-4527-bd74-8ae301c1b480/scratchpad/wt-fixer-fix/crypto/math-cuda) - Compiling stark v0.1.0 (/private/tmp/claude-501/-Users-maurofab-workspace-lambda-vm/2dac2516-28e9-4527-bd74-8ae301c1b480/scratchpad/wt-fixer-fix/crypto/stark) -warning: math-cuda@0.1.0: math-cuda: nvcc not found at /usr/local/cuda/bin/nvcc — emitting empty cubin stubs. Runtime GPU calls fall back to CPU. Install CUDA and rebuild for a working backend. - Compiling lambda-vm-prover v0.1.0 (/private/tmp/claude-501/-Users-maurofab-workspace-lambda-vm/2dac2516-28e9-4527-bd74-8ae301c1b480/scratchpad/wt-fixer-fix/prover) -warning: unused import: `math::field::element::FieldElement` - --> prover/src/tests/page_offset_forgery_poc.rs:17:5 - | -17 | use math::field::element::FieldElement; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default - -warning: unused import: `executor::vm::memory::PRIVATE_INPUT_START_INDEX` - --> prover/src/tests/page_offset_forgery_poc.rs:31:5 - | -31 | use executor::vm::memory::PRIVATE_INPUT_START_INDEX; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -warning: `lambda-vm-prover` (lib test) generated 2 warnings (run `cargo fix --lib -p lambda-vm-prover --tests` to apply 2 suggestions) - Finished `release` profile [optimized] target(s) in 25.82s - Running unittests src/lib.rs (/private/tmp/claude-501/-Users-maurofab-workspace-lambda-vm/2dac2516-28e9-4527-bd74-8ae301c1b480/scratchpad/poc-target/release/deps/lambda_vm_prover-788046ab4d7ebc70) - -running 3 tests -test tests::page_offset_forgery_poc::poc_control_honest_harness_verifies ... ok -test tests::page_offset_forgery_poc::poc_negative_control_forged_run_without_repointed_row_fails ... ok -test tests::page_offset_forgery_poc::poc_private_page_offset_forges_memory_contents ... FAILED - -failures: - ----- tests::page_offset_forgery_poc::poc_private_page_offset_forges_memory_contents stdout ---- - -thread 'tests::page_offset_forgery_poc::poc_private_page_offset_forges_memory_contents' (7472784) panicked at prover/src/tests/page_offset_forgery_poc.rs:298:5: -SOUNDNESS HOLE NOT REPRODUCED: verifier rejected the forged proof -note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace - - -failures: - tests::page_offset_forgery_poc::poc_private_page_offset_forges_memory_contents - -test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 550 filtered out; finished in 8.31s - -error: test failed, to rerun pass `-p lambda-vm-prover --lib` From 0ca6744e95a30efe293d911e76270a612f89f9dc Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Thu, 6 Aug 2026 12:03:31 -0300 Subject: [PATCH 2/2] docs(page): fix a doc comment on the wrong fn --- prover/src/tables/page.rs | 42 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/prover/src/tables/page.rs b/prover/src/tables/page.rs index fae9dbed6..6788bee08 100644 --- a/prover/src/tables/page.rs +++ b/prover/src/tables/page.rs @@ -408,6 +408,27 @@ pub fn generate_page_trace_from_dense( /// exist to force a human to ask "why did this change?" before the new /// bytes get blessed. Re-pasting on a drift failure silently launders an /// unintended table change into the verifier's compiled-in trust anchor. +pub(crate) fn static_zero_page_commitment(blowup_factor: u8) -> Option { + match blowup_factor { + 2 => Some([ + 0x7d, 0x74, 0x85, 0xf0, 0x2b, 0x74, 0xe0, 0x3f, 0x14, 0x99, 0xb3, 0xa0, 0x5f, 0x1d, + 0x6e, 0xf2, 0x21, 0xff, 0xaf, 0x24, 0x7e, 0x30, 0xb0, 0xda, 0x48, 0x79, 0xe1, 0x43, + 0xee, 0xea, 0x6a, 0x0f, + ]), + 4 => Some([ + 0x5c, 0xcc, 0x5b, 0xb1, 0xe8, 0x11, 0x91, 0x81, 0xbd, 0xdd, 0x39, 0x40, 0x77, 0x87, + 0xdc, 0x98, 0x06, 0x06, 0x8c, 0x63, 0xcd, 0xfd, 0xf1, 0xda, 0x4a, 0x55, 0x31, 0x4d, + 0x6a, 0x16, 0x18, 0xd0, + ]), + 8 => Some([ + 0xf0, 0xc0, 0x69, 0xed, 0xf8, 0x59, 0xd6, 0x56, 0x15, 0x3c, 0x2f, 0x93, 0x65, 0xd6, + 0xe9, 0xe9, 0x8e, 0xd1, 0x83, 0x94, 0xf9, 0x75, 0x59, 0xd1, 0xec, 0x16, 0xe1, 0x37, + 0xd5, 0x32, 0xd6, 0xd9, + ]), + _ => None, + } +} + /// Static OFFSET-only commitments for private-input pages, per `blowup_factor`. /// /// Same provenance, regeneration rules and drift-test protection as @@ -434,27 +455,6 @@ pub(crate) fn static_private_page_commitment(blowup_factor: u8) -> Option Option { - match blowup_factor { - 2 => Some([ - 0x7d, 0x74, 0x85, 0xf0, 0x2b, 0x74, 0xe0, 0x3f, 0x14, 0x99, 0xb3, 0xa0, 0x5f, 0x1d, - 0x6e, 0xf2, 0x21, 0xff, 0xaf, 0x24, 0x7e, 0x30, 0xb0, 0xda, 0x48, 0x79, 0xe1, 0x43, - 0xee, 0xea, 0x6a, 0x0f, - ]), - 4 => Some([ - 0x5c, 0xcc, 0x5b, 0xb1, 0xe8, 0x11, 0x91, 0x81, 0xbd, 0xdd, 0x39, 0x40, 0x77, 0x87, - 0xdc, 0x98, 0x06, 0x06, 0x8c, 0x63, 0xcd, 0xfd, 0xf1, 0xda, 0x4a, 0x55, 0x31, 0x4d, - 0x6a, 0x16, 0x18, 0xd0, - ]), - 8 => Some([ - 0xf0, 0xc0, 0x69, 0xed, 0xf8, 0x59, 0xd6, 0x56, 0x15, 0x3c, 0x2f, 0x93, 0x65, 0xd6, - 0xe9, 0xe9, 0x8e, 0xd1, 0x83, 0x94, 0xf9, 0x75, 0x59, 0xd1, 0xec, 0x16, 0xe1, 0x37, - 0xd5, 0x32, 0xd6, 0xd9, - ]), - _ => None, - } -} - /// Computes the Merkle root commitment over the LDE of PAGE precomputed columns. /// /// The commitment covers OFFSET (0..page_size-1) and INIT (from config).