Skip to content

fix: ConnectWalletPrompt hardcodes a wallet list that may diverge from StellarWalletsKit modules #43

Description

@nonsobethel0-dev

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.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions