Skip to content

Merge main-v0.14.3 into main#14427

Closed
Yoni-Starkware wants to merge 30 commits into
mainfrom
yonatan/merge-main-v0.14.3-into-main-1781025945
Closed

Merge main-v0.14.3 into main#14427
Yoni-Starkware wants to merge 30 commits into
mainfrom
yonatan/merge-main-v0.14.3-into-main-1781025945

Conversation

@Yoni-Starkware

Copy link
Copy Markdown
Collaborator

No description provided.

avi-starkware and others added 30 commits April 30, 2026 13:32
…proving-utils to 18f6cac

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-utils 18f6cac

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…RC.7-fix-1.1

starknet_proof_verifier: bump proving-utils to 18f6cac and regenerate proof fixture
* deployment: wait for node healthcheck before starting the simulator

* apollo_dashboard: make SNIP-35 fee target USD panel a stat
Signed-off-by: Dori Medini <dori@starkware.co>
…rifier bump

The privacy-circuit-verify-v0 dependency was bumped (580135e -> 18f6cac),
which made the new V0 verifier reject the previously committed 0.14.2
regression proof, failing regression_verify_proof_from_old_prover::case_1.

Replace it with the V0 proof produced by the old prover (privacy-prove
@ 18f6cac) as committed on main-v0.14.2. The proof facts are unchanged.

