blockifier,apollo_starknet_os_program: hold empty spans as empty segments - #15140
Yoni-Starkware wants to merge 9 commits into
Conversation
Align the OS with the blockifier: where the blockifier allocates a segment for an empty span, the OS held a null pointer. This covers the L1 handler signature, the deploy-account account deployment data and proof facts, the declare proof facts, and the meta-tx-v0 signature forwarded by the caller. The v3-only fields of version-0 transaction infos stay null, matching the blockifier's deprecated transaction info. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Artifacts upload workflows: |
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
An L1 handler forwards its (empty, null) paymaster data as the meta-tx signature, into a Cairo 0 `__execute__` that reads the signature through the deprecated syscall. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…inter The blockifier held the v3-only spans of a deprecated transaction info as felt zero rather than as empty segments, and the OS matched it. Allocate empty segments on both sides instead, so a span pointer is always relocatable. This removes the need to normalize the meta-tx-v0 signature, which a caller could previously supply as a null span. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The empty spans of a deprecated transaction info are all bounded by the same empty segment, rather than one segment each. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PR SummaryMedium Risk Overview On the OS side, Because the Cairo OS changed, Reviewed by Cursor Bugbot for commit b4b1191. Bugbot is set up for automated code reviews on this repo. Configure here. |
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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 2ab885f. Configure here.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

A span pointer is now always relocatable: the blockifier held the v3-only spans of a deprecated transaction info as felt zero rather than as empty segments, and the OS matched it. Both sides now bound them with an empty segment.
Note for reviewers: the OS and virtual OS program hashes change, along with
META_TX_V0_GAS_COSTand the per-transaction OS step counts.🤖 Generated with Claude Code