starknet_transaction_prover,workspace: run the circuit verifier as a bootloader task - #15088
Conversation
PR SummaryMedium Risk Overview
The crate gains a direct Reviewed by Cursor Bugbot for commit 32effb4. Bugbot is set up for automated code reviews on this repo. Configure here. |
3dec722 to
984111c
Compare
5ccc8b0 to
45d2292
Compare
45d2292 to
ccdf52c
Compare
05ae64e to
2f011f1
Compare
ccdf52c to
3ea9055
Compare
2f011f1 to
c5a699f
Compare
9c77ed6 to
b628c29
Compare
207de5d to
028fc14
Compare
9aecebb to
c9f1861
Compare
028fc14 to
9898ff6
Compare
c9f1861 to
fcf4042
Compare
800f216 to
4a1bd94
Compare
fcf4042 to
377b5b4
Compare
4a1bd94 to
495f2a8
Compare
377b5b4 to
78719ea
Compare
495f2a8 to
e436fb3
Compare
78719ea to
715f6db
Compare
e436fb3 to
07a97d4
Compare
715f6db to
f99428f
Compare
07a97d4 to
71819dc
Compare
f99428f to
85939ce
Compare
71819dc to
c74489d
Compare
85939ce to
0d3dd94
Compare
c74489d to
91050c6
Compare
44b22ee to
cdf7d20
Compare
91050c6 to
8a68a55
Compare
cdf7d20 to
cd0a0ba
Compare
8a68a55 to
7403cf0
Compare
7403cf0 to
f561d1d
Compare
cd0a0ba to
d4a5279
Compare
f561d1d to
53df634
Compare
d4a5279 to
0108b56
Compare
…bootloader task Runs the privacy circuit verifier executable as a single simple bootloader task on a transaction's processed proof, parses the bootloader's output page, and checks the verifier's output digest against the verification digest recomputed from the processed proof's output digest. The fixture processed proof is the proving side's processing of the golden leaf, generated with stwo_run_and_prove_recursive_tree at proving commit b75d21f9 under the canonical_small registry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E43QxCycT6DpDJo435Ft8R
3c21ea2 to
a281d7b
Compare
ec69402 to
32effb4
Compare
|
Closing: the stack now runs the circuit verifier in Cairo, from the aggregator (#15161, #15163, #15162), instead of as a Rust bootloader task. This PR's verifier and processed-proof fixtures moved to Generated by Claude Code |
Part 4 of the single-proof verification stack. This PR closes milestone 1: a single transaction's proof is verified by the real Cairo1 circuit verifier running as a bootloader task, and the verifier's output digest is checked against the digest recomputed from the transaction's proof facts. No OS program changes.
run_circuit_verifier_task: runs the privacy circuit verifier executable as a single simple-bootloader task on the transaction's processed proof and parses the bootloader's output page ([1, 10, verifier_program_hash, digest words 0..7]).verify_circuit_verifier_task_output: checks the verifier program hash against a pinned value, then compares the verifier's output digest withcompute_verification_digestof the given processed-proof output digest.stwo_run_and_prove_recursive_treeat proving commitb75d21f9under thecanonical_smallregistry. The end-to-end test passes: bootloader-run verifier digest == digest recomputed from the transaction's proof facts. Invalid-proof, wrong-program-hash and wrong-digest paths are covered.Reading the digest from the OS output (the packed
low/highfelts andunpack_output_digest) moved to #15064.Stack (restructured):
🤖 Generated with Claude Code
https://claude.ai/code/session_01E43QxCycT6DpDJo435Ft8R