https://claude.ai/code/session_01JNrvNrRFsfMGVh6zKu5eDt
…14317) (#14319)

- Exclude glob 'scripts/prod/**/*' missed top-level files under fnmatch; use 'scripts/prod/**' so prod-script-only PRs skip this infra-heavy test.
- Quote the trigger interpolations so a glob value isn't shell-expanded before reaching check_test_trigger.py.
- Pin k3d-version=v5.5.0 (action input): the default v5.4.6 predates the checksums.txt release asset the current k3d install.sh fetches with --fail, causing a 404.
- Wait on the local-path-provisioner Deployment rollout instead of a racy pod-label wait that errored 'no matching resources found'.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-into-main-v0.14.3-1780483904

Merge main-v0.14.2 into main-v0.14.3
Signed-off-by: Dori Medini <dori@starkware.co>
…act in get_class_hash_at syscall (#14394)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…act in state diff (#14407)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
#14409)

Follow-up to #14254 (which moved both to v0.14.3-rc-1). v0.14.3 is the
proving-utils tag of commit abdc99c (same commit as v0.14.3-rc-2). Upstream
changes since v0.14.3-rc-1:
- PrivacyProofOutput gained a version field recording which privacy-prove
  version generated the proof (proving-utils#349): populate it at the two
  sequencer construction sites; the verifier ignores it.
- stwo-circuits bumped 618db0a -> 24f39918 (proving-utils#361), changing the
  circuit preprocessed root and therefore the on-chain proof bytes.

Since the proof bytes change, regenerate the serialized proof fixtures:
- proof_flow/proof.bin (apollo_integration_tests) via
  `cargo +nightly-2025-07-14 test -p starknet_os_flow_tests --features
  starknet_transaction_prover/stwo_proving --release generate_proof_fixtures
  -- --ignored`
- example_proof.bin (apollo_transaction_converter) via
  `cargo +nightly-2025-07-14 test -p starknet_transaction_prover --features
  stwo_proving --release -- --ignored regenerate_proof_fixtures`
- regression_test/0.14.3/example_proof.bin (starknet_proof_verifier) is a
  copy of the apollo_transaction_converter fixture.
The proof facts JSONs are unchanged: the circuit bump changes proof bytes but
not the program output.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…14413)

cargo-chef bakes the repo's .cargo/config.toml (which sets rustc-wrapper =
sccache) into recipe.json during prepare and restores it during cook. sccache
is not installed in the replay image, so the cook step failed with 'could not
execute process sccache ... rustc'. Set CARGO_BUILD_RUSTC_WRAPPER= to override
the config and skip the wrapper.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…deserializer to starknet_api (#14408)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… call (#14406)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
….2-into-main-v0.14.3-1780922981

Merge main-v0.14.2 into main-v0.14.3
@Yoni-Starkware

Copy link
Copy Markdown
Collaborator Author

Src Dst Cargo.lock
Src Dst Cargo.toml
Src Dst crates/apollo_integration_tests/resources/proof_flow/proof.bin
Src Dst crates/apollo_integration_tests/resources/proof_flow/proof_facts.json
Src Dst crates/apollo_integration_tests/src/state_reader.rs
Src Dst crates/apollo_starknet_os_program/src/program_hash.json
Src Dst crates/apollo_starknet_os_program/src/virtual_os_test.rs
Src Dst crates/blockifier_test_utils/src/fee_token_addresses.rs
Src Dst crates/central_systest_blobs/resources/blob_file_generation
Src Dst crates/central_systest_blobs/resources/preconfirmed_block.json
Src Dst crates/starknet_os_flow_tests/src/fuzz_tests.rs

@cursor

cursor Bot commented Jun 9, 2026

Copy link
Copy Markdown

PR Summary

High Risk
Large merge touching consensus blobs, OS/program hashes, and the proving dependency graph, with unresolved merge conflict markers still present in lockfiles and fixtures.

Overview
This PR merges main-v0.14.3 into the development line and carries a large 0.14.3 / v0.14.3 release payload: workspace versions toward 0.19.0-rc.1, Cairo 2.19.0-rc.2, updated proving-utils / stwo-circuits git pins, and refreshed OS / virtual-OS program hashes and proof-flow fixtures.

Protocol & validation: Gateway and config raise max Sierra to 1.9.0 (including SHA-512 libfunc gating). Blockifier 0.14.3 constants add the new allowed virtual OS hash and SHA-512 syscall costs.

Consensus & blobs: A new test asserts parent proposal commitment binds the parent block’s fee proposal from fee_proposals_window (V0_14_3 Poseidon binding).

Client-side proving & OS: The transaction prover keeps the RPC starknet version string via starknet_version_override so block-hash recomputation matches on-chain versions newer than the binary’s StarknetVersion enum; OS hints use ASCII version felts for header commitments. Alias-contract state squashing drops the explicit search_sorted guard (Patricia enforces the assumption). Flow tests cover get_class_hash_at on the alias address.

RPC / re-execution: deserialize_transaction_json_to_starknet_api_tx moves to starknet_api::serde_utils (shared by HTTP server and blockifier reexecution). Blockifier reexecution compiles Sierra in-process with cairo-lang-starknet-classes instead of apollo_compile_to_casm, with a compiled-class-hash regression test.

Ops: Local monitoring supports N_NODES (1–5) consensus containers, optional Pragma oracle, multi-node Prometheus scrape targets, and SNIP-35 fee target shown as a stat panel. Transaction prover adds HTTP body size boundary tests.

Important: The diff still contains unresolved <<<<<<< merge conflicts in Cargo.lock, Cargo.toml, and several JSON/expect fixtures—these must be resolved before merge.

Reviewed by Cursor Bugbot for commit 7b5dfef. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Artifacts upload workflows:

@reviewable-StarkWare

Copy link
Copy Markdown

This change is Reviewable

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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 7b5dfef. Configure here.

Comment thread Cargo.toml
version = "0.19.0-rc.0"
=======
version = "0.19.0-rc.1"
>>>>>>> origin/main-v0.14.3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unresolved merge conflict markers

High Severity

The merge of main-v0.14.3 into main left Git conflict markers (<<<<<<<, |||||||, =======, >>>>>>>) in Cargo.toml, Cargo.lock, Rust sources, and JSON fixtures. Those files are syntactically invalid, so cargo and tests cannot run until each hunk is resolved consistently (e.g. workspace version and proof-flow hashes).

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 7b5dfef. Configure here.

@Yoni-Starkware Yoni-Starkware left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Yoni-Starkware reviewed 67 files and all commit messages.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on Yoni-Starkware).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.