Carry each node's preprocessed root in PackedNode#392
Carry each node's preprocessed root in PackedNode#392YairVaknin-starkware wants to merge 1 commit into
Conversation
PR SummaryMedium Risk Overview This lets the unpacker use each node’s own root against a supported-roots list instead of inferring roots from node role. Reviewed by Cursor Bugbot for commit ae52f97. Bugbot is set up for automated code reviews on this repo. Configure here. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## yairv/retarget_canonical_to_leaf_bl #392 +/- ##
=======================================================================
+ Coverage 65.47% 65.59% +0.11%
=======================================================================
Files 45 45
Lines 5886 5906 +20
=======================================================================
+ Hits 3854 3874 +20
Misses 2032 2032
🚀 New features to boost your workflow:
|
2e6febc to
e833b2d
Compare
7eb6b56 to
a8e328f
Compare
99cb898 to
92490b4
Compare
a8e328f to
982b962
Compare
OmriEshhar1
left a comment
There was a problem hiding this comment.
@OmriEshhar1 reviewed 2 files and all commit messages, and made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on Gali-StarkWare).
982b962 to
83646a1
Compare
92490b4 to
8daaad0
Compare
OmriEshhar1
left a comment
There was a problem hiding this comment.
@OmriEshhar1 reviewed 2 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on Gali-StarkWare).
Every `PackedNode::Composite` carries the `preprocessed_root` of its node's proof (eight little-endian u32 words: the leaf circuit's for leaves, the multiverifier's for fold nodes; extracted via the new `ExtractedProofData`). The unpacker's hints stay role-agnostic this way: each node's root is looked up in the supported-roots trust list instead of being derived from the node's role, so admitting new circuit types is just appending to that list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
8daaad0 to
cde498b
Compare
83646a1 to
ae52f97
Compare
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare reviewed 2 files and all commit messages, and made 1 comment.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on YairVaknin-starkware).
crates/stwo_run_and_prove_recursive_tree/src/fold.rs line 174 at r3 (raw file):
struct ExtractedProofData { preprocessed_root: HashValue<QM31>, root_words: [u32; N_RESERVED],
Why do we need both?
Code quote:
preprocessed_root: HashValue<QM31>,
root_words: [u32; N_RESERVED],
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare made 1 comment.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on YairVaknin-starkware).
Every
PackedNode::Compositecarries thepreprocessed_rootof its node's proof (eight little-endian u32 words: the leaf circuit's for leaves, the multiverifier's for fold nodes; extracted via the newExtractedProofData). The unpacker's hints stay role-agnostic this way: each node's root is looked up in the supported-roots trust list instead of being derived from the node's role, so admitting new circuit types is just appending to that list.Stack (3/4): prove_leaf_from_files (#390) ← retarget canonical (#391) ← this ← goldens e2e (#388).
🤖 Generated with Claude Code
This change is