Refactor Statement to keep track of component names#455
Refactor Statement to keep track of component names#455ilyalesokhin-starkware merged 1 commit intomainfrom
Conversation
PR SummaryMedium Risk Overview Updates all statement implementations and call sites (Cairo verifier, circuit AIR statement, and examples) to build/iterate components via Adds Reviewed by Cursor Bugbot for commit c8a1958. Bugbot is set up for automated code reviews on this repo. Configure here. |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare reviewed 1 file and all commit messages, and made 1 comment.
Reviewable status: 1 of 13 files reviewed, 1 unresolved discussion (waiting on ilyalesokhin-starkware and leo-starkware).
Cargo.lock line 1277 at r1 (raw file):
"circuits-stark-verifier", "expect-test", "indexmap",
Is it related? I don't see the toml change
Code quote:
"indexmap",
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare made 1 comment.
Reviewable status: 1 of 13 files reviewed, 1 unresolved discussion (waiting on ilyalesokhin-starkware and leo-starkware).
Cargo.lock line 1277 at r1 (raw file):
Previously, Gali-StarkWare wrote…
Is it related? I don't see the toml change
nvm
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare resolved 1 discussion.
Reviewable status: 1 of 13 files reviewed, all discussions resolved (waiting on leo-starkware).
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare reviewed 12 files and made 2 comments.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on ilyalesokhin-starkware and leo-starkware).
crates/circuit_air/src/statement.rs line 145 at r1 (raw file):
{ IndexMap::from([ ("eq", Box::new(CircuitEqComponent {}) as Box<dyn CircuitEval<Value>>),
Maybe eq_gate is better? Or does is require changes elsewhere?
Code quote:
"eq"
Gali-StarkWare
left a comment
There was a problem hiding this comment.
So why do we need the names?
@Gali-StarkWare made 1 comment.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on ilyalesokhin-starkware and leo-starkware).
|
I need it in the next PR, here: |
|
Previously, Gali-StarkWare wrote…
it is called eq in the infra: |
ilyalesokhin-starkware
left a comment
There was a problem hiding this comment.
@ilyalesokhin-starkware resolved 1 discussion.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on leo-starkware).
Gali-StarkWare
left a comment
There was a problem hiding this comment.
Reviewable status:
complete! all files reviewed, all discussions resolved (waiting on leo-starkware).
Gali-StarkWare
left a comment
There was a problem hiding this comment.
@Gali-StarkWare made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on leo-starkware).
Change get_components() on the Statement trait to return an IndexMap<&'static str, Box<dyn CircuitEval<Value>>> so each component carries a stable name alongside its constraint evaluator. Update all implementors (CircuitStatement, CairoStatement, SimpleStatement) and call sites accordingly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
436fadf to
c8a1958
Compare

Change get_components() on the Statement trait to return an
IndexMap<&'static str, Box<dyn CircuitEval>> so each component
carries a stable name alongside its constraint evaluator. Update all
implementors (CircuitStatement, CairoStatement, SimpleStatement) and
call sites accordingly.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com