Overview
This release targets the regenerated smart account contract surface from the latest uploaded testnet WASM set. It is a clean-cut migration - the SDK no longer preserves the legacy Signatures tuple flow or the removed get_context_rules(...) contract method.
New Contract Addresses (Testnet)
| Contract | Address / Hash |
|---|
| Smart account WASM hash | 3e51f5b222dec74650f0b33367acb42a41ce497f72639230463070e666abba2c |
| WebAuthn verifier WASM hash | d84af9e7c31afece287fee8276ef7d6a64b236d596c043594c003e0f4032d1c7 |
| Ed25519 verifier WASM hash | e88b7989f8c5e69d6a72cda8419844ef2753ab249fef422f31436c5c32e28623 |
| Threshold policy WASM hash | 5c87cedc0e485152a084c4b5435bdec88e41304a4316e82e37a84910715639f6 |
| Spending-limit policy WASM hash | eca96954a8e76e366e74fbc95eced11666c939e130a5cc302b8363622e931018 |
| WebAuthn verifier | CATPTBRWVMH5ZCIKO5HN2F4FMPXVZEXC56RKGHRXCM7EEZGGXK7PICEH |
| Ed25519 verifier | CAIKK32K3BZJYTWVTXHZFPIEEDBR6YCVTGPABH4UQUQ4XFA3OLYXG27G |
| Threshold policy | CDDQLFG7CV74QHWPSP6NZIPNBR2PPCMTUVYCJF4P3ONDYHODRFGR7LWC |
| Spending-limit policy | CBYLPYZGLQ6JVY2IQ5P23QLQPR3KAMMKMZLNWG6RUUKJDNYGPLVHK7U4 |
There is intentionally no checked-in smart-account contract ID in the default config. Smart-account deployment is parameterized and requires constructor args for signers and policies, so the repo defaults to the uploaded smart-account WASM hash.
Breaking Changes
Signing flow
The old Signatures tuple encoding has been replaced with explicit AuthPayload encoding. If you were manually constructing auth payloads, update them to use the new AuthPayload type.
Removed contract methods
get_context_rules(...) has been removed from the contract surface. Use kit.rules.list() (indexer-backed) or kit.rules.get(id) (direct chain read) instead.
Generated bindings
packages/smart-account-kit-bindings has been regenerated from the new WASM hash. The following contract surface changes apply:
| Change | Details |
|---|
add_signer | Now returns u32 (the new signer ID) |
add_policy | Now returns u32 (the new policy ID) |
get_context_rules_count | New - returns the total count of context rules |
get_signer_id | New - resolve a signer to its on-chain ID |
get_policy_id | New - resolve a policy to its on-chain ID |
AuthPayload | New - explicit auth payload type used in signing flow |
Migration Steps
-
Update your
.env - Replace all contract addresses and WASM hashes with the new testnet values above (or deploy your own from stellar-contracts).
-
Regenerate bindings - Run
pnpm run build:all to fetch the new contract metadata and regenerate TypeScript bindings.
-
Remove legacy auth code - If you were manually building
Signatures tuples or calling get_context_rules(...), remove that code. Use kit.rules.list() for rule enumeration.
-
Update auth payload handling - If you interact with auth payloads directly, import and use the new
AuthPayload type from smart-account-kit.