diff --git a/common/protob/messages-stellar.proto b/common/protob/messages-stellar.proto index ca7fedc21..1a76cd424 100644 --- a/common/protob/messages-stellar.proto +++ b/common/protob/messages-stellar.proto @@ -269,6 +269,16 @@ message StellarBumpSequenceOp { required uint64 bump_to = 2; // new sequence number } +/** + * Request: ask device to confirm this operation type + * @next StellarTxOpRequest + * @next StellarSignedTx + */ +message StellarClaimClaimableBalanceOp { + optional string source_account = 1; // (optional) source account address + required bytes balance_id = 2; // balance id, 4 bytes of type flag, 32 bytes of data +} + /** * Response: signature for transaction * @end diff --git a/common/protob/messages.proto b/common/protob/messages.proto index 8ddce41d6..e54e7ed6a 100644 --- a/common/protob/messages.proto +++ b/common/protob/messages.proto @@ -251,11 +251,13 @@ enum MessageType { MessageType_StellarChangeTrustOp = 216 [(wire_in) = true]; MessageType_StellarAllowTrustOp = 217 [(wire_in) = true]; MessageType_StellarAccountMergeOp = 218 [(wire_in) = true]; - // omitted: StellarInflationOp is not a supported operation, would be 219 + reserved 219; // omitted: StellarInflationOp MessageType_StellarManageDataOp = 220 [(wire_in) = true]; MessageType_StellarBumpSequenceOp = 221 [(wire_in) = true]; MessageType_StellarManageBuyOfferOp = 222 [(wire_in) = true]; MessageType_StellarPathPaymentStrictSendOp = 223 [(wire_in) = true]; + reserved 224; // omitted: StellarCreateClaimableBalanceOp + MessageType_StellarClaimClaimableBalanceOp = 225 [(wire_in) = true]; MessageType_StellarSignedTx = 230 [(wire_out) = true]; // Cardano diff --git a/common/tests/fixtures/stellar/sign_tx.json b/common/tests/fixtures/stellar/sign_tx.json index d3e6353fd..738b32ad3 100644 --- a/common/tests/fixtures/stellar/sign_tx.json +++ b/common/tests/fixtures/stellar/sign_tx.json @@ -30,6 +30,33 @@ "signature": "2xjJi6k8ZU0JwPIA50nWhMr9t8pPYI+WS+D30mHD027wsEGwNtYKMM3AE4oMP5CDr4B5gs2GN34cTxOYSL+cBQ==" } }, + { + "name": "StellarClaimClaimableBalanceOp", + "parameters": { + "xdr": "AAAAAgAAAAAvIrnGLwi3dPPr5t1ufbk8PsLL3gJ5Vho9nFIluMMikgAAAGQAAAAAAAAD6AAAAAEAAAAAG4J3zQAAAABd5CqEAAAAAAAAAAEAAAAAAAAADwAAAAAXiCb7/jOeH1xTQXxv7f4sBei+wUMDFD7EaziYGwnD+QAAAAAAAAAA", + "address_n": "m/44'/148'/0'", + "network_passphrase": "Test SDF Network ; September 2015", + "tx": { + "source_account": "GAXSFOOGF4ELO5HT5PTN23T5XE6D5QWL3YBHSVQ2HWOFEJNYYMRJENBV", + "fee": 100, + "sequence_number": 1000, + "timebounds_start": 461535181, + "timebounds_end": 1575234180, + "memo_type": "NONE" + }, + "operations": [ + { + "_message_type": "StellarClaimClaimableBalanceOp", + "balance_id": "00000000178826fbfe339e1f5c53417c6fedfe2c05e8bec14303143ec46b38981b09c3f9" + } + ] + }, + "result": { + "public_key": "2f22b9c62f08b774f3ebe6dd6e7db93c3ec2cbde0279561a3d9c5225b8c32292", + "signature": "r/zQq2INkYDfA//5pbJP1m7OBWA/0sqNFoB+PpEStzfiUouHO6Kct6gQ8tx8p56jhFazEavxM1B6WElxuts5Ag==" + }, + "skip_models": ["t1"] + }, { "name": "StellarAccountMergeOp", "parameters": { diff --git a/core/.changelog.d/3434.added b/core/.changelog.d/3434.added new file mode 100644 index 000000000..49ffffe1f --- /dev/null +++ b/core/.changelog.d/3434.added @@ -0,0 +1 @@ +Stellar: add support for StellarClaimClaimableBalanceOp. diff --git a/core/src/apps/stellar/consts.py b/core/src/apps/stellar/consts.py index a492b049b..ef6741a3c 100644 --- a/core/src/apps/stellar/consts.py +++ b/core/src/apps/stellar/consts.py @@ -10,6 +10,7 @@ if TYPE_CHECKING: StellarAllowTrustOp, StellarBumpSequenceOp, StellarChangeTrustOp, + StellarClaimClaimableBalanceOp, StellarCreateAccountOp, StellarCreatePassiveSellOfferOp, StellarManageBuyOfferOp, @@ -35,6 +36,7 @@ if TYPE_CHECKING: | StellarPathPaymentStrictSendOp | StellarPaymentOp | StellarSetOptionsOp + | StellarClaimClaimableBalanceOp ) @@ -56,6 +58,7 @@ op_codes: dict[int, int] = { MessageType.StellarPathPaymentStrictSendOp: 13, MessageType.StellarPaymentOp: 1, MessageType.StellarSetOptionsOp: 5, + MessageType.StellarClaimClaimableBalanceOp: 15, } diff --git a/core/src/apps/stellar/operations/__init__.py b/core/src/apps/stellar/operations/__init__.py index 23472a3a7..2ddc7b35d 100644 --- a/core/src/apps/stellar/operations/__init__.py +++ b/core/src/apps/stellar/operations/__init__.py @@ -59,5 +59,8 @@ async def process_operation(w: Writer, op: StellarMessageType) -> None: elif messages.StellarSetOptionsOp.is_type_of(op): await layout.confirm_set_options_op(op) serialize.write_set_options_op(w, op) + elif messages.StellarClaimClaimableBalanceOp.is_type_of(op): + await layout.confirm_claim_claimable_balance_op(op) + serialize.write_claim_claimable_balance_op(w, op) else: raise ValueError("Unknown operation") diff --git a/core/src/apps/stellar/operations/layout.py b/core/src/apps/stellar/operations/layout.py index 78a830d37..5289ae89e 100644 --- a/core/src/apps/stellar/operations/layout.py +++ b/core/src/apps/stellar/operations/layout.py @@ -1,4 +1,5 @@ from typing import TYPE_CHECKING +from ubinascii import hexlify from trezor.ui.layouts import ( confirm_address, @@ -12,13 +13,13 @@ from trezor.wire import DataError, ProcessError from ..layout import format_amount if TYPE_CHECKING: - from trezor.messages import ( StellarAccountMergeOp, StellarAllowTrustOp, StellarAsset, StellarBumpSequenceOp, StellarChangeTrustOp, + StellarClaimClaimableBalanceOp, StellarCreateAccountOp, StellarCreatePassiveSellOfferOp, StellarManageBuyOfferOp, @@ -292,6 +293,18 @@ async def confirm_set_options_op(op: StellarSetOptionsOp) -> None: ) +async def confirm_claim_claimable_balance_op( + op: StellarClaimClaimableBalanceOp, +) -> None: + balance_id = hexlify(op.balance_id).decode() + await confirm_metadata( + "op_claim_claimable_balance", + "Claim Claimable Balance", + "Balance ID: {}", + balance_id, + ) + + def _format_flags(flags: int) -> str: from .. import consts diff --git a/core/src/apps/stellar/operations/serialize.py b/core/src/apps/stellar/operations/serialize.py index 65b4c318f..a070aa07b 100644 --- a/core/src/apps/stellar/operations/serialize.py +++ b/core/src/apps/stellar/operations/serialize.py @@ -19,6 +19,7 @@ if TYPE_CHECKING: StellarAsset, StellarBumpSequenceOp, StellarChangeTrustOp, + StellarClaimClaimableBalanceOp, StellarCreateAccountOp, StellarCreatePassiveSellOfferOp, StellarManageBuyOfferOp, @@ -180,6 +181,12 @@ def write_set_options_op(w: Writer, msg: StellarSetOptionsOp) -> None: write_uint32(w, msg.signer_weight) +def write_claim_claimable_balance_op( + w: Writer, msg: StellarClaimClaimableBalanceOp +) -> None: + _write_claimable_balance_id(w, msg.balance_id) + + def write_account(w: Writer, source_account: str | None) -> None: if source_account is None: write_bool(w, False) @@ -221,3 +228,11 @@ def _write_asset(w: Writer, asset: StellarAsset) -> None: write_uint32(w, asset.type) _write_asset_code(w, asset.type, asset.code) write_pubkey(w, asset.issuer) + + +def _write_claimable_balance_id(w: Writer, claimable_balance_id: bytes) -> None: + if len(claimable_balance_id) != 36: # 4 bytes type + 32 bytes data + raise DataError("Stellar: invalid claimable balance id length") + if claimable_balance_id[:4] != b"\x00\x00\x00\x00": # CLAIMABLE_BALANCE_ID_TYPE_V0 + raise DataError("Stellar: invalid claimable balance id, unknown type") + write_bytes_fixed(w, claimable_balance_id, 36) diff --git a/core/src/trezor/enums/MessageType.py b/core/src/trezor/enums/MessageType.py index 0dbc2cc1b..5c210d0a1 100644 --- a/core/src/trezor/enums/MessageType.py +++ b/core/src/trezor/enums/MessageType.py @@ -146,6 +146,7 @@ if not utils.BITCOIN_ONLY: StellarBumpSequenceOp = 221 StellarManageBuyOfferOp = 222 StellarPathPaymentStrictSendOp = 223 + StellarClaimClaimableBalanceOp = 225 StellarSignedTx = 230 CardanoGetPublicKey = 305 CardanoPublicKey = 306 diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py index 02ff1dda4..93daa4533 100644 --- a/core/src/trezor/enums/__init__.py +++ b/core/src/trezor/enums/__init__.py @@ -164,6 +164,7 @@ if TYPE_CHECKING: StellarBumpSequenceOp = 221 StellarManageBuyOfferOp = 222 StellarPathPaymentStrictSendOp = 223 + StellarClaimClaimableBalanceOp = 225 StellarSignedTx = 230 CardanoGetPublicKey = 305 CardanoPublicKey = 306 diff --git a/core/src/trezor/messages.py b/core/src/trezor/messages.py index 456f10a9d..e8aabef61 100644 --- a/core/src/trezor/messages.py +++ b/core/src/trezor/messages.py @@ -5707,6 +5707,22 @@ if TYPE_CHECKING: def is_type_of(cls, msg: Any) -> TypeGuard["StellarBumpSequenceOp"]: return isinstance(msg, cls) + class StellarClaimClaimableBalanceOp(protobuf.MessageType): + source_account: "str | None" + balance_id: "bytes" + + def __init__( + self, + *, + balance_id: "bytes", + source_account: "str | None" = None, + ) -> None: + pass + + @classmethod + def is_type_of(cls, msg: Any) -> TypeGuard["StellarClaimClaimableBalanceOp"]: + return isinstance(msg, cls) + class StellarSignedTx(protobuf.MessageType): public_key: "bytes" signature: "bytes" diff --git a/legacy/firmware/protob/Makefile b/legacy/firmware/protob/Makefile index 0fa14ca4f..06129b1d1 100644 --- a/legacy/firmware/protob/Makefile +++ b/legacy/firmware/protob/Makefile @@ -9,7 +9,7 @@ SKIPPED_MESSAGES := Binance Cardano DebugMonero Eos Monero Ontology Ripple SdPro EthereumSignTypedData EthereumTypedDataStructRequest EthereumTypedDataStructAck \ EthereumTypedDataValueRequest EthereumTypedDataValueAck ShowDeviceTutorial \ UnlockBootloader AuthenticateDevice AuthenticityProof \ - Solana + Solana StellarClaimClaimableBalanceOp ifeq ($(BITCOIN_ONLY), 1) SKIPPED_MESSAGES += Ethereum NEM Stellar diff --git a/python/.changelog.d/3434.added b/python/.changelog.d/3434.added new file mode 100644 index 000000000..49ffffe1f --- /dev/null +++ b/python/.changelog.d/3434.added @@ -0,0 +1 @@ +Stellar: add support for StellarClaimClaimableBalanceOp. diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py index 36cfd3342..23940e5ff 100644 --- a/python/src/trezorlib/messages.py +++ b/python/src/trezorlib/messages.py @@ -172,6 +172,7 @@ class MessageType(IntEnum): StellarBumpSequenceOp = 221 StellarManageBuyOfferOp = 222 StellarPathPaymentStrictSendOp = 223 + StellarClaimClaimableBalanceOp = 225 StellarSignedTx = 230 CardanoGetPublicKey = 305 CardanoPublicKey = 306 @@ -7239,6 +7240,23 @@ class StellarBumpSequenceOp(protobuf.MessageType): self.source_account = source_account +class StellarClaimClaimableBalanceOp(protobuf.MessageType): + MESSAGE_WIRE_TYPE = 225 + FIELDS = { + 1: protobuf.Field("source_account", "string", repeated=False, required=False, default=None), + 2: protobuf.Field("balance_id", "bytes", repeated=False, required=True), + } + + def __init__( + self, + *, + balance_id: "bytes", + source_account: Optional["str"] = None, + ) -> None: + self.balance_id = balance_id + self.source_account = source_account + + class StellarSignedTx(protobuf.MessageType): MESSAGE_WIRE_TYPE = 230 FIELDS = { diff --git a/python/src/trezorlib/stellar.py b/python/src/trezorlib/stellar.py index 4e880277a..ebf81e4fd 100644 --- a/python/src/trezorlib/stellar.py +++ b/python/src/trezorlib/stellar.py @@ -39,6 +39,7 @@ if TYPE_CHECKING: messages.StellarPathPaymentStrictSendOp, messages.StellarPaymentOp, messages.StellarSetOptionsOp, + messages.StellarClaimClaimableBalanceOp, ] try: @@ -48,6 +49,7 @@ try: Asset, BumpSequence, ChangeTrust, + ClaimClaimableBalance, CreateAccount, CreatePassiveSellOffer, HashMemo, @@ -272,6 +274,11 @@ def _read_operation(op: "Operation") -> "StellarMessageType": destination_min=_read_amount(op.dest_min), paths=[_read_asset(asset) for asset in op.path], ) + if isinstance(op, ClaimClaimableBalance): + return messages.StellarClaimClaimableBalanceOp( + source_account=source_account, + balance_id=bytes.fromhex(op.balance_id), + ) raise ValueError(f"Unknown operation type: {op.__class__.__name__}") diff --git a/python/tests/test_stellar.py b/python/tests/test_stellar.py index ad98cc659..bdc942aa0 100644 --- a/python/tests/test_stellar.py +++ b/python/tests/test_stellar.py @@ -924,3 +924,21 @@ def test_tx_source_muxed_account_not_support_raise(): with pytest.raises(ValueError, match="MuxedAccount is not supported"): stellar.from_envelope(envelope) + + +def test_claim_claimable_balance(): + tx = make_default_tx() + balance_id = ( + "00000000178826fbfe339e1f5c53417c6fedfe2c05e8bec14303143ec46b38981b09c3f9" + ) + operation_source = "GAEB4MRKRCONK4J7MVQXAHTNDPAECUCCCNE7YC5CKM34U3OJ673A4D6V" + + envelope = tx.append_claim_claimable_balance_op( + balance_id=balance_id, source=operation_source + ).build() + + tx, operations = stellar.from_envelope(envelope) + assert len(operations) == 1 + assert isinstance(operations[0], messages.StellarClaimClaimableBalanceOp) + assert operations[0].source_account == operation_source + assert operations[0].balance_id == bytes.fromhex(balance_id) diff --git a/rust/trezor-client/src/messages/generated.rs b/rust/trezor-client/src/messages/generated.rs index 5e7608bf7..6fd14de9f 100644 --- a/rust/trezor-client/src/messages/generated.rs +++ b/rust/trezor-client/src/messages/generated.rs @@ -267,6 +267,7 @@ trezor_message_impl! { StellarBumpSequenceOp => MessageType_StellarBumpSequenceOp, StellarManageBuyOfferOp => MessageType_StellarManageBuyOfferOp, StellarPathPaymentStrictSendOp => MessageType_StellarPathPaymentStrictSendOp, + StellarClaimClaimableBalanceOp => MessageType_StellarClaimClaimableBalanceOp, StellarSignedTx => MessageType_StellarSignedTx, } diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs index 798a103c4..962a88de5 100644 --- a/rust/trezor-client/src/protos/generated/messages.rs +++ b/rust/trezor-client/src/protos/generated/messages.rs @@ -314,6 +314,8 @@ pub enum MessageType { MessageType_StellarManageBuyOfferOp = 222, // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPathPaymentStrictSendOp) MessageType_StellarPathPaymentStrictSendOp = 223, + // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarClaimClaimableBalanceOp) + MessageType_StellarClaimClaimableBalanceOp = 225, // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSignedTx) MessageType_StellarSignedTx = 230, // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetPublicKey) @@ -660,6 +662,7 @@ impl ::protobuf::Enum for MessageType { 221 => ::std::option::Option::Some(MessageType::MessageType_StellarBumpSequenceOp), 222 => ::std::option::Option::Some(MessageType::MessageType_StellarManageBuyOfferOp), 223 => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictSendOp), + 225 => ::std::option::Option::Some(MessageType::MessageType_StellarClaimClaimableBalanceOp), 230 => ::std::option::Option::Some(MessageType::MessageType_StellarSignedTx), 305 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetPublicKey), 306 => ::std::option::Option::Some(MessageType::MessageType_CardanoPublicKey), @@ -905,6 +908,7 @@ impl ::protobuf::Enum for MessageType { "MessageType_StellarBumpSequenceOp" => ::std::option::Option::Some(MessageType::MessageType_StellarBumpSequenceOp), "MessageType_StellarManageBuyOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageBuyOfferOp), "MessageType_StellarPathPaymentStrictSendOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictSendOp), + "MessageType_StellarClaimClaimableBalanceOp" => ::std::option::Option::Some(MessageType::MessageType_StellarClaimClaimableBalanceOp), "MessageType_StellarSignedTx" => ::std::option::Option::Some(MessageType::MessageType_StellarSignedTx), "MessageType_CardanoGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetPublicKey), "MessageType_CardanoPublicKey" => ::std::option::Option::Some(MessageType::MessageType_CardanoPublicKey), @@ -1149,6 +1153,7 @@ impl ::protobuf::Enum for MessageType { MessageType::MessageType_StellarBumpSequenceOp, MessageType::MessageType_StellarManageBuyOfferOp, MessageType::MessageType_StellarPathPaymentStrictSendOp, + MessageType::MessageType_StellarClaimClaimableBalanceOp, MessageType::MessageType_StellarSignedTx, MessageType::MessageType_CardanoGetPublicKey, MessageType::MessageType_CardanoPublicKey, @@ -1399,102 +1404,103 @@ impl ::protobuf::EnumFull for MessageType { MessageType::MessageType_StellarBumpSequenceOp => 140, MessageType::MessageType_StellarManageBuyOfferOp => 141, MessageType::MessageType_StellarPathPaymentStrictSendOp => 142, - MessageType::MessageType_StellarSignedTx => 143, - MessageType::MessageType_CardanoGetPublicKey => 144, - MessageType::MessageType_CardanoPublicKey => 145, - MessageType::MessageType_CardanoGetAddress => 146, - MessageType::MessageType_CardanoAddress => 147, - MessageType::MessageType_CardanoTxItemAck => 148, - MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 149, - MessageType::MessageType_CardanoTxWitnessRequest => 150, - MessageType::MessageType_CardanoTxWitnessResponse => 151, - MessageType::MessageType_CardanoTxHostAck => 152, - MessageType::MessageType_CardanoTxBodyHash => 153, - MessageType::MessageType_CardanoSignTxFinished => 154, - MessageType::MessageType_CardanoSignTxInit => 155, - MessageType::MessageType_CardanoTxInput => 156, - MessageType::MessageType_CardanoTxOutput => 157, - MessageType::MessageType_CardanoAssetGroup => 158, - MessageType::MessageType_CardanoToken => 159, - MessageType::MessageType_CardanoTxCertificate => 160, - MessageType::MessageType_CardanoTxWithdrawal => 161, - MessageType::MessageType_CardanoTxAuxiliaryData => 162, - MessageType::MessageType_CardanoPoolOwner => 163, - MessageType::MessageType_CardanoPoolRelayParameters => 164, - MessageType::MessageType_CardanoGetNativeScriptHash => 165, - MessageType::MessageType_CardanoNativeScriptHash => 166, - MessageType::MessageType_CardanoTxMint => 167, - MessageType::MessageType_CardanoTxCollateralInput => 168, - MessageType::MessageType_CardanoTxRequiredSigner => 169, - MessageType::MessageType_CardanoTxInlineDatumChunk => 170, - MessageType::MessageType_CardanoTxReferenceScriptChunk => 171, - MessageType::MessageType_CardanoTxReferenceInput => 172, - MessageType::MessageType_RippleGetAddress => 173, - MessageType::MessageType_RippleAddress => 174, - MessageType::MessageType_RippleSignTx => 175, - MessageType::MessageType_RippleSignedTx => 176, - MessageType::MessageType_MoneroTransactionInitRequest => 177, - MessageType::MessageType_MoneroTransactionInitAck => 178, - MessageType::MessageType_MoneroTransactionSetInputRequest => 179, - MessageType::MessageType_MoneroTransactionSetInputAck => 180, - MessageType::MessageType_MoneroTransactionInputViniRequest => 181, - MessageType::MessageType_MoneroTransactionInputViniAck => 182, - MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 183, - MessageType::MessageType_MoneroTransactionAllInputsSetAck => 184, - MessageType::MessageType_MoneroTransactionSetOutputRequest => 185, - MessageType::MessageType_MoneroTransactionSetOutputAck => 186, - MessageType::MessageType_MoneroTransactionAllOutSetRequest => 187, - MessageType::MessageType_MoneroTransactionAllOutSetAck => 188, - MessageType::MessageType_MoneroTransactionSignInputRequest => 189, - MessageType::MessageType_MoneroTransactionSignInputAck => 190, - MessageType::MessageType_MoneroTransactionFinalRequest => 191, - MessageType::MessageType_MoneroTransactionFinalAck => 192, - MessageType::MessageType_MoneroKeyImageExportInitRequest => 193, - MessageType::MessageType_MoneroKeyImageExportInitAck => 194, - MessageType::MessageType_MoneroKeyImageSyncStepRequest => 195, - MessageType::MessageType_MoneroKeyImageSyncStepAck => 196, - MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 197, - MessageType::MessageType_MoneroKeyImageSyncFinalAck => 198, - MessageType::MessageType_MoneroGetAddress => 199, - MessageType::MessageType_MoneroAddress => 200, - MessageType::MessageType_MoneroGetWatchKey => 201, - MessageType::MessageType_MoneroWatchKey => 202, - MessageType::MessageType_DebugMoneroDiagRequest => 203, - MessageType::MessageType_DebugMoneroDiagAck => 204, - MessageType::MessageType_MoneroGetTxKeyRequest => 205, - MessageType::MessageType_MoneroGetTxKeyAck => 206, - MessageType::MessageType_MoneroLiveRefreshStartRequest => 207, - MessageType::MessageType_MoneroLiveRefreshStartAck => 208, - MessageType::MessageType_MoneroLiveRefreshStepRequest => 209, - MessageType::MessageType_MoneroLiveRefreshStepAck => 210, - MessageType::MessageType_MoneroLiveRefreshFinalRequest => 211, - MessageType::MessageType_MoneroLiveRefreshFinalAck => 212, - MessageType::MessageType_EosGetPublicKey => 213, - MessageType::MessageType_EosPublicKey => 214, - MessageType::MessageType_EosSignTx => 215, - MessageType::MessageType_EosTxActionRequest => 216, - MessageType::MessageType_EosTxActionAck => 217, - MessageType::MessageType_EosSignedTx => 218, - MessageType::MessageType_BinanceGetAddress => 219, - MessageType::MessageType_BinanceAddress => 220, - MessageType::MessageType_BinanceGetPublicKey => 221, - MessageType::MessageType_BinancePublicKey => 222, - MessageType::MessageType_BinanceSignTx => 223, - MessageType::MessageType_BinanceTxRequest => 224, - MessageType::MessageType_BinanceTransferMsg => 225, - MessageType::MessageType_BinanceOrderMsg => 226, - MessageType::MessageType_BinanceCancelMsg => 227, - MessageType::MessageType_BinanceSignedTx => 228, - MessageType::MessageType_WebAuthnListResidentCredentials => 229, - MessageType::MessageType_WebAuthnCredentials => 230, - MessageType::MessageType_WebAuthnAddResidentCredential => 231, - MessageType::MessageType_WebAuthnRemoveResidentCredential => 232, - MessageType::MessageType_SolanaGetPublicKey => 233, - MessageType::MessageType_SolanaPublicKey => 234, - MessageType::MessageType_SolanaGetAddress => 235, - MessageType::MessageType_SolanaAddress => 236, - MessageType::MessageType_SolanaSignTx => 237, - MessageType::MessageType_SolanaTxSignature => 238, + MessageType::MessageType_StellarClaimClaimableBalanceOp => 143, + MessageType::MessageType_StellarSignedTx => 144, + MessageType::MessageType_CardanoGetPublicKey => 145, + MessageType::MessageType_CardanoPublicKey => 146, + MessageType::MessageType_CardanoGetAddress => 147, + MessageType::MessageType_CardanoAddress => 148, + MessageType::MessageType_CardanoTxItemAck => 149, + MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 150, + MessageType::MessageType_CardanoTxWitnessRequest => 151, + MessageType::MessageType_CardanoTxWitnessResponse => 152, + MessageType::MessageType_CardanoTxHostAck => 153, + MessageType::MessageType_CardanoTxBodyHash => 154, + MessageType::MessageType_CardanoSignTxFinished => 155, + MessageType::MessageType_CardanoSignTxInit => 156, + MessageType::MessageType_CardanoTxInput => 157, + MessageType::MessageType_CardanoTxOutput => 158, + MessageType::MessageType_CardanoAssetGroup => 159, + MessageType::MessageType_CardanoToken => 160, + MessageType::MessageType_CardanoTxCertificate => 161, + MessageType::MessageType_CardanoTxWithdrawal => 162, + MessageType::MessageType_CardanoTxAuxiliaryData => 163, + MessageType::MessageType_CardanoPoolOwner => 164, + MessageType::MessageType_CardanoPoolRelayParameters => 165, + MessageType::MessageType_CardanoGetNativeScriptHash => 166, + MessageType::MessageType_CardanoNativeScriptHash => 167, + MessageType::MessageType_CardanoTxMint => 168, + MessageType::MessageType_CardanoTxCollateralInput => 169, + MessageType::MessageType_CardanoTxRequiredSigner => 170, + MessageType::MessageType_CardanoTxInlineDatumChunk => 171, + MessageType::MessageType_CardanoTxReferenceScriptChunk => 172, + MessageType::MessageType_CardanoTxReferenceInput => 173, + MessageType::MessageType_RippleGetAddress => 174, + MessageType::MessageType_RippleAddress => 175, + MessageType::MessageType_RippleSignTx => 176, + MessageType::MessageType_RippleSignedTx => 177, + MessageType::MessageType_MoneroTransactionInitRequest => 178, + MessageType::MessageType_MoneroTransactionInitAck => 179, + MessageType::MessageType_MoneroTransactionSetInputRequest => 180, + MessageType::MessageType_MoneroTransactionSetInputAck => 181, + MessageType::MessageType_MoneroTransactionInputViniRequest => 182, + MessageType::MessageType_MoneroTransactionInputViniAck => 183, + MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 184, + MessageType::MessageType_MoneroTransactionAllInputsSetAck => 185, + MessageType::MessageType_MoneroTransactionSetOutputRequest => 186, + MessageType::MessageType_MoneroTransactionSetOutputAck => 187, + MessageType::MessageType_MoneroTransactionAllOutSetRequest => 188, + MessageType::MessageType_MoneroTransactionAllOutSetAck => 189, + MessageType::MessageType_MoneroTransactionSignInputRequest => 190, + MessageType::MessageType_MoneroTransactionSignInputAck => 191, + MessageType::MessageType_MoneroTransactionFinalRequest => 192, + MessageType::MessageType_MoneroTransactionFinalAck => 193, + MessageType::MessageType_MoneroKeyImageExportInitRequest => 194, + MessageType::MessageType_MoneroKeyImageExportInitAck => 195, + MessageType::MessageType_MoneroKeyImageSyncStepRequest => 196, + MessageType::MessageType_MoneroKeyImageSyncStepAck => 197, + MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 198, + MessageType::MessageType_MoneroKeyImageSyncFinalAck => 199, + MessageType::MessageType_MoneroGetAddress => 200, + MessageType::MessageType_MoneroAddress => 201, + MessageType::MessageType_MoneroGetWatchKey => 202, + MessageType::MessageType_MoneroWatchKey => 203, + MessageType::MessageType_DebugMoneroDiagRequest => 204, + MessageType::MessageType_DebugMoneroDiagAck => 205, + MessageType::MessageType_MoneroGetTxKeyRequest => 206, + MessageType::MessageType_MoneroGetTxKeyAck => 207, + MessageType::MessageType_MoneroLiveRefreshStartRequest => 208, + MessageType::MessageType_MoneroLiveRefreshStartAck => 209, + MessageType::MessageType_MoneroLiveRefreshStepRequest => 210, + MessageType::MessageType_MoneroLiveRefreshStepAck => 211, + MessageType::MessageType_MoneroLiveRefreshFinalRequest => 212, + MessageType::MessageType_MoneroLiveRefreshFinalAck => 213, + MessageType::MessageType_EosGetPublicKey => 214, + MessageType::MessageType_EosPublicKey => 215, + MessageType::MessageType_EosSignTx => 216, + MessageType::MessageType_EosTxActionRequest => 217, + MessageType::MessageType_EosTxActionAck => 218, + MessageType::MessageType_EosSignedTx => 219, + MessageType::MessageType_BinanceGetAddress => 220, + MessageType::MessageType_BinanceAddress => 221, + MessageType::MessageType_BinanceGetPublicKey => 222, + MessageType::MessageType_BinancePublicKey => 223, + MessageType::MessageType_BinanceSignTx => 224, + MessageType::MessageType_BinanceTxRequest => 225, + MessageType::MessageType_BinanceTransferMsg => 226, + MessageType::MessageType_BinanceOrderMsg => 227, + MessageType::MessageType_BinanceCancelMsg => 228, + MessageType::MessageType_BinanceSignedTx => 229, + MessageType::MessageType_WebAuthnListResidentCredentials => 230, + MessageType::MessageType_WebAuthnCredentials => 231, + MessageType::MessageType_WebAuthnAddResidentCredential => 232, + MessageType::MessageType_WebAuthnRemoveResidentCredential => 233, + MessageType::MessageType_SolanaGetPublicKey => 234, + MessageType::MessageType_SolanaPublicKey => 235, + MessageType::MessageType_SolanaGetAddress => 236, + MessageType::MessageType_SolanaAddress => 237, + MessageType::MessageType_SolanaSignTx => 238, + MessageType::MessageType_SolanaTxSignature => 239, }; Self::enum_descriptor().value_by_index(index) } @@ -1544,7 +1550,7 @@ pub mod exts { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\x20google/protobuf/de\ - scriptor.proto*\xc4R\n\x0bMessageType\x12(\n\x16MessageType_Initialize\ + scriptor.proto*\x8bS\n\x0bMessageType\x12(\n\x16MessageType_Initialize\ \x10\0\x1a\x0c\x80\xa6\x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12\x1e\n\ \x10MessageType_Ping\x10\x01\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\ %\n\x13MessageType_Success\x10\x02\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\x18\ @@ -1708,134 +1714,137 @@ static file_descriptor_proto_data: &'static [u8] = b"\ llarBumpSequenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageTyp\ e_StellarManageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\x01\x125\n*Mes\ sageType_StellarPathPaymentStrictSendOp\x10\xdf\x01\x1a\x04\x90\xb5\x18\ - \x01\x12&\n\x1bMessageType_StellarSignedTx\x10\xe6\x01\x1a\x04\x98\xb5\ - \x18\x01\x12*\n\x1fMessageType_CardanoGetPublicKey\x10\xb1\x02\x1a\x04\ - \x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPublicKey\x10\xb2\x02\x1a\ - \x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoGetAddress\x10\xb3\x02\ - \x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAddress\x10\xb4\ - \x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoTxItemAck\x10\ - \xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoTxAuxiliaryDa\ - taSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_Card\ - anoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageTy\ - pe_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\ - \x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\xb5\x18\x01\x12\ - (\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\x98\xb5\x18\x01\ - \x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\x1a\x04\x98\xb5\ - \x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\x02\x1a\x04\x90\ - \xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\xc1\x02\x1a\x04\ - \x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\x10\xc2\x02\x1a\ - \x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetGroup\x10\xc3\x02\ - \x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoToken\x10\xc4\x02\ - \x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxCertificate\x10\ - \xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_CardanoTxWithdraw\ - al\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_CardanoTxAuxi\ - liaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_Card\ - anoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&MessageType_Card\ - anoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Messag\ - eType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\x04\x90\xb5\x18\x01\x12\ - .\n#MessageType_CardanoNativeScriptHash\x10\xcb\x02\x1a\x04\x98\xb5\x18\ - \x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\x02\x1a\x04\x90\xb5\x18\ - \x01\x12/\n$MessageType_CardanoTxCollateralInput\x10\xcd\x02\x1a\x04\x90\ - \xb5\x18\x01\x12.\n#MessageType_CardanoTxRequiredSigner\x10\xce\x02\x1a\ - \x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTxInlineDatumChunk\x10\ - \xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_CardanoTxReferenceSc\ - riptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_Cardano\ - TxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageTy\ - pe_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19Messag\ - eType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18Messag\ - eType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessage\ - Type_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x123\n(MessageTy\ - pe_MoneroTransactionInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12/\ - \n$MessageType_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\ - \x01\x127\n,MessageType_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\ - \x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransactionSetInputAck\x10\ - \xf8\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionInp\ - utViniRequest\x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_Mon\ - eroTransactionInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0Me\ - ssageType_MoneroTransactionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x98\ - \xb5\x18\x01\x127\n,MessageType_MoneroTransactionAllInputsSetAck\x10\xfe\ - \x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionSetOutp\ - utRequest\x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroT\ - ransactionSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-Messag\ - eType_MoneroTransactionAllOutSetRequest\x10\x81\x04\x1a\x04\x98\xb5\x18\ - \x01\x124\n)MessageType_MoneroTransactionAllOutSetAck\x10\x82\x04\x1a\ - \x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionSignInputReques\ - t\x10\x83\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransacti\ - onSignInputAck\x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_Mo\ - neroTransactionFinalRequest\x10\x85\x04\x1a\x04\x98\xb5\x18\x01\x120\n%M\ - essageType_MoneroTransactionFinalAck\x10\x86\x04\x1a\x04\x98\xb5\x18\x01\ - \x126\n+MessageType_MoneroKeyImageExportInitRequest\x10\x92\x04\x1a\x04\ - \x98\xb5\x18\x01\x122\n'MessageType_MoneroKeyImageExportInitAck\x10\x93\ - \x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroKeyImageSyncStepRe\ - quest\x10\x94\x04\x1a\x04\x98\xb5\x18\x01\x120\n%MessageType_MoneroKeyIm\ - ageSyncStepAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\x125\n*MessageType_Mo\ - neroKeyImageSyncFinalRequest\x10\x96\x04\x1a\x04\x98\xb5\x18\x01\x121\n&\ - MessageType_MoneroKeyImageSyncFinalAck\x10\x97\x04\x1a\x04\x98\xb5\x18\ - \x01\x12'\n\x1cMessageType_MoneroGetAddress\x10\x9c\x04\x1a\x04\x90\xb5\ - \x18\x01\x12$\n\x19MessageType_MoneroAddress\x10\x9d\x04\x1a\x04\x98\xb5\ - \x18\x01\x12(\n\x1dMessageType_MoneroGetWatchKey\x10\x9e\x04\x1a\x04\x90\ - \xb5\x18\x01\x12%\n\x1aMessageType_MoneroWatchKey\x10\x9f\x04\x1a\x04\ - \x98\xb5\x18\x01\x12-\n\"MessageType_DebugMoneroDiagRequest\x10\xa2\x04\ - \x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_DebugMoneroDiagAck\x10\ - \xa3\x04\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_MoneroGetTxKeyReques\ - t\x10\xa6\x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGetTxK\ - eyAck\x10\xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroLiveR\ - efreshStartRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageTyp\ - e_MoneroLiveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\xb5\x18\x01\x123\n(M\ - essageType_MoneroLiveRefreshStepRequest\x10\xaa\x04\x1a\x04\x90\xb5\x18\ - \x01\x12/\n$MessageType_MoneroLiveRefreshStepAck\x10\xab\x04\x1a\x04\x98\ - \xb5\x18\x01\x124\n)MessageType_MoneroLiveRefreshFinalRequest\x10\xac\ - \x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroLiveRefreshFinalAc\ - k\x10\xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublic\ - Key\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicK\ - ey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15MessageType_EosSignT\ - x\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionR\ - equest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxAc\ - tionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSi\ - gnedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_Binance\ - GetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_Bin\ - anceAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_Bi\ - nanceGetPublicKey\x10\xbe\x05\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageT\ - ype_BinancePublicKey\x10\xbf\x05\x1a\x04\x98\xb5\x18\x01\x12$\n\x19Messa\ - geType_BinanceSignTx\x10\xc0\x05\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessa\ - geType_BinanceTxRequest\x10\xc1\x05\x1a\x04\x98\xb5\x18\x01\x12)\n\x1eMe\ - ssageType_BinanceTransferMsg\x10\xc2\x05\x1a\x04\x90\xb5\x18\x01\x12&\n\ - \x1bMessageType_BinanceOrderMsg\x10\xc3\x05\x1a\x04\x90\xb5\x18\x01\x12'\ - \n\x1cMessageType_BinanceCancelMsg\x10\xc4\x05\x1a\x04\x90\xb5\x18\x01\ - \x12&\n\x1bMessageType_BinanceSignedTx\x10\xc5\x05\x1a\x04\x98\xb5\x18\ - \x01\x126\n+MessageType_WebAuthnListResidentCredentials\x10\xa0\x06\x1a\ - \x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_WebAuthnCredentials\x10\xa1\ - \x06\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_WebAuthnAddResidentCrede\ - ntial\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x127\n,MessageType_WebAuthnRem\ - oveResidentCredential\x10\xa3\x06\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMess\ - ageType_SolanaGetPublicKey\x10\x84\x07\x1a\x04\x90\xb5\x18\x01\x12&\n\ - \x1bMessageType_SolanaPublicKey\x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12'\ - \n\x1cMessageType_SolanaGetAddress\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\ - \x12$\n\x19MessageType_SolanaAddress\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\ - \x12#\n\x18MessageType_SolanaSignTx\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\ - \x12(\n\x1dMessageType_SolanaTxSignature\x10\x89\x07\x1a\x04\x98\xb5\x18\ - \x01\x1a\x04\xc8\xf3\x18\x01\"\x04\x08Z\x10\\\"\x04\x08r\x10z\"\x06\x08\ - \xac\x02\x10\xb0\x02\"\x06\x08\xb5\x02\x10\xb8\x02:<\n\x07wire_in\x18\ - \xd2\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x06wire\ - In:>\n\x08wire_out\x18\xd3\x86\x03\x20\x01(\x08\x12!.google.protobuf.Enu\ - mValueOptionsR\x07wireOut:G\n\rwire_debug_in\x18\xd4\x86\x03\x20\x01(\ - \x08\x12!.google.protobuf.EnumValueOptionsR\x0bwireDebugIn:I\n\x0ewire_d\ - ebug_out\x18\xd5\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOpti\ - onsR\x0cwireDebugOut:@\n\twire_tiny\x18\xd6\x86\x03\x20\x01(\x08\x12!.go\ - ogle.protobuf.EnumValueOptionsR\x08wireTiny:L\n\x0fwire_bootloader\x18\ - \xd7\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x0ewire\ - Bootloader:C\n\x0bwire_no_fsm\x18\xd8\x86\x03\x20\x01(\x08\x12!.google.p\ - rotobuf.EnumValueOptionsR\twireNoFsm:F\n\x0cbitcoin_only\x18\xe0\xd4\x03\ - \x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x0bbitcoinOnly:U\n\ - \x17has_bitcoin_only_values\x18\xb9\x8e\x03\x20\x01(\x08\x12\x1c.google.\ - protobuf.EnumOptionsR\x14hasBitcoinOnlyValues:T\n\x14experimental_messag\ - e\x18\xa1\x96\x03\x20\x01(\x08\x12\x1f.google.protobuf.MessageOptionsR\ - \x13experimentalMessage:>\n\twire_type\x18\xa2\x96\x03\x20\x01(\r\x12\ - \x1f.google.protobuf.MessageOptionsR\x08wireType:N\n\x12experimental_fie\ - ld\x18\x89\x9e\x03\x20\x01(\x08\x12\x1d.google.protobuf.FieldOptionsR\ - \x11experimentalField:U\n\x17include_in_bitcoin_only\x18\xe0\xd4\x03\x20\ - \x01(\x08\x12\x1c.google.protobuf.FileOptionsR\x14includeInBitcoinOnlyB8\ - \n#com.satoshilabs.trezor.lib.protobufB\rTrezorMessage\x80\xa6\x1d\x01\ + \x01\x125\n*MessageType_StellarClaimClaimableBalanceOp\x10\xe1\x01\x1a\ + \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_StellarSignedTx\x10\xe6\x01\ + \x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetPublicKey\x10\ + \xb1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPublicKey\ + \x10\xb2\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoGetAdd\ + ress\x10\xb3\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAd\ + dress\x10\xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoT\ + xItemAck\x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoT\ + xAuxiliaryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#Mess\ + ageType_CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\ + \n$MessageType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\x18\ + \x01\x12'\n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\xb5\ + \x18\x01\x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\x98\ + \xb5\x18\x01\x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\x1a\ + \x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\x02\ + \x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\xc1\ + \x02\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\x10\ + \xc2\x02\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetGroup\ + \x10\xc3\x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoToken\ + \x10\xc4\x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxCert\ + ificate\x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Cardan\ + oTxWithdrawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_Ca\ + rdanoTxAuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessa\ + geType_CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Messa\ + geType_CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\ + \x121\n&MessageType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\x04\x90\ + \xb5\x18\x01\x12.\n#MessageType_CardanoNativeScriptHash\x10\xcb\x02\x1a\ + \x04\x98\xb5\x18\x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\x02\x1a\ + \x04\x90\xb5\x18\x01\x12/\n$MessageType_CardanoTxCollateralInput\x10\xcd\ + \x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoTxRequiredSigner\ + \x10\xce\x02\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTxInlineD\ + atumChunk\x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_Cardano\ + TxReferenceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#Messag\ + eType_CardanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\ + \x1cMessageType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12\ + $\n\x19MessageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12\ + #\n\x18MessageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\ + \n\x1aMessageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12\ + 3\n(MessageType_MoneroTransactionInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\ + \x18\x01\x12/\n$MessageType_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\ + \x98\xb5\x18\x01\x127\n,MessageType_MoneroTransactionSetInputRequest\x10\ + \xf7\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransactionSet\ + InputAck\x10\xf8\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTr\ + ansactionInputViniRequest\x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)Mes\ + sageType_MoneroTransactionInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\ + \x01\x12;\n0MessageType_MoneroTransactionAllInputsSetRequest\x10\xfd\x03\ + \x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_MoneroTransactionAllInputsSe\ + tAck\x10\xfe\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransa\ + ctionSetOutputRequest\x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)Message\ + Type_MoneroTransactionSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\ + \x128\n-MessageType_MoneroTransactionAllOutSetRequest\x10\x81\x04\x1a\ + \x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactionAllOutSetAck\ + \x10\x82\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactio\ + nSignInputRequest\x10\x83\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\ + _MoneroTransactionSignInputAck\x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\ + \n)MessageType_MoneroTransactionFinalRequest\x10\x85\x04\x1a\x04\x98\xb5\ + \x18\x01\x120\n%MessageType_MoneroTransactionFinalAck\x10\x86\x04\x1a\ + \x04\x98\xb5\x18\x01\x126\n+MessageType_MoneroKeyImageExportInitRequest\ + \x10\x92\x04\x1a\x04\x98\xb5\x18\x01\x122\n'MessageType_MoneroKeyImageEx\ + portInitAck\x10\x93\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_Moner\ + oKeyImageSyncStepRequest\x10\x94\x04\x1a\x04\x98\xb5\x18\x01\x120\n%Mess\ + ageType_MoneroKeyImageSyncStepAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\ + \x125\n*MessageType_MoneroKeyImageSyncFinalRequest\x10\x96\x04\x1a\x04\ + \x98\xb5\x18\x01\x121\n&MessageType_MoneroKeyImageSyncFinalAck\x10\x97\ + \x04\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_MoneroGetAddress\x10\ + \x9c\x04\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_MoneroAddress\x10\ + \x9d\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGetWatchKey\ + \x10\x9e\x04\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_MoneroWatchKe\ + y\x10\x9f\x04\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_DebugMoneroDia\ + gRequest\x10\xa2\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_Debug\ + MoneroDiagAck\x10\xa3\x04\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_Mon\ + eroGetTxKeyRequest\x10\xa6\x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessage\ + Type_MoneroGetTxKeyAck\x10\xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)Messag\ + eType_MoneroLiveRefreshStartRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\ + \x120\n%MessageType_MoneroLiveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\ + \xb5\x18\x01\x123\n(MessageType_MoneroLiveRefreshStepRequest\x10\xaa\x04\ + \x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_MoneroLiveRefreshStepAck\x10\ + \xab\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroLiveRefreshFin\ + alRequest\x10\xac\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroL\ + iveRefreshFinalAck\x10\xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessage\ + Type_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18Messa\ + geType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15Mes\ + sageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessage\ + Type_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMe\ + ssageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17\ + MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMe\ + ssageType_BinanceGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\ + \x1aMessageType_BinanceAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12*\ + \n\x1fMessageType_BinanceGetPublicKey\x10\xbe\x05\x1a\x04\x90\xb5\x18\ + \x01\x12'\n\x1cMessageType_BinancePublicKey\x10\xbf\x05\x1a\x04\x98\xb5\ + \x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xc0\x05\x1a\x04\x90\xb5\ + \x18\x01\x12'\n\x1cMessageType_BinanceTxRequest\x10\xc1\x05\x1a\x04\x98\ + \xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xc2\x05\x1a\ + \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xc3\x05\ + \x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_BinanceCancelMsg\x10\xc4\ + \x05\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\ + \xc5\x05\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_WebAuthnListResident\ + Credentials\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_We\ + bAuthnCredentials\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\ + _WebAuthnAddResidentCredential\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x127\ + \n,MessageType_WebAuthnRemoveResidentCredential\x10\xa3\x06\x1a\x04\x90\ + \xb5\x18\x01\x12)\n\x1eMessageType_SolanaGetPublicKey\x10\x84\x07\x1a\ + \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_SolanaPublicKey\x10\x85\x07\ + \x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_SolanaGetAddress\x10\x86\ + \x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddress\x10\x87\ + \x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSignTx\x10\x88\ + \x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_SolanaTxSignature\x10\ + \x89\x07\x1a\x04\x98\xb5\x18\x01\x1a\x04\xc8\xf3\x18\x01\"\x04\x08Z\x10\ + \\\"\x04\x08r\x10z\"\x06\x08\xdb\x01\x10\xdb\x01\"\x06\x08\xe0\x01\x10\ + \xe0\x01\"\x06\x08\xac\x02\x10\xb0\x02\"\x06\x08\xb5\x02\x10\xb8\x02:<\n\ + \x07wire_in\x18\xd2\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueO\ + ptionsR\x06wireIn:>\n\x08wire_out\x18\xd3\x86\x03\x20\x01(\x08\x12!.goog\ + le.protobuf.EnumValueOptionsR\x07wireOut:G\n\rwire_debug_in\x18\xd4\x86\ + \x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x0bwireDebugIn:\ + I\n\x0ewire_debug_out\x18\xd5\x86\x03\x20\x01(\x08\x12!.google.protobuf.\ + EnumValueOptionsR\x0cwireDebugOut:@\n\twire_tiny\x18\xd6\x86\x03\x20\x01\ + (\x08\x12!.google.protobuf.EnumValueOptionsR\x08wireTiny:L\n\x0fwire_boo\ + tloader\x18\xd7\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptio\ + nsR\x0ewireBootloader:C\n\x0bwire_no_fsm\x18\xd8\x86\x03\x20\x01(\x08\ + \x12!.google.protobuf.EnumValueOptionsR\twireNoFsm:F\n\x0cbitcoin_only\ + \x18\xe0\xd4\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x0b\ + bitcoinOnly:U\n\x17has_bitcoin_only_values\x18\xb9\x8e\x03\x20\x01(\x08\ + \x12\x1c.google.protobuf.EnumOptionsR\x14hasBitcoinOnlyValues:T\n\x14exp\ + erimental_message\x18\xa1\x96\x03\x20\x01(\x08\x12\x1f.google.protobuf.M\ + essageOptionsR\x13experimentalMessage:>\n\twire_type\x18\xa2\x96\x03\x20\ + \x01(\r\x12\x1f.google.protobuf.MessageOptionsR\x08wireType:N\n\x12exper\ + imental_field\x18\x89\x9e\x03\x20\x01(\x08\x12\x1d.google.protobuf.Field\ + OptionsR\x11experimentalField:U\n\x17include_in_bitcoin_only\x18\xe0\xd4\ + \x03\x20\x01(\x08\x12\x1c.google.protobuf.FileOptionsR\x14includeInBitco\ + inOnlyB8\n#com.satoshilabs.trezor.lib.protobufB\rTrezorMessage\x80\xa6\ + \x1d\x01\ "; /// `FileDescriptorProto` object which was a source for this generated file diff --git a/rust/trezor-client/src/protos/generated/messages_stellar.rs b/rust/trezor-client/src/protos/generated/messages_stellar.rs index d8823ed1a..06deba5e4 100644 --- a/rust/trezor-client/src/protos/generated/messages_stellar.rs +++ b/rust/trezor-client/src/protos/generated/messages_stellar.rs @@ -5757,6 +5757,221 @@ impl ::protobuf::reflect::ProtobufValue for StellarBumpSequenceOp { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } +// @@protoc_insertion_point(message:hw.trezor.messages.stellar.StellarClaimClaimableBalanceOp) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct StellarClaimClaimableBalanceOp { + // message fields + // @@protoc_insertion_point(field:hw.trezor.messages.stellar.StellarClaimClaimableBalanceOp.source_account) + pub source_account: ::std::option::Option<::std::string::String>, + // @@protoc_insertion_point(field:hw.trezor.messages.stellar.StellarClaimClaimableBalanceOp.balance_id) + pub balance_id: ::std::option::Option<::std::vec::Vec>, + // special fields + // @@protoc_insertion_point(special_field:hw.trezor.messages.stellar.StellarClaimClaimableBalanceOp.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a StellarClaimClaimableBalanceOp { + fn default() -> &'a StellarClaimClaimableBalanceOp { + ::default_instance() + } +} + +impl StellarClaimClaimableBalanceOp { + pub fn new() -> StellarClaimClaimableBalanceOp { + ::std::default::Default::default() + } + + // optional string source_account = 1; + + pub fn source_account(&self) -> &str { + match self.source_account.as_ref() { + Some(v) => v, + None => "", + } + } + + pub fn clear_source_account(&mut self) { + self.source_account = ::std::option::Option::None; + } + + pub fn has_source_account(&self) -> bool { + self.source_account.is_some() + } + + // Param is passed by value, moved + pub fn set_source_account(&mut self, v: ::std::string::String) { + self.source_account = ::std::option::Option::Some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_source_account(&mut self) -> &mut ::std::string::String { + if self.source_account.is_none() { + self.source_account = ::std::option::Option::Some(::std::string::String::new()); + } + self.source_account.as_mut().unwrap() + } + + // Take field + pub fn take_source_account(&mut self) -> ::std::string::String { + self.source_account.take().unwrap_or_else(|| ::std::string::String::new()) + } + + // required bytes balance_id = 2; + + pub fn balance_id(&self) -> &[u8] { + match self.balance_id.as_ref() { + Some(v) => v, + None => &[], + } + } + + pub fn clear_balance_id(&mut self) { + self.balance_id = ::std::option::Option::None; + } + + pub fn has_balance_id(&self) -> bool { + self.balance_id.is_some() + } + + // Param is passed by value, moved + pub fn set_balance_id(&mut self, v: ::std::vec::Vec) { + self.balance_id = ::std::option::Option::Some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_balance_id(&mut self) -> &mut ::std::vec::Vec { + if self.balance_id.is_none() { + self.balance_id = ::std::option::Option::Some(::std::vec::Vec::new()); + } + self.balance_id.as_mut().unwrap() + } + + // Take field + pub fn take_balance_id(&mut self) -> ::std::vec::Vec { + self.balance_id.take().unwrap_or_else(|| ::std::vec::Vec::new()) + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(2); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "source_account", + |m: &StellarClaimClaimableBalanceOp| { &m.source_account }, + |m: &mut StellarClaimClaimableBalanceOp| { &mut m.source_account }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "balance_id", + |m: &StellarClaimClaimableBalanceOp| { &m.balance_id }, + |m: &mut StellarClaimClaimableBalanceOp| { &mut m.balance_id }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "StellarClaimClaimableBalanceOp", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for StellarClaimClaimableBalanceOp { + const NAME: &'static str = "StellarClaimClaimableBalanceOp"; + + fn is_initialized(&self) -> bool { + if self.balance_id.is_none() { + return false; + } + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 10 => { + self.source_account = ::std::option::Option::Some(is.read_string()?); + }, + 18 => { + self.balance_id = ::std::option::Option::Some(is.read_bytes()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.source_account.as_ref() { + my_size += ::protobuf::rt::string_size(1, &v); + } + if let Some(v) = self.balance_id.as_ref() { + my_size += ::protobuf::rt::bytes_size(2, &v); + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.source_account.as_ref() { + os.write_string(1, v)?; + } + if let Some(v) = self.balance_id.as_ref() { + os.write_bytes(2, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> StellarClaimClaimableBalanceOp { + StellarClaimClaimableBalanceOp::new() + } + + fn clear(&mut self) { + self.source_account = ::std::option::Option::None; + self.balance_id = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static StellarClaimClaimableBalanceOp { + static instance: StellarClaimClaimableBalanceOp = StellarClaimClaimableBalanceOp { + source_account: ::std::option::Option::None, + balance_id: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for StellarClaimClaimableBalanceOp { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("StellarClaimClaimableBalanceOp").unwrap()).clone() + } +} + +impl ::std::fmt::Display for StellarClaimClaimableBalanceOp { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for StellarClaimClaimableBalanceOp { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + // @@protoc_insertion_point(message:hw.trezor.messages.stellar.StellarSignedTx) #[derive(PartialEq,Clone,Default,Debug)] pub struct StellarSignedTx { @@ -6137,11 +6352,13 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x03key\x18\x02\x20\x02(\tR\x03key\x12\x14\n\x05value\x18\x03\x20\x01(\ \x0cR\x05value\"W\n\x15StellarBumpSequenceOp\x12%\n\x0esource_account\ \x18\x01\x20\x01(\tR\rsourceAccount\x12\x17\n\x07bump_to\x18\x02\x20\x02\ - (\x04R\x06bumpTo\"N\n\x0fStellarSignedTx\x12\x1d\n\npublic_key\x18\x01\ - \x20\x02(\x0cR\tpublicKey\x12\x1c\n\tsignature\x18\x02\x20\x02(\x0cR\tsi\ - gnature*=\n\x10StellarAssetType\x12\n\n\x06NATIVE\x10\0\x12\r\n\tALPHANU\ - M4\x10\x01\x12\x0e\n\nALPHANUM12\x10\x02B;\n#com.satoshilabs.trezor.lib.\ - protobufB\x14TrezorMessageStellar\ + (\x04R\x06bumpTo\"f\n\x1eStellarClaimClaimableBalanceOp\x12%\n\x0esource\ + _account\x18\x01\x20\x01(\tR\rsourceAccount\x12\x1d\n\nbalance_id\x18\ + \x02\x20\x02(\x0cR\tbalanceId\"N\n\x0fStellarSignedTx\x12\x1d\n\npublic_\ + key\x18\x01\x20\x02(\x0cR\tpublicKey\x12\x1c\n\tsignature\x18\x02\x20\ + \x02(\x0cR\tsignature*=\n\x10StellarAssetType\x12\n\n\x06NATIVE\x10\0\ + \x12\r\n\tALPHANUM4\x10\x01\x12\x0e\n\nALPHANUM12\x10\x02B;\n#com.satosh\ + ilabs.trezor.lib.protobufB\x14TrezorMessageStellar\ "; /// `FileDescriptorProto` object which was a source for this generated file @@ -6159,7 +6376,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(0); - let mut messages = ::std::vec::Vec::with_capacity(19); + let mut messages = ::std::vec::Vec::with_capacity(20); messages.push(StellarAsset::generated_message_descriptor_data()); messages.push(StellarGetAddress::generated_message_descriptor_data()); messages.push(StellarAddress::generated_message_descriptor_data()); @@ -6178,6 +6395,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(StellarAccountMergeOp::generated_message_descriptor_data()); messages.push(StellarManageDataOp::generated_message_descriptor_data()); messages.push(StellarBumpSequenceOp::generated_message_descriptor_data()); + messages.push(StellarClaimClaimableBalanceOp::generated_message_descriptor_data()); messages.push(StellarSignedTx::generated_message_descriptor_data()); let mut enums = ::std::vec::Vec::with_capacity(3); enums.push(StellarAssetType::generated_enum_descriptor_data()); diff --git a/tests/common.py b/tests/common.py index d6f601935..0b165e9f2 100644 --- a/tests/common.py +++ b/tests/common.py @@ -86,14 +86,27 @@ def parametrize_using_common_fixtures(*paths: str) -> "MarkDecorator": if test_id is not None: test_id = test_id.lower().replace(" ", "_") + skip_models = test.get("skip_models", []) + skip_marks = [] + for skip_model in skip_models: + if skip_model == "t1": + skip_marks.append(pytest.mark.skip_t1) + if skip_model == "t2": + skip_marks.append(pytest.mark.skip_t2) + if skip_model == "tr": + skip_marks.append(pytest.mark.skip_tr) + tests.append( pytest.param( test["parameters"], test["result"], - marks=pytest.mark.setup_client( - passphrase=fixture["setup"]["passphrase"], - mnemonic=fixture["setup"]["mnemonic"], - ), + marks=[ + pytest.mark.setup_client( + passphrase=fixture["setup"]["passphrase"], + mnemonic=fixture["setup"]["mnemonic"], + ) + ] + + skip_marks, id=test_id, ) ) diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json index 2e7a01329..e046b7ddb 100644 --- a/tests/ui_tests/fixtures.json +++ b/tests/ui_tests/fixtures.json @@ -1917,6 +1917,7 @@ "TR_stellar-test_stellar.py::test_sign_tx[StellarBumpSequenceOp]": "ce42cc79760f9d8f07ba2a70841a86272f51d99811b40187182b31a23c4b07d7", "TR_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-add]": "5e3c7fa84f906cd97ceccd40166f24017352488c3d71d3a784fc025423b002c5", "TR_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-delete]": "a1aac4f91cacca5ec354eaf40f0fa524683135c7412b586e6c4ed4e22f53bd93", +"TR_stellar-test_stellar.py::test_sign_tx[StellarClaimClaimableBalanceOp]": "c69daca444b493b23dd9b9682a03e5b9f993a7d2276c2285f61629231b43bf15", "TR_stellar-test_stellar.py::test_sign_tx[StellarCreateAccountOp]": "89d398b2bc331f1bfeb85386dfbe020cc61a1c906ae196e73d73de2838839fe3", "TR_stellar-test_stellar.py::test_sign_tx[StellarCreatePassiveSellOfferOp]": "d6877955f02711d8da08d8f3de6f85079c0740b88fdd525d93cba00e50912a11", "TR_stellar-test_stellar.py::test_sign_tx[StellarManageBuyOfferOp]": "bc268b30439540da1f037ea83f438c18b7db766729f9fbb5c590257da8efbb46", @@ -3352,6 +3353,7 @@ "TT_stellar-test_stellar.py::test_sign_tx[StellarBumpSequenceOp]": "846e5b0c1e740f230b8670be9fdf93de80918e2c1afc43ed99d15af1d959edde", "TT_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-add]": "380dd41734316482b1c4d2e33777fe42f02829cf637c550fbcc699cc4f7bcbaf", "TT_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-delete]": "3d0f941c6ca7df69d6204063f171b1aedeea36e8c9c4d3c81fbd9eca75b248c0", +"TT_stellar-test_stellar.py::test_sign_tx[StellarClaimClaimableBalanceOp]": "e7ae941c1a5fb1a10a2e25686771d0ebc5864211966eb7741c88c7bcdb3ea6ca", "TT_stellar-test_stellar.py::test_sign_tx[StellarCreateAccountOp]": "993afda5f990300f12d8f2f318b51a3f7374f7abdbe983326e39c66f0bce0568", "TT_stellar-test_stellar.py::test_sign_tx[StellarCreatePassiveSellOfferOp]": "61242eeca3cd77d51fc2d9012d86e57dde6e722aa4a2df4e818f3ed679aeb430", "TT_stellar-test_stellar.py::test_sign_tx[StellarManageBuyOfferOp]": "d1746738380b806d193be170c8f476e21448dfa227a91f8547d05e43cda2fe5f",