Files
hash-wallet/cw_bitcoin
Seth For PrivacyandGitHub b60b5a59f7 feat: show Bitcoin master fingerprint in wallet keys (#3489)
* feat: show Bitcoin master fingerprint in wallet keys

Add the BIP-32 master fingerprint (XFP) to the Bitcoin wallet keys shown
under Settings > Seed & Keys > Keys, labeled "Master fingerprint".

* fix: keep xPub in Keys tab by splitting silent payment keys into a dedicated list

The Keys tab / Silent Payments tab split relied on a hardcoded item index
(`items.sublist(0, 4)` / `sublist(4)`) that assumed the first four items
were always WIF/private key/public key/xPub. Adding the master fingerprint
as the first item pushed xPub into the Silent Payments tab.

Route Bitcoin silent payment keys into their own `silentPaymentItems` list
instead, and render each tab from its list.
2026-08-07 21:47:24 +02:00
..
2026-07-14 12:50:19 +02:00

cw_bitcoin

Bitcoin-family Electrum wallet implementation used by Cake Wallet (BTC, LTC and derivatives).

Features

  • Electrum client and wallet with address/UTXO management and snapshots.
  • Derivation via BIP‑39; receive/change chains with per-coin configs.
  • Create/sign/broadcast transactions; PSBT helpers and payjoin support.
  • Transaction history, priorities, and size-based fee calculations.
  • Hardware wallet support for BTC/LTC.

Getting started

Use the module via app services (see bitcoin_wallet_service.dart, litecoin_wallet_service.dart). Ensure Electrum nodes are configured for the target coin.

final wallet = await BitcoinWallet.create(
  mnemonic: '...',
  password: 'secret',
  walletInfo: walletInfo,
  unspentCoinsInfo: unspentCoinsBox,
  encryptionFileUtils: encryption,
);

Usage

Send BTC with medium priority:

final feeRate = wallet.feeRate(BitcoinTransactionPriority.medium);
final pending = await wallet.createTransaction(
  outputs: [BitcoinTransactionOutput(address: 'bc1...', amount: 50000)],
  feeRate: feeRate,
);
final txHash = await pending.commit();

See lib/ for wallet/services, PSBT, and payjoin utilities.