-
Notifications
You must be signed in to change notification settings - Fork 70
[Feature] Add xBull wallet support via the WalletAdapter interface #488
Copy link
Copy link
Closed
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardStellar WaveIssues in the Stellar wave programIssues in the Stellar wave programThird CampaignCampaign: Third CampaignCampaign: Third CampaignenhancementNew feature or requestNew feature or requestfrontendInvolves React components, Tailwind styling, or Next.js pagesInvolves React components, Tailwind styling, or Next.js pagesmediumRequires familiarity with the Meridian codebase or relevant tooling; expect 4–8 hoursRequires familiarity with the Meridian codebase or relevant tooling; expect 4–8 hours
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardStellar WaveIssues in the Stellar wave programIssues in the Stellar wave programThird CampaignCampaign: Third CampaignCampaign: Third CampaignenhancementNew feature or requestNew feature or requestfrontendInvolves React components, Tailwind styling, or Next.js pagesInvolves React components, Tailwind styling, or Next.js pagesmediumRequires familiarity with the Meridian codebase or relevant tooling; expect 4–8 hoursRequires familiarity with the Meridian codebase or relevant tooling; expect 4–8 hours
Summary
Implement
WalletAdapter(apps/web/src/lib/wallet.ts) for xBull, alongside the existingFreighterWallet. xBull has a mobile app, unlike Freighter, which is desktop-only.Motivation
The README targets "users in West Africa and other emerging markets" and the roadmap names low-end Android devices as the target device class, but Freighter cannot be installed on mobile at all. xBull is a real path to reaching that user on a phone.
Proposed Solution
Add an
XBullWalletclass implementing theWalletAdapterinterface (isInstalled/isAuthorized/connect/sign) introduced in #476, using xBull's own connection API. Do not wire it into the UI yet, a wallet-picker issue will follow once at least one non-Freighter wallet exists to design the picker against; this issue is just the adapter implementation.Scope
Acceptance Criteria
XBullWalletimplementsWalletAdapterfully (isInstalled,isAuthorized,connect,sign)FreighterWalletuses, so Playwright e2e tests can exercise it without a real extensionwallet.test.ts's existing Freighter coveragepnpm --filter @meridian/web lint && pnpm --filter @meridian/web typecheck && pnpm --filter @meridian/web testpassAdditional Context
Second of the multi-wallet batch. Depends on #476 (merged). Followed by a LOBSTR adapter issue, then a wallet-picker UI issue, then a docs update.