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
Depends on #247 (same root-cause shape: the wallet catalog is a static, hardcoded list rather than driven by live wallet detection, so real installed wallets go unrecognized or unconnectable).
For Sui specifically: Slush (Mysten Labs' official wallet, renamed from "Sui Wallet" in their 2024 rebrand) never appears in the connect modal, and more generally any Sui wallet-standard wallet that isn't already in the hardcoded descriptor list is invisible, even though the app already has the live wallet-standard detection data available and just doesn't use it to extend the list.
Verified
frontend/src/wallet/utils.ts:85-110 — matchSuiWalletId only recognizes suiet, ethos, and sui wallet/sui (mapped to the sui-wallet id). A live wallet reporting its name as "Slush" matches none of these branches and falls through to return null.
frontend/src/wallet/descriptors.ts — WALLET_DESCRIPTORS has no slush entry at all (only sui-wallet, suiet, ethos for the sui chain family).
frontend/src/wallet/provider/WalletManagerProvider.tsx:943-972 — the wallets list rendered in the connect modal is built as WALLET_DESCRIPTORS.map(...), i.e. purely iterating the static descriptor array. The live wallet-standard list (suiWallets, from @mysten/dapp-kit's useWallets()) is only ever used to check whether an already-listed descriptor is detected (matchSuiWalletId against currentSuiIds, line ~950) — it's never used to add a card for a detected wallet that has no matching descriptor. So a user with Slush (or any other real Sui wallet-standard wallet not in the hardcoded list) installed gets no card, no detected badge, nothing.
Suggested fix
Add a slush entry to WALLET_DESCRIPTORS and a matching branch in matchSuiWalletId (normalized.includes('slush')), same shape as the existing suiet/ethos branches.
More durably: stop relying on a fully hardcoded list for Sui. Merge suiWallets (live wallet-standard detections) into the rendered catalog directly — for any live-detected wallet without a matching descriptor, synthesize a minimal card (name/icon from the wallet-standard metadata itself) instead of silently dropping it. This is the same fix direction as Stellar wallet connect hangs forever for xBull/Albedo/Rabet/Hana — silently calls Freighter's API instead #247's suggested fix (stop assuming a fixed enum of wallets covers everything a user might actually have installed).
Description
Depends on #247 (same root-cause shape: the wallet catalog is a static, hardcoded list rather than driven by live wallet detection, so real installed wallets go unrecognized or unconnectable).
For Sui specifically: Slush (Mysten Labs' official wallet, renamed from "Sui Wallet" in their 2024 rebrand) never appears in the connect modal, and more generally any Sui wallet-standard wallet that isn't already in the hardcoded descriptor list is invisible, even though the app already has the live wallet-standard detection data available and just doesn't use it to extend the list.
Verified
frontend/src/wallet/utils.ts:85-110—matchSuiWalletIdonly recognizessuiet,ethos, andsui wallet/sui(mapped to thesui-walletid). A live wallet reporting its name as"Slush"matches none of these branches and falls through toreturn null.frontend/src/wallet/descriptors.ts—WALLET_DESCRIPTORShas noslushentry at all (onlysui-wallet,suiet,ethosfor thesuichain family).frontend/src/wallet/provider/WalletManagerProvider.tsx:943-972— thewalletslist rendered in the connect modal is built asWALLET_DESCRIPTORS.map(...), i.e. purely iterating the static descriptor array. The live wallet-standard list (suiWallets, from@mysten/dapp-kit'suseWallets()) is only ever used to check whether an already-listed descriptor is detected (matchSuiWalletIdagainstcurrentSuiIds, line ~950) — it's never used to add a card for a detected wallet that has no matching descriptor. So a user with Slush (or any other real Sui wallet-standard wallet not in the hardcoded list) installed gets no card, no detected badge, nothing.Suggested fix
slushentry toWALLET_DESCRIPTORSand a matching branch inmatchSuiWalletId(normalized.includes('slush')), same shape as the existingsuiet/ethosbranches.suiWallets(live wallet-standard detections) into the rendered catalog directly — for any live-detected wallet without a matching descriptor, synthesize a minimal card (name/icon from the wallet-standard metadata itself) instead of silently dropping it. This is the same fix direction as Stellar wallet connect hangs forever for xBull/Albedo/Rabet/Hana — silently calls Freighter's API instead #247's suggested fix (stop assuming a fixed enum of wallets covers everything a user might actually have installed).Timeframe
48 hours from this issue being opened.
Community
Join the txio Telegram community for more open issues and discussion: https://t.me/txioCommunity