apollo_starknet_os_program,starknet_os: add the Cairo0 proof-fact fold tree - #15093
Conversation
PR SummaryMedium Risk Overview
Reviewed by Cursor Bugbot for commit 6c70dbe. Bugbot is set up for automated code reviews on this repo. Configure here. |
89fb31b to
f3a733e
Compare
f3a733e to
151d20a
Compare
151d20a to
6b6cc46
Compare
6b6cc46 to
42977ca
Compare
…d tree Add the fold-tree layer above the leaf digest to proof_fact_fold.cairo: fold_block_proof_facts folds a block's recorded proof-fact references into the block's root fold entry (leaf entries, pairwise folding with a carried trailing entry, single-transaction self-fold), and compute_fold_digest computes the digest the Cairo circuit verifier outputs for that entry. Tested for bit-exact agreement with the Rust mirror across tree shapes exercising the pairing and carry rules. The fold is not yet reachable from the OS program; the OS output wiring lands separately. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XmPJM3Wph4QLmFmhcxVsh4
42977ca to
6c70dbe
Compare
Fourth PR of the privacy proof-fact fold stack. Adds the fold tree above the leaf digest in Cairo0:
fold_block_proof_factsfolds a block'sProofFactsReferencearray into the block's root fold entry (leaf entries, pairwise folding with a carried trailing entry, single-transaction self-fold), andcompute_fold_digestcomputes the digest the Cairo circuit verifier outputs for that entry. Still not reachable from the OS program — the OS output wiring lands in #15064.Tested for bit-exact agreement with the Rust mirror across tree shapes exercising the pairing and carry rules (N = 1, 2, 3, 4, 5, 7).
Stack: leaf digest (#15090) ← rust tree fold (#15091) ← cairo leaf digest (#15092) ← this PR ← OS output wiring (#15064) ← registry pin (#15086) ← verifier task (#15088).
🤖 Generated with Claude Code
https://claude.ai/code/session_01XmPJM3Wph4QLmFmhcxVsh4
Generated by Claude Code