feat(wallet): add LOBSTR wallet support for mobile and desktop - #80
Open
tebney wants to merge 1 commit into
Open
feat(wallet): add LOBSTR wallet support for mobile and desktop#80tebney wants to merge 1 commit into
tebney wants to merge 1 commit into
Conversation
- Export LOBSTR_ID from stellarWalletsKit.ts alongside FREIGHTER_ID and ALBEDO_ID - Re-export LOBSTR_ID from mobileWalletConnectors.ts for stable consumer imports - Add provider-specific limitations JSDoc (LOBSTR: extension-only, no mobile deep-link) - Update useWallet.tsx to skip Freighter-only extension polling for LOBSTR sessions - Create WalletSetupModal.tsx: informational dialog listing supported wallets (Freighter, LOBSTR, Albedo, xBull) with platform badges and LOBSTR limitation notice - Update Login.tsx: surface WalletSetupModal via info link in the wallet picker card LOBSTR connects and signs through the existing Stellar Wallets Kit modal flow. No changes required to WalletAdapter.ts (already provider-agnostic interface). Existing providers (Freighter, Albedo, xBull, Privy) are unaffected. Closes Kalebtron1#75
|
@tebney is attempting to deploy a commit to the alankcr1-6443's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@tebney Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #75
What changed
LOBSTR is integrated as a named, documented wallet option throughout the wallet abstraction stack. The underlying
LobstrModulewas already registered instellarWalletsKit.ts; this PR makes it a first-class citizen with proper ID exports, clear limitation documentation, and user-facing discovery UI.Before
LOBSTR_IDwas not exported — consumers had no stable constant to reference.useWallet.tsxpolling comment implied it only handled Freighter — no clarity for other providers.After
LOBSTR_IDis exported from bothstellarWalletsKit.tsandmobileWalletConnectors.ts.mobileWalletConnectors.tshas a new JSDoc block listing all provider limitations:@lobstrco/signer-extension-api. No silent polling API. LOBSTR mobile app does not support deep-link signing in this flow.useWallet.tsxnow documents that Freighter-extension polling is skipped for LOBSTR (and all non-Freighter providers).src/components/WalletSetupModal.tsx: an informational dialog listing supported wallets (Freighter, LOBSTR, Albedo, xBull) with platform badges, external links, and a visible amber limitation notice for LOBSTR.Login.tsxsurfaces a "Freighter / LOBSTR / Albedo / xBull — which one to use?" info link that opens the modal.LOBSTR support scope
Files changed
src/lib/stellarWalletsKit.tsLOBSTR_IDsrc/lib/mobileWalletConnectors.tsLOBSTR_ID; add provider limitations JSDocsrc/hooks/useWallet.tsxsrc/components/WalletSetupModal.tsxsrc/pages/Login.tsxsrc/wallet/WalletAdapter.tsrequires no changes — it is a provider-agnostic interface contract.Validation
npm run build— builds successfully (exit 0)npm test— 24/24 tests passnpm run lint— zero new violations (pre-existing issues are unrelated to this PR)