From 4ed9f00c737c97fd4dd8c8382b88fd3e129c1b2d Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 15 Jul 2021 22:50:26 +0200 Subject: [PATCH] feat(common): add support for Taproot input and output scripts --- common/protob/messages-bitcoin.proto | 2 ++ core/src/trezor/enums/InputScriptType.py | 1 + core/src/trezor/enums/OutputScriptType.py | 1 + core/src/trezor/enums/__init__.py | 2 ++ python/src/trezorlib/messages.py | 2 ++ 5 files changed, 8 insertions(+) diff --git a/common/protob/messages-bitcoin.proto b/common/protob/messages-bitcoin.proto index 61487e8ad..fad571e2a 100644 --- a/common/protob/messages-bitcoin.proto +++ b/common/protob/messages-bitcoin.proto @@ -19,6 +19,7 @@ enum InputScriptType { EXTERNAL = 2; // reserved for external inputs (coinjoin) SPENDWITNESS = 3; // native SegWit SPENDP2SHWITNESS = 4; // SegWit over P2SH (backward compatible) + SPENDTAPROOT = 5; // Taproot } /** @@ -31,6 +32,7 @@ enum OutputScriptType { PAYTOOPRETURN = 3; // op_return PAYTOWITNESS = 4; // only for change output PAYTOP2SHWITNESS = 5; // only for change output + PAYTOTAPROOT = 6; // only for change output } /** diff --git a/core/src/trezor/enums/InputScriptType.py b/core/src/trezor/enums/InputScriptType.py index 9290b84b9..d072c2139 100644 --- a/core/src/trezor/enums/InputScriptType.py +++ b/core/src/trezor/enums/InputScriptType.py @@ -7,3 +7,4 @@ SPENDMULTISIG = 1 EXTERNAL = 2 SPENDWITNESS = 3 SPENDP2SHWITNESS = 4 +SPENDTAPROOT = 5 diff --git a/core/src/trezor/enums/OutputScriptType.py b/core/src/trezor/enums/OutputScriptType.py index 9d177e313..e3ebfeb77 100644 --- a/core/src/trezor/enums/OutputScriptType.py +++ b/core/src/trezor/enums/OutputScriptType.py @@ -8,3 +8,4 @@ PAYTOMULTISIG = 2 PAYTOOPRETURN = 3 PAYTOWITNESS = 4 PAYTOP2SHWITNESS = 5 +PAYTOTAPROOT = 6 diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py index e4b86fb12..67268a5fa 100644 --- a/core/src/trezor/enums/__init__.py +++ b/core/src/trezor/enums/__init__.py @@ -290,6 +290,7 @@ if TYPE_CHECKING: EXTERNAL = 2 SPENDWITNESS = 3 SPENDP2SHWITNESS = 4 + SPENDTAPROOT = 5 class OutputScriptType(IntEnum): PAYTOADDRESS = 0 @@ -298,6 +299,7 @@ if TYPE_CHECKING: PAYTOOPRETURN = 3 PAYTOWITNESS = 4 PAYTOP2SHWITNESS = 5 + PAYTOTAPROOT = 6 class DecredStakingSpendType(IntEnum): SSGen = 0 diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py index 360241deb..cce9cb888 100644 --- a/python/src/trezorlib/messages.py +++ b/python/src/trezorlib/messages.py @@ -298,6 +298,7 @@ class InputScriptType(IntEnum): EXTERNAL = 2 SPENDWITNESS = 3 SPENDP2SHWITNESS = 4 + SPENDTAPROOT = 5 class OutputScriptType(IntEnum): @@ -307,6 +308,7 @@ class OutputScriptType(IntEnum): PAYTOOPRETURN = 3 PAYTOWITNESS = 4 PAYTOP2SHWITNESS = 5 + PAYTOTAPROOT = 6 class DecredStakingSpendType(IntEnum):