apollo_starknet_os_program,starknet_os: add the Cairo0 proof-fact leaf digest - #15092
Conversation
PR SummaryLow Risk Overview
Build and tests: Reviewed by Cursor Bugbot for commit 1fcfd19. Bugbot is set up for automated code reviews on this repo. Configure here. |
3893cae to
b23d2c2
Compare
f0196fe to
ed8eb88
Compare
d33ec72 to
efaa234
Compare
…f digest The Cairo0 mirror of the leaf layer: the per-transaction leaf output digest (encode_felt252s_to_u32s + blake_with_opcode over proof_facts[2:]) and the leaf-verifier / multiverifier circuit hash constants. The module is not yet reachable from the OS program; it is compiled as a standalone test program (test_programs feature), so the OS and aggregator program hashes are unchanged. Tests pin the Cairo leaf digest and constants bit-for-bit against the Rust mirror, including the felt-encoding boundaries at 2^63. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XmPJM3Wph4QLmFmhcxVsh4
efaa234 to
1fcfd19
Compare
Third PR of the privacy proof-fact fold stack. First Cairo0 piece:
proof_fact_fold.cairowith the leaf layer only —compute_leaf_output_digest(felt encoding + blake opcode) and the circuit-hash getters (dwdata tables, the stdlib_get_sigmaidiom), plus the standalone-program build wiring and the Rust↔Cairo test harness (an entry-point runner for the module's functions). Not yet reachable from the OS program.Every Cairo function is tested for bit-exact agreement with the Rust mirror, including felt-encoding boundary cases around 2^63.
Stack: leaf digest (#15090) ← rust tree fold (#15091) ← this PR ← cairo tree fold ← OS output wiring (#15064) ← registry pin (#15086) ← verifier task (#15088).
🤖 Generated with Claude Code
https://claude.ai/code/session_01XmPJM3Wph4QLmFmhcxVsh4