Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
frontend/src/lib/wallet.ts advertises three wallets in SUPPORTED_WALLETS (Freighter, Albedo, xBull), and WalletModal.tsx renders all three as selectable. But connectAlbedo() and connectXBull() are mocks: they setTimeout for 1.5s and return a buildSession(..., mocked: true) with a fabricated public key like "G" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".substring(0,55). That string is not a valid StrKey (no checksum), so any downstream signing or isValidStellarPublicKey check fails. The file header even claims "No mock sessions are created in production paths," which these violate.
A user who picks Albedo or xBull gets a fake session and silently broken functionality.
Acceptance criteria
Files to touch
frontend/src/lib/wallet.ts
frontend/src/components/wallet/WalletModal.tsx
Out of scope
- Freighter connector (already real).
Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
frontend/src/lib/wallet.tsadvertises three wallets inSUPPORTED_WALLETS(Freighter, Albedo, xBull), andWalletModal.tsxrenders all three as selectable. ButconnectAlbedo()andconnectXBull()are mocks: theysetTimeoutfor 1.5s and return abuildSession(..., mocked: true)with a fabricated public key like"G" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".substring(0,55). That string is not a valid StrKey (no checksum), so any downstream signing orisValidStellarPublicKeycheck fails. The file header even claims "No mock sessions are created in production paths," which these violate.A user who picks Albedo or xBull gets a fake session and silently broken functionality.
Acceptance criteria
@creit.tech/stellar-wallets-kit, referenced in the header) …SUPPORTED_WALLETS/WalletModaluntil implemented (and update the header comment / WalletModal docstring)mocked: truesession can be created from the production wallet pickerFiles to touch
frontend/src/lib/wallet.tsfrontend/src/components/wallet/WalletModal.tsxOut of scope