feat: add Vultisig wallet - #2692
Conversation
|
@realpaaao is attempting to deploy a commit to the rainbowdotme Team on Vercel. A member of the Team first needs to authorize it. |
🦋 Changeset detectedLatest commit: f42b519 The changes in this PR will be included in the next version bump. This PR includes changesets to release 18 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8fbb7a68c4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| rdns: 'me.vultisig', | ||
| iconUrl: async () => (await import('./vultisigWallet.svg')).default, | ||
| iconBackground: '#061B3A', | ||
| installed: hasInjectedProvider({ namespace: 'vultisig.ethereum' }), |
There was a problem hiding this comment.
Exclude Vultisig from MetaMask detection
When the Vultisig extension is installed, its EVM provider is also exposed as the MetaMask-compatible window.ethereum with isMetaMask: true, so adding this connector without also excluding window.vultisig.ethereum from metaMaskWallet leaves dApps that include both wallets (including the updated example/default MetaMask setup) showing MetaMask as installed and routing MetaMask clicks into the Vultisig provider. Please update the MetaMask impersonation filter alongside this connector so Vultisig users only get the Vultisig option.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Good catch — addressed in f42b519. The Vultisig EVM provider ships a distinguishing flag in every released extension version (isVultiConnect: true, from the extension's original name), so the impersonation filter now excludes on ethereum.isVultiConnect || ethereum.isVultisig — the second flag is forward-compatible with the extension's rename to "Vultisig Extension". With this, machines with only Vultisig installed no longer show MetaMask as installed, and MetaMask clicks no longer route into the Vultisig provider.
Adds an injected-only connector for Vultisig — open-source, self-custodial multi-chain wallet with no seed phrase (threshold signatures across the user's devices). Live since March 2024.
Opened per the ask-first rule: discussion #2691.
Shape (modeled on
rabbyWallet/enkryptWallet):namespace: 'vultisig.ethereum'—window.vultisigis our multi-chain container (norequest()); the EIP-1193 provider lives at.ethereum, same object we announce via EIP-6963 (rdns: 'me.vultisig', verified in extension source). Aflag:isn't usable since our EVM provider setsisMetaMaskforwindow.ethereumcompat and exposes noisVultisig.walletConnectors/index.tsexports,en_US.jsonextension steps (en-US only per repo convention), example wagmi config, docs custom-wallet-list entry, changeset (patch).Download links: Chrome Web Store + Firefox AMO (both listings live and verified) + browserExtension fallback.
receipts
no runtime changes to existing connectors — additive wallet entry
pnpm --recursive typecheck→ all 7 projects passpnpm --filter @rainbow-me/rainbowkit build→ succeeds; icon inlined as data URI,me.vultisigpresent in dist chunkpnpm format:check(biome) → exit 0;biome lint→ no new warningspnpm test→ identical pass/fail set to clean tree (pre-existing env failures only)