SIGN IN SIGN UP

feat(client): SdkWallet — PrivacyWallet over prover + paymaster (#917)

The non-native PrivacyWallet (EVM / legacy-SN via a CallSet signer inside the prover). It composes
the Strk20Prover (proves, owns the viewing key) and the Paymaster (sponsors + broadcasts the fee, so
the user needn't hold the fee token). partialCommitment/strk20PrepareInvoke delegate to the prover.
strk20InvokeTransaction runs the private apply_action flow: quote the fee, fold it in as a withdraw
so the proof covers it, prove, then paymaster broadcasts the proven call. The regular flow (a
deposit's approve, which must run as the user but can't under apply_action where the paymaster is the
executing account — needs invoke_and_apply_action) is deferred: executeWithProof/estimateInvokeFee
reject for now. 6 tests.

<!-- Reviewable:start -->
- - -
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/starkware-libs/starknet-privacy/917)
<!-- Reviewable:end -->
I
Ittay Dror committed
0f4d48f18690960b38841141630f66064489fd67
Parent: a305925
Committed by GitHub <noreply@github.com> on 7/28/2026, 8:54:23 AM