From be2854903f8795daf42ca7b96d93fc348b886b58 Mon Sep 17 00:00:00 2001 From: highlander Date: Sat, 1 Aug 2026 18:36:22 -0300 Subject: [PATCH] feat(features): add supports_taproot capability bit Lets a host ask the device whether it can derive and spend P2TR, instead of inferring it from a firmware version. Version inference breaks the moment the feature is retargeted to a different release, and it forces every client to carry a version table. Field 27: 19 and 20 are gaps with no reserved markers, so they are not safe to reuse against historical wire data. Additive and optional -- older hosts ignore it, older firmware simply does not set it. --- messages.proto | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/messages.proto b/messages.proto index 1cf8bbb4..26e7290e 100644 --- a/messages.proto +++ b/messages.proto @@ -319,6 +319,11 @@ message Features { optional bool wipe_code_protection = 25; optional uint32 auto_lock_delay_ms = 26; // Current auto lock delay (in milliseconds) + optional bool supports_taproot = + 27; // Firmware can derive and spend P2TR (BIP-86 / BIP-340 / BIP-341). + // Lets a host detect taproot support directly instead of inferring + // it from a firmware version, which breaks whenever the feature is + // retargeted to a different release. } /**