Two prior sessions and this one collectively unblocked WizardConnect for
chipnet beta. Landed here:
Licence trap resolved:
- @wizardconnect/* is LGPL-3.0-or-later (verified against gitlab
repo LICENSE.txt, README, Riften Labs announcement). "Proprietary"
in `npm view` is a missing `license` field artefact, not a term.
- WizardConnect_reference.md §0/§3.3, README wallet table, wz-adapter.ts
and wz-handler.ts headers corrected. Mainnet is no longer blocked;
§6 of the integration guide lists the remaining LGPL §4 obligations.
Wrapper unwrap bug fixed (responder.ts:279-310):
- SignTransactionRequest.transaction is a WcSignTransactionRequest
wrapper, not the tx. Old code passed the wrapper through as `tx`, so
every WZ sign request threw "malformed request — missing tx.inputs"
at signer.ts:136. Now unwrapped + hex-string variant decoded +
broadcast/userPrompt forwarded. Regression tests added.
Sign-preview honesty (AppsScreen.tsx + preflight.ts):
- Replaced hardcoded "✓ no token UTXOs spent" / "bchtest:qp2…7lm" fake
pre-flight block with real request-derived outputs, fee, and token
flags. Renders dApp's `userPrompt` verbatim per protocol.
- Hides the block when the tx can't be decoded rather than lying about
what was checked.
Dropped SDK events surfaced (wz-handler.ts + responder.ts + useConnect.ts):
- signCancelled + remoteDisconnect now flow through WzHandlerEventMap.
- Responder evicts pending WZ entries on cancel; new
ResponderEvents.onSignRequestCancel clears the approval screen if the
user was about to approve a withdrawn request.
WIF-restored wallets get an honest message (useConnect.ts):
- KeyStoreError('not-supported') from a WIF-restored wallet now logs a
quiet console info line instead of a red "WizardConnect not supported
by this build" banner. WC/CC remain available. Other failures still
surface normally.
Definition of Done (see WIZARDCONNECT-INTEGRATION-GUIDE.md §11) items
§1–§4 landed here. §5–§9 handed off to a fresh session via
NEXT-SESSION-PROMPT.md — includes Reown decoupling, LGPL §4(d)(1)
chunk split, session re-hydrate, on-device test against Silent Mode
registrar (with Cashonize v0.9.0 as comparison implementation), and
ADR-0044 for the Nostr transport.
Tests: 162/162 passing. tsc --noEmit clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
982 B
Introducing ✨🔮 WizardConnect 🔮✨
WizardConnect is a brand new, Bitcoin Cash-first wallet connection protocol built from the ground up by @RiftenLabs 🪄
WizardConnect is: 🔮 Bitcoin Cash first 🔮 Open source (LGPL) 🔮 Fast, stable & reliable 🔮 Full HD-wallet compatable 🔮 Supports multiple addresses 🔮 Secure & decentralized using Nostr 🔮 E2E encrypted (run on any relay you want) 🔮 Future-proof and designed for multisig, NFTs & more
WalletConnect was never made for BCH. WizardConnect is.
Documentation: 🔮 Relay transport Guide: https://docs.riftenlabs.com/wizardconnect/transport/ 🔮 Wallet Integration Guide: https://docs.riftenlabs.com/wizardconnect/dapp/ 🔮 Protocol Specification: https://docs.riftenlabs.com/wizardconnect/wallet/ 🔮 All technical deep-dives: https://docs.riftenlabs.com/wizardconnect/protocol/
The WizardConnect protocol is fully open source and built with love for Bitcoin Cash, by @RiftenLabs 🪄