SFT-3979: added taproot to wallet summary
What changed, and why it matters
This commit adds a new wallet type option called Taproot (BIP86) to the list of address formats shown in the Passport hardware wallet's wallet summary screen. It is a small user-interface change that lets users see and select Taproot-style Bitcoin addresses. There is no indication in the commit that this fixes or introduces a security vulnerability.
No security action required. Review as part of normal feature acceptance; verify that the existing AF_P2TR implementation elsewhere in the firmware correctly handles key derivation and address generation.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change appends one entry to the CommonDerivations list in chains.py: BIP86 (Taproot P2TR) with derivation path m/86’/{coin_type}’/{account}’/{change}/{idx} and address format flag AF_P2TR. This exposes the already-supported AF_P2TR address type in the wallet summary UI. The diff is purely additive (+2 lines) and contains no logic changes, parsing, cryptography, or input handling.
Changed components
ports/stm32/boards/Passport/modules/chains.pywallet summary UI derivation listInspect captured patch +2 / −0
diff --git a/ports/stm32/boards/Passport/modules/chains.py b/ports/stm32/boards/Passport/modules/chains.py
index 8aa0cbd..4fe433e 100644
--- a/ports/stm32/boards/Passport/modules/chains.py
+++ b/ports/stm32/boards/Passport/modules/chains.py
@@ -312,6 +312,8 @@ CommonDerivations = [
('BIP84 (Native Segwit P2WPKH)', "m/84'/{coin_type}'/{account}'/{change}/{idx}",
AF_P2WPKH), # generates bc1 bech32 addresses
+ ('BIP86 (Taproot P2TR)', "m/86'/{coin_type}'/{account}'/{change}/{idx}",
+ AF_P2TR),
]
Why this scored 19/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.