starknet_os: support DeployAccount v4 Blake2 address derivation in the OS - #14814
Draft
ron-starkware wants to merge 1 commit into
Draft
starknet_os: support DeployAccount v4 Blake2 address derivation in the OS#14814ron-starkware wants to merge 1 commit into
ron-starkware wants to merge 1 commit into
Conversation
Contributor
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Jul 15, 2026
ron-starkware
force-pushed
the
ron/contract-address/os-v4
branch
2 times, most recently
from
July 15, 2026 10:17
4291fb8 to
d839a44
Compare
ron-starkware
force-pushed
the
ron/contract-address/deploy-account-v4-types
branch
from
July 15, 2026 10:17
dd887c4 to
cc0462c
Compare
ron-starkware
force-pushed
the
ron/contract-address/os-v4
branch
4 times, most recently
from
July 19, 2026 09:19
a6fbfeb to
b18e4e1
Compare
|
There hasn't been any activity on this pull request recently, and in order to prioritize active work, it has been marked as stale. |
ron-starkware
force-pushed
the
ron/contract-address/deploy-account-v4-types
branch
from
August 31, 2026 12:56
2ecac08 to
159b89b
Compare
ron-starkware
force-pushed
the
ron/contract-address/os-v4
branch
from
August 31, 2026 12:56
b18e4e1 to
43dbd2f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Stack — part 4 of 9 (base: #14813). Targets 0.14.5.
Teaches the proving OS to derive a v4 deploy-account address.
get_contract_address_blake_escapedin the OS (BLAKE2s + the Pedersen-image escape), verified from hints rather than computing a Legendre symbol in-circuit: a skipped candidate needs a square root oft(lift), the final candidate a square root oft(address)/3(3 is a fixed quadratic non-residue). One field-mul per witness; a wrong witness fails the proof, so the hint cannot move the address.prepare_constructor_execution_contextdispatches on the hintedtx_version. That hint is bound by the transaction-hash assertion — both the version felt and the derived address are in the committed preimage.get_account_tx_common_fieldstakes the version (was hardcoded 3); the deploy-account tx-hash, deprecated-fields-consistency and max-fee asserts are relaxed from= 3to(v-3)(v-4) = 0.starknet_api'sBlake2arm, escape included.Versioned constants (0.14.5 only): extending those shared version guards costs a few steps per transaction even for v3 —
execute_txs_innerDeployAccount 4989→5017, InvokeFunction 4779→4787, Declare 3938→3946 — which is the normal consequence of adding a transaction version through shared gates.blockifier_versioned_constants_0_14_4.jsonand the 0.14.3→0.14.4 diff fixture are byte-identical to main; the deltas land in 0_14_5 and its diff fixture.allowed_virtual_os_program_hasheskeeps0x1c7be3…(baked into the frozen stwo proof fixtures) and replaces only the other slot.🤖 Generated with Claude Code