diff --git a/src/apps/common/coininfo.py b/src/apps/common/coininfo.py index d666664413..7a82ae6885 100644 --- a/src/apps/common/coininfo.py +++ b/src/apps/common/coininfo.py @@ -520,7 +520,7 @@ COINS = [ address_type_p2sh=5, maxfee_kb=10000000, signed_message_header="Namecoin Signed Message:\n", - xpub_magic=0x019da462, + xpub_magic=0x0488b21e, xpub_magic_segwit_p2sh=None, xpub_magic_segwit_native=None, bech32_prefix=None, diff --git a/src/trezor/messages/Address.py b/src/trezor/messages/Address.py index 5601db6803..f8f59ff608 100644 --- a/src/trezor/messages/Address.py +++ b/src/trezor/messages/Address.py @@ -5,12 +5,15 @@ import protobuf as p class Address(p.MessageType): MESSAGE_WIRE_TYPE = 30 - FIELDS = { - 1: ('address', p.UnicodeType, 0), # required - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), # required + } diff --git a/src/trezor/messages/ApplyFlags.py b/src/trezor/messages/ApplyFlags.py index 5b7646f93e..c054a8d9bf 100644 --- a/src/trezor/messages/ApplyFlags.py +++ b/src/trezor/messages/ApplyFlags.py @@ -5,12 +5,15 @@ import protobuf as p class ApplyFlags(p.MessageType): MESSAGE_WIRE_TYPE = 28 - FIELDS = { - 1: ('flags', p.UVarintType, 0), - } def __init__( self, flags: int = None, ) -> None: self.flags = flags + + @classmethod + def get_fields(cls): + return { + 1: ('flags', p.UVarintType, 0), + } diff --git a/src/trezor/messages/ApplySettings.py b/src/trezor/messages/ApplySettings.py index a44bc9ec75..4bec029f91 100644 --- a/src/trezor/messages/ApplySettings.py +++ b/src/trezor/messages/ApplySettings.py @@ -5,14 +5,6 @@ import protobuf as p class ApplySettings(p.MessageType): MESSAGE_WIRE_TYPE = 25 - FIELDS = { - 1: ('language', p.UnicodeType, 0), - 2: ('label', p.UnicodeType, 0), - 3: ('use_passphrase', p.BoolType, 0), - 4: ('homescreen', p.BytesType, 0), - 5: ('passphrase_source', p.UVarintType, 0), - 6: ('auto_lock_delay_ms', p.UVarintType, 0), - } def __init__( self, @@ -29,3 +21,14 @@ class ApplySettings(p.MessageType): self.homescreen = homescreen self.passphrase_source = passphrase_source self.auto_lock_delay_ms = auto_lock_delay_ms + + @classmethod + def get_fields(cls): + return { + 1: ('language', p.UnicodeType, 0), + 2: ('label', p.UnicodeType, 0), + 3: ('use_passphrase', p.BoolType, 0), + 4: ('homescreen', p.BytesType, 0), + 5: ('passphrase_source', p.UVarintType, 0), + 6: ('auto_lock_delay_ms', p.UVarintType, 0), + } diff --git a/src/trezor/messages/ButtonRequest.py b/src/trezor/messages/ButtonRequest.py index c7be3f2b31..a6d4a2e725 100644 --- a/src/trezor/messages/ButtonRequest.py +++ b/src/trezor/messages/ButtonRequest.py @@ -5,10 +5,6 @@ import protobuf as p class ButtonRequest(p.MessageType): MESSAGE_WIRE_TYPE = 26 - FIELDS = { - 1: ('code', p.UVarintType, 0), - 2: ('data', p.UnicodeType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class ButtonRequest(p.MessageType): ) -> None: self.code = code self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('code', p.UVarintType, 0), + 2: ('data', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/CardanoAddress.py b/src/trezor/messages/CardanoAddress.py index 3f0504fe6a..4dad48a3bf 100644 --- a/src/trezor/messages/CardanoAddress.py +++ b/src/trezor/messages/CardanoAddress.py @@ -5,12 +5,15 @@ import protobuf as p class CardanoAddress(p.MessageType): MESSAGE_WIRE_TYPE = 308 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/CardanoGetAddress.py b/src/trezor/messages/CardanoGetAddress.py index 1f789cd404..5a322a864e 100644 --- a/src/trezor/messages/CardanoGetAddress.py +++ b/src/trezor/messages/CardanoGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class CardanoGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 307 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class CardanoGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/CardanoGetPublicKey.py b/src/trezor/messages/CardanoGetPublicKey.py index e2c3887c12..90b36e0a39 100644 --- a/src/trezor/messages/CardanoGetPublicKey.py +++ b/src/trezor/messages/CardanoGetPublicKey.py @@ -11,10 +11,6 @@ if __debug__: class CardanoGetPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 305 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class CardanoGetPublicKey(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/CardanoPublicKey.py b/src/trezor/messages/CardanoPublicKey.py index f73717c32f..a5f0799574 100644 --- a/src/trezor/messages/CardanoPublicKey.py +++ b/src/trezor/messages/CardanoPublicKey.py @@ -7,10 +7,6 @@ from .HDNodeType import HDNodeType class CardanoPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 306 - FIELDS = { - 1: ('xpub', p.UnicodeType, 0), - 2: ('node', HDNodeType, 0), - } def __init__( self, @@ -19,3 +15,10 @@ class CardanoPublicKey(p.MessageType): ) -> None: self.xpub = xpub self.node = node + + @classmethod + def get_fields(cls): + return { + 1: ('xpub', p.UnicodeType, 0), + 2: ('node', HDNodeType, 0), + } diff --git a/src/trezor/messages/CardanoSignTx.py b/src/trezor/messages/CardanoSignTx.py index e1fa4fd165..38848a5420 100644 --- a/src/trezor/messages/CardanoSignTx.py +++ b/src/trezor/messages/CardanoSignTx.py @@ -14,12 +14,6 @@ if __debug__: class CardanoSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 303 - FIELDS = { - 1: ('inputs', CardanoTxInputType, p.FLAG_REPEATED), - 2: ('outputs', CardanoTxOutputType, p.FLAG_REPEATED), - 3: ('transactions_count', p.UVarintType, 0), - 4: ('network', p.UVarintType, 0), - } def __init__( self, @@ -32,3 +26,12 @@ class CardanoSignTx(p.MessageType): self.outputs = outputs if outputs is not None else [] self.transactions_count = transactions_count self.network = network + + @classmethod + def get_fields(cls): + return { + 1: ('inputs', CardanoTxInputType, p.FLAG_REPEATED), + 2: ('outputs', CardanoTxOutputType, p.FLAG_REPEATED), + 3: ('transactions_count', p.UVarintType, 0), + 4: ('network', p.UVarintType, 0), + } diff --git a/src/trezor/messages/CardanoSignedTx.py b/src/trezor/messages/CardanoSignedTx.py index ff06a4182d..591e8ab257 100644 --- a/src/trezor/messages/CardanoSignedTx.py +++ b/src/trezor/messages/CardanoSignedTx.py @@ -5,10 +5,6 @@ import protobuf as p class CardanoSignedTx(p.MessageType): MESSAGE_WIRE_TYPE = 310 - FIELDS = { - 1: ('tx_hash', p.BytesType, 0), - 2: ('tx_body', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class CardanoSignedTx(p.MessageType): ) -> None: self.tx_hash = tx_hash self.tx_body = tx_body + + @classmethod + def get_fields(cls): + return { + 1: ('tx_hash', p.BytesType, 0), + 2: ('tx_body', p.BytesType, 0), + } diff --git a/src/trezor/messages/CardanoTxAck.py b/src/trezor/messages/CardanoTxAck.py index c565376ce4..8cdfb4cac0 100644 --- a/src/trezor/messages/CardanoTxAck.py +++ b/src/trezor/messages/CardanoTxAck.py @@ -5,12 +5,15 @@ import protobuf as p class CardanoTxAck(p.MessageType): MESSAGE_WIRE_TYPE = 309 - FIELDS = { - 1: ('transaction', p.BytesType, 0), - } def __init__( self, transaction: bytes = None, ) -> None: self.transaction = transaction + + @classmethod + def get_fields(cls): + return { + 1: ('transaction', p.BytesType, 0), + } diff --git a/src/trezor/messages/CardanoTxInputType.py b/src/trezor/messages/CardanoTxInputType.py index 4eea879ccb..90f9aacc3d 100644 --- a/src/trezor/messages/CardanoTxInputType.py +++ b/src/trezor/messages/CardanoTxInputType.py @@ -10,12 +10,6 @@ if __debug__: class CardanoTxInputType(p.MessageType): - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('prev_hash', p.BytesType, 0), - 3: ('prev_index', p.UVarintType, 0), - 4: ('type', p.UVarintType, 0), - } def __init__( self, @@ -28,3 +22,12 @@ class CardanoTxInputType(p.MessageType): self.prev_hash = prev_hash self.prev_index = prev_index self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('prev_hash', p.BytesType, 0), + 3: ('prev_index', p.UVarintType, 0), + 4: ('type', p.UVarintType, 0), + } diff --git a/src/trezor/messages/CardanoTxOutputType.py b/src/trezor/messages/CardanoTxOutputType.py index 83c89b690f..5e39f537ac 100644 --- a/src/trezor/messages/CardanoTxOutputType.py +++ b/src/trezor/messages/CardanoTxOutputType.py @@ -10,11 +10,6 @@ if __debug__: class CardanoTxOutputType(p.MessageType): - FIELDS = { - 1: ('address', p.UnicodeType, 0), - 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 3: ('amount', p.UVarintType, 0), - } def __init__( self, @@ -25,3 +20,11 @@ class CardanoTxOutputType(p.MessageType): self.address = address self.address_n = address_n if address_n is not None else [] self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('amount', p.UVarintType, 0), + } diff --git a/src/trezor/messages/CardanoTxRequest.py b/src/trezor/messages/CardanoTxRequest.py index e50b62a0f1..e0bf93ce3a 100644 --- a/src/trezor/messages/CardanoTxRequest.py +++ b/src/trezor/messages/CardanoTxRequest.py @@ -5,11 +5,6 @@ import protobuf as p class CardanoTxRequest(p.MessageType): MESSAGE_WIRE_TYPE = 304 - FIELDS = { - 1: ('tx_index', p.UVarintType, 0), - 2: ('tx_hash', p.BytesType, 0), - 3: ('tx_body', p.BytesType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class CardanoTxRequest(p.MessageType): self.tx_index = tx_index self.tx_hash = tx_hash self.tx_body = tx_body + + @classmethod + def get_fields(cls): + return { + 1: ('tx_index', p.UVarintType, 0), + 2: ('tx_hash', p.BytesType, 0), + 3: ('tx_body', p.BytesType, 0), + } diff --git a/src/trezor/messages/ChangePin.py b/src/trezor/messages/ChangePin.py index 218caea337..3f2ab2a4a3 100644 --- a/src/trezor/messages/ChangePin.py +++ b/src/trezor/messages/ChangePin.py @@ -5,12 +5,15 @@ import protobuf as p class ChangePin(p.MessageType): MESSAGE_WIRE_TYPE = 4 - FIELDS = { - 1: ('remove', p.BoolType, 0), - } def __init__( self, remove: bool = None, ) -> None: self.remove = remove + + @classmethod + def get_fields(cls): + return { + 1: ('remove', p.BoolType, 0), + } diff --git a/src/trezor/messages/CipherKeyValue.py b/src/trezor/messages/CipherKeyValue.py index f8f3d86152..56b275b848 100644 --- a/src/trezor/messages/CipherKeyValue.py +++ b/src/trezor/messages/CipherKeyValue.py @@ -11,15 +11,6 @@ if __debug__: class CipherKeyValue(p.MessageType): MESSAGE_WIRE_TYPE = 23 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('key', p.UnicodeType, 0), - 3: ('value', p.BytesType, 0), - 4: ('encrypt', p.BoolType, 0), - 5: ('ask_on_encrypt', p.BoolType, 0), - 6: ('ask_on_decrypt', p.BoolType, 0), - 7: ('iv', p.BytesType, 0), - } def __init__( self, @@ -38,3 +29,15 @@ class CipherKeyValue(p.MessageType): self.ask_on_encrypt = ask_on_encrypt self.ask_on_decrypt = ask_on_decrypt self.iv = iv + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('key', p.UnicodeType, 0), + 3: ('value', p.BytesType, 0), + 4: ('encrypt', p.BoolType, 0), + 5: ('ask_on_encrypt', p.BoolType, 0), + 6: ('ask_on_decrypt', p.BoolType, 0), + 7: ('iv', p.BytesType, 0), + } diff --git a/src/trezor/messages/CipheredKeyValue.py b/src/trezor/messages/CipheredKeyValue.py index 9517bee1fa..c9fb874456 100644 --- a/src/trezor/messages/CipheredKeyValue.py +++ b/src/trezor/messages/CipheredKeyValue.py @@ -5,12 +5,15 @@ import protobuf as p class CipheredKeyValue(p.MessageType): MESSAGE_WIRE_TYPE = 48 - FIELDS = { - 1: ('value', p.BytesType, 0), - } def __init__( self, value: bytes = None, ) -> None: self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('value', p.BytesType, 0), + } diff --git a/src/trezor/messages/CosiCommit.py b/src/trezor/messages/CosiCommit.py index 36993f3acb..31221a5f35 100644 --- a/src/trezor/messages/CosiCommit.py +++ b/src/trezor/messages/CosiCommit.py @@ -11,10 +11,6 @@ if __debug__: class CosiCommit(p.MessageType): MESSAGE_WIRE_TYPE = 71 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('data', p.BytesType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class CosiCommit(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('data', p.BytesType, 0), + } diff --git a/src/trezor/messages/CosiCommitment.py b/src/trezor/messages/CosiCommitment.py index c6333a695f..753e46e563 100644 --- a/src/trezor/messages/CosiCommitment.py +++ b/src/trezor/messages/CosiCommitment.py @@ -5,10 +5,6 @@ import protobuf as p class CosiCommitment(p.MessageType): MESSAGE_WIRE_TYPE = 72 - FIELDS = { - 1: ('commitment', p.BytesType, 0), - 2: ('pubkey', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class CosiCommitment(p.MessageType): ) -> None: self.commitment = commitment self.pubkey = pubkey + + @classmethod + def get_fields(cls): + return { + 1: ('commitment', p.BytesType, 0), + 2: ('pubkey', p.BytesType, 0), + } diff --git a/src/trezor/messages/CosiSign.py b/src/trezor/messages/CosiSign.py index dc48c50c97..fa58afe6ac 100644 --- a/src/trezor/messages/CosiSign.py +++ b/src/trezor/messages/CosiSign.py @@ -11,12 +11,6 @@ if __debug__: class CosiSign(p.MessageType): MESSAGE_WIRE_TYPE = 73 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('data', p.BytesType, 0), - 3: ('global_commitment', p.BytesType, 0), - 4: ('global_pubkey', p.BytesType, 0), - } def __init__( self, @@ -29,3 +23,12 @@ class CosiSign(p.MessageType): self.data = data self.global_commitment = global_commitment self.global_pubkey = global_pubkey + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('data', p.BytesType, 0), + 3: ('global_commitment', p.BytesType, 0), + 4: ('global_pubkey', p.BytesType, 0), + } diff --git a/src/trezor/messages/CosiSignature.py b/src/trezor/messages/CosiSignature.py index 5671c7f166..5926cc9b2c 100644 --- a/src/trezor/messages/CosiSignature.py +++ b/src/trezor/messages/CosiSignature.py @@ -5,12 +5,15 @@ import protobuf as p class CosiSignature(p.MessageType): MESSAGE_WIRE_TYPE = 74 - FIELDS = { - 1: ('signature', p.BytesType, 0), - } def __init__( self, signature: bytes = None, ) -> None: self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/DebugLinkDecision.py b/src/trezor/messages/DebugLinkDecision.py index 87b0788389..b7aa31ff6c 100644 --- a/src/trezor/messages/DebugLinkDecision.py +++ b/src/trezor/messages/DebugLinkDecision.py @@ -5,11 +5,6 @@ import protobuf as p class DebugLinkDecision(p.MessageType): MESSAGE_WIRE_TYPE = 100 - FIELDS = { - 1: ('yes_no', p.BoolType, 0), - 2: ('up_down', p.BoolType, 0), - 3: ('input', p.UnicodeType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class DebugLinkDecision(p.MessageType): self.yes_no = yes_no self.up_down = up_down self.input = input + + @classmethod + def get_fields(cls): + return { + 1: ('yes_no', p.BoolType, 0), + 2: ('up_down', p.BoolType, 0), + 3: ('input', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/DebugLinkFlashErase.py b/src/trezor/messages/DebugLinkFlashErase.py index 38fd87f101..bce1e5a94c 100644 --- a/src/trezor/messages/DebugLinkFlashErase.py +++ b/src/trezor/messages/DebugLinkFlashErase.py @@ -5,12 +5,15 @@ import protobuf as p class DebugLinkFlashErase(p.MessageType): MESSAGE_WIRE_TYPE = 113 - FIELDS = { - 1: ('sector', p.UVarintType, 0), - } def __init__( self, sector: int = None, ) -> None: self.sector = sector + + @classmethod + def get_fields(cls): + return { + 1: ('sector', p.UVarintType, 0), + } diff --git a/src/trezor/messages/DebugLinkLog.py b/src/trezor/messages/DebugLinkLog.py index 6728828111..0849ebd2a4 100644 --- a/src/trezor/messages/DebugLinkLog.py +++ b/src/trezor/messages/DebugLinkLog.py @@ -5,11 +5,6 @@ import protobuf as p class DebugLinkLog(p.MessageType): MESSAGE_WIRE_TYPE = 104 - FIELDS = { - 1: ('level', p.UVarintType, 0), - 2: ('bucket', p.UnicodeType, 0), - 3: ('text', p.UnicodeType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class DebugLinkLog(p.MessageType): self.level = level self.bucket = bucket self.text = text + + @classmethod + def get_fields(cls): + return { + 1: ('level', p.UVarintType, 0), + 2: ('bucket', p.UnicodeType, 0), + 3: ('text', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/DebugLinkMemory.py b/src/trezor/messages/DebugLinkMemory.py index 14228833fc..291a727eae 100644 --- a/src/trezor/messages/DebugLinkMemory.py +++ b/src/trezor/messages/DebugLinkMemory.py @@ -5,12 +5,15 @@ import protobuf as p class DebugLinkMemory(p.MessageType): MESSAGE_WIRE_TYPE = 111 - FIELDS = { - 1: ('memory', p.BytesType, 0), - } def __init__( self, memory: bytes = None, ) -> None: self.memory = memory + + @classmethod + def get_fields(cls): + return { + 1: ('memory', p.BytesType, 0), + } diff --git a/src/trezor/messages/DebugLinkMemoryRead.py b/src/trezor/messages/DebugLinkMemoryRead.py index 3973c42717..6a33c74b6f 100644 --- a/src/trezor/messages/DebugLinkMemoryRead.py +++ b/src/trezor/messages/DebugLinkMemoryRead.py @@ -5,10 +5,6 @@ import protobuf as p class DebugLinkMemoryRead(p.MessageType): MESSAGE_WIRE_TYPE = 110 - FIELDS = { - 1: ('address', p.UVarintType, 0), - 2: ('length', p.UVarintType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class DebugLinkMemoryRead(p.MessageType): ) -> None: self.address = address self.length = length + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UVarintType, 0), + 2: ('length', p.UVarintType, 0), + } diff --git a/src/trezor/messages/DebugLinkMemoryWrite.py b/src/trezor/messages/DebugLinkMemoryWrite.py index a5aaf9c12d..792c8ad80f 100644 --- a/src/trezor/messages/DebugLinkMemoryWrite.py +++ b/src/trezor/messages/DebugLinkMemoryWrite.py @@ -5,11 +5,6 @@ import protobuf as p class DebugLinkMemoryWrite(p.MessageType): MESSAGE_WIRE_TYPE = 112 - FIELDS = { - 1: ('address', p.UVarintType, 0), - 2: ('memory', p.BytesType, 0), - 3: ('flash', p.BoolType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class DebugLinkMemoryWrite(p.MessageType): self.address = address self.memory = memory self.flash = flash + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UVarintType, 0), + 2: ('memory', p.BytesType, 0), + 3: ('flash', p.BoolType, 0), + } diff --git a/src/trezor/messages/DebugLinkState.py b/src/trezor/messages/DebugLinkState.py index 9f95edae1a..3616e2e3cb 100644 --- a/src/trezor/messages/DebugLinkState.py +++ b/src/trezor/messages/DebugLinkState.py @@ -7,19 +7,6 @@ from .HDNodeType import HDNodeType class DebugLinkState(p.MessageType): MESSAGE_WIRE_TYPE = 102 - FIELDS = { - 1: ('layout', p.BytesType, 0), - 2: ('pin', p.UnicodeType, 0), - 3: ('matrix', p.UnicodeType, 0), - 4: ('mnemonic', p.UnicodeType, 0), - 5: ('node', HDNodeType, 0), - 6: ('passphrase_protection', p.BoolType, 0), - 7: ('reset_word', p.UnicodeType, 0), - 8: ('reset_entropy', p.BytesType, 0), - 9: ('recovery_fake_word', p.UnicodeType, 0), - 10: ('recovery_word_pos', p.UVarintType, 0), - 11: ('reset_word_pos', p.UVarintType, 0), - } def __init__( self, @@ -46,3 +33,19 @@ class DebugLinkState(p.MessageType): self.recovery_fake_word = recovery_fake_word self.recovery_word_pos = recovery_word_pos self.reset_word_pos = reset_word_pos + + @classmethod + def get_fields(cls): + return { + 1: ('layout', p.BytesType, 0), + 2: ('pin', p.UnicodeType, 0), + 3: ('matrix', p.UnicodeType, 0), + 4: ('mnemonic', p.UnicodeType, 0), + 5: ('node', HDNodeType, 0), + 6: ('passphrase_protection', p.BoolType, 0), + 7: ('reset_word', p.UnicodeType, 0), + 8: ('reset_entropy', p.BytesType, 0), + 9: ('recovery_fake_word', p.UnicodeType, 0), + 10: ('recovery_word_pos', p.UVarintType, 0), + 11: ('reset_word_pos', p.UVarintType, 0), + } diff --git a/src/trezor/messages/DebugMoneroDiagAck.py b/src/trezor/messages/DebugMoneroDiagAck.py index 9db1333df0..ec8d0a7b16 100644 --- a/src/trezor/messages/DebugMoneroDiagAck.py +++ b/src/trezor/messages/DebugMoneroDiagAck.py @@ -10,15 +10,7 @@ if __debug__: class DebugMoneroDiagAck(p.MessageType): - MESSAGE_WIRE_TYPE = 537 - FIELDS = { - 1: ('ins', p.UVarintType, 0), - 2: ('p1', p.UVarintType, 0), - 3: ('p2', p.UVarintType, 0), - 4: ('pd', p.UVarintType, p.FLAG_REPEATED), - 5: ('data1', p.BytesType, 0), - 6: ('data2', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 547 def __init__( self, @@ -35,3 +27,14 @@ class DebugMoneroDiagAck(p.MessageType): self.pd = pd if pd is not None else [] self.data1 = data1 self.data2 = data2 + + @classmethod + def get_fields(cls): + return { + 1: ('ins', p.UVarintType, 0), + 2: ('p1', p.UVarintType, 0), + 3: ('p2', p.UVarintType, 0), + 4: ('pd', p.UVarintType, p.FLAG_REPEATED), + 5: ('data1', p.BytesType, 0), + 6: ('data2', p.BytesType, 0), + } diff --git a/src/trezor/messages/DebugMoneroDiagRequest.py b/src/trezor/messages/DebugMoneroDiagRequest.py index 6f2c1ccee0..3216ea5220 100644 --- a/src/trezor/messages/DebugMoneroDiagRequest.py +++ b/src/trezor/messages/DebugMoneroDiagRequest.py @@ -10,15 +10,7 @@ if __debug__: class DebugMoneroDiagRequest(p.MessageType): - MESSAGE_WIRE_TYPE = 536 - FIELDS = { - 1: ('ins', p.UVarintType, 0), - 2: ('p1', p.UVarintType, 0), - 3: ('p2', p.UVarintType, 0), - 4: ('pd', p.UVarintType, p.FLAG_REPEATED), - 5: ('data1', p.BytesType, 0), - 6: ('data2', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 546 def __init__( self, @@ -35,3 +27,14 @@ class DebugMoneroDiagRequest(p.MessageType): self.pd = pd if pd is not None else [] self.data1 = data1 self.data2 = data2 + + @classmethod + def get_fields(cls): + return { + 1: ('ins', p.UVarintType, 0), + 2: ('p1', p.UVarintType, 0), + 3: ('p2', p.UVarintType, 0), + 4: ('pd', p.UVarintType, p.FLAG_REPEATED), + 5: ('data1', p.BytesType, 0), + 6: ('data2', p.BytesType, 0), + } diff --git a/src/trezor/messages/ECDHSessionKey.py b/src/trezor/messages/ECDHSessionKey.py index c7bb793466..29dee82a04 100644 --- a/src/trezor/messages/ECDHSessionKey.py +++ b/src/trezor/messages/ECDHSessionKey.py @@ -5,12 +5,15 @@ import protobuf as p class ECDHSessionKey(p.MessageType): MESSAGE_WIRE_TYPE = 62 - FIELDS = { - 1: ('session_key', p.BytesType, 0), - } def __init__( self, session_key: bytes = None, ) -> None: self.session_key = session_key + + @classmethod + def get_fields(cls): + return { + 1: ('session_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/Entropy.py b/src/trezor/messages/Entropy.py index 064e61d0f1..23ed0308df 100644 --- a/src/trezor/messages/Entropy.py +++ b/src/trezor/messages/Entropy.py @@ -5,12 +5,15 @@ import protobuf as p class Entropy(p.MessageType): MESSAGE_WIRE_TYPE = 10 - FIELDS = { - 1: ('entropy', p.BytesType, 0), # required - } def __init__( self, entropy: bytes = None, ) -> None: self.entropy = entropy + + @classmethod + def get_fields(cls): + return { + 1: ('entropy', p.BytesType, 0), # required + } diff --git a/src/trezor/messages/EntropyAck.py b/src/trezor/messages/EntropyAck.py index c66f45dab6..9b8a81dfc3 100644 --- a/src/trezor/messages/EntropyAck.py +++ b/src/trezor/messages/EntropyAck.py @@ -5,12 +5,15 @@ import protobuf as p class EntropyAck(p.MessageType): MESSAGE_WIRE_TYPE = 36 - FIELDS = { - 1: ('entropy', p.BytesType, 0), - } def __init__( self, entropy: bytes = None, ) -> None: self.entropy = entropy + + @classmethod + def get_fields(cls): + return { + 1: ('entropy', p.BytesType, 0), + } diff --git a/src/trezor/messages/EthereumAddress.py b/src/trezor/messages/EthereumAddress.py index 18ac5787f5..78af2afe2c 100644 --- a/src/trezor/messages/EthereumAddress.py +++ b/src/trezor/messages/EthereumAddress.py @@ -5,12 +5,15 @@ import protobuf as p class EthereumAddress(p.MessageType): MESSAGE_WIRE_TYPE = 57 - FIELDS = { - 1: ('address', p.BytesType, 0), # required - } def __init__( self, address: bytes = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.BytesType, 0), # required + } diff --git a/src/trezor/messages/EthereumGetAddress.py b/src/trezor/messages/EthereumGetAddress.py index 7c4d553669..e6c729ef11 100644 --- a/src/trezor/messages/EthereumGetAddress.py +++ b/src/trezor/messages/EthereumGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class EthereumGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 56 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class EthereumGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/EthereumMessageSignature.py b/src/trezor/messages/EthereumMessageSignature.py index 9caf9a91c2..a2018889a2 100644 --- a/src/trezor/messages/EthereumMessageSignature.py +++ b/src/trezor/messages/EthereumMessageSignature.py @@ -5,10 +5,6 @@ import protobuf as p class EthereumMessageSignature(p.MessageType): MESSAGE_WIRE_TYPE = 66 - FIELDS = { - 1: ('address', p.BytesType, 0), - 2: ('signature', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class EthereumMessageSignature(p.MessageType): ) -> None: self.address = address self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/EthereumSignMessage.py b/src/trezor/messages/EthereumSignMessage.py index 10f32f6766..07df0bd116 100644 --- a/src/trezor/messages/EthereumSignMessage.py +++ b/src/trezor/messages/EthereumSignMessage.py @@ -11,10 +11,6 @@ if __debug__: class EthereumSignMessage(p.MessageType): MESSAGE_WIRE_TYPE = 64 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('message', p.BytesType, 0), # required - } def __init__( self, @@ -23,3 +19,10 @@ class EthereumSignMessage(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('message', p.BytesType, 0), # required + } diff --git a/src/trezor/messages/EthereumSignTx.py b/src/trezor/messages/EthereumSignTx.py index 969f89435c..43a6df2138 100644 --- a/src/trezor/messages/EthereumSignTx.py +++ b/src/trezor/messages/EthereumSignTx.py @@ -11,18 +11,6 @@ if __debug__: class EthereumSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 58 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('nonce', p.BytesType, 0), - 3: ('gas_price', p.BytesType, 0), - 4: ('gas_limit', p.BytesType, 0), - 5: ('to', p.BytesType, 0), - 6: ('value', p.BytesType, 0), - 7: ('data_initial_chunk', p.BytesType, 0), - 8: ('data_length', p.UVarintType, 0), - 9: ('chain_id', p.UVarintType, 0), - 10: ('tx_type', p.UVarintType, 0), - } def __init__( self, @@ -47,3 +35,18 @@ class EthereumSignTx(p.MessageType): self.data_length = data_length self.chain_id = chain_id self.tx_type = tx_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('nonce', p.BytesType, 0), + 3: ('gas_price', p.BytesType, 0), + 4: ('gas_limit', p.BytesType, 0), + 5: ('to', p.BytesType, 0), + 6: ('value', p.BytesType, 0), + 7: ('data_initial_chunk', p.BytesType, 0), + 8: ('data_length', p.UVarintType, 0), + 9: ('chain_id', p.UVarintType, 0), + 10: ('tx_type', p.UVarintType, 0), + } diff --git a/src/trezor/messages/EthereumTxAck.py b/src/trezor/messages/EthereumTxAck.py index ec96352bad..25adff1da9 100644 --- a/src/trezor/messages/EthereumTxAck.py +++ b/src/trezor/messages/EthereumTxAck.py @@ -5,12 +5,15 @@ import protobuf as p class EthereumTxAck(p.MessageType): MESSAGE_WIRE_TYPE = 60 - FIELDS = { - 1: ('data_chunk', p.BytesType, 0), - } def __init__( self, data_chunk: bytes = None, ) -> None: self.data_chunk = data_chunk + + @classmethod + def get_fields(cls): + return { + 1: ('data_chunk', p.BytesType, 0), + } diff --git a/src/trezor/messages/EthereumTxRequest.py b/src/trezor/messages/EthereumTxRequest.py index 2766d90670..4e2060d64b 100644 --- a/src/trezor/messages/EthereumTxRequest.py +++ b/src/trezor/messages/EthereumTxRequest.py @@ -5,12 +5,6 @@ import protobuf as p class EthereumTxRequest(p.MessageType): MESSAGE_WIRE_TYPE = 59 - FIELDS = { - 1: ('data_length', p.UVarintType, 0), - 2: ('signature_v', p.UVarintType, 0), - 3: ('signature_r', p.BytesType, 0), - 4: ('signature_s', p.BytesType, 0), - } def __init__( self, @@ -23,3 +17,12 @@ class EthereumTxRequest(p.MessageType): self.signature_v = signature_v self.signature_r = signature_r self.signature_s = signature_s + + @classmethod + def get_fields(cls): + return { + 1: ('data_length', p.UVarintType, 0), + 2: ('signature_v', p.UVarintType, 0), + 3: ('signature_r', p.BytesType, 0), + 4: ('signature_s', p.BytesType, 0), + } diff --git a/src/trezor/messages/EthereumVerifyMessage.py b/src/trezor/messages/EthereumVerifyMessage.py index 8fb41e519e..c5528190de 100644 --- a/src/trezor/messages/EthereumVerifyMessage.py +++ b/src/trezor/messages/EthereumVerifyMessage.py @@ -5,11 +5,6 @@ import protobuf as p class EthereumVerifyMessage(p.MessageType): MESSAGE_WIRE_TYPE = 65 - FIELDS = { - 1: ('address', p.BytesType, 0), - 2: ('signature', p.BytesType, 0), - 3: ('message', p.BytesType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class EthereumVerifyMessage(p.MessageType): self.address = address self.signature = signature self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('message', p.BytesType, 0), + } diff --git a/src/trezor/messages/Failure.py b/src/trezor/messages/Failure.py index 88487a1ee4..75a800c289 100644 --- a/src/trezor/messages/Failure.py +++ b/src/trezor/messages/Failure.py @@ -5,10 +5,6 @@ import protobuf as p class Failure(p.MessageType): MESSAGE_WIRE_TYPE = 3 - FIELDS = { - 1: ('code', p.UVarintType, 0), - 2: ('message', p.UnicodeType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class Failure(p.MessageType): ) -> None: self.code = code self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('code', p.UVarintType, 0), + 2: ('message', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/Features.py b/src/trezor/messages/Features.py index 074358645a..e82ed51e7b 100644 --- a/src/trezor/messages/Features.py +++ b/src/trezor/messages/Features.py @@ -5,34 +5,6 @@ import protobuf as p class Features(p.MessageType): MESSAGE_WIRE_TYPE = 17 - FIELDS = { - 1: ('vendor', p.UnicodeType, 0), - 2: ('major_version', p.UVarintType, 0), - 3: ('minor_version', p.UVarintType, 0), - 4: ('patch_version', p.UVarintType, 0), - 5: ('bootloader_mode', p.BoolType, 0), - 6: ('device_id', p.UnicodeType, 0), - 7: ('pin_protection', p.BoolType, 0), - 8: ('passphrase_protection', p.BoolType, 0), - 9: ('language', p.UnicodeType, 0), - 10: ('label', p.UnicodeType, 0), - 12: ('initialized', p.BoolType, 0), - 13: ('revision', p.BytesType, 0), - 14: ('bootloader_hash', p.BytesType, 0), - 15: ('imported', p.BoolType, 0), - 16: ('pin_cached', p.BoolType, 0), - 17: ('passphrase_cached', p.BoolType, 0), - 18: ('firmware_present', p.BoolType, 0), - 19: ('needs_backup', p.BoolType, 0), - 20: ('flags', p.UVarintType, 0), - 21: ('model', p.UnicodeType, 0), - 22: ('fw_major', p.UVarintType, 0), - 23: ('fw_minor', p.UVarintType, 0), - 24: ('fw_patch', p.UVarintType, 0), - 25: ('fw_vendor', p.UnicodeType, 0), - 26: ('fw_vendor_keys', p.BytesType, 0), - 27: ('unfinished_backup', p.BoolType, 0), - } def __init__( self, @@ -89,3 +61,34 @@ class Features(p.MessageType): self.fw_vendor = fw_vendor self.fw_vendor_keys = fw_vendor_keys self.unfinished_backup = unfinished_backup + + @classmethod + def get_fields(cls): + return { + 1: ('vendor', p.UnicodeType, 0), + 2: ('major_version', p.UVarintType, 0), + 3: ('minor_version', p.UVarintType, 0), + 4: ('patch_version', p.UVarintType, 0), + 5: ('bootloader_mode', p.BoolType, 0), + 6: ('device_id', p.UnicodeType, 0), + 7: ('pin_protection', p.BoolType, 0), + 8: ('passphrase_protection', p.BoolType, 0), + 9: ('language', p.UnicodeType, 0), + 10: ('label', p.UnicodeType, 0), + 12: ('initialized', p.BoolType, 0), + 13: ('revision', p.BytesType, 0), + 14: ('bootloader_hash', p.BytesType, 0), + 15: ('imported', p.BoolType, 0), + 16: ('pin_cached', p.BoolType, 0), + 17: ('passphrase_cached', p.BoolType, 0), + 18: ('firmware_present', p.BoolType, 0), + 19: ('needs_backup', p.BoolType, 0), + 20: ('flags', p.UVarintType, 0), + 21: ('model', p.UnicodeType, 0), + 22: ('fw_major', p.UVarintType, 0), + 23: ('fw_minor', p.UVarintType, 0), + 24: ('fw_patch', p.UVarintType, 0), + 25: ('fw_vendor', p.UnicodeType, 0), + 26: ('fw_vendor_keys', p.BytesType, 0), + 27: ('unfinished_backup', p.BoolType, 0), + } diff --git a/src/trezor/messages/FirmwareErase.py b/src/trezor/messages/FirmwareErase.py index 43deb0d047..9c90fa02bd 100644 --- a/src/trezor/messages/FirmwareErase.py +++ b/src/trezor/messages/FirmwareErase.py @@ -5,12 +5,15 @@ import protobuf as p class FirmwareErase(p.MessageType): MESSAGE_WIRE_TYPE = 6 - FIELDS = { - 1: ('length', p.UVarintType, 0), - } def __init__( self, length: int = None, ) -> None: self.length = length + + @classmethod + def get_fields(cls): + return { + 1: ('length', p.UVarintType, 0), + } diff --git a/src/trezor/messages/FirmwareRequest.py b/src/trezor/messages/FirmwareRequest.py index 65212da401..f79e776444 100644 --- a/src/trezor/messages/FirmwareRequest.py +++ b/src/trezor/messages/FirmwareRequest.py @@ -5,10 +5,6 @@ import protobuf as p class FirmwareRequest(p.MessageType): MESSAGE_WIRE_TYPE = 8 - FIELDS = { - 1: ('offset', p.UVarintType, 0), - 2: ('length', p.UVarintType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class FirmwareRequest(p.MessageType): ) -> None: self.offset = offset self.length = length + + @classmethod + def get_fields(cls): + return { + 1: ('offset', p.UVarintType, 0), + 2: ('length', p.UVarintType, 0), + } diff --git a/src/trezor/messages/FirmwareUpload.py b/src/trezor/messages/FirmwareUpload.py index d5e5f9f70d..04edfb6f20 100644 --- a/src/trezor/messages/FirmwareUpload.py +++ b/src/trezor/messages/FirmwareUpload.py @@ -5,10 +5,6 @@ import protobuf as p class FirmwareUpload(p.MessageType): MESSAGE_WIRE_TYPE = 7 - FIELDS = { - 1: ('payload', p.BytesType, 0), # required - 2: ('hash', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class FirmwareUpload(p.MessageType): ) -> None: self.payload = payload self.hash = hash + + @classmethod + def get_fields(cls): + return { + 1: ('payload', p.BytesType, 0), # required + 2: ('hash', p.BytesType, 0), + } diff --git a/src/trezor/messages/GetAddress.py b/src/trezor/messages/GetAddress.py index cc6e132375..cd5d3607cb 100644 --- a/src/trezor/messages/GetAddress.py +++ b/src/trezor/messages/GetAddress.py @@ -13,13 +13,6 @@ if __debug__: class GetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 29 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('coin_name', p.UnicodeType, 0), # default=Bitcoin - 3: ('show_display', p.BoolType, 0), - 4: ('multisig', MultisigRedeemScriptType, 0), - 5: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS - } def __init__( self, @@ -34,3 +27,13 @@ class GetAddress(p.MessageType): self.show_display = show_display self.multisig = multisig self.script_type = script_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 3: ('show_display', p.BoolType, 0), + 4: ('multisig', MultisigRedeemScriptType, 0), + 5: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + } diff --git a/src/trezor/messages/GetECDHSessionKey.py b/src/trezor/messages/GetECDHSessionKey.py index ef988b11e9..d3022e745d 100644 --- a/src/trezor/messages/GetECDHSessionKey.py +++ b/src/trezor/messages/GetECDHSessionKey.py @@ -7,11 +7,6 @@ from .IdentityType import IdentityType class GetECDHSessionKey(p.MessageType): MESSAGE_WIRE_TYPE = 61 - FIELDS = { - 1: ('identity', IdentityType, 0), - 2: ('peer_public_key', p.BytesType, 0), - 3: ('ecdsa_curve_name', p.UnicodeType, 0), - } def __init__( self, @@ -22,3 +17,11 @@ class GetECDHSessionKey(p.MessageType): self.identity = identity self.peer_public_key = peer_public_key self.ecdsa_curve_name = ecdsa_curve_name + + @classmethod + def get_fields(cls): + return { + 1: ('identity', IdentityType, 0), + 2: ('peer_public_key', p.BytesType, 0), + 3: ('ecdsa_curve_name', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/GetEntropy.py b/src/trezor/messages/GetEntropy.py index c0536be932..736fba0176 100644 --- a/src/trezor/messages/GetEntropy.py +++ b/src/trezor/messages/GetEntropy.py @@ -5,12 +5,15 @@ import protobuf as p class GetEntropy(p.MessageType): MESSAGE_WIRE_TYPE = 9 - FIELDS = { - 1: ('size', p.UVarintType, 0), # required - } def __init__( self, size: int = None, ) -> None: self.size = size + + @classmethod + def get_fields(cls): + return { + 1: ('size', p.UVarintType, 0), # required + } diff --git a/src/trezor/messages/GetPublicKey.py b/src/trezor/messages/GetPublicKey.py index aa17e24f5b..722f51d561 100644 --- a/src/trezor/messages/GetPublicKey.py +++ b/src/trezor/messages/GetPublicKey.py @@ -11,13 +11,6 @@ if __debug__: class GetPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 11 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('ecdsa_curve_name', p.UnicodeType, 0), - 3: ('show_display', p.BoolType, 0), - 4: ('coin_name', p.UnicodeType, 0), # default=Bitcoin - 5: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS - } def __init__( self, @@ -32,3 +25,13 @@ class GetPublicKey(p.MessageType): self.show_display = show_display self.coin_name = coin_name self.script_type = script_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('ecdsa_curve_name', p.UnicodeType, 0), + 3: ('show_display', p.BoolType, 0), + 4: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 5: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + } diff --git a/src/trezor/messages/HDNodePathType.py b/src/trezor/messages/HDNodePathType.py index 6a3f86a763..2f0ea94c81 100644 --- a/src/trezor/messages/HDNodePathType.py +++ b/src/trezor/messages/HDNodePathType.py @@ -12,10 +12,6 @@ if __debug__: class HDNodePathType(p.MessageType): - FIELDS = { - 1: ('node', HDNodeType, 0), # required - 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), - } def __init__( self, @@ -24,3 +20,10 @@ class HDNodePathType(p.MessageType): ) -> None: self.node = node self.address_n = address_n if address_n is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('node', HDNodeType, 0), # required + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/HDNodeType.py b/src/trezor/messages/HDNodeType.py index 79db611324..0f29c6c538 100644 --- a/src/trezor/messages/HDNodeType.py +++ b/src/trezor/messages/HDNodeType.py @@ -4,14 +4,6 @@ import protobuf as p class HDNodeType(p.MessageType): - FIELDS = { - 1: ('depth', p.UVarintType, 0), # required - 2: ('fingerprint', p.UVarintType, 0), # required - 3: ('child_num', p.UVarintType, 0), # required - 4: ('chain_code', p.BytesType, 0), # required - 5: ('private_key', p.BytesType, 0), - 6: ('public_key', p.BytesType, 0), - } def __init__( self, @@ -28,3 +20,14 @@ class HDNodeType(p.MessageType): self.chain_code = chain_code self.private_key = private_key self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('depth', p.UVarintType, 0), # required + 2: ('fingerprint', p.UVarintType, 0), # required + 3: ('child_num', p.UVarintType, 0), # required + 4: ('chain_code', p.BytesType, 0), # required + 5: ('private_key', p.BytesType, 0), + 6: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/IdentityType.py b/src/trezor/messages/IdentityType.py index 429060c26b..afd223c19b 100644 --- a/src/trezor/messages/IdentityType.py +++ b/src/trezor/messages/IdentityType.py @@ -4,14 +4,6 @@ import protobuf as p class IdentityType(p.MessageType): - FIELDS = { - 1: ('proto', p.UnicodeType, 0), - 2: ('user', p.UnicodeType, 0), - 3: ('host', p.UnicodeType, 0), - 4: ('port', p.UnicodeType, 0), - 5: ('path', p.UnicodeType, 0), - 6: ('index', p.UVarintType, 0), # default=0 - } def __init__( self, @@ -28,3 +20,14 @@ class IdentityType(p.MessageType): self.port = port self.path = path self.index = index + + @classmethod + def get_fields(cls): + return { + 1: ('proto', p.UnicodeType, 0), + 2: ('user', p.UnicodeType, 0), + 3: ('host', p.UnicodeType, 0), + 4: ('port', p.UnicodeType, 0), + 5: ('path', p.UnicodeType, 0), + 6: ('index', p.UVarintType, 0), # default=0 + } diff --git a/src/trezor/messages/Initialize.py b/src/trezor/messages/Initialize.py index a906448a04..8ab783a4b6 100644 --- a/src/trezor/messages/Initialize.py +++ b/src/trezor/messages/Initialize.py @@ -5,10 +5,6 @@ import protobuf as p class Initialize(p.MessageType): MESSAGE_WIRE_TYPE = 0 - FIELDS = { - 1: ('state', p.BytesType, 0), - 2: ('skip_passphrase', p.BoolType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class Initialize(p.MessageType): ) -> None: self.state = state self.skip_passphrase = skip_passphrase + + @classmethod + def get_fields(cls): + return { + 1: ('state', p.BytesType, 0), + 2: ('skip_passphrase', p.BoolType, 0), + } diff --git a/src/trezor/messages/LiskAddress.py b/src/trezor/messages/LiskAddress.py index 41ca8e3743..01520b1790 100644 --- a/src/trezor/messages/LiskAddress.py +++ b/src/trezor/messages/LiskAddress.py @@ -5,12 +5,15 @@ import protobuf as p class LiskAddress(p.MessageType): MESSAGE_WIRE_TYPE = 115 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/LiskDelegateType.py b/src/trezor/messages/LiskDelegateType.py index 08fd5a447c..d88e314eb1 100644 --- a/src/trezor/messages/LiskDelegateType.py +++ b/src/trezor/messages/LiskDelegateType.py @@ -4,12 +4,15 @@ import protobuf as p class LiskDelegateType(p.MessageType): - FIELDS = { - 1: ('username', p.UnicodeType, 0), - } def __init__( self, username: str = None, ) -> None: self.username = username + + @classmethod + def get_fields(cls): + return { + 1: ('username', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/LiskGetAddress.py b/src/trezor/messages/LiskGetAddress.py index f7b376ede9..f17b8facaf 100644 --- a/src/trezor/messages/LiskGetAddress.py +++ b/src/trezor/messages/LiskGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class LiskGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 114 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class LiskGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/LiskGetPublicKey.py b/src/trezor/messages/LiskGetPublicKey.py index fdb973059a..46ce55a32a 100644 --- a/src/trezor/messages/LiskGetPublicKey.py +++ b/src/trezor/messages/LiskGetPublicKey.py @@ -11,10 +11,6 @@ if __debug__: class LiskGetPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 121 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class LiskGetPublicKey(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/LiskMessageSignature.py b/src/trezor/messages/LiskMessageSignature.py index 4ea98e0cf2..e65e8f59db 100644 --- a/src/trezor/messages/LiskMessageSignature.py +++ b/src/trezor/messages/LiskMessageSignature.py @@ -5,10 +5,6 @@ import protobuf as p class LiskMessageSignature(p.MessageType): MESSAGE_WIRE_TYPE = 119 - FIELDS = { - 1: ('public_key', p.BytesType, 0), - 2: ('signature', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class LiskMessageSignature(p.MessageType): ) -> None: self.public_key = public_key self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/LiskMultisignatureType.py b/src/trezor/messages/LiskMultisignatureType.py index 19167ac5c7..46648c270c 100644 --- a/src/trezor/messages/LiskMultisignatureType.py +++ b/src/trezor/messages/LiskMultisignatureType.py @@ -10,11 +10,6 @@ if __debug__: class LiskMultisignatureType(p.MessageType): - FIELDS = { - 1: ('min', p.UVarintType, 0), - 2: ('life_time', p.UVarintType, 0), - 3: ('keys_group', p.UnicodeType, p.FLAG_REPEATED), - } def __init__( self, @@ -25,3 +20,11 @@ class LiskMultisignatureType(p.MessageType): self.min = min self.life_time = life_time self.keys_group = keys_group if keys_group is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('min', p.UVarintType, 0), + 2: ('life_time', p.UVarintType, 0), + 3: ('keys_group', p.UnicodeType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/LiskPublicKey.py b/src/trezor/messages/LiskPublicKey.py index 068666dd91..d9351c7888 100644 --- a/src/trezor/messages/LiskPublicKey.py +++ b/src/trezor/messages/LiskPublicKey.py @@ -5,12 +5,15 @@ import protobuf as p class LiskPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 122 - FIELDS = { - 1: ('public_key', p.BytesType, 0), - } def __init__( self, public_key: bytes = None, ) -> None: self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/LiskSignMessage.py b/src/trezor/messages/LiskSignMessage.py index 1cfd0139eb..842901acc4 100644 --- a/src/trezor/messages/LiskSignMessage.py +++ b/src/trezor/messages/LiskSignMessage.py @@ -11,10 +11,6 @@ if __debug__: class LiskSignMessage(p.MessageType): MESSAGE_WIRE_TYPE = 118 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('message', p.BytesType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class LiskSignMessage(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('message', p.BytesType, 0), + } diff --git a/src/trezor/messages/LiskSignTx.py b/src/trezor/messages/LiskSignTx.py index ed4fdcd533..95fd5b8985 100644 --- a/src/trezor/messages/LiskSignTx.py +++ b/src/trezor/messages/LiskSignTx.py @@ -13,10 +13,6 @@ if __debug__: class LiskSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 116 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('transaction', LiskTransactionCommon, 0), - } def __init__( self, @@ -25,3 +21,10 @@ class LiskSignTx(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.transaction = transaction + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', LiskTransactionCommon, 0), + } diff --git a/src/trezor/messages/LiskSignatureType.py b/src/trezor/messages/LiskSignatureType.py index 49759de924..1899be8954 100644 --- a/src/trezor/messages/LiskSignatureType.py +++ b/src/trezor/messages/LiskSignatureType.py @@ -4,12 +4,15 @@ import protobuf as p class LiskSignatureType(p.MessageType): - FIELDS = { - 1: ('public_key', p.BytesType, 0), - } def __init__( self, public_key: bytes = None, ) -> None: self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/LiskSignedTx.py b/src/trezor/messages/LiskSignedTx.py index 76e50dfe39..49f8d4e10c 100644 --- a/src/trezor/messages/LiskSignedTx.py +++ b/src/trezor/messages/LiskSignedTx.py @@ -5,12 +5,15 @@ import protobuf as p class LiskSignedTx(p.MessageType): MESSAGE_WIRE_TYPE = 117 - FIELDS = { - 1: ('signature', p.BytesType, 0), - } def __init__( self, signature: bytes = None, ) -> None: self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/LiskTransactionAsset.py b/src/trezor/messages/LiskTransactionAsset.py index a8814fcd85..80fb5f1cf4 100644 --- a/src/trezor/messages/LiskTransactionAsset.py +++ b/src/trezor/messages/LiskTransactionAsset.py @@ -14,13 +14,6 @@ if __debug__: class LiskTransactionAsset(p.MessageType): - FIELDS = { - 1: ('signature', LiskSignatureType, 0), - 2: ('delegate', LiskDelegateType, 0), - 3: ('votes', p.UnicodeType, p.FLAG_REPEATED), - 4: ('multisignature', LiskMultisignatureType, 0), - 5: ('data', p.UnicodeType, 0), - } def __init__( self, @@ -35,3 +28,13 @@ class LiskTransactionAsset(p.MessageType): self.votes = votes if votes is not None else [] self.multisignature = multisignature self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('signature', LiskSignatureType, 0), + 2: ('delegate', LiskDelegateType, 0), + 3: ('votes', p.UnicodeType, p.FLAG_REPEATED), + 4: ('multisignature', LiskMultisignatureType, 0), + 5: ('data', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/LiskTransactionCommon.py b/src/trezor/messages/LiskTransactionCommon.py index eef6f47192..0e2563b6ea 100644 --- a/src/trezor/messages/LiskTransactionCommon.py +++ b/src/trezor/messages/LiskTransactionCommon.py @@ -6,17 +6,6 @@ from .LiskTransactionAsset import LiskTransactionAsset class LiskTransactionCommon(p.MessageType): - FIELDS = { - 1: ('type', p.UVarintType, 0), - 2: ('amount', p.UVarintType, 0), # default=0 - 3: ('fee', p.UVarintType, 0), - 4: ('recipient_id', p.UnicodeType, 0), - 5: ('sender_public_key', p.BytesType, 0), - 6: ('requester_public_key', p.BytesType, 0), - 7: ('signature', p.BytesType, 0), - 8: ('timestamp', p.UVarintType, 0), - 9: ('asset', LiskTransactionAsset, 0), - } def __init__( self, @@ -39,3 +28,17 @@ class LiskTransactionCommon(p.MessageType): self.signature = signature self.timestamp = timestamp self.asset = asset + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('amount', p.UVarintType, 0), # default=0 + 3: ('fee', p.UVarintType, 0), + 4: ('recipient_id', p.UnicodeType, 0), + 5: ('sender_public_key', p.BytesType, 0), + 6: ('requester_public_key', p.BytesType, 0), + 7: ('signature', p.BytesType, 0), + 8: ('timestamp', p.UVarintType, 0), + 9: ('asset', LiskTransactionAsset, 0), + } diff --git a/src/trezor/messages/LiskVerifyMessage.py b/src/trezor/messages/LiskVerifyMessage.py index 8af866a412..c11d85ab17 100644 --- a/src/trezor/messages/LiskVerifyMessage.py +++ b/src/trezor/messages/LiskVerifyMessage.py @@ -5,11 +5,6 @@ import protobuf as p class LiskVerifyMessage(p.MessageType): MESSAGE_WIRE_TYPE = 120 - FIELDS = { - 1: ('public_key', p.BytesType, 0), - 2: ('signature', p.BytesType, 0), - 3: ('message', p.BytesType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class LiskVerifyMessage(p.MessageType): self.public_key = public_key self.signature = signature self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('message', p.BytesType, 0), + } diff --git a/src/trezor/messages/LoadDevice.py b/src/trezor/messages/LoadDevice.py index a0147d2347..20946c3c7f 100644 --- a/src/trezor/messages/LoadDevice.py +++ b/src/trezor/messages/LoadDevice.py @@ -7,16 +7,6 @@ from .HDNodeType import HDNodeType class LoadDevice(p.MessageType): MESSAGE_WIRE_TYPE = 13 - FIELDS = { - 1: ('mnemonic', p.UnicodeType, 0), - 2: ('node', HDNodeType, 0), - 3: ('pin', p.UnicodeType, 0), - 4: ('passphrase_protection', p.BoolType, 0), - 5: ('language', p.UnicodeType, 0), # default=english - 6: ('label', p.UnicodeType, 0), - 7: ('skip_checksum', p.BoolType, 0), - 8: ('u2f_counter', p.UVarintType, 0), - } def __init__( self, @@ -37,3 +27,16 @@ class LoadDevice(p.MessageType): self.label = label self.skip_checksum = skip_checksum self.u2f_counter = u2f_counter + + @classmethod + def get_fields(cls): + return { + 1: ('mnemonic', p.UnicodeType, 0), + 2: ('node', HDNodeType, 0), + 3: ('pin', p.UnicodeType, 0), + 4: ('passphrase_protection', p.BoolType, 0), + 5: ('language', p.UnicodeType, 0), # default=english + 6: ('label', p.UnicodeType, 0), + 7: ('skip_checksum', p.BoolType, 0), + 8: ('u2f_counter', p.UVarintType, 0), + } diff --git a/src/trezor/messages/MessageSignature.py b/src/trezor/messages/MessageSignature.py index 8f2ad617cc..1fe5226b2b 100644 --- a/src/trezor/messages/MessageSignature.py +++ b/src/trezor/messages/MessageSignature.py @@ -5,10 +5,6 @@ import protobuf as p class MessageSignature(p.MessageType): MESSAGE_WIRE_TYPE = 40 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - 2: ('signature', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class MessageSignature(p.MessageType): ) -> None: self.address = address self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/MessageType.py b/src/trezor/messages/MessageType.py index 1ee7495fff..2355b955d8 100644 --- a/src/trezor/messages/MessageType.py +++ b/src/trezor/messages/MessageType.py @@ -109,6 +109,10 @@ StellarAccountMergeOp = 218 StellarManageDataOp = 220 StellarBumpSequenceOp = 221 StellarSignedTx = 230 +TronGetAddress = 250 +TronAddress = 251 +TronSignTx = 252 +TronSignedTx = 253 CardanoSignTx = 303 CardanoTxRequest = 304 CardanoGetPublicKey = 305 @@ -133,25 +137,35 @@ RippleGetAddress = 400 RippleAddress = 401 RippleSignTx = 402 RippleSignedTx = 403 -MoneroTransactionSignRequest = 501 +MoneroTransactionInitRequest = 501 MoneroTransactionInitAck = 502 -MoneroTransactionSetInputAck = 503 -MoneroTransactionInputsPermutationAck = 504 -MoneroTransactionInputViniAck = 505 -MoneroTransactionAllInputsSetAck = 513 -MoneroTransactionSetOutputAck = 506 -MoneroTransactionRangeSigAck = 514 -MoneroTransactionAllOutSetAck = 507 -MoneroTransactionMlsagDoneAck = 508 -MoneroTransactionSignInputAck = 509 -MoneroTransactionFinalAck = 510 -MoneroKeyImageSyncRequest = 511 -MoneroKeyImageExportInitAck = 520 -MoneroKeyImageSyncStepAck = 521 -MoneroKeyImageSyncFinalAck = 522 -MoneroGetAddress = 530 -MoneroAddress = 531 -MoneroGetWatchKey = 532 -MoneroWatchKey = 533 -DebugMoneroDiagRequest = 536 -DebugMoneroDiagAck = 537 +MoneroTransactionSetInputRequest = 503 +MoneroTransactionSetInputAck = 504 +MoneroTransactionInputsPermutationRequest = 505 +MoneroTransactionInputsPermutationAck = 506 +MoneroTransactionInputViniRequest = 507 +MoneroTransactionInputViniAck = 508 +MoneroTransactionAllInputsSetRequest = 509 +MoneroTransactionAllInputsSetAck = 510 +MoneroTransactionSetOutputRequest = 511 +MoneroTransactionSetOutputAck = 512 +MoneroTransactionAllOutSetRequest = 513 +MoneroTransactionAllOutSetAck = 514 +MoneroTransactionMlsagDoneRequest = 515 +MoneroTransactionMlsagDoneAck = 516 +MoneroTransactionSignInputRequest = 517 +MoneroTransactionSignInputAck = 518 +MoneroTransactionFinalRequest = 519 +MoneroTransactionFinalAck = 520 +MoneroKeyImageExportInitRequest = 530 +MoneroKeyImageExportInitAck = 531 +MoneroKeyImageSyncStepRequest = 532 +MoneroKeyImageSyncStepAck = 533 +MoneroKeyImageSyncFinalRequest = 534 +MoneroKeyImageSyncFinalAck = 535 +MoneroGetAddress = 540 +MoneroAddress = 541 +MoneroGetWatchKey = 542 +MoneroWatchKey = 543 +DebugMoneroDiagRequest = 546 +DebugMoneroDiagAck = 547 diff --git a/src/trezor/messages/MoneroAccountPublicAddress.py b/src/trezor/messages/MoneroAccountPublicAddress.py index a8898e455e..cf6692c56d 100644 --- a/src/trezor/messages/MoneroAccountPublicAddress.py +++ b/src/trezor/messages/MoneroAccountPublicAddress.py @@ -4,10 +4,6 @@ import protobuf as p class MoneroAccountPublicAddress(p.MessageType): - FIELDS = { - 1: ('spend_public_key', p.BytesType, 0), - 2: ('view_public_key', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class MoneroAccountPublicAddress(p.MessageType): ) -> None: self.spend_public_key = spend_public_key self.view_public_key = view_public_key + + @classmethod + def get_fields(cls): + return { + 1: ('spend_public_key', p.BytesType, 0), + 2: ('view_public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroAddress.py b/src/trezor/messages/MoneroAddress.py index a05235272c..04dc2a1560 100644 --- a/src/trezor/messages/MoneroAddress.py +++ b/src/trezor/messages/MoneroAddress.py @@ -4,13 +4,16 @@ import protobuf as p class MoneroAddress(p.MessageType): - MESSAGE_WIRE_TYPE = 531 - FIELDS = { - 1: ('address', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 541 def __init__( self, address: bytes = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroExportedKeyImage.py b/src/trezor/messages/MoneroExportedKeyImage.py index 82473006d5..1989309124 100644 --- a/src/trezor/messages/MoneroExportedKeyImage.py +++ b/src/trezor/messages/MoneroExportedKeyImage.py @@ -4,11 +4,6 @@ import protobuf as p class MoneroExportedKeyImage(p.MessageType): - FIELDS = { - 1: ('iv', p.BytesType, 0), - 2: ('tag', p.BytesType, 0), - 3: ('blob', p.BytesType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class MoneroExportedKeyImage(p.MessageType): self.iv = iv self.tag = tag self.blob = blob + + @classmethod + def get_fields(cls): + return { + 1: ('iv', p.BytesType, 0), + 2: ('tag', p.BytesType, 0), + 3: ('blob', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroGetAddress.py b/src/trezor/messages/MoneroGetAddress.py index 005df2d700..013cc422c3 100644 --- a/src/trezor/messages/MoneroGetAddress.py +++ b/src/trezor/messages/MoneroGetAddress.py @@ -10,14 +10,7 @@ if __debug__: class MoneroGetAddress(p.MessageType): - MESSAGE_WIRE_TYPE = 530 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - 3: ('network_type', p.UVarintType, 0), - 4: ('account', p.UVarintType, 0), - 5: ('minor', p.UVarintType, 0), - } + MESSAGE_WIRE_TYPE = 540 def __init__( self, @@ -32,3 +25,13 @@ class MoneroGetAddress(p.MessageType): self.network_type = network_type self.account = account self.minor = minor + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + 3: ('network_type', p.UVarintType, 0), + 4: ('account', p.UVarintType, 0), + 5: ('minor', p.UVarintType, 0), + } diff --git a/src/trezor/messages/MoneroGetWatchKey.py b/src/trezor/messages/MoneroGetWatchKey.py index abe53e5141..f6daaec7b1 100644 --- a/src/trezor/messages/MoneroGetWatchKey.py +++ b/src/trezor/messages/MoneroGetWatchKey.py @@ -10,11 +10,7 @@ if __debug__: class MoneroGetWatchKey(p.MessageType): - MESSAGE_WIRE_TYPE = 532 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('network_type', p.UVarintType, 0), - } + MESSAGE_WIRE_TYPE = 542 def __init__( self, @@ -23,3 +19,10 @@ class MoneroGetWatchKey(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.network_type = network_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network_type', p.UVarintType, 0), + } diff --git a/src/trezor/messages/MoneroKeyImageExportInitAck.py b/src/trezor/messages/MoneroKeyImageExportInitAck.py index cdea420b9b..0262007586 100644 --- a/src/trezor/messages/MoneroKeyImageExportInitAck.py +++ b/src/trezor/messages/MoneroKeyImageExportInitAck.py @@ -4,4 +4,4 @@ import protobuf as p class MoneroKeyImageExportInitAck(p.MessageType): - MESSAGE_WIRE_TYPE = 520 + MESSAGE_WIRE_TYPE = 531 diff --git a/src/trezor/messages/MoneroKeyImageExportInitRequest.py b/src/trezor/messages/MoneroKeyImageExportInitRequest.py index 3bc46e38d9..ab9d8e09ac 100644 --- a/src/trezor/messages/MoneroKeyImageExportInitRequest.py +++ b/src/trezor/messages/MoneroKeyImageExportInitRequest.py @@ -12,13 +12,7 @@ if __debug__: class MoneroKeyImageExportInitRequest(p.MessageType): - FIELDS = { - 1: ('num', p.UVarintType, 0), - 2: ('hash', p.BytesType, 0), - 3: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 4: ('network_type', p.UVarintType, 0), - 5: ('subs', MoneroSubAddressIndicesList, p.FLAG_REPEATED), - } + MESSAGE_WIRE_TYPE = 530 def __init__( self, @@ -33,3 +27,13 @@ class MoneroKeyImageExportInitRequest(p.MessageType): self.address_n = address_n if address_n is not None else [] self.network_type = network_type self.subs = subs if subs is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('num', p.UVarintType, 0), + 2: ('hash', p.BytesType, 0), + 3: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 4: ('network_type', p.UVarintType, 0), + 5: ('subs', MoneroSubAddressIndicesList, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroKeyImageSyncFinalAck.py b/src/trezor/messages/MoneroKeyImageSyncFinalAck.py index 4c1291e64f..fe1d9e241c 100644 --- a/src/trezor/messages/MoneroKeyImageSyncFinalAck.py +++ b/src/trezor/messages/MoneroKeyImageSyncFinalAck.py @@ -4,13 +4,16 @@ import protobuf as p class MoneroKeyImageSyncFinalAck(p.MessageType): - MESSAGE_WIRE_TYPE = 522 - FIELDS = { - 1: ('enc_key', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 535 def __init__( self, enc_key: bytes = None, ) -> None: self.enc_key = enc_key + + @classmethod + def get_fields(cls): + return { + 1: ('enc_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroKeyImageSyncFinalRequest.py b/src/trezor/messages/MoneroKeyImageSyncFinalRequest.py index 12dfff3f27..0ef899556d 100644 --- a/src/trezor/messages/MoneroKeyImageSyncFinalRequest.py +++ b/src/trezor/messages/MoneroKeyImageSyncFinalRequest.py @@ -4,4 +4,4 @@ import protobuf as p class MoneroKeyImageSyncFinalRequest(p.MessageType): - pass + MESSAGE_WIRE_TYPE = 534 diff --git a/src/trezor/messages/MoneroKeyImageSyncRequest.py b/src/trezor/messages/MoneroKeyImageSyncRequest.py deleted file mode 100644 index 3823f56425..0000000000 --- a/src/trezor/messages/MoneroKeyImageSyncRequest.py +++ /dev/null @@ -1,26 +0,0 @@ -# Automatically generated by pb2py -# fmt: off -import protobuf as p - -from .MoneroKeyImageExportInitRequest import MoneroKeyImageExportInitRequest -from .MoneroKeyImageSyncFinalRequest import MoneroKeyImageSyncFinalRequest -from .MoneroKeyImageSyncStepRequest import MoneroKeyImageSyncStepRequest - - -class MoneroKeyImageSyncRequest(p.MessageType): - MESSAGE_WIRE_TYPE = 511 - FIELDS = { - 1: ('init', MoneroKeyImageExportInitRequest, 0), - 2: ('step', MoneroKeyImageSyncStepRequest, 0), - 3: ('final_msg', MoneroKeyImageSyncFinalRequest, 0), - } - - def __init__( - self, - init: MoneroKeyImageExportInitRequest = None, - step: MoneroKeyImageSyncStepRequest = None, - final_msg: MoneroKeyImageSyncFinalRequest = None, - ) -> None: - self.init = init - self.step = step - self.final_msg = final_msg diff --git a/src/trezor/messages/MoneroKeyImageSyncStepAck.py b/src/trezor/messages/MoneroKeyImageSyncStepAck.py index 0e7768c94d..3e4796b75d 100644 --- a/src/trezor/messages/MoneroKeyImageSyncStepAck.py +++ b/src/trezor/messages/MoneroKeyImageSyncStepAck.py @@ -12,13 +12,16 @@ if __debug__: class MoneroKeyImageSyncStepAck(p.MessageType): - MESSAGE_WIRE_TYPE = 521 - FIELDS = { - 1: ('kis', MoneroExportedKeyImage, p.FLAG_REPEATED), - } + MESSAGE_WIRE_TYPE = 533 def __init__( self, kis: List[MoneroExportedKeyImage] = None, ) -> None: self.kis = kis if kis is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('kis', MoneroExportedKeyImage, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroKeyImageSyncStepRequest.py b/src/trezor/messages/MoneroKeyImageSyncStepRequest.py index 5a1c666868..a3c3ecaf0a 100644 --- a/src/trezor/messages/MoneroKeyImageSyncStepRequest.py +++ b/src/trezor/messages/MoneroKeyImageSyncStepRequest.py @@ -12,12 +12,16 @@ if __debug__: class MoneroKeyImageSyncStepRequest(p.MessageType): - FIELDS = { - 1: ('tdis', MoneroTransferDetails, p.FLAG_REPEATED), - } + MESSAGE_WIRE_TYPE = 532 def __init__( self, tdis: List[MoneroTransferDetails] = None, ) -> None: self.tdis = tdis if tdis is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('tdis', MoneroTransferDetails, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroMultisigKLRki.py b/src/trezor/messages/MoneroMultisigKLRki.py index 8276f2316f..9dd3e7fd8c 100644 --- a/src/trezor/messages/MoneroMultisigKLRki.py +++ b/src/trezor/messages/MoneroMultisigKLRki.py @@ -4,12 +4,6 @@ import protobuf as p class MoneroMultisigKLRki(p.MessageType): - FIELDS = { - 1: ('K', p.BytesType, 0), - 2: ('L', p.BytesType, 0), - 3: ('R', p.BytesType, 0), - 4: ('ki', p.BytesType, 0), - } def __init__( self, @@ -22,3 +16,12 @@ class MoneroMultisigKLRki(p.MessageType): self.L = L self.R = R self.ki = ki + + @classmethod + def get_fields(cls): + return { + 1: ('K', p.BytesType, 0), + 2: ('L', p.BytesType, 0), + 3: ('R', p.BytesType, 0), + 4: ('ki', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroOutputEntry.py b/src/trezor/messages/MoneroOutputEntry.py index 03f628e98a..12657e13e4 100644 --- a/src/trezor/messages/MoneroOutputEntry.py +++ b/src/trezor/messages/MoneroOutputEntry.py @@ -6,10 +6,6 @@ from .MoneroRctKey import MoneroRctKey class MoneroOutputEntry(p.MessageType): - FIELDS = { - 1: ('idx', p.UVarintType, 0), - 2: ('key', MoneroRctKey, 0), - } def __init__( self, @@ -18,3 +14,10 @@ class MoneroOutputEntry(p.MessageType): ) -> None: self.idx = idx self.key = key + + @classmethod + def get_fields(cls): + return { + 1: ('idx', p.UVarintType, 0), + 2: ('key', MoneroRctKey, 0), + } diff --git a/src/trezor/messages/MoneroRctKey.py b/src/trezor/messages/MoneroRctKey.py index 6784be77ff..9f55bad5c9 100644 --- a/src/trezor/messages/MoneroRctKey.py +++ b/src/trezor/messages/MoneroRctKey.py @@ -4,10 +4,6 @@ import protobuf as p class MoneroRctKey(p.MessageType): - FIELDS = { - 1: ('dest', p.BytesType, 0), - 2: ('mask', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class MoneroRctKey(p.MessageType): ) -> None: self.dest = dest self.mask = mask + + @classmethod + def get_fields(cls): + return { + 1: ('dest', p.BytesType, 0), + 2: ('mask', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroRingCtSig.py b/src/trezor/messages/MoneroRingCtSig.py index e424993a0d..b4b43619b3 100644 --- a/src/trezor/messages/MoneroRingCtSig.py +++ b/src/trezor/messages/MoneroRingCtSig.py @@ -4,11 +4,6 @@ import protobuf as p class MoneroRingCtSig(p.MessageType): - FIELDS = { - 1: ('txn_fee', p.UVarintType, 0), - 2: ('message', p.BytesType, 0), - 3: ('rv_type', p.UVarintType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class MoneroRingCtSig(p.MessageType): self.txn_fee = txn_fee self.message = message self.rv_type = rv_type + + @classmethod + def get_fields(cls): + return { + 1: ('txn_fee', p.UVarintType, 0), + 2: ('message', p.BytesType, 0), + 3: ('rv_type', p.UVarintType, 0), + } diff --git a/src/trezor/messages/MoneroSubAddressIndicesList.py b/src/trezor/messages/MoneroSubAddressIndicesList.py index 8edbb4aee2..8bd34ffb65 100644 --- a/src/trezor/messages/MoneroSubAddressIndicesList.py +++ b/src/trezor/messages/MoneroSubAddressIndicesList.py @@ -10,10 +10,6 @@ if __debug__: class MoneroSubAddressIndicesList(p.MessageType): - FIELDS = { - 1: ('account', p.UVarintType, 0), - 2: ('minor_indices', p.UVarintType, p.FLAG_REPEATED), - } def __init__( self, @@ -22,3 +18,10 @@ class MoneroSubAddressIndicesList(p.MessageType): ) -> None: self.account = account self.minor_indices = minor_indices if minor_indices is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('account', p.UVarintType, 0), + 2: ('minor_indices', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroTransactionAllInputsSetAck.py b/src/trezor/messages/MoneroTransactionAllInputsSetAck.py index 4dd935a114..8417ea9d1a 100644 --- a/src/trezor/messages/MoneroTransactionAllInputsSetAck.py +++ b/src/trezor/messages/MoneroTransactionAllInputsSetAck.py @@ -6,13 +6,16 @@ from .MoneroTransactionRsigData import MoneroTransactionRsigData class MoneroTransactionAllInputsSetAck(p.MessageType): - MESSAGE_WIRE_TYPE = 513 - FIELDS = { - 1: ('rsig_data', MoneroTransactionRsigData, 0), - } + MESSAGE_WIRE_TYPE = 510 def __init__( self, rsig_data: MoneroTransactionRsigData = None, ) -> None: self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/src/trezor/messages/MoneroTransactionAllInputsSetRequest.py b/src/trezor/messages/MoneroTransactionAllInputsSetRequest.py index f17cb2a94b..84870d1650 100644 --- a/src/trezor/messages/MoneroTransactionAllInputsSetRequest.py +++ b/src/trezor/messages/MoneroTransactionAllInputsSetRequest.py @@ -6,12 +6,16 @@ from .MoneroTransactionRsigData import MoneroTransactionRsigData class MoneroTransactionAllInputsSetRequest(p.MessageType): - FIELDS = { - 1: ('rsig_data', MoneroTransactionRsigData, 0), - } + MESSAGE_WIRE_TYPE = 509 def __init__( self, rsig_data: MoneroTransactionRsigData = None, ) -> None: self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/src/trezor/messages/MoneroTransactionAllOutSetAck.py b/src/trezor/messages/MoneroTransactionAllOutSetAck.py index 8382adaa7d..37d53fffce 100644 --- a/src/trezor/messages/MoneroTransactionAllOutSetAck.py +++ b/src/trezor/messages/MoneroTransactionAllOutSetAck.py @@ -7,13 +7,7 @@ from .MoneroTransactionRsigData import MoneroTransactionRsigData class MoneroTransactionAllOutSetAck(p.MessageType): - MESSAGE_WIRE_TYPE = 507 - FIELDS = { - 1: ('extra', p.BytesType, 0), - 2: ('tx_prefix_hash', p.BytesType, 0), - 3: ('rsig_data', MoneroTransactionRsigData, 0), - 4: ('rv', MoneroRingCtSig, 0), - } + MESSAGE_WIRE_TYPE = 514 def __init__( self, @@ -26,3 +20,12 @@ class MoneroTransactionAllOutSetAck(p.MessageType): self.tx_prefix_hash = tx_prefix_hash self.rsig_data = rsig_data self.rv = rv + + @classmethod + def get_fields(cls): + return { + 1: ('extra', p.BytesType, 0), + 2: ('tx_prefix_hash', p.BytesType, 0), + 3: ('rsig_data', MoneroTransactionRsigData, 0), + 4: ('rv', MoneroRingCtSig, 0), + } diff --git a/src/trezor/messages/MoneroTransactionAllOutSetRequest.py b/src/trezor/messages/MoneroTransactionAllOutSetRequest.py index 077abb04d6..7d4d700710 100644 --- a/src/trezor/messages/MoneroTransactionAllOutSetRequest.py +++ b/src/trezor/messages/MoneroTransactionAllOutSetRequest.py @@ -6,12 +6,16 @@ from .MoneroTransactionRsigData import MoneroTransactionRsigData class MoneroTransactionAllOutSetRequest(p.MessageType): - FIELDS = { - 1: ('rsig_data', MoneroTransactionRsigData, 0), - } + MESSAGE_WIRE_TYPE = 513 def __init__( self, rsig_data: MoneroTransactionRsigData = None, ) -> None: self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/src/trezor/messages/MoneroTransactionData.py b/src/trezor/messages/MoneroTransactionData.py index 7dd598baf1..ff3283131f 100644 --- a/src/trezor/messages/MoneroTransactionData.py +++ b/src/trezor/messages/MoneroTransactionData.py @@ -13,23 +13,6 @@ if __debug__: class MoneroTransactionData(p.MessageType): - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('payment_id', p.BytesType, 0), - 3: ('unlock_time', p.UVarintType, 0), - 4: ('outputs', MoneroTransactionDestinationEntry, p.FLAG_REPEATED), - 5: ('change_dts', MoneroTransactionDestinationEntry, 0), - 6: ('num_inputs', p.UVarintType, 0), - 7: ('mixin', p.UVarintType, 0), - 8: ('fee', p.UVarintType, 0), - 9: ('account', p.UVarintType, 0), - 10: ('minor_indices', p.UVarintType, p.FLAG_REPEATED), - 11: ('is_multisig', p.BoolType, 0), - 12: ('exp_tx_prefix_hash', p.BytesType, 0), - 13: ('use_tx_keys', p.BytesType, p.FLAG_REPEATED), - 14: ('rsig_data', MoneroTransactionRsigData, 0), - 15: ('integrated_indices', p.UVarintType, p.FLAG_REPEATED), - } def __init__( self, @@ -64,3 +47,23 @@ class MoneroTransactionData(p.MessageType): self.use_tx_keys = use_tx_keys if use_tx_keys is not None else [] self.rsig_data = rsig_data self.integrated_indices = integrated_indices if integrated_indices is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('payment_id', p.BytesType, 0), + 3: ('unlock_time', p.UVarintType, 0), + 4: ('outputs', MoneroTransactionDestinationEntry, p.FLAG_REPEATED), + 5: ('change_dts', MoneroTransactionDestinationEntry, 0), + 6: ('num_inputs', p.UVarintType, 0), + 7: ('mixin', p.UVarintType, 0), + 8: ('fee', p.UVarintType, 0), + 9: ('account', p.UVarintType, 0), + 10: ('minor_indices', p.UVarintType, p.FLAG_REPEATED), + 11: ('is_multisig', p.BoolType, 0), + 12: ('exp_tx_prefix_hash', p.BytesType, 0), + 13: ('use_tx_keys', p.BytesType, p.FLAG_REPEATED), + 14: ('rsig_data', MoneroTransactionRsigData, 0), + 15: ('integrated_indices', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroTransactionDestinationEntry.py b/src/trezor/messages/MoneroTransactionDestinationEntry.py index 9940ba153c..2cecf7fab7 100644 --- a/src/trezor/messages/MoneroTransactionDestinationEntry.py +++ b/src/trezor/messages/MoneroTransactionDestinationEntry.py @@ -6,11 +6,6 @@ from .MoneroAccountPublicAddress import MoneroAccountPublicAddress class MoneroTransactionDestinationEntry(p.MessageType): - FIELDS = { - 1: ('amount', p.UVarintType, 0), - 2: ('addr', MoneroAccountPublicAddress, 0), - 3: ('is_subaddress', p.BoolType, 0), - } def __init__( self, @@ -21,3 +16,11 @@ class MoneroTransactionDestinationEntry(p.MessageType): self.amount = amount self.addr = addr self.is_subaddress = is_subaddress + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), + 2: ('addr', MoneroAccountPublicAddress, 0), + 3: ('is_subaddress', p.BoolType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionFinalAck.py b/src/trezor/messages/MoneroTransactionFinalAck.py index 437fc02531..f01f57a1ed 100644 --- a/src/trezor/messages/MoneroTransactionFinalAck.py +++ b/src/trezor/messages/MoneroTransactionFinalAck.py @@ -4,13 +4,7 @@ import protobuf as p class MoneroTransactionFinalAck(p.MessageType): - MESSAGE_WIRE_TYPE = 510 - FIELDS = { - 1: ('cout_key', p.BytesType, 0), - 2: ('salt', p.BytesType, 0), - 3: ('rand_mult', p.BytesType, 0), - 4: ('tx_enc_keys', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 520 def __init__( self, @@ -23,3 +17,12 @@ class MoneroTransactionFinalAck(p.MessageType): self.salt = salt self.rand_mult = rand_mult self.tx_enc_keys = tx_enc_keys + + @classmethod + def get_fields(cls): + return { + 1: ('cout_key', p.BytesType, 0), + 2: ('salt', p.BytesType, 0), + 3: ('rand_mult', p.BytesType, 0), + 4: ('tx_enc_keys', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionFinalRequest.py b/src/trezor/messages/MoneroTransactionFinalRequest.py index ae1e3dacf5..43a81035d5 100644 --- a/src/trezor/messages/MoneroTransactionFinalRequest.py +++ b/src/trezor/messages/MoneroTransactionFinalRequest.py @@ -4,4 +4,4 @@ import protobuf as p class MoneroTransactionFinalRequest(p.MessageType): - pass + MESSAGE_WIRE_TYPE = 519 diff --git a/src/trezor/messages/MoneroTransactionInitAck.py b/src/trezor/messages/MoneroTransactionInitAck.py index d67fe79a62..ec962c3bf1 100644 --- a/src/trezor/messages/MoneroTransactionInitAck.py +++ b/src/trezor/messages/MoneroTransactionInitAck.py @@ -13,15 +13,6 @@ if __debug__: class MoneroTransactionInitAck(p.MessageType): MESSAGE_WIRE_TYPE = 502 - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('status', p.UVarintType, 0), - 3: ('in_memory', p.BoolType, 0), - 4: ('hmacs', p.BytesType, p.FLAG_REPEATED), - 5: ('many_inputs', p.BoolType, 0), - 6: ('many_outputs', p.BoolType, 0), - 7: ('rsig_data', MoneroTransactionRsigData, 0), - } def __init__( self, @@ -40,3 +31,15 @@ class MoneroTransactionInitAck(p.MessageType): self.many_inputs = many_inputs self.many_outputs = many_outputs self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('status', p.UVarintType, 0), + 3: ('in_memory', p.BoolType, 0), + 4: ('hmacs', p.BytesType, p.FLAG_REPEATED), + 5: ('many_inputs', p.BoolType, 0), + 6: ('many_outputs', p.BoolType, 0), + 7: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/src/trezor/messages/MoneroTransactionInitRequest.py b/src/trezor/messages/MoneroTransactionInitRequest.py index 944c56389a..feeb2a05ce 100644 --- a/src/trezor/messages/MoneroTransactionInitRequest.py +++ b/src/trezor/messages/MoneroTransactionInitRequest.py @@ -12,12 +12,7 @@ if __debug__: class MoneroTransactionInitRequest(p.MessageType): - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 3: ('network_type', p.UVarintType, 0), - 4: ('tsx_data', MoneroTransactionData, 0), - } + MESSAGE_WIRE_TYPE = 501 def __init__( self, @@ -30,3 +25,12 @@ class MoneroTransactionInitRequest(p.MessageType): self.address_n = address_n if address_n is not None else [] self.network_type = network_type self.tsx_data = tsx_data + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('network_type', p.UVarintType, 0), + 4: ('tsx_data', MoneroTransactionData, 0), + } diff --git a/src/trezor/messages/MoneroTransactionInputViniAck.py b/src/trezor/messages/MoneroTransactionInputViniAck.py index 90902a9bdc..dd013628ec 100644 --- a/src/trezor/messages/MoneroTransactionInputViniAck.py +++ b/src/trezor/messages/MoneroTransactionInputViniAck.py @@ -4,4 +4,4 @@ import protobuf as p class MoneroTransactionInputViniAck(p.MessageType): - MESSAGE_WIRE_TYPE = 505 + MESSAGE_WIRE_TYPE = 508 diff --git a/src/trezor/messages/MoneroTransactionInputViniRequest.py b/src/trezor/messages/MoneroTransactionInputViniRequest.py index 0ed950e827..47d9edd891 100644 --- a/src/trezor/messages/MoneroTransactionInputViniRequest.py +++ b/src/trezor/messages/MoneroTransactionInputViniRequest.py @@ -6,13 +6,7 @@ from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry class MoneroTransactionInputViniRequest(p.MessageType): - FIELDS = { - 1: ('src_entr', MoneroTransactionSourceEntry, 0), - 2: ('vini', p.BytesType, 0), - 3: ('vini_hmac', p.BytesType, 0), - 4: ('pseudo_out', p.BytesType, 0), - 5: ('pseudo_out_hmac', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 507 def __init__( self, @@ -27,3 +21,13 @@ class MoneroTransactionInputViniRequest(p.MessageType): self.vini_hmac = vini_hmac self.pseudo_out = pseudo_out self.pseudo_out_hmac = pseudo_out_hmac + + @classmethod + def get_fields(cls): + return { + 1: ('src_entr', MoneroTransactionSourceEntry, 0), + 2: ('vini', p.BytesType, 0), + 3: ('vini_hmac', p.BytesType, 0), + 4: ('pseudo_out', p.BytesType, 0), + 5: ('pseudo_out_hmac', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionInputsPermutationAck.py b/src/trezor/messages/MoneroTransactionInputsPermutationAck.py index 211daa2cd8..55925a2d9c 100644 --- a/src/trezor/messages/MoneroTransactionInputsPermutationAck.py +++ b/src/trezor/messages/MoneroTransactionInputsPermutationAck.py @@ -4,4 +4,4 @@ import protobuf as p class MoneroTransactionInputsPermutationAck(p.MessageType): - MESSAGE_WIRE_TYPE = 504 + MESSAGE_WIRE_TYPE = 506 diff --git a/src/trezor/messages/MoneroTransactionInputsPermutationRequest.py b/src/trezor/messages/MoneroTransactionInputsPermutationRequest.py index b6f049586a..81b55758d6 100644 --- a/src/trezor/messages/MoneroTransactionInputsPermutationRequest.py +++ b/src/trezor/messages/MoneroTransactionInputsPermutationRequest.py @@ -10,12 +10,16 @@ if __debug__: class MoneroTransactionInputsPermutationRequest(p.MessageType): - FIELDS = { - 1: ('perm', p.UVarintType, p.FLAG_REPEATED), - } + MESSAGE_WIRE_TYPE = 505 def __init__( self, perm: List[int] = None, ) -> None: self.perm = perm if perm is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('perm', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroTransactionMlsagDoneAck.py b/src/trezor/messages/MoneroTransactionMlsagDoneAck.py index 249c5213f7..e93bf5a8fe 100644 --- a/src/trezor/messages/MoneroTransactionMlsagDoneAck.py +++ b/src/trezor/messages/MoneroTransactionMlsagDoneAck.py @@ -4,13 +4,16 @@ import protobuf as p class MoneroTransactionMlsagDoneAck(p.MessageType): - MESSAGE_WIRE_TYPE = 508 - FIELDS = { - 1: ('full_message_hash', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 516 def __init__( self, full_message_hash: bytes = None, ) -> None: self.full_message_hash = full_message_hash + + @classmethod + def get_fields(cls): + return { + 1: ('full_message_hash', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionMlsagDoneRequest.py b/src/trezor/messages/MoneroTransactionMlsagDoneRequest.py index ce376a180a..04fb493c03 100644 --- a/src/trezor/messages/MoneroTransactionMlsagDoneRequest.py +++ b/src/trezor/messages/MoneroTransactionMlsagDoneRequest.py @@ -4,4 +4,4 @@ import protobuf as p class MoneroTransactionMlsagDoneRequest(p.MessageType): - pass + MESSAGE_WIRE_TYPE = 515 diff --git a/src/trezor/messages/MoneroTransactionRangeSigAck.py b/src/trezor/messages/MoneroTransactionRangeSigAck.py deleted file mode 100644 index d683ccb946..0000000000 --- a/src/trezor/messages/MoneroTransactionRangeSigAck.py +++ /dev/null @@ -1,18 +0,0 @@ -# Automatically generated by pb2py -# fmt: off -import protobuf as p - -from .MoneroTransactionRsigData import MoneroTransactionRsigData - - -class MoneroTransactionRangeSigAck(p.MessageType): - MESSAGE_WIRE_TYPE = 514 - FIELDS = { - 1: ('rsig_data', MoneroTransactionRsigData, 0), - } - - def __init__( - self, - rsig_data: MoneroTransactionRsigData = None, - ) -> None: - self.rsig_data = rsig_data diff --git a/src/trezor/messages/MoneroTransactionRangeSigRequest.py b/src/trezor/messages/MoneroTransactionRangeSigRequest.py deleted file mode 100644 index 96e88b6b9a..0000000000 --- a/src/trezor/messages/MoneroTransactionRangeSigRequest.py +++ /dev/null @@ -1,17 +0,0 @@ -# Automatically generated by pb2py -# fmt: off -import protobuf as p - -from .MoneroTransactionRsigData import MoneroTransactionRsigData - - -class MoneroTransactionRangeSigRequest(p.MessageType): - FIELDS = { - 1: ('rsig_data', MoneroTransactionRsigData, 0), - } - - def __init__( - self, - rsig_data: MoneroTransactionRsigData = None, - ) -> None: - self.rsig_data = rsig_data diff --git a/src/trezor/messages/MoneroTransactionRsigData.py b/src/trezor/messages/MoneroTransactionRsigData.py index 9edb2d87e4..c39d50b428 100644 --- a/src/trezor/messages/MoneroTransactionRsigData.py +++ b/src/trezor/messages/MoneroTransactionRsigData.py @@ -12,19 +12,6 @@ if __debug__: class MoneroTransactionRsigData(p.MessageType): - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('rsig_type', p.UVarintType, 0), - 3: ('offload_type', p.UVarintType, 0), - 4: ('grouping', p.UVarintType, p.FLAG_REPEATED), - 5: ('step', p.UVarintType, 0), - 6: ('operation', p.UVarintType, 0), - 7: ('seed', p.BytesType, 0), - 8: ('mask', p.BytesType, 0), - 9: ('amount', p.BytesType, 0), - 10: ('rsig', p.BytesType, 0), - 11: ('outputs', MoneroTransactionDestinationEntry, p.FLAG_REPEATED), - } def __init__( self, @@ -38,6 +25,7 @@ class MoneroTransactionRsigData(p.MessageType): mask: bytes = None, amount: bytes = None, rsig: bytes = None, + rsig_parts: List[bytes] = None, outputs: List[MoneroTransactionDestinationEntry] = None, ) -> None: self.version = version @@ -50,4 +38,22 @@ class MoneroTransactionRsigData(p.MessageType): self.mask = mask self.amount = amount self.rsig = rsig + self.rsig_parts = rsig_parts if rsig_parts is not None else [] self.outputs = outputs if outputs is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('rsig_type', p.UVarintType, 0), + 3: ('offload_type', p.UVarintType, 0), + 4: ('grouping', p.UVarintType, p.FLAG_REPEATED), + 5: ('step', p.UVarintType, 0), + 6: ('operation', p.UVarintType, 0), + 7: ('seed', p.BytesType, 0), + 8: ('mask', p.BytesType, 0), + 9: ('amount', p.BytesType, 0), + 10: ('rsig', p.BytesType, 0), + 11: ('rsig_parts', p.BytesType, p.FLAG_REPEATED), + 12: ('outputs', MoneroTransactionDestinationEntry, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/MoneroTransactionSetInputAck.py b/src/trezor/messages/MoneroTransactionSetInputAck.py index e99d2fbbf4..1ae34c2cd9 100644 --- a/src/trezor/messages/MoneroTransactionSetInputAck.py +++ b/src/trezor/messages/MoneroTransactionSetInputAck.py @@ -4,15 +4,7 @@ import protobuf as p class MoneroTransactionSetInputAck(p.MessageType): - MESSAGE_WIRE_TYPE = 503 - FIELDS = { - 1: ('vini', p.BytesType, 0), - 2: ('vini_hmac', p.BytesType, 0), - 3: ('pseudo_out', p.BytesType, 0), - 4: ('pseudo_out_hmac', p.BytesType, 0), - 5: ('alpha_enc', p.BytesType, 0), - 6: ('spend_enc', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 504 def __init__( self, @@ -29,3 +21,14 @@ class MoneroTransactionSetInputAck(p.MessageType): self.pseudo_out_hmac = pseudo_out_hmac self.alpha_enc = alpha_enc self.spend_enc = spend_enc + + @classmethod + def get_fields(cls): + return { + 1: ('vini', p.BytesType, 0), + 2: ('vini_hmac', p.BytesType, 0), + 3: ('pseudo_out', p.BytesType, 0), + 4: ('pseudo_out_hmac', p.BytesType, 0), + 5: ('alpha_enc', p.BytesType, 0), + 6: ('spend_enc', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionSetInputRequest.py b/src/trezor/messages/MoneroTransactionSetInputRequest.py index e424b1e7a9..f0a9f185fb 100644 --- a/src/trezor/messages/MoneroTransactionSetInputRequest.py +++ b/src/trezor/messages/MoneroTransactionSetInputRequest.py @@ -6,10 +6,7 @@ from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry class MoneroTransactionSetInputRequest(p.MessageType): - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('src_entr', MoneroTransactionSourceEntry, 0), - } + MESSAGE_WIRE_TYPE = 503 def __init__( self, @@ -18,3 +15,10 @@ class MoneroTransactionSetInputRequest(p.MessageType): ) -> None: self.version = version self.src_entr = src_entr + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('src_entr', MoneroTransactionSourceEntry, 0), + } diff --git a/src/trezor/messages/MoneroTransactionSetOutputAck.py b/src/trezor/messages/MoneroTransactionSetOutputAck.py index ed1d8990d6..e4376662a7 100644 --- a/src/trezor/messages/MoneroTransactionSetOutputAck.py +++ b/src/trezor/messages/MoneroTransactionSetOutputAck.py @@ -6,14 +6,7 @@ from .MoneroTransactionRsigData import MoneroTransactionRsigData class MoneroTransactionSetOutputAck(p.MessageType): - MESSAGE_WIRE_TYPE = 506 - FIELDS = { - 1: ('tx_out', p.BytesType, 0), - 2: ('vouti_hmac', p.BytesType, 0), - 3: ('rsig_data', MoneroTransactionRsigData, 0), - 4: ('out_pk', p.BytesType, 0), - 5: ('ecdh_info', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 512 def __init__( self, @@ -28,3 +21,13 @@ class MoneroTransactionSetOutputAck(p.MessageType): self.rsig_data = rsig_data self.out_pk = out_pk self.ecdh_info = ecdh_info + + @classmethod + def get_fields(cls): + return { + 1: ('tx_out', p.BytesType, 0), + 2: ('vouti_hmac', p.BytesType, 0), + 3: ('rsig_data', MoneroTransactionRsigData, 0), + 4: ('out_pk', p.BytesType, 0), + 5: ('ecdh_info', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionSetOutputRequest.py b/src/trezor/messages/MoneroTransactionSetOutputRequest.py index 577c87bee2..ca12be1b2c 100644 --- a/src/trezor/messages/MoneroTransactionSetOutputRequest.py +++ b/src/trezor/messages/MoneroTransactionSetOutputRequest.py @@ -7,11 +7,7 @@ from .MoneroTransactionRsigData import MoneroTransactionRsigData class MoneroTransactionSetOutputRequest(p.MessageType): - FIELDS = { - 1: ('dst_entr', MoneroTransactionDestinationEntry, 0), - 2: ('dst_entr_hmac', p.BytesType, 0), - 3: ('rsig_data', MoneroTransactionRsigData, 0), - } + MESSAGE_WIRE_TYPE = 511 def __init__( self, @@ -22,3 +18,11 @@ class MoneroTransactionSetOutputRequest(p.MessageType): self.dst_entr = dst_entr self.dst_entr_hmac = dst_entr_hmac self.rsig_data = rsig_data + + @classmethod + def get_fields(cls): + return { + 1: ('dst_entr', MoneroTransactionDestinationEntry, 0), + 2: ('dst_entr_hmac', p.BytesType, 0), + 3: ('rsig_data', MoneroTransactionRsigData, 0), + } diff --git a/src/trezor/messages/MoneroTransactionSignInputAck.py b/src/trezor/messages/MoneroTransactionSignInputAck.py index 0dc44336b9..66b239cd98 100644 --- a/src/trezor/messages/MoneroTransactionSignInputAck.py +++ b/src/trezor/messages/MoneroTransactionSignInputAck.py @@ -4,11 +4,7 @@ import protobuf as p class MoneroTransactionSignInputAck(p.MessageType): - MESSAGE_WIRE_TYPE = 509 - FIELDS = { - 1: ('signature', p.BytesType, 0), - 2: ('cout', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 518 def __init__( self, @@ -17,3 +13,10 @@ class MoneroTransactionSignInputAck(p.MessageType): ) -> None: self.signature = signature self.cout = cout + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('cout', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionSignInputRequest.py b/src/trezor/messages/MoneroTransactionSignInputRequest.py index 9866d5b0f5..70d018fd0c 100644 --- a/src/trezor/messages/MoneroTransactionSignInputRequest.py +++ b/src/trezor/messages/MoneroTransactionSignInputRequest.py @@ -6,15 +6,7 @@ from .MoneroTransactionSourceEntry import MoneroTransactionSourceEntry class MoneroTransactionSignInputRequest(p.MessageType): - FIELDS = { - 1: ('src_entr', MoneroTransactionSourceEntry, 0), - 2: ('vini', p.BytesType, 0), - 3: ('vini_hmac', p.BytesType, 0), - 4: ('pseudo_out', p.BytesType, 0), - 5: ('pseudo_out_hmac', p.BytesType, 0), - 6: ('alpha_enc', p.BytesType, 0), - 7: ('spend_enc', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 517 def __init__( self, @@ -33,3 +25,15 @@ class MoneroTransactionSignInputRequest(p.MessageType): self.pseudo_out_hmac = pseudo_out_hmac self.alpha_enc = alpha_enc self.spend_enc = spend_enc + + @classmethod + def get_fields(cls): + return { + 1: ('src_entr', MoneroTransactionSourceEntry, 0), + 2: ('vini', p.BytesType, 0), + 3: ('vini_hmac', p.BytesType, 0), + 4: ('pseudo_out', p.BytesType, 0), + 5: ('pseudo_out_hmac', p.BytesType, 0), + 6: ('alpha_enc', p.BytesType, 0), + 7: ('spend_enc', p.BytesType, 0), + } diff --git a/src/trezor/messages/MoneroTransactionSignRequest.py b/src/trezor/messages/MoneroTransactionSignRequest.py deleted file mode 100644 index ab5dab6242..0000000000 --- a/src/trezor/messages/MoneroTransactionSignRequest.py +++ /dev/null @@ -1,58 +0,0 @@ -# Automatically generated by pb2py -# fmt: off -import protobuf as p - -from .MoneroTransactionAllInputsSetRequest import MoneroTransactionAllInputsSetRequest -from .MoneroTransactionAllOutSetRequest import MoneroTransactionAllOutSetRequest -from .MoneroTransactionFinalRequest import MoneroTransactionFinalRequest -from .MoneroTransactionInitRequest import MoneroTransactionInitRequest -from .MoneroTransactionInputViniRequest import MoneroTransactionInputViniRequest -from .MoneroTransactionInputsPermutationRequest import MoneroTransactionInputsPermutationRequest -from .MoneroTransactionMlsagDoneRequest import MoneroTransactionMlsagDoneRequest -from .MoneroTransactionRangeSigRequest import MoneroTransactionRangeSigRequest -from .MoneroTransactionSetInputRequest import MoneroTransactionSetInputRequest -from .MoneroTransactionSetOutputRequest import MoneroTransactionSetOutputRequest -from .MoneroTransactionSignInputRequest import MoneroTransactionSignInputRequest - - -class MoneroTransactionSignRequest(p.MessageType): - MESSAGE_WIRE_TYPE = 501 - FIELDS = { - 1: ('init', MoneroTransactionInitRequest, 0), - 2: ('set_input', MoneroTransactionSetInputRequest, 0), - 3: ('input_permutation', MoneroTransactionInputsPermutationRequest, 0), - 4: ('input_vini', MoneroTransactionInputViniRequest, 0), - 5: ('all_in_set', MoneroTransactionAllInputsSetRequest, 0), - 6: ('set_output', MoneroTransactionSetOutputRequest, 0), - 7: ('rsig', MoneroTransactionRangeSigRequest, 0), - 8: ('all_out_set', MoneroTransactionAllOutSetRequest, 0), - 9: ('mlsag_done', MoneroTransactionMlsagDoneRequest, 0), - 10: ('sign_input', MoneroTransactionSignInputRequest, 0), - 11: ('final_msg', MoneroTransactionFinalRequest, 0), - } - - def __init__( - self, - init: MoneroTransactionInitRequest = None, - set_input: MoneroTransactionSetInputRequest = None, - input_permutation: MoneroTransactionInputsPermutationRequest = None, - input_vini: MoneroTransactionInputViniRequest = None, - all_in_set: MoneroTransactionAllInputsSetRequest = None, - set_output: MoneroTransactionSetOutputRequest = None, - rsig: MoneroTransactionRangeSigRequest = None, - all_out_set: MoneroTransactionAllOutSetRequest = None, - mlsag_done: MoneroTransactionMlsagDoneRequest = None, - sign_input: MoneroTransactionSignInputRequest = None, - final_msg: MoneroTransactionFinalRequest = None, - ) -> None: - self.init = init - self.set_input = set_input - self.input_permutation = input_permutation - self.input_vini = input_vini - self.all_in_set = all_in_set - self.set_output = set_output - self.rsig = rsig - self.all_out_set = all_out_set - self.mlsag_done = mlsag_done - self.sign_input = sign_input - self.final_msg = final_msg diff --git a/src/trezor/messages/MoneroTransactionSourceEntry.py b/src/trezor/messages/MoneroTransactionSourceEntry.py index 515d02c8cc..9ba48731d0 100644 --- a/src/trezor/messages/MoneroTransactionSourceEntry.py +++ b/src/trezor/messages/MoneroTransactionSourceEntry.py @@ -13,17 +13,6 @@ if __debug__: class MoneroTransactionSourceEntry(p.MessageType): - FIELDS = { - 1: ('outputs', MoneroOutputEntry, p.FLAG_REPEATED), - 2: ('real_output', p.UVarintType, 0), - 3: ('real_out_tx_key', p.BytesType, 0), - 4: ('real_out_additional_tx_keys', p.BytesType, p.FLAG_REPEATED), - 5: ('real_output_in_tx_index', p.UVarintType, 0), - 6: ('amount', p.UVarintType, 0), - 7: ('rct', p.BoolType, 0), - 8: ('mask', p.BytesType, 0), - 9: ('multisig_kLRki', MoneroMultisigKLRki, 0), - } def __init__( self, @@ -46,3 +35,17 @@ class MoneroTransactionSourceEntry(p.MessageType): self.rct = rct self.mask = mask self.multisig_kLRki = multisig_kLRki + + @classmethod + def get_fields(cls): + return { + 1: ('outputs', MoneroOutputEntry, p.FLAG_REPEATED), + 2: ('real_output', p.UVarintType, 0), + 3: ('real_out_tx_key', p.BytesType, 0), + 4: ('real_out_additional_tx_keys', p.BytesType, p.FLAG_REPEATED), + 5: ('real_output_in_tx_index', p.UVarintType, 0), + 6: ('amount', p.UVarintType, 0), + 7: ('rct', p.BoolType, 0), + 8: ('mask', p.BytesType, 0), + 9: ('multisig_kLRki', MoneroMultisigKLRki, 0), + } diff --git a/src/trezor/messages/MoneroTransferDetails.py b/src/trezor/messages/MoneroTransferDetails.py index 2b58615914..f0a9615dfb 100644 --- a/src/trezor/messages/MoneroTransferDetails.py +++ b/src/trezor/messages/MoneroTransferDetails.py @@ -10,12 +10,6 @@ if __debug__: class MoneroTransferDetails(p.MessageType): - FIELDS = { - 1: ('out_key', p.BytesType, 0), - 2: ('tx_pub_key', p.BytesType, 0), - 3: ('additional_tx_pub_keys', p.BytesType, p.FLAG_REPEATED), - 4: ('internal_output_index', p.UVarintType, 0), - } def __init__( self, @@ -28,3 +22,12 @@ class MoneroTransferDetails(p.MessageType): self.tx_pub_key = tx_pub_key self.additional_tx_pub_keys = additional_tx_pub_keys if additional_tx_pub_keys is not None else [] self.internal_output_index = internal_output_index + + @classmethod + def get_fields(cls): + return { + 1: ('out_key', p.BytesType, 0), + 2: ('tx_pub_key', p.BytesType, 0), + 3: ('additional_tx_pub_keys', p.BytesType, p.FLAG_REPEATED), + 4: ('internal_output_index', p.UVarintType, 0), + } diff --git a/src/trezor/messages/MoneroWatchKey.py b/src/trezor/messages/MoneroWatchKey.py index 8579e6bfae..89f5770167 100644 --- a/src/trezor/messages/MoneroWatchKey.py +++ b/src/trezor/messages/MoneroWatchKey.py @@ -4,11 +4,7 @@ import protobuf as p class MoneroWatchKey(p.MessageType): - MESSAGE_WIRE_TYPE = 533 - FIELDS = { - 1: ('watch_key', p.BytesType, 0), - 2: ('address', p.BytesType, 0), - } + MESSAGE_WIRE_TYPE = 543 def __init__( self, @@ -17,3 +13,10 @@ class MoneroWatchKey(p.MessageType): ) -> None: self.watch_key = watch_key self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('watch_key', p.BytesType, 0), + 2: ('address', p.BytesType, 0), + } diff --git a/src/trezor/messages/MultisigRedeemScriptType.py b/src/trezor/messages/MultisigRedeemScriptType.py index 29726f4fb5..c1c6fd29de 100644 --- a/src/trezor/messages/MultisigRedeemScriptType.py +++ b/src/trezor/messages/MultisigRedeemScriptType.py @@ -12,11 +12,6 @@ if __debug__: class MultisigRedeemScriptType(p.MessageType): - FIELDS = { - 1: ('pubkeys', HDNodePathType, p.FLAG_REPEATED), - 2: ('signatures', p.BytesType, p.FLAG_REPEATED), - 3: ('m', p.UVarintType, 0), - } def __init__( self, @@ -27,3 +22,11 @@ class MultisigRedeemScriptType(p.MessageType): self.pubkeys = pubkeys if pubkeys is not None else [] self.signatures = signatures if signatures is not None else [] self.m = m + + @classmethod + def get_fields(cls): + return { + 1: ('pubkeys', HDNodePathType, p.FLAG_REPEATED), + 2: ('signatures', p.BytesType, p.FLAG_REPEATED), + 3: ('m', p.UVarintType, 0), + } diff --git a/src/trezor/messages/NEMAddress.py b/src/trezor/messages/NEMAddress.py index 30f5faa226..e1cbd66513 100644 --- a/src/trezor/messages/NEMAddress.py +++ b/src/trezor/messages/NEMAddress.py @@ -5,12 +5,15 @@ import protobuf as p class NEMAddress(p.MessageType): MESSAGE_WIRE_TYPE = 68 - FIELDS = { - 1: ('address', p.UnicodeType, 0), # required - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), # required + } diff --git a/src/trezor/messages/NEMAggregateModification.py b/src/trezor/messages/NEMAggregateModification.py index 452a8fdbf5..23d87fd348 100644 --- a/src/trezor/messages/NEMAggregateModification.py +++ b/src/trezor/messages/NEMAggregateModification.py @@ -12,10 +12,6 @@ if __debug__: class NEMAggregateModification(p.MessageType): - FIELDS = { - 1: ('modifications', NEMCosignatoryModification, p.FLAG_REPEATED), - 2: ('relative_change', p.SVarintType, 0), - } def __init__( self, @@ -24,3 +20,10 @@ class NEMAggregateModification(p.MessageType): ) -> None: self.modifications = modifications if modifications is not None else [] self.relative_change = relative_change + + @classmethod + def get_fields(cls): + return { + 1: ('modifications', NEMCosignatoryModification, p.FLAG_REPEATED), + 2: ('relative_change', p.SVarintType, 0), + } diff --git a/src/trezor/messages/NEMCosignatoryModification.py b/src/trezor/messages/NEMCosignatoryModification.py index 2af24a43d6..99d921e9d3 100644 --- a/src/trezor/messages/NEMCosignatoryModification.py +++ b/src/trezor/messages/NEMCosignatoryModification.py @@ -4,10 +4,6 @@ import protobuf as p class NEMCosignatoryModification(p.MessageType): - FIELDS = { - 1: ('type', p.UVarintType, 0), - 2: ('public_key', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class NEMCosignatoryModification(p.MessageType): ) -> None: self.type = type self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/NEMDecryptMessage.py b/src/trezor/messages/NEMDecryptMessage.py index 41906d92b4..bdc24cf8d8 100644 --- a/src/trezor/messages/NEMDecryptMessage.py +++ b/src/trezor/messages/NEMDecryptMessage.py @@ -11,12 +11,6 @@ if __debug__: class NEMDecryptMessage(p.MessageType): MESSAGE_WIRE_TYPE = 75 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('network', p.UVarintType, 0), - 3: ('public_key', p.BytesType, 0), - 4: ('payload', p.BytesType, 0), - } def __init__( self, @@ -29,3 +23,12 @@ class NEMDecryptMessage(p.MessageType): self.network = network self.public_key = public_key self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network', p.UVarintType, 0), + 3: ('public_key', p.BytesType, 0), + 4: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/NEMDecryptedMessage.py b/src/trezor/messages/NEMDecryptedMessage.py index 55541f56c2..2fe666a04f 100644 --- a/src/trezor/messages/NEMDecryptedMessage.py +++ b/src/trezor/messages/NEMDecryptedMessage.py @@ -5,12 +5,15 @@ import protobuf as p class NEMDecryptedMessage(p.MessageType): MESSAGE_WIRE_TYPE = 76 - FIELDS = { - 1: ('payload', p.BytesType, 0), - } def __init__( self, payload: bytes = None, ) -> None: self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/NEMGetAddress.py b/src/trezor/messages/NEMGetAddress.py index 1c6c177e6c..5e1c2969de 100644 --- a/src/trezor/messages/NEMGetAddress.py +++ b/src/trezor/messages/NEMGetAddress.py @@ -11,11 +11,6 @@ if __debug__: class NEMGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 67 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('network', p.UVarintType, 0), - 3: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -26,3 +21,11 @@ class NEMGetAddress(p.MessageType): self.address_n = address_n if address_n is not None else [] self.network = network self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network', p.UVarintType, 0), + 3: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/NEMImportanceTransfer.py b/src/trezor/messages/NEMImportanceTransfer.py index f7b3db792f..4044c3cdbd 100644 --- a/src/trezor/messages/NEMImportanceTransfer.py +++ b/src/trezor/messages/NEMImportanceTransfer.py @@ -4,10 +4,6 @@ import protobuf as p class NEMImportanceTransfer(p.MessageType): - FIELDS = { - 1: ('mode', p.UVarintType, 0), - 2: ('public_key', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class NEMImportanceTransfer(p.MessageType): ) -> None: self.mode = mode self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('mode', p.UVarintType, 0), + 2: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/NEMMosaic.py b/src/trezor/messages/NEMMosaic.py index ab83d75b5a..ace6309bb0 100644 --- a/src/trezor/messages/NEMMosaic.py +++ b/src/trezor/messages/NEMMosaic.py @@ -4,11 +4,6 @@ import protobuf as p class NEMMosaic(p.MessageType): - FIELDS = { - 1: ('namespace', p.UnicodeType, 0), - 2: ('mosaic', p.UnicodeType, 0), - 3: ('quantity', p.UVarintType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class NEMMosaic(p.MessageType): self.namespace = namespace self.mosaic = mosaic self.quantity = quantity + + @classmethod + def get_fields(cls): + return { + 1: ('namespace', p.UnicodeType, 0), + 2: ('mosaic', p.UnicodeType, 0), + 3: ('quantity', p.UVarintType, 0), + } diff --git a/src/trezor/messages/NEMMosaicCreation.py b/src/trezor/messages/NEMMosaicCreation.py index 3197ea9e3d..228dac746f 100644 --- a/src/trezor/messages/NEMMosaicCreation.py +++ b/src/trezor/messages/NEMMosaicCreation.py @@ -6,11 +6,6 @@ from .NEMMosaicDefinition import NEMMosaicDefinition class NEMMosaicCreation(p.MessageType): - FIELDS = { - 1: ('definition', NEMMosaicDefinition, 0), - 2: ('sink', p.UnicodeType, 0), - 3: ('fee', p.UVarintType, 0), - } def __init__( self, @@ -21,3 +16,11 @@ class NEMMosaicCreation(p.MessageType): self.definition = definition self.sink = sink self.fee = fee + + @classmethod + def get_fields(cls): + return { + 1: ('definition', NEMMosaicDefinition, 0), + 2: ('sink', p.UnicodeType, 0), + 3: ('fee', p.UVarintType, 0), + } diff --git a/src/trezor/messages/NEMMosaicDefinition.py b/src/trezor/messages/NEMMosaicDefinition.py index 63c4085f24..21b59e892a 100644 --- a/src/trezor/messages/NEMMosaicDefinition.py +++ b/src/trezor/messages/NEMMosaicDefinition.py @@ -10,23 +10,6 @@ if __debug__: class NEMMosaicDefinition(p.MessageType): - FIELDS = { - 1: ('name', p.UnicodeType, 0), - 2: ('ticker', p.UnicodeType, 0), - 3: ('namespace', p.UnicodeType, 0), - 4: ('mosaic', p.UnicodeType, 0), - 5: ('divisibility', p.UVarintType, 0), - 6: ('levy', p.UVarintType, 0), - 7: ('fee', p.UVarintType, 0), - 8: ('levy_address', p.UnicodeType, 0), - 9: ('levy_namespace', p.UnicodeType, 0), - 10: ('levy_mosaic', p.UnicodeType, 0), - 11: ('supply', p.UVarintType, 0), - 12: ('mutable_supply', p.BoolType, 0), - 13: ('transferable', p.BoolType, 0), - 14: ('description', p.UnicodeType, 0), - 15: ('networks', p.UVarintType, p.FLAG_REPEATED), - } def __init__( self, @@ -61,3 +44,23 @@ class NEMMosaicDefinition(p.MessageType): self.transferable = transferable self.description = description self.networks = networks if networks is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('name', p.UnicodeType, 0), + 2: ('ticker', p.UnicodeType, 0), + 3: ('namespace', p.UnicodeType, 0), + 4: ('mosaic', p.UnicodeType, 0), + 5: ('divisibility', p.UVarintType, 0), + 6: ('levy', p.UVarintType, 0), + 7: ('fee', p.UVarintType, 0), + 8: ('levy_address', p.UnicodeType, 0), + 9: ('levy_namespace', p.UnicodeType, 0), + 10: ('levy_mosaic', p.UnicodeType, 0), + 11: ('supply', p.UVarintType, 0), + 12: ('mutable_supply', p.BoolType, 0), + 13: ('transferable', p.BoolType, 0), + 14: ('description', p.UnicodeType, 0), + 15: ('networks', p.UVarintType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/NEMMosaicSupplyChange.py b/src/trezor/messages/NEMMosaicSupplyChange.py index 74d37d9320..a27eca5be9 100644 --- a/src/trezor/messages/NEMMosaicSupplyChange.py +++ b/src/trezor/messages/NEMMosaicSupplyChange.py @@ -4,12 +4,6 @@ import protobuf as p class NEMMosaicSupplyChange(p.MessageType): - FIELDS = { - 1: ('namespace', p.UnicodeType, 0), - 2: ('mosaic', p.UnicodeType, 0), - 3: ('type', p.UVarintType, 0), - 4: ('delta', p.UVarintType, 0), - } def __init__( self, @@ -22,3 +16,12 @@ class NEMMosaicSupplyChange(p.MessageType): self.mosaic = mosaic self.type = type self.delta = delta + + @classmethod + def get_fields(cls): + return { + 1: ('namespace', p.UnicodeType, 0), + 2: ('mosaic', p.UnicodeType, 0), + 3: ('type', p.UVarintType, 0), + 4: ('delta', p.UVarintType, 0), + } diff --git a/src/trezor/messages/NEMProvisionNamespace.py b/src/trezor/messages/NEMProvisionNamespace.py index bad0b4b030..bace55a182 100644 --- a/src/trezor/messages/NEMProvisionNamespace.py +++ b/src/trezor/messages/NEMProvisionNamespace.py @@ -4,12 +4,6 @@ import protobuf as p class NEMProvisionNamespace(p.MessageType): - FIELDS = { - 1: ('namespace', p.UnicodeType, 0), - 2: ('parent', p.UnicodeType, 0), - 3: ('sink', p.UnicodeType, 0), - 4: ('fee', p.UVarintType, 0), - } def __init__( self, @@ -22,3 +16,12 @@ class NEMProvisionNamespace(p.MessageType): self.parent = parent self.sink = sink self.fee = fee + + @classmethod + def get_fields(cls): + return { + 1: ('namespace', p.UnicodeType, 0), + 2: ('parent', p.UnicodeType, 0), + 3: ('sink', p.UnicodeType, 0), + 4: ('fee', p.UVarintType, 0), + } diff --git a/src/trezor/messages/NEMSignTx.py b/src/trezor/messages/NEMSignTx.py index bf356becac..82d4e3262f 100644 --- a/src/trezor/messages/NEMSignTx.py +++ b/src/trezor/messages/NEMSignTx.py @@ -13,17 +13,6 @@ from .NEMTransfer import NEMTransfer class NEMSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 69 - FIELDS = { - 1: ('transaction', NEMTransactionCommon, 0), - 2: ('multisig', NEMTransactionCommon, 0), - 3: ('transfer', NEMTransfer, 0), - 4: ('cosigning', p.BoolType, 0), - 5: ('provision_namespace', NEMProvisionNamespace, 0), - 6: ('mosaic_creation', NEMMosaicCreation, 0), - 7: ('supply_change', NEMMosaicSupplyChange, 0), - 8: ('aggregate_modification', NEMAggregateModification, 0), - 9: ('importance_transfer', NEMImportanceTransfer, 0), - } def __init__( self, @@ -46,3 +35,17 @@ class NEMSignTx(p.MessageType): self.supply_change = supply_change self.aggregate_modification = aggregate_modification self.importance_transfer = importance_transfer + + @classmethod + def get_fields(cls): + return { + 1: ('transaction', NEMTransactionCommon, 0), + 2: ('multisig', NEMTransactionCommon, 0), + 3: ('transfer', NEMTransfer, 0), + 4: ('cosigning', p.BoolType, 0), + 5: ('provision_namespace', NEMProvisionNamespace, 0), + 6: ('mosaic_creation', NEMMosaicCreation, 0), + 7: ('supply_change', NEMMosaicSupplyChange, 0), + 8: ('aggregate_modification', NEMAggregateModification, 0), + 9: ('importance_transfer', NEMImportanceTransfer, 0), + } diff --git a/src/trezor/messages/NEMSignedTx.py b/src/trezor/messages/NEMSignedTx.py index 09a73588f9..0d090f5e02 100644 --- a/src/trezor/messages/NEMSignedTx.py +++ b/src/trezor/messages/NEMSignedTx.py @@ -5,10 +5,6 @@ import protobuf as p class NEMSignedTx(p.MessageType): MESSAGE_WIRE_TYPE = 70 - FIELDS = { - 1: ('data', p.BytesType, 0), - 2: ('signature', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class NEMSignedTx(p.MessageType): ) -> None: self.data = data self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('data', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/NEMTransactionCommon.py b/src/trezor/messages/NEMTransactionCommon.py index 8b9db5a055..90e4161d24 100644 --- a/src/trezor/messages/NEMTransactionCommon.py +++ b/src/trezor/messages/NEMTransactionCommon.py @@ -10,14 +10,6 @@ if __debug__: class NEMTransactionCommon(p.MessageType): - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('network', p.UVarintType, 0), - 3: ('timestamp', p.UVarintType, 0), - 4: ('fee', p.UVarintType, 0), - 5: ('deadline', p.UVarintType, 0), - 6: ('signer', p.BytesType, 0), - } def __init__( self, @@ -34,3 +26,14 @@ class NEMTransactionCommon(p.MessageType): self.fee = fee self.deadline = deadline self.signer = signer + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('network', p.UVarintType, 0), + 3: ('timestamp', p.UVarintType, 0), + 4: ('fee', p.UVarintType, 0), + 5: ('deadline', p.UVarintType, 0), + 6: ('signer', p.BytesType, 0), + } diff --git a/src/trezor/messages/NEMTransfer.py b/src/trezor/messages/NEMTransfer.py index d4e9a7a4bd..56906feb36 100644 --- a/src/trezor/messages/NEMTransfer.py +++ b/src/trezor/messages/NEMTransfer.py @@ -12,13 +12,6 @@ if __debug__: class NEMTransfer(p.MessageType): - FIELDS = { - 1: ('recipient', p.UnicodeType, 0), - 2: ('amount', p.UVarintType, 0), - 3: ('payload', p.BytesType, 0), - 4: ('public_key', p.BytesType, 0), - 5: ('mosaics', NEMMosaic, p.FLAG_REPEATED), - } def __init__( self, @@ -33,3 +26,13 @@ class NEMTransfer(p.MessageType): self.payload = payload self.public_key = public_key self.mosaics = mosaics if mosaics is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('recipient', p.UnicodeType, 0), + 2: ('amount', p.UVarintType, 0), + 3: ('payload', p.BytesType, 0), + 4: ('public_key', p.BytesType, 0), + 5: ('mosaics', NEMMosaic, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/OntologyAddress.py b/src/trezor/messages/OntologyAddress.py index f45422878f..1a0cccea44 100644 --- a/src/trezor/messages/OntologyAddress.py +++ b/src/trezor/messages/OntologyAddress.py @@ -5,12 +5,15 @@ import protobuf as p class OntologyAddress(p.MessageType): MESSAGE_WIRE_TYPE = 351 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/OntologyGetAddress.py b/src/trezor/messages/OntologyGetAddress.py index 38388b0000..67c4188954 100644 --- a/src/trezor/messages/OntologyGetAddress.py +++ b/src/trezor/messages/OntologyGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class OntologyGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 350 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class OntologyGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/OntologyGetPublicKey.py b/src/trezor/messages/OntologyGetPublicKey.py index c1727741cf..98919119d1 100644 --- a/src/trezor/messages/OntologyGetPublicKey.py +++ b/src/trezor/messages/OntologyGetPublicKey.py @@ -11,10 +11,6 @@ if __debug__: class OntologyGetPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 352 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class OntologyGetPublicKey(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/OntologyOntIdAddAttributes.py b/src/trezor/messages/OntologyOntIdAddAttributes.py index 9982538a45..99909c0397 100644 --- a/src/trezor/messages/OntologyOntIdAddAttributes.py +++ b/src/trezor/messages/OntologyOntIdAddAttributes.py @@ -12,11 +12,6 @@ if __debug__: class OntologyOntIdAddAttributes(p.MessageType): - FIELDS = { - 1: ('ont_id', p.UnicodeType, 0), - 2: ('public_key', p.BytesType, 0), - 3: ('ont_id_attributes', OntologyOntIdAttribute, p.FLAG_REPEATED), - } def __init__( self, @@ -27,3 +22,11 @@ class OntologyOntIdAddAttributes(p.MessageType): self.ont_id = ont_id self.public_key = public_key self.ont_id_attributes = ont_id_attributes if ont_id_attributes is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('ont_id', p.UnicodeType, 0), + 2: ('public_key', p.BytesType, 0), + 3: ('ont_id_attributes', OntologyOntIdAttribute, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/OntologyOntIdAttribute.py b/src/trezor/messages/OntologyOntIdAttribute.py index 48cbd7db5c..a18ea7f4f1 100644 --- a/src/trezor/messages/OntologyOntIdAttribute.py +++ b/src/trezor/messages/OntologyOntIdAttribute.py @@ -4,11 +4,6 @@ import protobuf as p class OntologyOntIdAttribute(p.MessageType): - FIELDS = { - 1: ('key', p.UnicodeType, 0), - 2: ('type', p.UnicodeType, 0), - 3: ('value', p.UnicodeType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class OntologyOntIdAttribute(p.MessageType): self.key = key self.type = type self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('key', p.UnicodeType, 0), + 2: ('type', p.UnicodeType, 0), + 3: ('value', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/OntologyOntIdRegister.py b/src/trezor/messages/OntologyOntIdRegister.py index ebe4343464..ff2da2785c 100644 --- a/src/trezor/messages/OntologyOntIdRegister.py +++ b/src/trezor/messages/OntologyOntIdRegister.py @@ -4,10 +4,6 @@ import protobuf as p class OntologyOntIdRegister(p.MessageType): - FIELDS = { - 1: ('ont_id', p.UnicodeType, 0), - 2: ('public_key', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class OntologyOntIdRegister(p.MessageType): ) -> None: self.ont_id = ont_id self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('ont_id', p.UnicodeType, 0), + 2: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologyPublicKey.py b/src/trezor/messages/OntologyPublicKey.py index d62a65a663..a39152e486 100644 --- a/src/trezor/messages/OntologyPublicKey.py +++ b/src/trezor/messages/OntologyPublicKey.py @@ -5,12 +5,15 @@ import protobuf as p class OntologyPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 353 - FIELDS = { - 1: ('public_key', p.BytesType, 0), - } def __init__( self, public_key: bytes = None, ) -> None: self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologySignOntIdAddAttributes.py b/src/trezor/messages/OntologySignOntIdAddAttributes.py index b42dee1b9d..5a5db01b9a 100644 --- a/src/trezor/messages/OntologySignOntIdAddAttributes.py +++ b/src/trezor/messages/OntologySignOntIdAddAttributes.py @@ -14,11 +14,6 @@ if __debug__: class OntologySignOntIdAddAttributes(p.MessageType): MESSAGE_WIRE_TYPE = 360 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('transaction', OntologyTransaction, 0), - 3: ('ont_id_add_attributes', OntologyOntIdAddAttributes, 0), - } def __init__( self, @@ -29,3 +24,11 @@ class OntologySignOntIdAddAttributes(p.MessageType): self.address_n = address_n if address_n is not None else [] self.transaction = transaction self.ont_id_add_attributes = ont_id_add_attributes + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('ont_id_add_attributes', OntologyOntIdAddAttributes, 0), + } diff --git a/src/trezor/messages/OntologySignOntIdRegister.py b/src/trezor/messages/OntologySignOntIdRegister.py index cf83aae5bf..c3bbb494ed 100644 --- a/src/trezor/messages/OntologySignOntIdRegister.py +++ b/src/trezor/messages/OntologySignOntIdRegister.py @@ -14,11 +14,6 @@ if __debug__: class OntologySignOntIdRegister(p.MessageType): MESSAGE_WIRE_TYPE = 358 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('transaction', OntologyTransaction, 0), - 3: ('ont_id_register', OntologyOntIdRegister, 0), - } def __init__( self, @@ -29,3 +24,11 @@ class OntologySignOntIdRegister(p.MessageType): self.address_n = address_n if address_n is not None else [] self.transaction = transaction self.ont_id_register = ont_id_register + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('ont_id_register', OntologyOntIdRegister, 0), + } diff --git a/src/trezor/messages/OntologySignTransfer.py b/src/trezor/messages/OntologySignTransfer.py index 78758cae6a..a63e1dac2e 100644 --- a/src/trezor/messages/OntologySignTransfer.py +++ b/src/trezor/messages/OntologySignTransfer.py @@ -14,11 +14,6 @@ if __debug__: class OntologySignTransfer(p.MessageType): MESSAGE_WIRE_TYPE = 354 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('transaction', OntologyTransaction, 0), - 3: ('transfer', OntologyTransfer, 0), - } def __init__( self, @@ -29,3 +24,11 @@ class OntologySignTransfer(p.MessageType): self.address_n = address_n if address_n is not None else [] self.transaction = transaction self.transfer = transfer + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('transfer', OntologyTransfer, 0), + } diff --git a/src/trezor/messages/OntologySignWithdrawOng.py b/src/trezor/messages/OntologySignWithdrawOng.py index b9a99b7d43..63012fe8bc 100644 --- a/src/trezor/messages/OntologySignWithdrawOng.py +++ b/src/trezor/messages/OntologySignWithdrawOng.py @@ -14,11 +14,6 @@ if __debug__: class OntologySignWithdrawOng(p.MessageType): MESSAGE_WIRE_TYPE = 356 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('transaction', OntologyTransaction, 0), - 3: ('withdraw_ong', OntologyWithdrawOng, 0), - } def __init__( self, @@ -29,3 +24,11 @@ class OntologySignWithdrawOng(p.MessageType): self.address_n = address_n if address_n is not None else [] self.transaction = transaction self.withdraw_ong = withdraw_ong + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('transaction', OntologyTransaction, 0), + 3: ('withdraw_ong', OntologyWithdrawOng, 0), + } diff --git a/src/trezor/messages/OntologySignedOntIdAddAttributes.py b/src/trezor/messages/OntologySignedOntIdAddAttributes.py index e884364424..ccf283dd6a 100644 --- a/src/trezor/messages/OntologySignedOntIdAddAttributes.py +++ b/src/trezor/messages/OntologySignedOntIdAddAttributes.py @@ -5,10 +5,6 @@ import protobuf as p class OntologySignedOntIdAddAttributes(p.MessageType): MESSAGE_WIRE_TYPE = 361 - FIELDS = { - 1: ('signature', p.BytesType, 0), - 2: ('payload', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class OntologySignedOntIdAddAttributes(p.MessageType): ) -> None: self.signature = signature self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologySignedOntIdRegister.py b/src/trezor/messages/OntologySignedOntIdRegister.py index 0b6fd38450..542e15f83c 100644 --- a/src/trezor/messages/OntologySignedOntIdRegister.py +++ b/src/trezor/messages/OntologySignedOntIdRegister.py @@ -5,10 +5,6 @@ import protobuf as p class OntologySignedOntIdRegister(p.MessageType): MESSAGE_WIRE_TYPE = 359 - FIELDS = { - 1: ('signature', p.BytesType, 0), - 2: ('payload', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class OntologySignedOntIdRegister(p.MessageType): ) -> None: self.signature = signature self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologySignedTransfer.py b/src/trezor/messages/OntologySignedTransfer.py index 40e24eabb9..a3e45bd5ff 100644 --- a/src/trezor/messages/OntologySignedTransfer.py +++ b/src/trezor/messages/OntologySignedTransfer.py @@ -5,10 +5,6 @@ import protobuf as p class OntologySignedTransfer(p.MessageType): MESSAGE_WIRE_TYPE = 355 - FIELDS = { - 1: ('signature', p.BytesType, 0), - 2: ('payload', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class OntologySignedTransfer(p.MessageType): ) -> None: self.signature = signature self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologySignedWithdrawOng.py b/src/trezor/messages/OntologySignedWithdrawOng.py index 54d729abe2..07c70dcadf 100644 --- a/src/trezor/messages/OntologySignedWithdrawOng.py +++ b/src/trezor/messages/OntologySignedWithdrawOng.py @@ -5,10 +5,6 @@ import protobuf as p class OntologySignedWithdrawOng(p.MessageType): MESSAGE_WIRE_TYPE = 357 - FIELDS = { - 1: ('signature', p.BytesType, 0), - 2: ('payload', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class OntologySignedWithdrawOng(p.MessageType): ) -> None: self.signature = signature self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologyTransaction.py b/src/trezor/messages/OntologyTransaction.py index d2d6f1a7b3..1913ccbb3b 100644 --- a/src/trezor/messages/OntologyTransaction.py +++ b/src/trezor/messages/OntologyTransaction.py @@ -12,15 +12,6 @@ if __debug__: class OntologyTransaction(p.MessageType): - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('type', p.UVarintType, 0), - 3: ('nonce', p.UVarintType, 0), - 4: ('gas_price', p.UVarintType, 0), - 5: ('gas_limit', p.UVarintType, 0), - 6: ('payer', p.UnicodeType, 0), - 7: ('tx_attributes', OntologyTxAttribute, p.FLAG_REPEATED), - } def __init__( self, @@ -39,3 +30,15 @@ class OntologyTransaction(p.MessageType): self.gas_limit = gas_limit self.payer = payer self.tx_attributes = tx_attributes if tx_attributes is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('type', p.UVarintType, 0), + 3: ('nonce', p.UVarintType, 0), + 4: ('gas_price', p.UVarintType, 0), + 5: ('gas_limit', p.UVarintType, 0), + 6: ('payer', p.UnicodeType, 0), + 7: ('tx_attributes', OntologyTxAttribute, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/OntologyTransfer.py b/src/trezor/messages/OntologyTransfer.py index 679a6dbc61..a42b5c1543 100644 --- a/src/trezor/messages/OntologyTransfer.py +++ b/src/trezor/messages/OntologyTransfer.py @@ -4,12 +4,6 @@ import protobuf as p class OntologyTransfer(p.MessageType): - FIELDS = { - 1: ('asset', p.UVarintType, 0), - 2: ('amount', p.UVarintType, 0), - 3: ('from_address', p.UnicodeType, 0), - 4: ('to_address', p.UnicodeType, 0), - } def __init__( self, @@ -22,3 +16,12 @@ class OntologyTransfer(p.MessageType): self.amount = amount self.from_address = from_address self.to_address = to_address + + @classmethod + def get_fields(cls): + return { + 1: ('asset', p.UVarintType, 0), + 2: ('amount', p.UVarintType, 0), + 3: ('from_address', p.UnicodeType, 0), + 4: ('to_address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/OntologyTxAttribute.py b/src/trezor/messages/OntologyTxAttribute.py index fce579c7f1..67aac0b4b8 100644 --- a/src/trezor/messages/OntologyTxAttribute.py +++ b/src/trezor/messages/OntologyTxAttribute.py @@ -4,10 +4,6 @@ import protobuf as p class OntologyTxAttribute(p.MessageType): - FIELDS = { - 1: ('usage', p.UVarintType, 0), - 2: ('data', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class OntologyTxAttribute(p.MessageType): ) -> None: self.usage = usage self.data = data + + @classmethod + def get_fields(cls): + return { + 1: ('usage', p.UVarintType, 0), + 2: ('data', p.BytesType, 0), + } diff --git a/src/trezor/messages/OntologyWithdrawOng.py b/src/trezor/messages/OntologyWithdrawOng.py index b4977f59f2..1e17481081 100644 --- a/src/trezor/messages/OntologyWithdrawOng.py +++ b/src/trezor/messages/OntologyWithdrawOng.py @@ -4,11 +4,6 @@ import protobuf as p class OntologyWithdrawOng(p.MessageType): - FIELDS = { - 1: ('amount', p.UVarintType, 0), - 2: ('from_address', p.UnicodeType, 0), - 3: ('to_address', p.UnicodeType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class OntologyWithdrawOng(p.MessageType): self.amount = amount self.from_address = from_address self.to_address = to_address + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), + 2: ('from_address', p.UnicodeType, 0), + 3: ('to_address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/PassphraseAck.py b/src/trezor/messages/PassphraseAck.py index 5bbe7798a7..b8a152a58c 100644 --- a/src/trezor/messages/PassphraseAck.py +++ b/src/trezor/messages/PassphraseAck.py @@ -5,10 +5,6 @@ import protobuf as p class PassphraseAck(p.MessageType): MESSAGE_WIRE_TYPE = 42 - FIELDS = { - 1: ('passphrase', p.UnicodeType, 0), - 2: ('state', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class PassphraseAck(p.MessageType): ) -> None: self.passphrase = passphrase self.state = state + + @classmethod + def get_fields(cls): + return { + 1: ('passphrase', p.UnicodeType, 0), + 2: ('state', p.BytesType, 0), + } diff --git a/src/trezor/messages/PassphraseRequest.py b/src/trezor/messages/PassphraseRequest.py index 85a3676743..a58cb1f57f 100644 --- a/src/trezor/messages/PassphraseRequest.py +++ b/src/trezor/messages/PassphraseRequest.py @@ -5,12 +5,15 @@ import protobuf as p class PassphraseRequest(p.MessageType): MESSAGE_WIRE_TYPE = 41 - FIELDS = { - 1: ('on_device', p.BoolType, 0), - } def __init__( self, on_device: bool = None, ) -> None: self.on_device = on_device + + @classmethod + def get_fields(cls): + return { + 1: ('on_device', p.BoolType, 0), + } diff --git a/src/trezor/messages/PassphraseStateRequest.py b/src/trezor/messages/PassphraseStateRequest.py index d18f3a95be..ab96cad5b6 100644 --- a/src/trezor/messages/PassphraseStateRequest.py +++ b/src/trezor/messages/PassphraseStateRequest.py @@ -5,12 +5,15 @@ import protobuf as p class PassphraseStateRequest(p.MessageType): MESSAGE_WIRE_TYPE = 77 - FIELDS = { - 1: ('state', p.BytesType, 0), - } def __init__( self, state: bytes = None, ) -> None: self.state = state + + @classmethod + def get_fields(cls): + return { + 1: ('state', p.BytesType, 0), + } diff --git a/src/trezor/messages/PinMatrixAck.py b/src/trezor/messages/PinMatrixAck.py index 9ccd0b310c..6c75e3318c 100644 --- a/src/trezor/messages/PinMatrixAck.py +++ b/src/trezor/messages/PinMatrixAck.py @@ -5,12 +5,15 @@ import protobuf as p class PinMatrixAck(p.MessageType): MESSAGE_WIRE_TYPE = 19 - FIELDS = { - 1: ('pin', p.UnicodeType, 0), # required - } def __init__( self, pin: str = None, ) -> None: self.pin = pin + + @classmethod + def get_fields(cls): + return { + 1: ('pin', p.UnicodeType, 0), # required + } diff --git a/src/trezor/messages/PinMatrixRequest.py b/src/trezor/messages/PinMatrixRequest.py index 0689dd83ef..1c754e548c 100644 --- a/src/trezor/messages/PinMatrixRequest.py +++ b/src/trezor/messages/PinMatrixRequest.py @@ -5,12 +5,15 @@ import protobuf as p class PinMatrixRequest(p.MessageType): MESSAGE_WIRE_TYPE = 18 - FIELDS = { - 1: ('type', p.UVarintType, 0), - } def __init__( self, type: int = None, ) -> None: self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + } diff --git a/src/trezor/messages/Ping.py b/src/trezor/messages/Ping.py index 945c6b48e3..fabe5c7dc4 100644 --- a/src/trezor/messages/Ping.py +++ b/src/trezor/messages/Ping.py @@ -5,12 +5,6 @@ import protobuf as p class Ping(p.MessageType): MESSAGE_WIRE_TYPE = 1 - FIELDS = { - 1: ('message', p.UnicodeType, 0), - 2: ('button_protection', p.BoolType, 0), - 3: ('pin_protection', p.BoolType, 0), - 4: ('passphrase_protection', p.BoolType, 0), - } def __init__( self, @@ -23,3 +17,12 @@ class Ping(p.MessageType): self.button_protection = button_protection self.pin_protection = pin_protection self.passphrase_protection = passphrase_protection + + @classmethod + def get_fields(cls): + return { + 1: ('message', p.UnicodeType, 0), + 2: ('button_protection', p.BoolType, 0), + 3: ('pin_protection', p.BoolType, 0), + 4: ('passphrase_protection', p.BoolType, 0), + } diff --git a/src/trezor/messages/PublicKey.py b/src/trezor/messages/PublicKey.py index fe24b2deaf..d39778d582 100644 --- a/src/trezor/messages/PublicKey.py +++ b/src/trezor/messages/PublicKey.py @@ -7,10 +7,6 @@ from .HDNodeType import HDNodeType class PublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 12 - FIELDS = { - 1: ('node', HDNodeType, 0), # required - 2: ('xpub', p.UnicodeType, 0), - } def __init__( self, @@ -19,3 +15,10 @@ class PublicKey(p.MessageType): ) -> None: self.node = node self.xpub = xpub + + @classmethod + def get_fields(cls): + return { + 1: ('node', HDNodeType, 0), # required + 2: ('xpub', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/RecoveryDevice.py b/src/trezor/messages/RecoveryDevice.py index bb14d23d44..3464b99499 100644 --- a/src/trezor/messages/RecoveryDevice.py +++ b/src/trezor/messages/RecoveryDevice.py @@ -5,17 +5,6 @@ import protobuf as p class RecoveryDevice(p.MessageType): MESSAGE_WIRE_TYPE = 45 - FIELDS = { - 1: ('word_count', p.UVarintType, 0), - 2: ('passphrase_protection', p.BoolType, 0), - 3: ('pin_protection', p.BoolType, 0), - 4: ('language', p.UnicodeType, 0), # default=english - 5: ('label', p.UnicodeType, 0), - 6: ('enforce_wordlist', p.BoolType, 0), - 8: ('type', p.UVarintType, 0), - 9: ('u2f_counter', p.UVarintType, 0), - 10: ('dry_run', p.BoolType, 0), - } def __init__( self, @@ -38,3 +27,17 @@ class RecoveryDevice(p.MessageType): self.type = type self.u2f_counter = u2f_counter self.dry_run = dry_run + + @classmethod + def get_fields(cls): + return { + 1: ('word_count', p.UVarintType, 0), + 2: ('passphrase_protection', p.BoolType, 0), + 3: ('pin_protection', p.BoolType, 0), + 4: ('language', p.UnicodeType, 0), # default=english + 5: ('label', p.UnicodeType, 0), + 6: ('enforce_wordlist', p.BoolType, 0), + 8: ('type', p.UVarintType, 0), + 9: ('u2f_counter', p.UVarintType, 0), + 10: ('dry_run', p.BoolType, 0), + } diff --git a/src/trezor/messages/ResetDevice.py b/src/trezor/messages/ResetDevice.py index 45c003e246..7689776b2b 100644 --- a/src/trezor/messages/ResetDevice.py +++ b/src/trezor/messages/ResetDevice.py @@ -5,16 +5,6 @@ import protobuf as p class ResetDevice(p.MessageType): MESSAGE_WIRE_TYPE = 14 - FIELDS = { - 1: ('display_random', p.BoolType, 0), - 2: ('strength', p.UVarintType, 0), # default=256 - 3: ('passphrase_protection', p.BoolType, 0), - 4: ('pin_protection', p.BoolType, 0), - 5: ('language', p.UnicodeType, 0), # default=english - 6: ('label', p.UnicodeType, 0), - 7: ('u2f_counter', p.UVarintType, 0), - 8: ('skip_backup', p.BoolType, 0), - } def __init__( self, @@ -35,3 +25,16 @@ class ResetDevice(p.MessageType): self.label = label self.u2f_counter = u2f_counter self.skip_backup = skip_backup + + @classmethod + def get_fields(cls): + return { + 1: ('display_random', p.BoolType, 0), + 2: ('strength', p.UVarintType, 0), # default=256 + 3: ('passphrase_protection', p.BoolType, 0), + 4: ('pin_protection', p.BoolType, 0), + 5: ('language', p.UnicodeType, 0), # default=english + 6: ('label', p.UnicodeType, 0), + 7: ('u2f_counter', p.UVarintType, 0), + 8: ('skip_backup', p.BoolType, 0), + } diff --git a/src/trezor/messages/RippleAddress.py b/src/trezor/messages/RippleAddress.py index 34ba8c7a35..d5dddbba55 100644 --- a/src/trezor/messages/RippleAddress.py +++ b/src/trezor/messages/RippleAddress.py @@ -5,12 +5,15 @@ import protobuf as p class RippleAddress(p.MessageType): MESSAGE_WIRE_TYPE = 401 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/RippleGetAddress.py b/src/trezor/messages/RippleGetAddress.py index 6b53aba258..1ef2c93a8d 100644 --- a/src/trezor/messages/RippleGetAddress.py +++ b/src/trezor/messages/RippleGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class RippleGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 400 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class RippleGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/RipplePayment.py b/src/trezor/messages/RipplePayment.py index a3ebe77236..d2d17acb29 100644 --- a/src/trezor/messages/RipplePayment.py +++ b/src/trezor/messages/RipplePayment.py @@ -4,10 +4,6 @@ import protobuf as p class RipplePayment(p.MessageType): - FIELDS = { - 1: ('amount', p.UVarintType, 0), - 2: ('destination', p.UnicodeType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class RipplePayment(p.MessageType): ) -> None: self.amount = amount self.destination = destination + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), + 2: ('destination', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/RippleSignTx.py b/src/trezor/messages/RippleSignTx.py index 0d62466f9d..dd348226ef 100644 --- a/src/trezor/messages/RippleSignTx.py +++ b/src/trezor/messages/RippleSignTx.py @@ -13,14 +13,6 @@ if __debug__: class RippleSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 402 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('fee', p.UVarintType, 0), - 3: ('flags', p.UVarintType, 0), - 4: ('sequence', p.UVarintType, 0), - 5: ('last_ledger_sequence', p.UVarintType, 0), - 6: ('payment', RipplePayment, 0), - } def __init__( self, @@ -37,3 +29,14 @@ class RippleSignTx(p.MessageType): self.sequence = sequence self.last_ledger_sequence = last_ledger_sequence self.payment = payment + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('fee', p.UVarintType, 0), + 3: ('flags', p.UVarintType, 0), + 4: ('sequence', p.UVarintType, 0), + 5: ('last_ledger_sequence', p.UVarintType, 0), + 6: ('payment', RipplePayment, 0), + } diff --git a/src/trezor/messages/RippleSignedTx.py b/src/trezor/messages/RippleSignedTx.py index e7bded21fa..eb5d242c45 100644 --- a/src/trezor/messages/RippleSignedTx.py +++ b/src/trezor/messages/RippleSignedTx.py @@ -5,10 +5,6 @@ import protobuf as p class RippleSignedTx(p.MessageType): MESSAGE_WIRE_TYPE = 403 - FIELDS = { - 1: ('signature', p.BytesType, 0), - 2: ('serialized_tx', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class RippleSignedTx(p.MessageType): ) -> None: self.signature = signature self.serialized_tx = serialized_tx + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('serialized_tx', p.BytesType, 0), + } diff --git a/src/trezor/messages/SelfTest.py b/src/trezor/messages/SelfTest.py index b67fc1ede7..733d032e32 100644 --- a/src/trezor/messages/SelfTest.py +++ b/src/trezor/messages/SelfTest.py @@ -5,12 +5,15 @@ import protobuf as p class SelfTest(p.MessageType): MESSAGE_WIRE_TYPE = 32 - FIELDS = { - 1: ('payload', p.BytesType, 0), - } def __init__( self, payload: bytes = None, ) -> None: self.payload = payload + + @classmethod + def get_fields(cls): + return { + 1: ('payload', p.BytesType, 0), + } diff --git a/src/trezor/messages/SetU2FCounter.py b/src/trezor/messages/SetU2FCounter.py index ea53b48e11..b745046669 100644 --- a/src/trezor/messages/SetU2FCounter.py +++ b/src/trezor/messages/SetU2FCounter.py @@ -5,12 +5,15 @@ import protobuf as p class SetU2FCounter(p.MessageType): MESSAGE_WIRE_TYPE = 63 - FIELDS = { - 1: ('u2f_counter', p.UVarintType, 0), - } def __init__( self, u2f_counter: int = None, ) -> None: self.u2f_counter = u2f_counter + + @classmethod + def get_fields(cls): + return { + 1: ('u2f_counter', p.UVarintType, 0), + } diff --git a/src/trezor/messages/SignIdentity.py b/src/trezor/messages/SignIdentity.py index 08c440558a..28d4810594 100644 --- a/src/trezor/messages/SignIdentity.py +++ b/src/trezor/messages/SignIdentity.py @@ -7,12 +7,6 @@ from .IdentityType import IdentityType class SignIdentity(p.MessageType): MESSAGE_WIRE_TYPE = 53 - FIELDS = { - 1: ('identity', IdentityType, 0), - 2: ('challenge_hidden', p.BytesType, 0), - 3: ('challenge_visual', p.UnicodeType, 0), - 4: ('ecdsa_curve_name', p.UnicodeType, 0), - } def __init__( self, @@ -25,3 +19,12 @@ class SignIdentity(p.MessageType): self.challenge_hidden = challenge_hidden self.challenge_visual = challenge_visual self.ecdsa_curve_name = ecdsa_curve_name + + @classmethod + def get_fields(cls): + return { + 1: ('identity', IdentityType, 0), + 2: ('challenge_hidden', p.BytesType, 0), + 3: ('challenge_visual', p.UnicodeType, 0), + 4: ('ecdsa_curve_name', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/SignMessage.py b/src/trezor/messages/SignMessage.py index 2cb17c6f27..8adb0c95eb 100644 --- a/src/trezor/messages/SignMessage.py +++ b/src/trezor/messages/SignMessage.py @@ -11,12 +11,6 @@ if __debug__: class SignMessage(p.MessageType): MESSAGE_WIRE_TYPE = 38 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('message', p.BytesType, 0), # required - 3: ('coin_name', p.UnicodeType, 0), # default=Bitcoin - 4: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS - } def __init__( self, @@ -29,3 +23,12 @@ class SignMessage(p.MessageType): self.message = message self.coin_name = coin_name self.script_type = script_type + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('message', p.BytesType, 0), # required + 3: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 4: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + } diff --git a/src/trezor/messages/SignTx.py b/src/trezor/messages/SignTx.py index b2cb868b1c..4e801017bb 100644 --- a/src/trezor/messages/SignTx.py +++ b/src/trezor/messages/SignTx.py @@ -5,15 +5,6 @@ import protobuf as p class SignTx(p.MessageType): MESSAGE_WIRE_TYPE = 15 - FIELDS = { - 1: ('outputs_count', p.UVarintType, 0), # required - 2: ('inputs_count', p.UVarintType, 0), # required - 3: ('coin_name', p.UnicodeType, 0), # default=Bitcoin - 4: ('version', p.UVarintType, 0), # default=1 - 5: ('lock_time', p.UVarintType, 0), # default=0 - 6: ('expiry', p.UVarintType, 0), - 7: ('overwintered', p.BoolType, 0), - } def __init__( self, @@ -32,3 +23,15 @@ class SignTx(p.MessageType): self.lock_time = lock_time self.expiry = expiry self.overwintered = overwintered + + @classmethod + def get_fields(cls): + return { + 1: ('outputs_count', p.UVarintType, 0), # required + 2: ('inputs_count', p.UVarintType, 0), # required + 3: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + 4: ('version', p.UVarintType, 0), # default=1 + 5: ('lock_time', p.UVarintType, 0), # default=0 + 6: ('expiry', p.UVarintType, 0), + 7: ('overwintered', p.BoolType, 0), + } diff --git a/src/trezor/messages/SignedIdentity.py b/src/trezor/messages/SignedIdentity.py index ada62ad477..376b9eca3b 100644 --- a/src/trezor/messages/SignedIdentity.py +++ b/src/trezor/messages/SignedIdentity.py @@ -5,11 +5,6 @@ import protobuf as p class SignedIdentity(p.MessageType): MESSAGE_WIRE_TYPE = 54 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - 2: ('public_key', p.BytesType, 0), - 3: ('signature', p.BytesType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class SignedIdentity(p.MessageType): self.address = address self.public_key = public_key self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('public_key', p.BytesType, 0), + 3: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/StellarAccountMergeOp.py b/src/trezor/messages/StellarAccountMergeOp.py index 9664982116..60f29ba8e2 100644 --- a/src/trezor/messages/StellarAccountMergeOp.py +++ b/src/trezor/messages/StellarAccountMergeOp.py @@ -5,10 +5,6 @@ import protobuf as p class StellarAccountMergeOp(p.MessageType): MESSAGE_WIRE_TYPE = 218 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('destination_account', p.UnicodeType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class StellarAccountMergeOp(p.MessageType): ) -> None: self.source_account = source_account self.destination_account = destination_account + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('destination_account', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/StellarAddress.py b/src/trezor/messages/StellarAddress.py index 5b77061c50..80ba3eab94 100644 --- a/src/trezor/messages/StellarAddress.py +++ b/src/trezor/messages/StellarAddress.py @@ -5,12 +5,15 @@ import protobuf as p class StellarAddress(p.MessageType): MESSAGE_WIRE_TYPE = 208 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/StellarAllowTrustOp.py b/src/trezor/messages/StellarAllowTrustOp.py index 302abcc88e..8c5139564e 100644 --- a/src/trezor/messages/StellarAllowTrustOp.py +++ b/src/trezor/messages/StellarAllowTrustOp.py @@ -5,13 +5,6 @@ import protobuf as p class StellarAllowTrustOp(p.MessageType): MESSAGE_WIRE_TYPE = 217 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('trusted_account', p.UnicodeType, 0), - 3: ('asset_type', p.UVarintType, 0), - 4: ('asset_code', p.UnicodeType, 0), - 5: ('is_authorized', p.UVarintType, 0), - } def __init__( self, @@ -26,3 +19,13 @@ class StellarAllowTrustOp(p.MessageType): self.asset_type = asset_type self.asset_code = asset_code self.is_authorized = is_authorized + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('trusted_account', p.UnicodeType, 0), + 3: ('asset_type', p.UVarintType, 0), + 4: ('asset_code', p.UnicodeType, 0), + 5: ('is_authorized', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarAssetType.py b/src/trezor/messages/StellarAssetType.py index e59f9ebf6b..0b58c50640 100644 --- a/src/trezor/messages/StellarAssetType.py +++ b/src/trezor/messages/StellarAssetType.py @@ -4,11 +4,6 @@ import protobuf as p class StellarAssetType(p.MessageType): - FIELDS = { - 1: ('type', p.UVarintType, 0), - 2: ('code', p.UnicodeType, 0), - 3: ('issuer', p.UnicodeType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class StellarAssetType(p.MessageType): self.type = type self.code = code self.issuer = issuer + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + 2: ('code', p.UnicodeType, 0), + 3: ('issuer', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/StellarBumpSequenceOp.py b/src/trezor/messages/StellarBumpSequenceOp.py index 64a13e7190..d1faaa81db 100644 --- a/src/trezor/messages/StellarBumpSequenceOp.py +++ b/src/trezor/messages/StellarBumpSequenceOp.py @@ -5,10 +5,6 @@ import protobuf as p class StellarBumpSequenceOp(p.MessageType): MESSAGE_WIRE_TYPE = 221 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('bump_to', p.UVarintType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class StellarBumpSequenceOp(p.MessageType): ) -> None: self.source_account = source_account self.bump_to = bump_to + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('bump_to', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarChangeTrustOp.py b/src/trezor/messages/StellarChangeTrustOp.py index efb770d6d0..8cb7ca8269 100644 --- a/src/trezor/messages/StellarChangeTrustOp.py +++ b/src/trezor/messages/StellarChangeTrustOp.py @@ -7,11 +7,6 @@ from .StellarAssetType import StellarAssetType class StellarChangeTrustOp(p.MessageType): MESSAGE_WIRE_TYPE = 216 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('asset', StellarAssetType, 0), - 3: ('limit', p.UVarintType, 0), - } def __init__( self, @@ -22,3 +17,11 @@ class StellarChangeTrustOp(p.MessageType): self.source_account = source_account self.asset = asset self.limit = limit + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('asset', StellarAssetType, 0), + 3: ('limit', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarCreateAccountOp.py b/src/trezor/messages/StellarCreateAccountOp.py index 0531356c8f..57036d2df5 100644 --- a/src/trezor/messages/StellarCreateAccountOp.py +++ b/src/trezor/messages/StellarCreateAccountOp.py @@ -5,11 +5,6 @@ import protobuf as p class StellarCreateAccountOp(p.MessageType): MESSAGE_WIRE_TYPE = 210 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('new_account', p.UnicodeType, 0), - 3: ('starting_balance', p.SVarintType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class StellarCreateAccountOp(p.MessageType): self.source_account = source_account self.new_account = new_account self.starting_balance = starting_balance + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('new_account', p.UnicodeType, 0), + 3: ('starting_balance', p.SVarintType, 0), + } diff --git a/src/trezor/messages/StellarCreatePassiveOfferOp.py b/src/trezor/messages/StellarCreatePassiveOfferOp.py index 4cf2829b7e..2acd78be67 100644 --- a/src/trezor/messages/StellarCreatePassiveOfferOp.py +++ b/src/trezor/messages/StellarCreatePassiveOfferOp.py @@ -7,14 +7,6 @@ from .StellarAssetType import StellarAssetType class StellarCreatePassiveOfferOp(p.MessageType): MESSAGE_WIRE_TYPE = 214 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('selling_asset', StellarAssetType, 0), - 3: ('buying_asset', StellarAssetType, 0), - 4: ('amount', p.SVarintType, 0), - 5: ('price_n', p.UVarintType, 0), - 6: ('price_d', p.UVarintType, 0), - } def __init__( self, @@ -31,3 +23,14 @@ class StellarCreatePassiveOfferOp(p.MessageType): self.amount = amount self.price_n = price_n self.price_d = price_d + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('selling_asset', StellarAssetType, 0), + 3: ('buying_asset', StellarAssetType, 0), + 4: ('amount', p.SVarintType, 0), + 5: ('price_n', p.UVarintType, 0), + 6: ('price_d', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarGetAddress.py b/src/trezor/messages/StellarGetAddress.py index 268c3f45b3..44ac836012 100644 --- a/src/trezor/messages/StellarGetAddress.py +++ b/src/trezor/messages/StellarGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class StellarGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 207 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class StellarGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/StellarManageDataOp.py b/src/trezor/messages/StellarManageDataOp.py index f44cf59d1b..ef60927e27 100644 --- a/src/trezor/messages/StellarManageDataOp.py +++ b/src/trezor/messages/StellarManageDataOp.py @@ -5,11 +5,6 @@ import protobuf as p class StellarManageDataOp(p.MessageType): MESSAGE_WIRE_TYPE = 220 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('key', p.UnicodeType, 0), - 3: ('value', p.BytesType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class StellarManageDataOp(p.MessageType): self.source_account = source_account self.key = key self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('key', p.UnicodeType, 0), + 3: ('value', p.BytesType, 0), + } diff --git a/src/trezor/messages/StellarManageOfferOp.py b/src/trezor/messages/StellarManageOfferOp.py index 9e133820a9..2e3a159218 100644 --- a/src/trezor/messages/StellarManageOfferOp.py +++ b/src/trezor/messages/StellarManageOfferOp.py @@ -7,15 +7,6 @@ from .StellarAssetType import StellarAssetType class StellarManageOfferOp(p.MessageType): MESSAGE_WIRE_TYPE = 213 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('selling_asset', StellarAssetType, 0), - 3: ('buying_asset', StellarAssetType, 0), - 4: ('amount', p.SVarintType, 0), - 5: ('price_n', p.UVarintType, 0), - 6: ('price_d', p.UVarintType, 0), - 7: ('offer_id', p.UVarintType, 0), - } def __init__( self, @@ -34,3 +25,15 @@ class StellarManageOfferOp(p.MessageType): self.price_n = price_n self.price_d = price_d self.offer_id = offer_id + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('selling_asset', StellarAssetType, 0), + 3: ('buying_asset', StellarAssetType, 0), + 4: ('amount', p.SVarintType, 0), + 5: ('price_n', p.UVarintType, 0), + 6: ('price_d', p.UVarintType, 0), + 7: ('offer_id', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarPathPaymentOp.py b/src/trezor/messages/StellarPathPaymentOp.py index b1d6ca822c..da38176a4d 100644 --- a/src/trezor/messages/StellarPathPaymentOp.py +++ b/src/trezor/messages/StellarPathPaymentOp.py @@ -13,15 +13,6 @@ if __debug__: class StellarPathPaymentOp(p.MessageType): MESSAGE_WIRE_TYPE = 212 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('send_asset', StellarAssetType, 0), - 3: ('send_max', p.SVarintType, 0), - 4: ('destination_account', p.UnicodeType, 0), - 5: ('destination_asset', StellarAssetType, 0), - 6: ('destination_amount', p.SVarintType, 0), - 7: ('paths', StellarAssetType, p.FLAG_REPEATED), - } def __init__( self, @@ -40,3 +31,15 @@ class StellarPathPaymentOp(p.MessageType): self.destination_asset = destination_asset self.destination_amount = destination_amount self.paths = paths if paths is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('send_asset', StellarAssetType, 0), + 3: ('send_max', p.SVarintType, 0), + 4: ('destination_account', p.UnicodeType, 0), + 5: ('destination_asset', StellarAssetType, 0), + 6: ('destination_amount', p.SVarintType, 0), + 7: ('paths', StellarAssetType, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/StellarPaymentOp.py b/src/trezor/messages/StellarPaymentOp.py index d3de3da868..9e11feba88 100644 --- a/src/trezor/messages/StellarPaymentOp.py +++ b/src/trezor/messages/StellarPaymentOp.py @@ -7,12 +7,6 @@ from .StellarAssetType import StellarAssetType class StellarPaymentOp(p.MessageType): MESSAGE_WIRE_TYPE = 211 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('destination_account', p.UnicodeType, 0), - 3: ('asset', StellarAssetType, 0), - 4: ('amount', p.SVarintType, 0), - } def __init__( self, @@ -25,3 +19,12 @@ class StellarPaymentOp(p.MessageType): self.destination_account = destination_account self.asset = asset self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('destination_account', p.UnicodeType, 0), + 3: ('asset', StellarAssetType, 0), + 4: ('amount', p.SVarintType, 0), + } diff --git a/src/trezor/messages/StellarSetOptionsOp.py b/src/trezor/messages/StellarSetOptionsOp.py index aee703fffd..5b17a557c7 100644 --- a/src/trezor/messages/StellarSetOptionsOp.py +++ b/src/trezor/messages/StellarSetOptionsOp.py @@ -5,20 +5,6 @@ import protobuf as p class StellarSetOptionsOp(p.MessageType): MESSAGE_WIRE_TYPE = 215 - FIELDS = { - 1: ('source_account', p.UnicodeType, 0), - 2: ('inflation_destination_account', p.UnicodeType, 0), - 3: ('clear_flags', p.UVarintType, 0), - 4: ('set_flags', p.UVarintType, 0), - 5: ('master_weight', p.UVarintType, 0), - 6: ('low_threshold', p.UVarintType, 0), - 7: ('medium_threshold', p.UVarintType, 0), - 8: ('high_threshold', p.UVarintType, 0), - 9: ('home_domain', p.UnicodeType, 0), - 10: ('signer_type', p.UVarintType, 0), - 11: ('signer_key', p.BytesType, 0), - 12: ('signer_weight', p.UVarintType, 0), - } def __init__( self, @@ -47,3 +33,20 @@ class StellarSetOptionsOp(p.MessageType): self.signer_type = signer_type self.signer_key = signer_key self.signer_weight = signer_weight + + @classmethod + def get_fields(cls): + return { + 1: ('source_account', p.UnicodeType, 0), + 2: ('inflation_destination_account', p.UnicodeType, 0), + 3: ('clear_flags', p.UVarintType, 0), + 4: ('set_flags', p.UVarintType, 0), + 5: ('master_weight', p.UVarintType, 0), + 6: ('low_threshold', p.UVarintType, 0), + 7: ('medium_threshold', p.UVarintType, 0), + 8: ('high_threshold', p.UVarintType, 0), + 9: ('home_domain', p.UnicodeType, 0), + 10: ('signer_type', p.UVarintType, 0), + 11: ('signer_key', p.BytesType, 0), + 12: ('signer_weight', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarSignTx.py b/src/trezor/messages/StellarSignTx.py index be329c2597..36e5e3a4de 100644 --- a/src/trezor/messages/StellarSignTx.py +++ b/src/trezor/messages/StellarSignTx.py @@ -11,20 +11,6 @@ if __debug__: class StellarSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 202 - FIELDS = { - 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 3: ('network_passphrase', p.UnicodeType, 0), - 4: ('source_account', p.UnicodeType, 0), - 5: ('fee', p.UVarintType, 0), - 6: ('sequence_number', p.UVarintType, 0), - 8: ('timebounds_start', p.UVarintType, 0), - 9: ('timebounds_end', p.UVarintType, 0), - 10: ('memo_type', p.UVarintType, 0), - 11: ('memo_text', p.UnicodeType, 0), - 12: ('memo_id', p.UVarintType, 0), - 13: ('memo_hash', p.BytesType, 0), - 14: ('num_operations', p.UVarintType, 0), - } def __init__( self, @@ -53,3 +39,20 @@ class StellarSignTx(p.MessageType): self.memo_id = memo_id self.memo_hash = memo_hash self.num_operations = num_operations + + @classmethod + def get_fields(cls): + return { + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('network_passphrase', p.UnicodeType, 0), + 4: ('source_account', p.UnicodeType, 0), + 5: ('fee', p.UVarintType, 0), + 6: ('sequence_number', p.UVarintType, 0), + 8: ('timebounds_start', p.UVarintType, 0), + 9: ('timebounds_end', p.UVarintType, 0), + 10: ('memo_type', p.UVarintType, 0), + 11: ('memo_text', p.UnicodeType, 0), + 12: ('memo_id', p.UVarintType, 0), + 13: ('memo_hash', p.BytesType, 0), + 14: ('num_operations', p.UVarintType, 0), + } diff --git a/src/trezor/messages/StellarSignedTx.py b/src/trezor/messages/StellarSignedTx.py index 89cecdab59..9a7c3ae518 100644 --- a/src/trezor/messages/StellarSignedTx.py +++ b/src/trezor/messages/StellarSignedTx.py @@ -5,10 +5,6 @@ import protobuf as p class StellarSignedTx(p.MessageType): MESSAGE_WIRE_TYPE = 230 - FIELDS = { - 1: ('public_key', p.BytesType, 0), - 2: ('signature', p.BytesType, 0), - } def __init__( self, @@ -17,3 +13,10 @@ class StellarSignedTx(p.MessageType): ) -> None: self.public_key = public_key self.signature = signature + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.BytesType, 0), + 2: ('signature', p.BytesType, 0), + } diff --git a/src/trezor/messages/Success.py b/src/trezor/messages/Success.py index 07751d0d10..df0b613c3f 100644 --- a/src/trezor/messages/Success.py +++ b/src/trezor/messages/Success.py @@ -5,12 +5,15 @@ import protobuf as p class Success(p.MessageType): MESSAGE_WIRE_TYPE = 2 - FIELDS = { - 1: ('message', p.UnicodeType, 0), - } def __init__( self, message: str = None, ) -> None: self.message = message + + @classmethod + def get_fields(cls): + return { + 1: ('message', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TezosAddress.py b/src/trezor/messages/TezosAddress.py index 2618fd0bd5..76e7bcc90a 100644 --- a/src/trezor/messages/TezosAddress.py +++ b/src/trezor/messages/TezosAddress.py @@ -5,12 +5,15 @@ import protobuf as p class TezosAddress(p.MessageType): MESSAGE_WIRE_TYPE = 151 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - } def __init__( self, address: str = None, ) -> None: self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TezosContractID.py b/src/trezor/messages/TezosContractID.py index a6d48ca2d9..69c2412568 100644 --- a/src/trezor/messages/TezosContractID.py +++ b/src/trezor/messages/TezosContractID.py @@ -4,10 +4,6 @@ import protobuf as p class TezosContractID(p.MessageType): - FIELDS = { - 1: ('tag', p.UVarintType, 0), - 2: ('hash', p.BytesType, 0), - } def __init__( self, @@ -16,3 +12,10 @@ class TezosContractID(p.MessageType): ) -> None: self.tag = tag self.hash = hash + + @classmethod + def get_fields(cls): + return { + 1: ('tag', p.UVarintType, 0), + 2: ('hash', p.BytesType, 0), + } diff --git a/src/trezor/messages/TezosDelegationOp.py b/src/trezor/messages/TezosDelegationOp.py index 0058bc9531..683b647996 100644 --- a/src/trezor/messages/TezosDelegationOp.py +++ b/src/trezor/messages/TezosDelegationOp.py @@ -6,14 +6,6 @@ from .TezosContractID import TezosContractID class TezosDelegationOp(p.MessageType): - FIELDS = { - 1: ('source', TezosContractID, 0), - 2: ('fee', p.UVarintType, 0), - 3: ('counter', p.UVarintType, 0), - 4: ('gas_limit', p.UVarintType, 0), - 5: ('storage_limit', p.UVarintType, 0), - 6: ('delegate', p.BytesType, 0), - } def __init__( self, @@ -30,3 +22,14 @@ class TezosDelegationOp(p.MessageType): self.gas_limit = gas_limit self.storage_limit = storage_limit self.delegate = delegate + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('delegate', p.BytesType, 0), + } diff --git a/src/trezor/messages/TezosGetAddress.py b/src/trezor/messages/TezosGetAddress.py index fa57b39b27..b81da0450e 100644 --- a/src/trezor/messages/TezosGetAddress.py +++ b/src/trezor/messages/TezosGetAddress.py @@ -11,10 +11,6 @@ if __debug__: class TezosGetAddress(p.MessageType): MESSAGE_WIRE_TYPE = 150 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class TezosGetAddress(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/TezosGetPublicKey.py b/src/trezor/messages/TezosGetPublicKey.py index 548b49f13f..3eba10ae4c 100644 --- a/src/trezor/messages/TezosGetPublicKey.py +++ b/src/trezor/messages/TezosGetPublicKey.py @@ -11,10 +11,6 @@ if __debug__: class TezosGetPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 154 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('show_display', p.BoolType, 0), - } def __init__( self, @@ -23,3 +19,10 @@ class TezosGetPublicKey(p.MessageType): ) -> None: self.address_n = address_n if address_n is not None else [] self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/TezosOriginationOp.py b/src/trezor/messages/TezosOriginationOp.py index 65585500d1..f43d1e6126 100644 --- a/src/trezor/messages/TezosOriginationOp.py +++ b/src/trezor/messages/TezosOriginationOp.py @@ -6,19 +6,6 @@ from .TezosContractID import TezosContractID class TezosOriginationOp(p.MessageType): - FIELDS = { - 1: ('source', TezosContractID, 0), - 2: ('fee', p.UVarintType, 0), - 3: ('counter', p.UVarintType, 0), - 4: ('gas_limit', p.UVarintType, 0), - 5: ('storage_limit', p.UVarintType, 0), - 6: ('manager_pubkey', p.BytesType, 0), - 7: ('balance', p.UVarintType, 0), - 8: ('spendable', p.BoolType, 0), - 9: ('delegatable', p.BoolType, 0), - 10: ('delegate', p.BytesType, 0), - 11: ('script', p.BytesType, 0), - } def __init__( self, @@ -45,3 +32,19 @@ class TezosOriginationOp(p.MessageType): self.delegatable = delegatable self.delegate = delegate self.script = script + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('manager_pubkey', p.BytesType, 0), + 7: ('balance', p.UVarintType, 0), + 8: ('spendable', p.BoolType, 0), + 9: ('delegatable', p.BoolType, 0), + 10: ('delegate', p.BytesType, 0), + 11: ('script', p.BytesType, 0), + } diff --git a/src/trezor/messages/TezosPublicKey.py b/src/trezor/messages/TezosPublicKey.py index 9a4a40d0c2..b6e8f963d6 100644 --- a/src/trezor/messages/TezosPublicKey.py +++ b/src/trezor/messages/TezosPublicKey.py @@ -5,12 +5,15 @@ import protobuf as p class TezosPublicKey(p.MessageType): MESSAGE_WIRE_TYPE = 155 - FIELDS = { - 1: ('public_key', p.UnicodeType, 0), - } def __init__( self, public_key: str = None, ) -> None: self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('public_key', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TezosRevealOp.py b/src/trezor/messages/TezosRevealOp.py index 2d2111a8a3..5767b46619 100644 --- a/src/trezor/messages/TezosRevealOp.py +++ b/src/trezor/messages/TezosRevealOp.py @@ -6,14 +6,6 @@ from .TezosContractID import TezosContractID class TezosRevealOp(p.MessageType): - FIELDS = { - 1: ('source', TezosContractID, 0), - 2: ('fee', p.UVarintType, 0), - 3: ('counter', p.UVarintType, 0), - 4: ('gas_limit', p.UVarintType, 0), - 5: ('storage_limit', p.UVarintType, 0), - 6: ('public_key', p.BytesType, 0), - } def __init__( self, @@ -30,3 +22,14 @@ class TezosRevealOp(p.MessageType): self.gas_limit = gas_limit self.storage_limit = storage_limit self.public_key = public_key + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('public_key', p.BytesType, 0), + } diff --git a/src/trezor/messages/TezosSignTx.py b/src/trezor/messages/TezosSignTx.py index bb9603deb2..8127603780 100644 --- a/src/trezor/messages/TezosSignTx.py +++ b/src/trezor/messages/TezosSignTx.py @@ -16,14 +16,6 @@ if __debug__: class TezosSignTx(p.MessageType): MESSAGE_WIRE_TYPE = 152 - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('branch', p.BytesType, 0), - 3: ('reveal', TezosRevealOp, 0), - 4: ('transaction', TezosTransactionOp, 0), - 5: ('origination', TezosOriginationOp, 0), - 6: ('delegation', TezosDelegationOp, 0), - } def __init__( self, @@ -40,3 +32,14 @@ class TezosSignTx(p.MessageType): self.transaction = transaction self.origination = origination self.delegation = delegation + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('branch', p.BytesType, 0), + 3: ('reveal', TezosRevealOp, 0), + 4: ('transaction', TezosTransactionOp, 0), + 5: ('origination', TezosOriginationOp, 0), + 6: ('delegation', TezosDelegationOp, 0), + } diff --git a/src/trezor/messages/TezosSignedTx.py b/src/trezor/messages/TezosSignedTx.py index 3db0c180ed..a886f9c7b5 100644 --- a/src/trezor/messages/TezosSignedTx.py +++ b/src/trezor/messages/TezosSignedTx.py @@ -5,11 +5,6 @@ import protobuf as p class TezosSignedTx(p.MessageType): MESSAGE_WIRE_TYPE = 153 - FIELDS = { - 1: ('signature', p.UnicodeType, 0), - 2: ('sig_op_contents', p.BytesType, 0), - 3: ('operation_hash', p.UnicodeType, 0), - } def __init__( self, @@ -20,3 +15,11 @@ class TezosSignedTx(p.MessageType): self.signature = signature self.sig_op_contents = sig_op_contents self.operation_hash = operation_hash + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.UnicodeType, 0), + 2: ('sig_op_contents', p.BytesType, 0), + 3: ('operation_hash', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TezosTransactionOp.py b/src/trezor/messages/TezosTransactionOp.py index 1b196fd70d..efa442bcf6 100644 --- a/src/trezor/messages/TezosTransactionOp.py +++ b/src/trezor/messages/TezosTransactionOp.py @@ -6,16 +6,6 @@ from .TezosContractID import TezosContractID class TezosTransactionOp(p.MessageType): - FIELDS = { - 1: ('source', TezosContractID, 0), - 2: ('fee', p.UVarintType, 0), - 3: ('counter', p.UVarintType, 0), - 4: ('gas_limit', p.UVarintType, 0), - 5: ('storage_limit', p.UVarintType, 0), - 6: ('amount', p.UVarintType, 0), - 7: ('destination', TezosContractID, 0), - 8: ('parameters', p.BytesType, 0), - } def __init__( self, @@ -36,3 +26,16 @@ class TezosTransactionOp(p.MessageType): self.amount = amount self.destination = destination self.parameters = parameters + + @classmethod + def get_fields(cls): + return { + 1: ('source', TezosContractID, 0), + 2: ('fee', p.UVarintType, 0), + 3: ('counter', p.UVarintType, 0), + 4: ('gas_limit', p.UVarintType, 0), + 5: ('storage_limit', p.UVarintType, 0), + 6: ('amount', p.UVarintType, 0), + 7: ('destination', TezosContractID, 0), + 8: ('parameters', p.BytesType, 0), + } diff --git a/src/trezor/messages/TransactionType.py b/src/trezor/messages/TransactionType.py index 64d214c1ca..5defbc5048 100644 --- a/src/trezor/messages/TransactionType.py +++ b/src/trezor/messages/TransactionType.py @@ -14,19 +14,6 @@ if __debug__: class TransactionType(p.MessageType): - FIELDS = { - 1: ('version', p.UVarintType, 0), - 2: ('inputs', TxInputType, p.FLAG_REPEATED), - 3: ('bin_outputs', TxOutputBinType, p.FLAG_REPEATED), - 4: ('lock_time', p.UVarintType, 0), - 5: ('outputs', TxOutputType, p.FLAG_REPEATED), - 6: ('inputs_cnt', p.UVarintType, 0), - 7: ('outputs_cnt', p.UVarintType, 0), - 8: ('extra_data', p.BytesType, 0), - 9: ('extra_data_len', p.UVarintType, 0), - 10: ('expiry', p.UVarintType, 0), - 11: ('overwintered', p.BoolType, 0), - } def __init__( self, @@ -53,3 +40,19 @@ class TransactionType(p.MessageType): self.extra_data_len = extra_data_len self.expiry = expiry self.overwintered = overwintered + + @classmethod + def get_fields(cls): + return { + 1: ('version', p.UVarintType, 0), + 2: ('inputs', TxInputType, p.FLAG_REPEATED), + 3: ('bin_outputs', TxOutputBinType, p.FLAG_REPEATED), + 4: ('lock_time', p.UVarintType, 0), + 5: ('outputs', TxOutputType, p.FLAG_REPEATED), + 6: ('inputs_cnt', p.UVarintType, 0), + 7: ('outputs_cnt', p.UVarintType, 0), + 8: ('extra_data', p.BytesType, 0), + 9: ('extra_data_len', p.UVarintType, 0), + 10: ('expiry', p.UVarintType, 0), + 11: ('overwintered', p.BoolType, 0), + } diff --git a/src/trezor/messages/TronAccountUpdateContract.py b/src/trezor/messages/TronAccountUpdateContract.py new file mode 100644 index 0000000000..68be6e369e --- /dev/null +++ b/src/trezor/messages/TronAccountUpdateContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronAccountUpdateContract(p.MessageType): + + def __init__( + self, + account_name: str = None, + ) -> None: + self.account_name = account_name + + @classmethod + def get_fields(cls): + return { + 1: ('account_name', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TronAddress.py b/src/trezor/messages/TronAddress.py new file mode 100644 index 0000000000..a2281a536f --- /dev/null +++ b/src/trezor/messages/TronAddress.py @@ -0,0 +1,19 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 251 + + def __init__( + self, + address: str = None, + ) -> None: + self.address = address + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TronAssetIssueContract.py b/src/trezor/messages/TronAssetIssueContract.py new file mode 100644 index 0000000000..e68f703715 --- /dev/null +++ b/src/trezor/messages/TronAssetIssueContract.py @@ -0,0 +1,53 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +from .TronFrozenSupply import TronFrozenSupply + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronAssetIssueContract(p.MessageType): + + def __init__( + self, + name: str = None, + abbr: str = None, + total_supply: int = None, + frozen_supply: List[TronFrozenSupply] = None, + trx_num: int = None, + num: int = None, + start_time: int = None, + end_time: int = None, + description: str = None, + url: str = None, + ) -> None: + self.name = name + self.abbr = abbr + self.total_supply = total_supply + self.frozen_supply = frozen_supply if frozen_supply is not None else [] + self.trx_num = trx_num + self.num = num + self.start_time = start_time + self.end_time = end_time + self.description = description + self.url = url + + @classmethod + def get_fields(cls): + return { + 2: ('name', p.UnicodeType, 0), + 3: ('abbr', p.UnicodeType, 0), + 4: ('total_supply', p.UVarintType, 0), + 5: ('frozen_supply', TronFrozenSupply, p.FLAG_REPEATED), + 6: ('trx_num', p.UVarintType, 0), + 7: ('num', p.UVarintType, 0), + 8: ('start_time', p.UVarintType, 0), + 9: ('end_time', p.UVarintType, 0), + 10: ('description', p.UnicodeType, 0), + 11: ('url', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TronContract.py b/src/trezor/messages/TronContract.py new file mode 100644 index 0000000000..0eb505f431 --- /dev/null +++ b/src/trezor/messages/TronContract.py @@ -0,0 +1,80 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +from .TronAccountUpdateContract import TronAccountUpdateContract +from .TronAssetIssueContract import TronAssetIssueContract +from .TronFreezeBalanceContract import TronFreezeBalanceContract +from .TronParticipateAssetIssueContract import TronParticipateAssetIssueContract +from .TronProposalApproveContract import TronProposalApproveContract +from .TronProposalCreateContract import TronProposalCreateContract +from .TronProposalDeleteContract import TronProposalDeleteContract +from .TronTransferAssetContract import TronTransferAssetContract +from .TronTransferContract import TronTransferContract +from .TronUnfreezeAssetContract import TronUnfreezeAssetContract +from .TronUnfreezeBalanceContract import TronUnfreezeBalanceContract +from .TronUpdateAssetContract import TronUpdateAssetContract +from .TronVoteWitnessContract import TronVoteWitnessContract +from .TronWithdrawBalanceContract import TronWithdrawBalanceContract +from .TronWitnessCreateContract import TronWitnessCreateContract +from .TronWitnessUpdateContract import TronWitnessUpdateContract + + +class TronContract(p.MessageType): + + def __init__( + self, + transfer_contract: TronTransferContract = None, + transfer_asset_contract: TronTransferAssetContract = None, + vote_witness_contract: TronVoteWitnessContract = None, + witness_create_contract: TronWitnessCreateContract = None, + asset_issue_contract: TronAssetIssueContract = None, + witness_update_contract: TronWitnessUpdateContract = None, + participate_asset_issue_contract: TronParticipateAssetIssueContract = None, + account_update_contract: TronAccountUpdateContract = None, + freeze_balance_contract: TronFreezeBalanceContract = None, + unfreeze_balance_contract: TronUnfreezeBalanceContract = None, + withdraw_balance_contract: TronWithdrawBalanceContract = None, + unfreeze_asset_contract: TronUnfreezeAssetContract = None, + update_asset_contract: TronUpdateAssetContract = None, + proposal_create_contract: TronProposalCreateContract = None, + proposal_approve_contract: TronProposalApproveContract = None, + proposal_delete_contract: TronProposalDeleteContract = None, + ) -> None: + self.transfer_contract = transfer_contract + self.transfer_asset_contract = transfer_asset_contract + self.vote_witness_contract = vote_witness_contract + self.witness_create_contract = witness_create_contract + self.asset_issue_contract = asset_issue_contract + self.witness_update_contract = witness_update_contract + self.participate_asset_issue_contract = participate_asset_issue_contract + self.account_update_contract = account_update_contract + self.freeze_balance_contract = freeze_balance_contract + self.unfreeze_balance_contract = unfreeze_balance_contract + self.withdraw_balance_contract = withdraw_balance_contract + self.unfreeze_asset_contract = unfreeze_asset_contract + self.update_asset_contract = update_asset_contract + self.proposal_create_contract = proposal_create_contract + self.proposal_approve_contract = proposal_approve_contract + self.proposal_delete_contract = proposal_delete_contract + + @classmethod + def get_fields(cls): + return { + 1: ('transfer_contract', TronTransferContract, 0), + 2: ('transfer_asset_contract', TronTransferAssetContract, 0), + 4: ('vote_witness_contract', TronVoteWitnessContract, 0), + 5: ('witness_create_contract', TronWitnessCreateContract, 0), + 6: ('asset_issue_contract', TronAssetIssueContract, 0), + 8: ('witness_update_contract', TronWitnessUpdateContract, 0), + 9: ('participate_asset_issue_contract', TronParticipateAssetIssueContract, 0), + 10: ('account_update_contract', TronAccountUpdateContract, 0), + 11: ('freeze_balance_contract', TronFreezeBalanceContract, 0), + 12: ('unfreeze_balance_contract', TronUnfreezeBalanceContract, 0), + 13: ('withdraw_balance_contract', TronWithdrawBalanceContract, 0), + 14: ('unfreeze_asset_contract', TronUnfreezeAssetContract, 0), + 15: ('update_asset_contract', TronUpdateAssetContract, 0), + 16: ('proposal_create_contract', TronProposalCreateContract, 0), + 17: ('proposal_approve_contract', TronProposalApproveContract, 0), + 18: ('proposal_delete_contract', TronProposalDeleteContract, 0), + } diff --git a/src/trezor/messages/TronFreezeBalanceContract.py b/src/trezor/messages/TronFreezeBalanceContract.py new file mode 100644 index 0000000000..f57b7ca0d6 --- /dev/null +++ b/src/trezor/messages/TronFreezeBalanceContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronFreezeBalanceContract(p.MessageType): + + def __init__( + self, + frozen_balance: int = None, + frozen_duration: int = None, + ) -> None: + self.frozen_balance = frozen_balance + self.frozen_duration = frozen_duration + + @classmethod + def get_fields(cls): + return { + 1: ('frozen_balance', p.UVarintType, 0), + 2: ('frozen_duration', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronFrozenSupply.py b/src/trezor/messages/TronFrozenSupply.py new file mode 100644 index 0000000000..2a69c06d69 --- /dev/null +++ b/src/trezor/messages/TronFrozenSupply.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronFrozenSupply(p.MessageType): + + def __init__( + self, + frozen_amount: int = None, + frozen_days: int = None, + ) -> None: + self.frozen_amount = frozen_amount + self.frozen_days = frozen_days + + @classmethod + def get_fields(cls): + return { + 1: ('frozen_amount', p.UVarintType, 0), + 2: ('frozen_days', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronGetAddress.py b/src/trezor/messages/TronGetAddress.py new file mode 100644 index 0000000000..09597b3af8 --- /dev/null +++ b/src/trezor/messages/TronGetAddress.py @@ -0,0 +1,28 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronGetAddress(p.MessageType): + MESSAGE_WIRE_TYPE = 250 + + def __init__( + self, + address_n: List[int] = None, + show_display: bool = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.show_display = show_display + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('show_display', p.BoolType, 0), + } diff --git a/src/trezor/messages/TronParticipateAssetIssueContract.py b/src/trezor/messages/TronParticipateAssetIssueContract.py new file mode 100644 index 0000000000..a5613d408c --- /dev/null +++ b/src/trezor/messages/TronParticipateAssetIssueContract.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronParticipateAssetIssueContract(p.MessageType): + + def __init__( + self, + to_address: bytes = None, + asset_name: str = None, + amount: int = None, + ) -> None: + self.to_address = to_address + self.asset_name = asset_name + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('to_address', p.BytesType, 0), + 2: ('asset_name', p.UnicodeType, 0), + 3: ('amount', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronProposalApproveContract.py b/src/trezor/messages/TronProposalApproveContract.py new file mode 100644 index 0000000000..0f42c9a9f5 --- /dev/null +++ b/src/trezor/messages/TronProposalApproveContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronProposalApproveContract(p.MessageType): + + def __init__( + self, + proposal_id: int = None, + is_add_approval: bool = None, + ) -> None: + self.proposal_id = proposal_id + self.is_add_approval = is_add_approval + + @classmethod + def get_fields(cls): + return { + 1: ('proposal_id', p.UVarintType, 0), + 2: ('is_add_approval', p.BoolType, 0), + } diff --git a/src/trezor/messages/TronProposalCreateContract.py b/src/trezor/messages/TronProposalCreateContract.py new file mode 100644 index 0000000000..1d61d6a6a7 --- /dev/null +++ b/src/trezor/messages/TronProposalCreateContract.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +from .TronProposalParameters import TronProposalParameters + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronProposalCreateContract(p.MessageType): + + def __init__( + self, + parameters: List[TronProposalParameters] = None, + ) -> None: + self.parameters = parameters if parameters is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('parameters', TronProposalParameters, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/TronProposalDeleteContract.py b/src/trezor/messages/TronProposalDeleteContract.py new file mode 100644 index 0000000000..643e8a9492 --- /dev/null +++ b/src/trezor/messages/TronProposalDeleteContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronProposalDeleteContract(p.MessageType): + + def __init__( + self, + proposal_id: int = None, + ) -> None: + self.proposal_id = proposal_id + + @classmethod + def get_fields(cls): + return { + 1: ('proposal_id', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronProposalParameters.py b/src/trezor/messages/TronProposalParameters.py new file mode 100644 index 0000000000..a0f211b96e --- /dev/null +++ b/src/trezor/messages/TronProposalParameters.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronProposalParameters(p.MessageType): + + def __init__( + self, + key: int = None, + value: int = None, + ) -> None: + self.key = key + self.value = value + + @classmethod + def get_fields(cls): + return { + 1: ('key', p.UVarintType, 0), + 2: ('value', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronSignTx.py b/src/trezor/messages/TronSignTx.py new file mode 100644 index 0000000000..34b1b9369e --- /dev/null +++ b/src/trezor/messages/TronSignTx.py @@ -0,0 +1,45 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +from .TronContract import TronContract + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronSignTx(p.MessageType): + MESSAGE_WIRE_TYPE = 252 + + def __init__( + self, + address_n: List[int] = None, + ref_block_bytes: bytes = None, + ref_block_hash: bytes = None, + expiration: int = None, + data: str = None, + contract: TronContract = None, + timestamp: int = None, + ) -> None: + self.address_n = address_n if address_n is not None else [] + self.ref_block_bytes = ref_block_bytes + self.ref_block_hash = ref_block_hash + self.expiration = expiration + self.data = data + self.contract = contract + self.timestamp = timestamp + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('ref_block_bytes', p.BytesType, 0), + 3: ('ref_block_hash', p.BytesType, 0), + 4: ('expiration', p.UVarintType, 0), + 5: ('data', p.UnicodeType, 0), + 6: ('contract', TronContract, 0), + 7: ('timestamp', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronSignedTx.py b/src/trezor/messages/TronSignedTx.py new file mode 100644 index 0000000000..ddcee71961 --- /dev/null +++ b/src/trezor/messages/TronSignedTx.py @@ -0,0 +1,22 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronSignedTx(p.MessageType): + MESSAGE_WIRE_TYPE = 253 + + def __init__( + self, + signature: bytes = None, + serialized_tx: bytes = None, + ) -> None: + self.signature = signature + self.serialized_tx = serialized_tx + + @classmethod + def get_fields(cls): + return { + 1: ('signature', p.BytesType, 0), + 2: ('serialized_tx', p.BytesType, 0), + } diff --git a/src/trezor/messages/TronTransferAssetContract.py b/src/trezor/messages/TronTransferAssetContract.py new file mode 100644 index 0000000000..e819b48779 --- /dev/null +++ b/src/trezor/messages/TronTransferAssetContract.py @@ -0,0 +1,24 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronTransferAssetContract(p.MessageType): + + def __init__( + self, + asset_name: str = None, + to_address: bytes = None, + amount: int = None, + ) -> None: + self.asset_name = asset_name + self.to_address = to_address + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('asset_name', p.UnicodeType, 0), + 2: ('to_address', p.BytesType, 0), + 3: ('amount', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronTransferContract.py b/src/trezor/messages/TronTransferContract.py new file mode 100644 index 0000000000..ad24146aef --- /dev/null +++ b/src/trezor/messages/TronTransferContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronTransferContract(p.MessageType): + + def __init__( + self, + to_address: bytes = None, + amount: int = None, + ) -> None: + self.to_address = to_address + self.amount = amount + + @classmethod + def get_fields(cls): + return { + 1: ('to_address', p.BytesType, 0), + 2: ('amount', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronUnfreezeAssetContract.py b/src/trezor/messages/TronUnfreezeAssetContract.py new file mode 100644 index 0000000000..e345f20290 --- /dev/null +++ b/src/trezor/messages/TronUnfreezeAssetContract.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronUnfreezeAssetContract(p.MessageType): + pass diff --git a/src/trezor/messages/TronUnfreezeBalanceContract.py b/src/trezor/messages/TronUnfreezeBalanceContract.py new file mode 100644 index 0000000000..cf099ae4c0 --- /dev/null +++ b/src/trezor/messages/TronUnfreezeBalanceContract.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronUnfreezeBalanceContract(p.MessageType): + pass diff --git a/src/trezor/messages/TronUpdateAssetContract.py b/src/trezor/messages/TronUpdateAssetContract.py new file mode 100644 index 0000000000..ac58b6b76c --- /dev/null +++ b/src/trezor/messages/TronUpdateAssetContract.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronUpdateAssetContract(p.MessageType): + + def __init__( + self, + description: str = None, + url: str = None, + ) -> None: + self.description = description + self.url = url + + @classmethod + def get_fields(cls): + return { + 1: ('description', p.UnicodeType, 0), + 2: ('url', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TronVote.py b/src/trezor/messages/TronVote.py new file mode 100644 index 0000000000..d442b5acb9 --- /dev/null +++ b/src/trezor/messages/TronVote.py @@ -0,0 +1,21 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronVote(p.MessageType): + + def __init__( + self, + vote_address: bytes = None, + vote_count: int = None, + ) -> None: + self.vote_address = vote_address + self.vote_count = vote_count + + @classmethod + def get_fields(cls): + return { + 1: ('vote_address', p.BytesType, 0), + 2: ('vote_count', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TronVoteWitnessContract.py b/src/trezor/messages/TronVoteWitnessContract.py new file mode 100644 index 0000000000..aee5cf439e --- /dev/null +++ b/src/trezor/messages/TronVoteWitnessContract.py @@ -0,0 +1,26 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + +from .TronVote import TronVote + +if __debug__: + try: + from typing import List + except ImportError: + List = None # type: ignore + + +class TronVoteWitnessContract(p.MessageType): + + def __init__( + self, + votes: List[TronVote] = None, + ) -> None: + self.votes = votes if votes is not None else [] + + @classmethod + def get_fields(cls): + return { + 1: ('votes', TronVote, p.FLAG_REPEATED), + } diff --git a/src/trezor/messages/TronWithdrawBalanceContract.py b/src/trezor/messages/TronWithdrawBalanceContract.py new file mode 100644 index 0000000000..7031966423 --- /dev/null +++ b/src/trezor/messages/TronWithdrawBalanceContract.py @@ -0,0 +1,7 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronWithdrawBalanceContract(p.MessageType): + pass diff --git a/src/trezor/messages/TronWitnessCreateContract.py b/src/trezor/messages/TronWitnessCreateContract.py new file mode 100644 index 0000000000..f6e51c82e5 --- /dev/null +++ b/src/trezor/messages/TronWitnessCreateContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronWitnessCreateContract(p.MessageType): + + def __init__( + self, + url: str = None, + ) -> None: + self.url = url + + @classmethod + def get_fields(cls): + return { + 1: ('url', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TronWitnessUpdateContract.py b/src/trezor/messages/TronWitnessUpdateContract.py new file mode 100644 index 0000000000..a3a8b32794 --- /dev/null +++ b/src/trezor/messages/TronWitnessUpdateContract.py @@ -0,0 +1,18 @@ +# Automatically generated by pb2py +# fmt: off +import protobuf as p + + +class TronWitnessUpdateContract(p.MessageType): + + def __init__( + self, + update_url: str = None, + ) -> None: + self.update_url = update_url + + @classmethod + def get_fields(cls): + return { + 2: ('update_url', p.UnicodeType, 0), + } diff --git a/src/trezor/messages/TxAck.py b/src/trezor/messages/TxAck.py index 077947ceb1..d522a2438e 100644 --- a/src/trezor/messages/TxAck.py +++ b/src/trezor/messages/TxAck.py @@ -7,12 +7,15 @@ from .TransactionType import TransactionType class TxAck(p.MessageType): MESSAGE_WIRE_TYPE = 22 - FIELDS = { - 1: ('tx', TransactionType, 0), - } def __init__( self, tx: TransactionType = None, ) -> None: self.tx = tx + + @classmethod + def get_fields(cls): + return { + 1: ('tx', TransactionType, 0), + } diff --git a/src/trezor/messages/TxInputType.py b/src/trezor/messages/TxInputType.py index 41ec0b1a03..bdf668d16b 100644 --- a/src/trezor/messages/TxInputType.py +++ b/src/trezor/messages/TxInputType.py @@ -12,20 +12,6 @@ if __debug__: class TxInputType(p.MessageType): - FIELDS = { - 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 2: ('prev_hash', p.BytesType, 0), # required - 3: ('prev_index', p.UVarintType, 0), # required - 4: ('script_sig', p.BytesType, 0), - 5: ('sequence', p.UVarintType, 0), # default=4294967295 - 6: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS - 7: ('multisig', MultisigRedeemScriptType, 0), - 8: ('amount', p.UVarintType, 0), - 9: ('decred_tree', p.UVarintType, 0), - 10: ('decred_script_version', p.UVarintType, 0), - 11: ('prev_block_hash_bip115', p.BytesType, 0), - 12: ('prev_block_height_bip115', p.UVarintType, 0), - } def __init__( self, @@ -54,3 +40,20 @@ class TxInputType(p.MessageType): self.decred_script_version = decred_script_version self.prev_block_hash_bip115 = prev_block_hash_bip115 self.prev_block_height_bip115 = prev_block_height_bip115 + + @classmethod + def get_fields(cls): + return { + 1: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 2: ('prev_hash', p.BytesType, 0), # required + 3: ('prev_index', p.UVarintType, 0), # required + 4: ('script_sig', p.BytesType, 0), + 5: ('sequence', p.UVarintType, 0), # default=4294967295 + 6: ('script_type', p.UVarintType, 0), # default=SPENDADDRESS + 7: ('multisig', MultisigRedeemScriptType, 0), + 8: ('amount', p.UVarintType, 0), + 9: ('decred_tree', p.UVarintType, 0), + 10: ('decred_script_version', p.UVarintType, 0), + 11: ('prev_block_hash_bip115', p.BytesType, 0), + 12: ('prev_block_height_bip115', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TxOutputBinType.py b/src/trezor/messages/TxOutputBinType.py index bb7daac3e1..6f4c76845f 100644 --- a/src/trezor/messages/TxOutputBinType.py +++ b/src/trezor/messages/TxOutputBinType.py @@ -4,11 +4,6 @@ import protobuf as p class TxOutputBinType(p.MessageType): - FIELDS = { - 1: ('amount', p.UVarintType, 0), # required - 2: ('script_pubkey', p.BytesType, 0), # required - 3: ('decred_script_version', p.UVarintType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class TxOutputBinType(p.MessageType): self.amount = amount self.script_pubkey = script_pubkey self.decred_script_version = decred_script_version + + @classmethod + def get_fields(cls): + return { + 1: ('amount', p.UVarintType, 0), # required + 2: ('script_pubkey', p.BytesType, 0), # required + 3: ('decred_script_version', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TxOutputType.py b/src/trezor/messages/TxOutputType.py index 4210eecf2a..0e1dd6ba26 100644 --- a/src/trezor/messages/TxOutputType.py +++ b/src/trezor/messages/TxOutputType.py @@ -12,17 +12,6 @@ if __debug__: class TxOutputType(p.MessageType): - FIELDS = { - 1: ('address', p.UnicodeType, 0), - 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), - 3: ('amount', p.UVarintType, 0), # required - 4: ('script_type', p.UVarintType, 0), # required - 5: ('multisig', MultisigRedeemScriptType, 0), - 6: ('op_return_data', p.BytesType, 0), - 7: ('decred_script_version', p.UVarintType, 0), - 8: ('block_hash_bip115', p.BytesType, 0), - 9: ('block_height_bip115', p.UVarintType, 0), - } def __init__( self, @@ -45,3 +34,17 @@ class TxOutputType(p.MessageType): self.decred_script_version = decred_script_version self.block_hash_bip115 = block_hash_bip115 self.block_height_bip115 = block_height_bip115 + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('address_n', p.UVarintType, p.FLAG_REPEATED), + 3: ('amount', p.UVarintType, 0), # required + 4: ('script_type', p.UVarintType, 0), # required + 5: ('multisig', MultisigRedeemScriptType, 0), + 6: ('op_return_data', p.BytesType, 0), + 7: ('decred_script_version', p.UVarintType, 0), + 8: ('block_hash_bip115', p.BytesType, 0), + 9: ('block_height_bip115', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TxRequest.py b/src/trezor/messages/TxRequest.py index 48ce63dd8f..3574955311 100644 --- a/src/trezor/messages/TxRequest.py +++ b/src/trezor/messages/TxRequest.py @@ -8,11 +8,6 @@ from .TxRequestSerializedType import TxRequestSerializedType class TxRequest(p.MessageType): MESSAGE_WIRE_TYPE = 21 - FIELDS = { - 1: ('request_type', p.UVarintType, 0), - 2: ('details', TxRequestDetailsType, 0), - 3: ('serialized', TxRequestSerializedType, 0), - } def __init__( self, @@ -23,3 +18,11 @@ class TxRequest(p.MessageType): self.request_type = request_type self.details = details self.serialized = serialized + + @classmethod + def get_fields(cls): + return { + 1: ('request_type', p.UVarintType, 0), + 2: ('details', TxRequestDetailsType, 0), + 3: ('serialized', TxRequestSerializedType, 0), + } diff --git a/src/trezor/messages/TxRequestDetailsType.py b/src/trezor/messages/TxRequestDetailsType.py index 64bde0ef40..0617cf43d2 100644 --- a/src/trezor/messages/TxRequestDetailsType.py +++ b/src/trezor/messages/TxRequestDetailsType.py @@ -4,12 +4,6 @@ import protobuf as p class TxRequestDetailsType(p.MessageType): - FIELDS = { - 1: ('request_index', p.UVarintType, 0), - 2: ('tx_hash', p.BytesType, 0), - 3: ('extra_data_len', p.UVarintType, 0), - 4: ('extra_data_offset', p.UVarintType, 0), - } def __init__( self, @@ -22,3 +16,12 @@ class TxRequestDetailsType(p.MessageType): self.tx_hash = tx_hash self.extra_data_len = extra_data_len self.extra_data_offset = extra_data_offset + + @classmethod + def get_fields(cls): + return { + 1: ('request_index', p.UVarintType, 0), + 2: ('tx_hash', p.BytesType, 0), + 3: ('extra_data_len', p.UVarintType, 0), + 4: ('extra_data_offset', p.UVarintType, 0), + } diff --git a/src/trezor/messages/TxRequestSerializedType.py b/src/trezor/messages/TxRequestSerializedType.py index 77639b83d0..de66518bbc 100644 --- a/src/trezor/messages/TxRequestSerializedType.py +++ b/src/trezor/messages/TxRequestSerializedType.py @@ -4,11 +4,6 @@ import protobuf as p class TxRequestSerializedType(p.MessageType): - FIELDS = { - 1: ('signature_index', p.UVarintType, 0), - 2: ('signature', p.BytesType, 0), - 3: ('serialized_tx', p.BytesType, 0), - } def __init__( self, @@ -19,3 +14,11 @@ class TxRequestSerializedType(p.MessageType): self.signature_index = signature_index self.signature = signature self.serialized_tx = serialized_tx + + @classmethod + def get_fields(cls): + return { + 1: ('signature_index', p.UVarintType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('serialized_tx', p.BytesType, 0), + } diff --git a/src/trezor/messages/VerifyMessage.py b/src/trezor/messages/VerifyMessage.py index dbc95ff691..a834c4406c 100644 --- a/src/trezor/messages/VerifyMessage.py +++ b/src/trezor/messages/VerifyMessage.py @@ -5,12 +5,6 @@ import protobuf as p class VerifyMessage(p.MessageType): MESSAGE_WIRE_TYPE = 39 - FIELDS = { - 1: ('address', p.UnicodeType, 0), - 2: ('signature', p.BytesType, 0), - 3: ('message', p.BytesType, 0), - 4: ('coin_name', p.UnicodeType, 0), # default=Bitcoin - } def __init__( self, @@ -23,3 +17,12 @@ class VerifyMessage(p.MessageType): self.signature = signature self.message = message self.coin_name = coin_name + + @classmethod + def get_fields(cls): + return { + 1: ('address', p.UnicodeType, 0), + 2: ('signature', p.BytesType, 0), + 3: ('message', p.BytesType, 0), + 4: ('coin_name', p.UnicodeType, 0), # default=Bitcoin + } diff --git a/src/trezor/messages/WordAck.py b/src/trezor/messages/WordAck.py index f4880bb987..1adedd7114 100644 --- a/src/trezor/messages/WordAck.py +++ b/src/trezor/messages/WordAck.py @@ -5,12 +5,15 @@ import protobuf as p class WordAck(p.MessageType): MESSAGE_WIRE_TYPE = 47 - FIELDS = { - 1: ('word', p.UnicodeType, 0), # required - } def __init__( self, word: str = None, ) -> None: self.word = word + + @classmethod + def get_fields(cls): + return { + 1: ('word', p.UnicodeType, 0), # required + } diff --git a/src/trezor/messages/WordRequest.py b/src/trezor/messages/WordRequest.py index 57e19ce2b1..4742486d2f 100644 --- a/src/trezor/messages/WordRequest.py +++ b/src/trezor/messages/WordRequest.py @@ -5,12 +5,15 @@ import protobuf as p class WordRequest(p.MessageType): MESSAGE_WIRE_TYPE = 46 - FIELDS = { - 1: ('type', p.UVarintType, 0), - } def __init__( self, type: int = None, ) -> None: self.type = type + + @classmethod + def get_fields(cls): + return { + 1: ('type', p.UVarintType, 0), + } diff --git a/vendor/trezor-common b/vendor/trezor-common index 4e7df217d3..034289ddd2 160000 --- a/vendor/trezor-common +++ b/vendor/trezor-common @@ -1 +1 @@ -Subproject commit 4e7df217d337c8800fc91bac61038918bf3773e4 +Subproject commit 034289ddd2e517afc1a400341b01801afcf3f455