Skip to content

feat: add xBull wallet adapter #2

@gloriaelishahabu

Description

@gloriaelishahabu

Overview

xBull is one of the most widely used Stellar wallets on mobile and desktop. This issue tracks adding xBull support to WalletConnect and StellarPayProvider.

What needs to be built

  • Research xBull Wallet SDK (@creit-tech/xbull-wallet-connect)
  • Implement connectXBull() adapter in StellarPayProvider.tsx
  • Implement signWithXBull() for transaction signing
  • Handle the xBull iframe-based connection flow
  • Test on testnet

xBull SDK reference

import { xBullWalletConnect } from "@creit-tech/xbull-wallet-connect";

const wallet = new xBullWalletConnect();
await wallet.connect();
const { publicKey } = await wallet.getPublicKey();
const { signedXDR } = await wallet.sign({ xdr: unsignedXdr, network: "TESTNET" });

Acceptance criteria

  • <WalletConnect wallets={["xbull"]} /> works end to end
  • Signing works through useTransaction
  • Works on both mobile and desktop browsers

Notes

xBull uses an iframe bridge so the connection flow is slightly different from Freighter. May need a wrapper component to handle the iframe lifecycle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions