1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-18 12:28:09 +00:00

feat(python): add support for Taproot descriptors

This commit is contained in:
Pavol Rusnak 2021-07-15 22:52:50 +02:00 committed by Andrew Kozlik
parent 2035ff4569
commit ba0879961c
2 changed files with 6 additions and 0 deletions

View File

@ -0,0 +1 @@
Support for Taproot descriptors

View File

@ -30,6 +30,7 @@ INPUT_SCRIPTS = {
"pkh": messages.InputScriptType.SPENDADDRESS, "pkh": messages.InputScriptType.SPENDADDRESS,
"wpkh": messages.InputScriptType.SPENDWITNESS, "wpkh": messages.InputScriptType.SPENDWITNESS,
"sh-wpkh": messages.InputScriptType.SPENDP2SHWITNESS, "sh-wpkh": messages.InputScriptType.SPENDP2SHWITNESS,
"tr": messages.InputScriptType.SPENDTAPROOT,
} }
OUTPUT_SCRIPTS = { OUTPUT_SCRIPTS = {
@ -39,6 +40,7 @@ OUTPUT_SCRIPTS = {
"pkh": messages.OutputScriptType.PAYTOADDRESS, "pkh": messages.OutputScriptType.PAYTOADDRESS,
"wpkh": messages.OutputScriptType.PAYTOWITNESS, "wpkh": messages.OutputScriptType.PAYTOWITNESS,
"sh-wpkh": messages.OutputScriptType.PAYTOP2SHWITNESS, "sh-wpkh": messages.OutputScriptType.PAYTOP2SHWITNESS,
"tr": messages.OutputScriptType.PAYTOTAPROOT,
} }
DEFAULT_COIN = "Bitcoin" DEFAULT_COIN = "Bitcoin"
@ -206,6 +208,9 @@ def _get_descriptor(client, coin, account, script_type, show_display):
elif script_type == messages.InputScriptType.SPENDWITNESS: elif script_type == messages.InputScriptType.SPENDWITNESS:
acc_type = 84 acc_type = 84
fmt = "wpkh({})" fmt = "wpkh({})"
elif script_type == messages.InputScriptType.SPENDTAPROOT:
acc_type = 86
fmt = "tr({})"
else: else:
raise ValueError("Unsupported account type") raise ValueError("Unsupported account type")