Repository navigation
feat: integrate Casa Tookan wallet and Taproot proofs - #65
Draft
droplister wants to merge 4 commits into
Draft
droplister wants to merge 4 commits into
droplister wants to merge 4 commits into
Conversation
droplister
marked this pull request as draft
October 20, 2026 17:29
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 in the XCP.fun wallet chooser and mobile header, with visible connection errors and verified proofs. Add app metadata/CORS and adopt the expanded SDK instead of restricting users to Legacy/SegWit.
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.Inscription handling
The real Casa signer refuses both Taproot script paths and tree-bearing key-path recovery. New inscriptions require the wallet's commit-and-reveal capability before upload; the capability is rechecked at submission. Hosted-image launches remain available. Changing wallets does not silently turn a selected inscription into a hosted launch.
Pending launches remain saved. Unsigned reveals show a capability explanation and cannot resume through Casa. Already-signed reveals can still be resumed without a signature request. Both cases and the desktop/mobile create page are covered by four new browser regressions. All 34 inscription safety/recovery unit tests pass. The explanations are translated in all ten locales.
Validation
8 browser checks pass, including Taproot, mobile late injection, restore/revocation and rejection/retry. Web typecheck, ESLint, numeric and locale checks, and lockfile dry run pass. Production routing was checked: /profile returns 200, /en/profile redirects to /profile, and /es/profile returns 200. The earlier local-only self-redirect is not an established production bug.
See
docs/casatookan.mdfor setup, evidence and rollout limits.