You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(wallets): add WalletConnect skins for branded wallets (#412)
* feat(wallets): add WalletConnect skins for branded wallet instances
Enable multiple WalletConnect-based wallets to coexist with distinct branding
using a composite key architecture. Wallets can now specify a `skin` option
that provides custom name/icon metadata and derives a unique `walletKey`
(e.g., `walletconnect:biatec`), allowing separate state isolation.
Core changes:
- Add WalletConnectSkin type and skin registry with built-in Biatec skin
- Add `walletKey` property to BaseWallet for state isolation
- Update store to use `walletKey` instead of `id` for wallet state keys
- Update WalletManager to derive composite keys and prevent duplicates
- Deprecate WalletId.BIATEC in favor of WalletConnect with `skin: 'biatec'`
Framework adapter updates:
- use-wallet-react: Add walletKey to Wallet interface, use for state lookups
- use-wallet-vue: Add walletKey to Wallet interface, use for state lookups
- use-wallet-solid: Update state lookups to use walletKey
- use-wallet-svelte: Add walletKey to Wallet interface, use for state lookups
* docs: document WalletConnect skins and deprecate WalletId.BIATEC
Add documentation for the WalletConnect skins feature including:
- `skin` option in WalletConnect configuration
- Built-in skin usage example
- Custom skin definition at runtime
- Multiple WalletConnect instances with isolated sessions
- Accessing wallets by composite key (e.g., 'walletconnect:biatec')
Add deprecation notice for `WalletId.BIATEC` with migration guidance.
* refactor(examples): use WalletConnect skin instead of WalletId.BIATEC
Replace deprecated `WalletId.BIATEC` with WalletConnect using `skin: 'biatec'`
option across all example projects.
- nextjs
- nuxt
- react-ts
- solid-ts
- svelte-ts
- vanilla-ts
- vue-ts
* style: fix Prettier formatting in skins module and tests
Copy file name to clipboardExpand all lines: docs/getting-started/supported-wallets.md
+83-4Lines changed: 83 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,10 +100,75 @@ import { WalletId } from '@txnlab/use-wallet'
100
100
url?:string
101
101
icons?:string[]
102
102
}
103
+
skin?:string|WalletConnectSkin// Optional: Skin for branded wallet appearance
103
104
}
104
105
}
105
106
```
106
107
108
+
##### WalletConnect Skins
109
+
110
+
WalletConnect supports "skins" to customize the wallet's appearance for different wallet providers. This allows multiple WalletConnect-based wallets to coexist in the same app with distinct branding.
0 commit comments