Background
src/components/ConnectWalletPrompt.tsx displays a static string listing supported wallets:
<p className="mt-2 text-sm text-gray-400">
Use Freighter, xBull, LOBSTR, or any Stellar-compatible wallet.
</p>
src/lib/stellar.ts initialises StellarWalletsKit with allowAllModules(), which dynamically loads every wallet module the kit supports. The kit's supported wallet list changes with SDK updates and is not the same as the four names hardcoded in the prompt.
Problem
The hardcoded list will silently go out of date as the wallet kit adds or removes modules. A user with a supported wallet not on the list (e.g. Rabet, Hana) may incorrectly assume their wallet is incompatible and leave without connecting. Conversely, a wallet listed in the static text that gets removed from the kit will confuse users who try to select it and find it missing from the kit modal.
Acceptance criteria
- The static wallet list string is replaced with copy that accurately represents the dynamic nature of the kit: e.g. "Any Stellar-compatible wallet is supported — Freighter, xBull, LOBSTR, Rabet, and more."
- Alternatively, if
StellarWalletsKit exposes a method to list available modules before the modal opens, use it to render a dynamic comma-separated list of wallet names.
- The "Connect Wallet" button behaviour is unchanged — it still calls
connect() which opens the kit modal.
- If the dynamic list approach is taken, it must not block rendering — fall back to the static string if the kit has not initialised yet.
Files to touch
src/components/ConnectWalletPrompt.tsx — update the supporting copy.
src/lib/stellar.ts — expose a getSupportedWallets() helper if the dynamic approach is chosen.
Background
src/components/ConnectWalletPrompt.tsxdisplays a static string listing supported wallets:src/lib/stellar.tsinitialisesStellarWalletsKitwithallowAllModules(), which dynamically loads every wallet module the kit supports. The kit's supported wallet list changes with SDK updates and is not the same as the four names hardcoded in the prompt.Problem
The hardcoded list will silently go out of date as the wallet kit adds or removes modules. A user with a supported wallet not on the list (e.g. Rabet, Hana) may incorrectly assume their wallet is incompatible and leave without connecting. Conversely, a wallet listed in the static text that gets removed from the kit will confuse users who try to select it and find it missing from the kit modal.
Acceptance criteria
StellarWalletsKitexposes a method to list available modules before the modal opens, use it to render a dynamic comma-separated list of wallet names.connect()which opens the kit modal.Files to touch
src/components/ConnectWalletPrompt.tsx— update the supporting copy.src/lib/stellar.ts— expose agetSupportedWallets()helper if the dynamic approach is chosen.