Skip to content

Support for ISRC6 (__validate__ & __execute__ ) etc.#23

Merged
remollemo merged 1 commit into
mainfrom
remo/eth-account/support-invoke-tx
Apr 20, 2026
Merged

Support for ISRC6 (__validate__ & __execute__ ) etc.#23
remollemo merged 1 commit into
mainfrom
remo/eth-account/support-invoke-tx

Conversation

@remollemo

@remollemo remollemo commented Feb 24, 2026

Copy link
Copy Markdown
Collaborator
  1. Support for ISRC6 (validate & execute )
  2. Refactor test and test utils.
  3. Generate test.cairo signature via python script (directly).
  4. send_tx.py utility to prepare (EFO) for starkly and send tx (normal tx) via rpc.

Note

High Risk
Touches core account entrypoints (__validate__/__execute__) and EIP-712 hashing/signature verification, so any mismatch can break transaction validity or execution restrictions.

Overview
Implements ISRC6 on StarknetEth712Account by adding __validate__ (EIP-712 secp256k1 signature check over a new Transaction struct) and __execute__ (protocol-only caller + tx version gating, executing calls individually), and registers ISRC6_ID during initialization.

Extends eth_712_utils.cairo with EIP-712 hashing for InvokeV3 transactions (TransactionMetadata/Transaction, get_transaction_hash), tx version validation, resource-bounds serialization, and a flexible signature parser for is_valid_signature (accepts 5 or 6 felts).

Refactors tests to use fixed deployment addresses for stable precomputed signatures, adds coverage for ISRC6 signature validation, __validate__/__execute__ flows, upgrade via both EFO and regular tx, and enforces signature length checks. Script-side, introduces shared Python EIP-712 hashing (scripts/eip712.py), an idempotent signature generator that rewrites test_utils.cairo between markers, and a new send_tx.py utility to sign/send InvokeV3 or print EFO calldata; updates script dependencies and adds an example calls JSON.

Written by Cursor Bugbot for commit fb4f559. This will update automatically on new commits. Configure here.


This change is Reviewable

2. Refactor test and test utils.
3. Generate test.cairo signature via python script (directly).
4. send_tx.py utility to prepare (EFO) for starkly and send tx (normal tx) via rpc.

Signed-off-by: Remo <remo@starkware.co>
@remollemo remollemo self-assigned this Feb 24, 2026

@remollemo remollemo 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.

@remollemo reviewed 9 files and all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on ItayRosenberg).

@remollemo remollemo merged commit 49be20f into main Apr 20, 2026
4 checks passed
@remollemo remollemo deleted the remo/eth-account/support-invoke-tx branch April 20, 2026 20:04
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.

1 participant