Skip to content

starknet_api: add DeployAccount v4 transaction type (Blake2 address derivation) - #14813

Draft
ron-starkware wants to merge 1 commit into
ron/contract-address/pedersen-image-escapefrom
ron/contract-address/deploy-account-v4-types
Draft

starknet_api: add DeployAccount v4 transaction type (Blake2 address derivation)#14813
ron-starkware wants to merge 1 commit into
ron/contract-address/pedersen-image-escapefrom
ron/contract-address/deploy-account-v4-types

Conversation

@ron-starkware

@ron-starkware ron-starkware commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Stack — part 3 of 9 (base: #14812). Targets 0.14.5.

Adds DeployAccount version 4: v3's exact field set, with the contract address derived by BLAKE2s + the Pedersen-image escape instead of Pedersen. The version felt is the scheme signal; v1/v3 keep deriving with Pedersen indefinitely, so there is no flag day and no stranded counterfactual address.

  • DeployAccountTransactionV4 / RpcDeployAccountTransactionV4 + the enum variants.
  • The v4 transaction hash is the v3 Poseidon layout with version felt 4 and the escaped address — no new hash function, in Rust or in Cairo.
  • DeployAccountTransaction::address_derivation_hash() (V1/V3 → Pedersen, V4 → Blake2) is the single scheme-selection point; no caller hand-picks a scheme for a versioned transaction.
  • Every serialization surface: RPC "0x4", protobuf DeployAccountV4 + the mempool/consensus/sync oneofs, storage discriminant V4 = 2, cende "0x4", the test-instance registry.

Fail-closed: blockifier's version allowlist still rejects v4 (#14815 enables it), and the gateway's stateful validation fully executes deploy-accounts, so v4 cannot be ingested from this PR alone.

🤖 Generated with Claude Code

@reviewable-StarkWare

Copy link
Copy Markdown

This change is Reviewable

@github-actions

Copy link
Copy Markdown

There hasn't been any activity on this pull request recently, and in order to prioritize active work, it has been marked as stale.
This PR will be closed and locked in 7 days if no further activity occurs.
Thank you for your contributions!

@ron-starkware
ron-starkware force-pushed the ron/contract-address/pedersen-image-escape branch from 34c036c to 0088e53 Compare August 31, 2026 12:56
@ron-starkware
ron-starkware force-pushed the ron/contract-address/deploy-account-v4-types branch from 2ecac08 to 159b89b Compare August 31, 2026 12:56
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.

2 participants