Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add taproot wallet bip86#8146

Merged
Overtorment merged 20 commits into
masterfrom
add-taproot-wallet-bip86
Nov 10, 2025
Merged

Add taproot wallet bip86#8146
Overtorment merged 20 commits into
masterfrom
add-taproot-wallet-bip86

Conversation

@Overtorment

@Overtorment Overtorment commented Oct 28, 2025

Copy link
Copy Markdown
Member

Note

Introduce HD Taproot (BIP86) wallet with p2tr derivation, PSBT/taproot signing, watch‑only/descriptors, import/export, and UI creation flow.

  • Wallets/Core:
    • Add HDTaprootWallet (BIP86 m/86'/0'/0', p2tr) with taproot address derivation, PSBT inputs, taproot signing, and Silent Payments p2tr support.
    • Extend abstractions for p2tr (segwitType), cache master fingerprint, and p2tr coinselect weight.
    • Include HDTaprootWallet in serialization/deserialization and exported types.
  • Import/Discovery:
    • Merge Electrum formats with BlueWallet formats adding p2tr; map p2tr to HDTaprootWallet during BIP39 scanning.
    • Support output descriptors parsing (tr(...)) and add WalletDescriptor helper; generate descriptors for taproot watch‑only exports.
  • Watch‑only:
    • Initialize HD watch‑only as Taproot when xpub + BIP86 path; support descriptor imports; expose p2tr PSBT fields.
  • UI:
    • Add Taproot option to Add Wallet screen; update custom derivation import to include HDTaprootWallet.
    • Show/export taproot watch‑only as descriptor in Wallet Export and XPUB screens.
  • Transactions/PSBT:
    • Add taproot derivations to PSBT outputs/inputs (tapBip32Derivation, tapInternalKey) and sign via signTaprootInput.
    • Message signing options clarified to exclude p2tr.
  • Tests:
    • New unit/integration tests for HD Taproot, descriptor handling, and import flow; adjust counts for offline import.
  • Misc:
    • Add android:restart npm script; bump iOS pods (lottie-react-native, RNLocalize).

Written by Cursor Bugbot for commit 20f9896. This will update automatically on new commits. Configure here.

cursor[bot]

This comment was marked as outdated.

@Overtorment Overtorment linked an issue Oct 28, 2025 that may be closed by this pull request
Comment thread class/wallets/legacy-wallet.ts Fixed
cursor[bot]

This comment was marked as outdated.

Comment thread class/wallets/abstract-hd-electrum-wallet.ts Outdated
@Overtorment Overtorment requested a review from marcosrdz November 6, 2025 14:14
Comment thread class/wallets/legacy-wallet.ts Outdated
@Overtorment

Copy link
Copy Markdown
Member Author

summon @junderw @ojokne @limpbrains @marcosrdz

Comment thread class/bip39_wallet_formats.json Outdated

@junderw junderw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the script length, all the other stuff seems optional.

@Overtorment Overtorment added the testflight Upload iOS and macOS builds to Testflight. label Nov 7, 2025
@github-actions

github-actions Bot commented Nov 7, 2025

Copy link
Copy Markdown

✅ Build 7.2.1 (1762513773) has been uploaded to TestFlight and will be available for testing soon.

@junderw junderw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread screen/wallets/Add.tsx
Comment thread screen/wallets/xpub.tsx Outdated
@github-actions

github-actions Bot commented Nov 7, 2025

Copy link
Copy Markdown

✅ Build 7.2.1 (1762545792) has been uploaded to TestFlight and will be available for testing soon.

@Overtorment Overtorment requested a review from ojokne November 7, 2025 21:19
@github-actions

github-actions Bot commented Nov 7, 2025

Copy link
Copy Markdown

✅ Build 7.2.1 (1762553991) has been uploaded to TestFlight and will be available for testing soon.

@ojokne ojokne left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its not possible to import a Taproot wallet using seed words,

by default it imports HD SegWit (BIP84 Bech32 Native)

Steps to reproduce

  • Create a new Taproot wallet and record the seed words
  • Try to import the wallet and enter the same seed phrase
  • Tap Use custom derivation path

The Taproot derivation path (m/86'/0'/0') isn’t available among the options.

You can check screens/wallets/ImportCustomDerivationPath.tsx, lines 101–108, where the available wallet types are defined

const items: TItem[] = useMemo(() => {
    if (wallets[path] === WRONG_PATH) return [];
    return [
      [HDLegacyP2PKHWallet.type, HDLegacyP2PKHWallet.typeReadable, used[path]?.[HDLegacyP2PKHWallet.type]],
      [HDSegwitP2SHWallet.type, HDSegwitP2SHWallet.typeReadable, used[path]?.[HDSegwitP2SHWallet.type]],
      [HDSegwitBech32Wallet.type, HDSegwitBech32Wallet.typeReadable, used[path]?.[HDSegwitBech32Wallet.type]],
    ];
  }, [path, used, wallets]);

@GladosBlueWallet

Copy link
Copy Markdown
Collaborator

Wake the fuck up samurai, we have PRs to merge

image

[all PRs for @limpbrains] https://github.com/BlueWallet/BlueWallet/pulls/review-requested/limpbrains

@GladosBlueWallet

Copy link
Copy Markdown
Collaborator

Wake the fuck up samurai, we have PRs to merge

image

[all PRs for @marcosrdz] https://github.com/BlueWallet/BlueWallet/pulls/review-requested/marcosrdz

Comment thread screen/wallets/Add.tsx Outdated
@github-actions

Copy link
Copy Markdown

✅ Build 7.2.1 (1762773534) has been uploaded to TestFlight and will be available for testing soon.

Comment thread class/bip39_wallet_formats.json Outdated
@github-actions

Copy link
Copy Markdown

✅ Build 7.2.1 (1762777227) has been uploaded to TestFlight and will be available for testing soon.

@Overtorment

Copy link
Copy Markdown
Member Author

@limpbrains now tests/integration/import.test.t fails

@github-actions

Copy link
Copy Markdown

✅ Build 7.2.1 (1762798554) has been uploaded to TestFlight and will be available for testing soon.

@github-actions

Copy link
Copy Markdown

✅ Build 7.2.1 (1762798640) has been uploaded to TestFlight and will be available for testing soon.

@limpbrains limpbrains force-pushed the add-taproot-wallet-bip86 branch from 8da013f to e11a785 Compare November 10, 2025 19:13
@limpbrains

Copy link
Copy Markdown
Collaborator

@Overtorment Sorry, everything should be alright now. God bless the tests

@github-actions

Copy link
Copy Markdown

✅ Build 7.2.1 (1762802661) has been uploaded to TestFlight and will be available for testing soon.

@github-actions

Copy link
Copy Markdown

✅ Build 7.2.1 (1762802281) has been uploaded to TestFlight and will be available for testing soon.

@Overtorment Overtorment merged commit ed8a928 into master Nov 10, 2025
11 checks passed
@Overtorment Overtorment deleted the add-taproot-wallet-bip86 branch November 10, 2025 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testflight Upload iOS and macOS builds to Testflight.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for BIP86 (taproot HD wallets)

6 participants