Repository navigation
feat: integrate Casa Tookan wallet connection and signing - #32
Draft
droplister wants to merge 4 commits into
Draft
droplister wants to merge 4 commits into
droplister wants to merge 4 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enable Casa Tookan from the existing XCPDEX Connect button, chooser and mobile header. Add app metadata/CORS and handle late injection, passive restore, revoked grants and retryable connection errors. Ordinary compose uses the SDK PSBT fallback.
SDK and supported boundary
Pinned to XCP/wallet-sdk@089ca36 (XCP/wallet-sdk#13). The adapter supports mainnet Legacy, Native SegWit and BIP-86 Taproot, selected inputs, preserved foreign signatures, reusable authorizations and up to 20 PSBTs per approval. Message proofs declare BIP-137 or ECDSA-BIP86 explicitly.
Each PSBT requires prevouts and is capped at 64 KiB. Casa does not validate application intents or linked marketplace bundles. Script-path/commit-reveal, multisig and nested SegWit remain unsupported. Detection requires the Casa marker, so ordinary Unisat is not mistaken for Casa.
The integration remains build-time opt-in with
NEXT_PUBLIC_CASATOOKAN_ENABLED=true. No production deployment, live-chain broadcast, or installed iOS/Android test is claimed. SDK evidence includes real dev-wallet signing and 481 passing unit tests; site browser suites use a deterministic provider. The official dev bridge is only used in temporary QA, never shipped.Validation
10 Casa browser tests, 102 web unit tests, 5 render-read tests, web typecheck and lockfile dry run pass. Earlier production-build testing inside the official Casa dev wallet verified Legacy/SegWit connection and restore.
See
docs/casatookan.mdfor setup, evidence and rollout limits.The pinned SDK also reports its confirmed inability to recover custom Taproot outputs (
taprootTreeKeyPath: false). This is an additive capability report; no additional site flow is enabled. Direct-wallet evidence and the upstream restrictions are documented in XCP/wallet-sdk#13.