Skip to content

feat: implement multi-wallet support (Freighter, xBull, Albedo)#163

Open
anthonyli wants to merge 1 commit into
sorosave-protocol:mainfrom
anthonyli:multi-wallet-support
Open

feat: implement multi-wallet support (Freighter, xBull, Albedo)#163
anthonyli wants to merge 1 commit into
sorosave-protocol:mainfrom
anthonyli:multi-wallet-support

Conversation

@anthonyli
Copy link
Copy Markdown

Summary

Implements multi-wallet support for SoroSave frontend (addresses #66).

What was done

  • Wallet adapter pattern: Unified WalletAdapter interface with implementations for Freighter, xBull, and Albedo wallets
  • Multi-wallet selection UI: Dropdown component with wallet icons, status indicators (Connected/Available/Install), and loading states
  • Persistent preferences: User's preferred wallet saved to localStorage, connection state to sessionStorage
  • Backward compatible: Legacy wallet exports maintained in src/lib/wallet.ts

Files changed

File Change
src/lib/wallet-types.ts New: core types and interface definitions
src/lib/adapters/freighter.ts New: Freighter wallet adapter
src/lib/adapters/xbull.ts New: xBull wallet adapter
src/lib/adapters/albedo.ts New: Albedo wallet adapter
src/lib/wallet.ts Refactored to use adapter pattern
src/app/providers.tsx Updated WalletContext for multi-wallet support
src/components/ConnectWallet.tsx New: wallet selection UI component

Acceptance criteria met

  • ✅ Wallet adapter interface handles multiple providers
  • ✅ Wallet selection UI
  • ✅ Persist user's preferred wallet

Closes #66

- Add wallet adapter pattern with unified interface
- Implement adapters for Freighter, xBull, and Albedo wallets
- Update WalletContext to support multi-wallet selection
- Persist user's preferred wallet in localStorage
- Add ConnectWallet component with wallet selection UI

Closes sorosave-protocol#66
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement multi-wallet support (Freighter, xBull, Albedo)

1 participant