Repository navigation
[codex] Prepare auth signing for Protocol 27 - #31
Conversation
63d3de9 to
546f370
Compare
|
Related implementation reconciliation: Compared this change against the related smart-account-kit Protocol 27 auth-signing work and ported the applicable hardening into passkey-kit:
The smart-account-kit-only multi-signer and funding flows do not exist in passkey-kit, so there was nothing equivalent to port for those paths. Validation after reconciliation:
|
546f370 to
35611a8
Compare
|
Review follow-up: A final adversarial review pass checked this PR against the Protocol 27 / CAP-0071 auth changes:
Two follow-up changes were made:
Validation after fixes:
|
|
Final RC readiness update:
Final adversarial review:
Validation:
Residual non-blocking gaps: no end-to-end RPC/contract signing test for delegated auth; demo build still has existing Vite warnings for browser-externalized |
Summary
buildAuthorizationEntryPreimage()helper when available and fail closed on unsupported address-bound credential surfaces.@stellar/stellar-sdk@^16.0.1.@stellar/stellar-sdk/minimal*imports to the v16 public package entrypoints.sac-sdkfrom the live Protocol 27 Testnet SAC spec, includingtrustand current muxed-transfer event specs.ADDRESS_V2, andADDRESS_WITH_DELEGATESpayload coverage.passkey-kit@0.13.0,passkey-kit-sdk@0.8.0, andsac-sdk@0.5.0.Protocol 27 behavior
SOROBAN_CREDENTIALS_ADDRESScontinues to use the legacy authorization preimage.SOROBAN_CREDENTIALS_ADDRESS_V2uses the address-bound preimage.SOROBAN_CREDENTIALS_ADDRESS_WITH_DELEGATESis detected but passkey signing fails closed because delegate-tree signing is not implemented in this legacy kit.This is a client/SDK signing and generated-binding change. It does not change the smart-wallet contract ABI or WASM, and existing deployments do not require an on-chain upgrade for Protocol 27.
Breaking changes
@stellar/stellar-sdk@^16.0.1./minimalsubpaths have been replaced with@stellar/stellar-sdk,/contract, and/rpc.Validation
Validated on head
18ea7931bd2b8860c2ce262d6bfc17b1ac0b78fb:CI / sdkpnpm install --frozen-lockfilepnpm run buildpnpm exec tsc --noEmit --pretty falsepnpm run test:p27-authpnpm --dir demo install --frozen-lockfilepnpm --dir demo run checkpnpm --dir demo run buildpnpm audit --json— 0 workspace findingspnpm pack --recursive --dry-run --jsongit diff --checkcargo test --workspace --locked— 4 smart-wallet tests passed after building the sample-policy fixturestellar contract buildwith Stellar CLI 27.0.0The audit was independently split across Solo Claude, Codex, OpenCode, and Grok reviewers.
Follow-up debt
cryptoexternalization and large-bundle warnings.soroban-sdk = "23.0". Existing WASM remains valid, but a separate SDK 27/toolchain upgrade should be completed before the next contract release.