From 5d745d5d0407c52a81b136c400d66057535316a6 Mon Sep 17 00:00:00 2001 From: Andrew Kozlik Date: Mon, 7 Sep 2020 17:37:57 +0200 Subject: [PATCH] common/protob: Add commitment_data to TxInputType. --- common/protob/messages-bitcoin.proto | 1 + core/src/trezor/messages/TxInputType.py | 3 +++ legacy/firmware/protob/messages-bitcoin.options | 1 + python/src/trezorlib/messages/TxInputType.py | 3 +++ 4 files changed, 8 insertions(+) diff --git a/common/protob/messages-bitcoin.proto b/common/protob/messages-bitcoin.proto index 8d1c91211..f61133481 100644 --- a/common/protob/messages-bitcoin.proto +++ b/common/protob/messages-bitcoin.proto @@ -240,6 +240,7 @@ message TxAck { // 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 + optional bytes commitment_data = 15; // optional commitment data for the SLIP-0019 proof of ownership } /** diff --git a/core/src/trezor/messages/TxInputType.py b/core/src/trezor/messages/TxInputType.py index 1a4ea863c..8051d0ce5 100644 --- a/core/src/trezor/messages/TxInputType.py +++ b/core/src/trezor/messages/TxInputType.py @@ -28,6 +28,7 @@ class TxInputType(p.MessageType): decred_tree: int = None, witness: bytes = None, ownership_proof: bytes = None, + commitment_data: bytes = None, ) -> None: self.address_n = address_n if address_n is not None else [] self.prev_hash = prev_hash @@ -40,6 +41,7 @@ class TxInputType(p.MessageType): self.decred_tree = decred_tree self.witness = witness self.ownership_proof = ownership_proof + self.commitment_data = commitment_data @classmethod def get_fields(cls) -> Dict: @@ -55,4 +57,5 @@ class TxInputType(p.MessageType): 9: ('decred_tree', p.UVarintType, 0), 13: ('witness', p.BytesType, 0), 14: ('ownership_proof', p.BytesType, 0), + 15: ('commitment_data', p.BytesType, 0), } diff --git a/legacy/firmware/protob/messages-bitcoin.options b/legacy/firmware/protob/messages-bitcoin.options index d3db2a44c..c958e56a1 100644 --- a/legacy/firmware/protob/messages-bitcoin.options +++ b/legacy/firmware/protob/messages-bitcoin.options @@ -33,6 +33,7 @@ TxInputType.prev_hash max_size:32 TxInputType.script_sig max_size:1650 TxInputType.witness max_size:109 TxInputType.ownership_proof max_size:171 +TxInputType.commitment_data max_size:32 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 9d404088f..d9406e05a 100644 --- a/python/src/trezorlib/messages/TxInputType.py +++ b/python/src/trezorlib/messages/TxInputType.py @@ -28,6 +28,7 @@ class TxInputType(p.MessageType): decred_tree: int = None, witness: bytes = None, ownership_proof: bytes = None, + commitment_data: bytes = None, ) -> None: self.address_n = address_n if address_n is not None else [] self.prev_hash = prev_hash @@ -40,6 +41,7 @@ class TxInputType(p.MessageType): self.decred_tree = decred_tree self.witness = witness self.ownership_proof = ownership_proof + self.commitment_data = commitment_data @classmethod def get_fields(cls) -> Dict: @@ -55,4 +57,5 @@ class TxInputType(p.MessageType): 9: ('decred_tree', p.UVarintType, 0), 13: ('witness', p.BytesType, 0), 14: ('ownership_proof', p.BytesType, 0), + 15: ('commitment_data', p.BytesType, 0), }