Skip to content

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

Open
opensecretsauce wants to merge 1 commit intosorosave-protocol:mainfrom
opensecretsauce:main
Open

feat: multi-wallet support (Freighter, xBull, Albedo)#81
opensecretsauce wants to merge 1 commit intosorosave-protocol:mainfrom
opensecretsauce:main

Conversation

@opensecretsauce
Copy link

Summary

Adds multi-wallet support to the SoroSave frontend.

Changes

  • WalletAdapter interface (src/lib/wallets/index.ts) — common interface for all wallets
  • FreighterAdapter — uses @stellar/freighter-api
  • xBullAdapter — uses window.xBullSDK injection
  • AlbedoAdapter — uses @albedo-link/intent (web wallet, no install required)
  • Wallet selection modal in ConnectWallet.tsx — shows all available wallets, gracefully handles not-installed state
  • providers.tsx — refactored to support multi-wallet, persists last used wallet in localStorage
  • signTransaction routing in src/lib/wallet.ts — routes signing to the active wallet adapter
  • Local SDK stub at src/lib/sdk.ts — allows the frontend to build independently of the @sorosave/sdk workspace package

Testing

  • pnpm build passes cleanly ✅

- Add WalletAdapter interface (src/lib/wallets/index.ts)
- Add FreighterAdapter, xBullAdapter, AlbedoAdapter
- Refactor providers.tsx to support multiple wallets + localStorage persistence
- Update ConnectWallet.tsx with wallet selection modal
- Create src/lib/sdk.ts as local stub for @sorosave/sdk
- Create src/lib/wallet.ts with multi-wallet signTransaction routing
- Fix all @sorosave/sdk missing module errors — build passes clean
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.

1 participant