From 956ea9a94f8f86250c7e99ec6a7ed871cb0f1908 Mon Sep 17 00:00:00 2001 From: Andrew Kozlik Date: Mon, 15 Jun 2020 16:43:55 +0200 Subject: [PATCH] common: Add ownership_proof field to TxInputType. --- common/protob/messages-bitcoin.proto | 2 ++ core/src/trezor/messages/TxInputType.py | 3 +++ legacy/firmware/protob/messages-bitcoin.options | 1 + python/src/trezorlib/messages/TxInputType.py | 3 +++ 4 files changed, 9 insertions(+) diff --git a/common/protob/messages-bitcoin.proto b/common/protob/messages-bitcoin.proto index de91c7005..9c4b67412 100644 --- a/common/protob/messages-bitcoin.proto +++ b/common/protob/messages-bitcoin.proto @@ -217,6 +217,8 @@ message TxAck { // optional bytes prev_block_hash_bip115 = 11; // BIP-115 support dropped // optional uint32 prev_block_height_bip115 = 12; // BIP-115 support dropped optional bytes witness = 13; // witness data, only set for EXTERNAL inputs + optional bytes ownership_proof = 14; // SLIP-0019 proof of ownership, only set for EXTERNAL inputs + } /** * Structure representing compiled transaction output diff --git a/core/src/trezor/messages/TxInputType.py b/core/src/trezor/messages/TxInputType.py index 231f43981..1a4ea863c 100644 --- a/core/src/trezor/messages/TxInputType.py +++ b/core/src/trezor/messages/TxInputType.py @@ -27,6 +27,7 @@ class TxInputType(p.MessageType): amount: int = None, decred_tree: int = None, witness: bytes = None, + ownership_proof: bytes = None, ) -> None: self.address_n = address_n if address_n is not None else [] self.prev_hash = prev_hash @@ -38,6 +39,7 @@ class TxInputType(p.MessageType): self.amount = amount self.decred_tree = decred_tree self.witness = witness + self.ownership_proof = ownership_proof @classmethod def get_fields(cls) -> Dict: @@ -52,4 +54,5 @@ class TxInputType(p.MessageType): 8: ('amount', p.UVarintType, 0), 9: ('decred_tree', p.UVarintType, 0), 13: ('witness', p.BytesType, 0), + 14: ('ownership_proof', p.BytesType, 0), } diff --git a/legacy/firmware/protob/messages-bitcoin.options b/legacy/firmware/protob/messages-bitcoin.options index e11b5d7d6..d7b6d6f23 100644 --- a/legacy/firmware/protob/messages-bitcoin.options +++ b/legacy/firmware/protob/messages-bitcoin.options @@ -32,6 +32,7 @@ TxInputType.address_n max_count:8 TxInputType.prev_hash max_size:32 TxInputType.script_sig max_size:1650 TxInputType.witness max_size:109 +TxInputType.ownership_proof max_size:171 TxOutputType.address max_size:130 TxOutputType.address_n max_count:8 diff --git a/python/src/trezorlib/messages/TxInputType.py b/python/src/trezorlib/messages/TxInputType.py index 4d9a98594..9d404088f 100644 --- a/python/src/trezorlib/messages/TxInputType.py +++ b/python/src/trezorlib/messages/TxInputType.py @@ -27,6 +27,7 @@ class TxInputType(p.MessageType): amount: int = None, decred_tree: int = None, witness: bytes = None, + ownership_proof: bytes = None, ) -> None: self.address_n = address_n if address_n is not None else [] self.prev_hash = prev_hash @@ -38,6 +39,7 @@ class TxInputType(p.MessageType): self.amount = amount self.decred_tree = decred_tree self.witness = witness + self.ownership_proof = ownership_proof @classmethod def get_fields(cls) -> Dict: @@ -52,4 +54,5 @@ class TxInputType(p.MessageType): 8: ('amount', p.UVarintType, 0), 9: ('decred_tree', p.UVarintType, 0), 13: ('witness', p.BytesType, 0), + 14: ('ownership_proof', p.BytesType, 0), }