apollo_integration_tests: add regression tests for matching the proof generation#13952
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR SummaryLow Risk Overview Promotes the proof-flow genesis global root and STRK fee token address into shared Reviewed by Cursor Bugbot for commit cca9a48. Bugbot is set up for automated code reviews on this repo. Configure here. |
04c025a to
43deaa1
Compare
244277b to
d9603a5
Compare
43deaa1 to
f40e4a2
Compare
8c37711 to
ba0e2d8
Compare
f40e4a2 to
a47519c
Compare
ba0e2d8 to
4e73a75
Compare
a47519c to
3a3e4b1
Compare
|
Artifacts upload workflows: |
Yoni-Starkware
left a comment
There was a problem hiding this comment.
@Yoni-Starkware reviewed 3 files and all commit messages, and made 2 comments.
Reviewable status: 3 of 4 files reviewed, 2 unresolved discussions (waiting on einat-starkware).
crates/starknet_os_flow_tests/src/virtual_os_test.rs line 332 at r2 (raw file):
EXPECTED_PROOF_FLOW_STRK_FEE_TOKEN_ADDRESS .assert_eq(&virtual_os_strk_fee_token_address.to_hex_string()); }
WDYT about moving EXPECTED_STRK_FEE_TOKEN_ADDRESS to a shared location like blockifier_test_utils?
We already have have a test for it here:
Code quote:
fn proof_flow_chain_info_matches_virtual_os_test() {
let virtual_os_strk_fee_token_address = block_context_for_flow_tests(BlockNumber(0), false)
.chain_info()
.fee_token_addresses
.strk_fee_token_address;
EXPECTED_PROOF_FLOW_STRK_FEE_TOKEN_ADDRESS
.assert_eq(&virtual_os_strk_fee_token_address.to_hex_string());
}crates/starknet_os_flow_tests/src/virtual_os_test.rs line 350 at r2 (raw file):
.global_root(); EXPECTED_PROOF_FLOW_GENESIS_GLOBAL_ROOT.assert_eq(&virtual_os_global_root.0.to_hex_string()); }
Regarding what we talked about in Slack: your proof regression test should also store these values and check that they match the consts.
Code quote:
/// Guards against drift between the genesis global root the proof-flow integration test seeds into
/// storage and the initial global root produced by the virtual OS test pipeline. Run with
/// `UPDATE_EXPECT=1` to refresh the constant in `apollo_integration_tests::state_reader`, then
/// regenerate the proof fixtures by running `cargo +nightly-2025-07-14 test -p
/// starknet_os_flow_tests --features starknet_transaction_prover/stwo_proving --release
/// generate_proof_fixtures -- --ignored`.
#[tokio::test(flavor = "multi_thread")]
async fn proof_flow_global_root_matches_virtual_os_test() {
let (initial_state_data, []) =
create_default_initial_state_data::<DictStateReader, 0>([]).await;
let virtual_os_global_root = StateRoots {
contracts_trie_root_hash: initial_state_data.initial_state.contracts_trie_root_hash,
classes_trie_root_hash: initial_state_data.initial_state.classes_trie_root_hash,
}
.global_root();
EXPECTED_PROOF_FLOW_GENESIS_GLOBAL_ROOT.assert_eq(&virtual_os_global_root.0.to_hex_string());
}3a3e4b1 to
a7317e9
Compare
563cd56 to
b9f62f9
Compare
a2666ee to
f593e4f
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f593e4f. Configure here.
f593e4f to
af159ac
Compare
einat-starkware
left a comment
There was a problem hiding this comment.
@einat-starkware made 2 comments.
Reviewable status: 2 of 10 files reviewed, 2 unresolved discussions (waiting on Yoni-Starkware).
crates/starknet_os_flow_tests/src/virtual_os_test.rs line 332 at r2 (raw file):
Previously, Yoni-Starkware (Yoni) wrote…
WDYT about moving
EXPECTED_STRK_FEE_TOKEN_ADDRESSto a shared location likeblockifier_test_utils?We already have have a test for it here:
Good idea, moved to blockifier test utils
crates/starknet_os_flow_tests/src/virtual_os_test.rs line 350 at r2 (raw file):
Previously, Yoni-Starkware (Yoni) wrote…
Regarding what we talked about in Slack: your proof regression test should also store these values and check that they match the consts.
I added a test for the allowed program hashes, is that what you mean or should I add something else?
Yoni-Starkware
left a comment
There was a problem hiding this comment.
@Yoni-Starkware reviewed 8 files and all commit messages, made 1 comment, and resolved 2 discussions.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on einat-starkware).
af159ac to
cca9a48
Compare
b9f62f9 to
a338c87
Compare
Merge activity
|
einat-starkware
left a comment
There was a problem hiding this comment.
@einat-starkware reviewed 1 file and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on einat-starkware).


No description provided.