Revert "chore: remove `GetNonce` and `PaymentRequest` from experimental features"
What changed, and why it matters
This commit is a simple revert that puts two features—PaymentRequest and GetNonce/Nonce—back into the 'experimental' category in Trezor's protocol definitions. It does not fix or introduce a security bug; it just re-labels fields and messages as experimental again and updates generated code and tests accordingly. The change is administrative: it re-enables the experimental flag so these features are only usable when a device has experimental features turned on.
No security action required. Reviewers should confirm that the firmware runtime still enforces the experimental-features flag for these messages/fields, since the protobuf annotations alone are only metadata.
Security signals we found
Re-adds experimental gating to PaymentRequest and GetNonce/Nonce protobuf messages/fields
No code logic changes to signing, nonce generation, or payment-request validation
Generated Rust descriptors updated to depend on options.proto and encode experimental annotations
Tests re-tagged as experimental and UI fixture hashes updated
Evidence from the diff
The commit reverts a previous change that removed the experimental markers from GetNonce/Nonce and PaymentRequest-related protobuf fields/messages. It adds (experimental_message)=true to GetNonce and Nonce, (experimental_message)=true to PaymentRequest and PaymentNotification, and (experimental_field)=true to payment_req / payment_req_index fields across Bitcoin, Cardano, Ethereum, Ripple, Solana, and Stellar message definitions. Corresponding generated Rust protobuf descriptors are regenerated to include the options dependency and the experimental annotations. Tests for payment-request flows are marked with @pytest.mark.experimental, and the xfail marker on test_experimental_features is removed because GetNonce is once again gated behind the experimental-features setting.
Changed components
common/protob/messages-*.protorust/trezor-client/src/protos/generated/messages_*.rstests/device_tests/bitcoin/test_signtx_payreq.pytests/device_tests/cardano/test_sign_tx.pytests/device_tests/ethereum/test_signtx.pytests/device_tests/ripple/test_sign_tx.pytests/device_tests/test_msg_applysettings.pytests/ui_tests/fixtures.jsonInspect captured patch +604 / −580
diff --git a/common/protob/messages-bitcoin.proto b/common/protob/messages-bitcoin.proto
index dfde209c..ff5c0eb9 100644
--- a/common/protob/messages-bitcoin.proto
+++ b/common/protob/messages-bitcoin.proto
@@ -354,7 +354,7 @@ message TxAck {
// optional uint32 block_height_bip115 = 9; // BIP-115 support dropped
optional bytes orig_hash = 10; // tx_hash of the original transaction where this output was present (used when creating a replacement transaction)
optional uint32 orig_index = 11; // index of the output in the original transaction (used when creating a replacement transaction)
- optional uint32 payment_req_index = 12; // index of the PaymentRequest containing this output
+ optional uint32 payment_req_index = 12 [(experimental_field)=true]; // index of the PaymentRequest containing this output
}
}
}
@@ -399,7 +399,7 @@ message TxOutput {
reserved 7, 8, 9; // fields which are in use, or have been in the past, in TxOutputType
optional bytes orig_hash = 10; // tx_hash of the original transaction where this output was present (used when creating a replacement transaction)
optional uint32 orig_index = 11; // index of the output in the original transaction (used when creating a replacement transaction)
- optional uint32 payment_req_index = 12; // index of the PaymentRequest containing this output
+ optional uint32 payment_req_index = 12 [(experimental_field)=true]; // index of the PaymentRequest containing this output
}
/** Data type for metadata about previous transaction which contains the UTXO being spent.
diff --git a/common/protob/messages-cardano.proto b/common/protob/messages-cardano.proto
index d854f840..d3762a06 100644
--- a/common/protob/messages-cardano.proto
+++ b/common/protob/messages-cardano.proto
@@ -6,6 +6,7 @@ option java_package = "com.satoshilabs.trezor.lib.protobuf";
option java_outer_classname = "TrezorMessageCardano";
import "messages-common.proto";
+import "options.proto";
enum CardanoDerivationType {
LEDGER = 0;
@@ -237,7 +238,7 @@ message CardanoSignTxInit {
optional uint32 reference_inputs_count = 21 [default=0];
optional bool chunkify = 22; // display the address in chunks of 4 characters
optional bool tag_cbor_sets = 23 [default=false]; // use tag 258 for sets in cbor
- optional common.PaymentRequest payment_req = 24; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 24 [(experimental_field)=true]; // SLIP-24 payment request
}
/**
diff --git a/common/protob/messages-common.proto b/common/protob/messages-common.proto
index 442ae41d..1777b3c4 100644
--- a/common/protob/messages-common.proto
+++ b/common/protob/messages-common.proto
@@ -179,6 +179,8 @@ message HDNodeType {
* @embed
*/
message PaymentRequest {
+ option (experimental_message) = true;
+
optional bytes nonce = 1; // the nonce used in the signature computation
required string recipient_name = 2; // merchant's name
repeated PaymentRequestMemo memos = 3; // any memos that were signed as part of the request
diff --git a/common/protob/messages-crypto.proto b/common/protob/messages-crypto.proto
index 9acaf7e4..3b0786fd 100644
--- a/common/protob/messages-crypto.proto
+++ b/common/protob/messages-crypto.proto
@@ -97,5 +97,7 @@ message ECDHSessionKey {
* @next Success
*/
message PaymentNotification {
+ option (experimental_message) = true;
+
optional common.PaymentRequest payment_req = 1; // SLIP-24 payment request
}
diff --git a/common/protob/messages-ethereum.proto b/common/protob/messages-ethereum.proto
index 5262b97b..51c0b9b8 100644
--- a/common/protob/messages-ethereum.proto
+++ b/common/protob/messages-ethereum.proto
@@ -6,6 +6,7 @@ option java_package = "com.satoshilabs.trezor.lib.protobuf";
option java_outer_classname = "TrezorMessageEthereum";
import "messages-common.proto";
+import "options.proto";
/**
* Request: Ask device for public key corresponding to address_n path
@@ -72,7 +73,7 @@ message EthereumSignTx {
optional uint32 tx_type = 10; // Used for Wanchain
optional EthereumDefinitions definitions = 12; // network and/or token definitions for tx
optional bool chunkify = 13; // display the address in chunks of 4 characters
- optional common.PaymentRequest payment_req = 14; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 14 [(experimental_field)=true]; // SLIP-24 payment request
}
/**
@@ -96,7 +97,7 @@ message EthereumSignTxEIP1559 {
repeated EthereumAccessList access_list = 11; // Access List
optional EthereumDefinitions definitions = 12; // network and/or token definitions for tx
optional bool chunkify = 13; // display the address in chunks of 4 characters
- optional common.PaymentRequest payment_req = 14; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 14 [(experimental_field)=true]; // SLIP-24 payment request
message EthereumAccessList {
required string address = 1;
diff --git a/common/protob/messages-management.proto b/common/protob/messages-management.proto
index fd3063ae..398d84cb 100644
--- a/common/protob/messages-management.proto
+++ b/common/protob/messages-management.proto
@@ -633,6 +633,7 @@ message RebootToBootloader {
* @next Nonce
*/
message GetNonce {
+ option (experimental_message) = true;
}
/**
@@ -640,6 +641,8 @@ message GetNonce {
* @end
*/
message Nonce {
+ option (experimental_message) = true;
+
required bytes nonce = 1; // a 32-byte random value generated by Trezor
}
diff --git a/common/protob/messages-ripple.proto b/common/protob/messages-ripple.proto
index 4b9ea95f..16e368c4 100644
--- a/common/protob/messages-ripple.proto
+++ b/common/protob/messages-ripple.proto
@@ -6,6 +6,7 @@ option java_package = "com.satoshilabs.trezor.lib.protobuf";
option java_outer_classname = "TrezorMessageRipple";
import "messages-common.proto";
+import "options.proto";
/**
* Request: Address at the specified index
@@ -33,14 +34,14 @@ message RippleAddress {
* @next RippleSignedTx
*/
message RippleSignTx {
- repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/144'/index'
- required uint64 fee = 2; // fee (in drops) for the transaction
- optional uint32 flags = 3 [default=0]; // transaction flags
- required uint32 sequence = 4; // transaction sequence number
- optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
- required RipplePayment payment = 6; // Payment transaction type
- optional bool chunkify = 7; // display the address in chunks of 4 characters
- optional common.PaymentRequest payment_req = 8; // SLIP-24 payment reques
+ repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/144'/index'
+ required uint64 fee = 2; // fee (in drops) for the transaction
+ optional uint32 flags = 3 [default=0]; // transaction flags
+ required uint32 sequence = 4; // transaction sequence number
+ optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
+ required RipplePayment payment = 6; // Payment transaction type
+ optional bool chunkify = 7; // display the address in chunks of 4 characters
+ optional common.PaymentRequest payment_req = 8 [(experimental_field)=true]; // SLIP-24 payment reques
/**
* Payment transaction type
diff --git a/common/protob/messages-solana.proto b/common/protob/messages-solana.proto
index 1a975b28..986eb513 100644
--- a/common/protob/messages-solana.proto
+++ b/common/protob/messages-solana.proto
@@ -2,6 +2,7 @@ syntax = "proto2";
package hw.trezor.messages.solana;
import "messages-common.proto";
+import "options.proto";
/**
* Request: Ask device for public key corresponding to address_n path
@@ -71,7 +72,7 @@ message SolanaSignTx {
repeated uint32 address_n = 1; // BIP-32 path to derive the key to sign with
required bytes serialized_tx = 2; // serialized tx to be signed
optional SolanaTxAdditionalInfo additional_info = 3;
- optional common.PaymentRequest payment_req = 4; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 4 [(experimental_field)=true]; // SLIP-24 payment request
}
/**
diff --git a/common/protob/messages-stellar.proto b/common/protob/messages-stellar.proto
index acd606b7..f5d6d797 100644
--- a/common/protob/messages-stellar.proto
+++ b/common/protob/messages-stellar.proto
@@ -6,6 +6,7 @@ option java_package = "com.satoshilabs.trezor.lib.protobuf";
option java_outer_classname = "TrezorMessageStellar";
import "messages-common.proto";
+import "options.proto";
// https://github.com/stellar/stellar-core/blob/02d26858069de7c0eefe065056fb0a19bf72ea56/src/xdr/Stellar-ledger-entries.x#L25-L31
enum StellarAssetType {
@@ -51,19 +52,19 @@ message StellarAddress {
* @next StellarTxOpRequest
*/
message StellarSignTx {
- repeated uint32 address_n = 2; // BIP-32 path. For compatibility with other wallets, must be m/44'/148'/index'
- required string network_passphrase = 3; // passphrase for signing messages on the destination network
- required string source_account = 4; // source account address
- required uint32 fee = 5; // Fee (in stroops) for the transaction
- required uint64 sequence_number = 6; // transaction sequence number
- required uint32 timebounds_start = 8; // unix timestamp (client must truncate this to 32 bytes)
- required uint32 timebounds_end = 9; // unix timestamp (client must truncate this to 32 bytes)
- required StellarMemoType memo_type = 10; // type of memo attached to the transaction
- optional string memo_text = 11; // up to 28 characters (4 bytes are for length)
- optional uint64 memo_id = 12; // 8-byte uint64
- optional bytes memo_hash = 13; // 32 bytes representing a hash
- required uint32 num_operations = 14; // number of operations in this transaction
- optional common.PaymentRequest payment_req = 15; // SLIP-24 payment request
+ repeated uint32 address_n = 2; // BIP-32 path. For compatibility with other wallets, must be m/44'/148'/index'
+ required string network_passphrase = 3; // passphrase for signing messages on the destination network
+ required string source_account = 4; // source account address
+ required uint32 fee = 5; // Fee (in stroops) for the transaction
+ required uint64 sequence_number = 6; // transaction sequence number
+ required uint32 timebounds_start = 8; // unix timestamp (client must truncate this to 32 bytes)
+ required uint32 timebounds_end = 9; // unix timestamp (client must truncate this to 32 bytes)
+ required StellarMemoType memo_type = 10; // type of memo attached to the transaction
+ optional string memo_text = 11; // up to 28 characters (4 bytes are for length)
+ optional uint64 memo_id = 12; // 8-byte uint64
+ optional bytes memo_hash = 13; // 32 bytes representing a hash
+ required uint32 num_operations = 14; // number of operations in this transaction
+ optional common.PaymentRequest payment_req = 15 [(experimental_field)=true]; // SLIP-24 payment request
// https://github.com/stellar/stellar-core/blob/02d26858069de7c0eefe065056fb0a19bf72ea56/src/xdr/Stellar-transaction.x#L506-L513
enum StellarMemoType {
diff --git a/rust/trezor-client/src/protos/generated/messages_bitcoin.rs b/rust/trezor-client/src/protos/generated/messages_bitcoin.rs
index f01ea2cf..291f3e1d 100644
--- a/rust/trezor-client/src/protos/generated/messages_bitcoin.rs
+++ b/rust/trezor-client/src/protos/generated/messages_bitcoin.rs
@@ -12324,8 +12324,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x10\0\x12\x0c\n\x08TXOUTPUT\x10\x01\x12\n\n\x06TXMETA\x10\x02\x12\x0e\n\
\nTXFINISHED\x10\x03\x12\x0f\n\x0bTXEXTRADATA\x10\x04\x12\x0f\n\x0bTXORI\
GINPUT\x10\x05\x12\x10\n\x0cTXORIGOUTPUT\x10\x06\x12\x10\n\x0cTXPAYMENTR\
- EQ\x10\x07\"\xee\x0f\n\x05TxAck\x12A\n\x02tx\x18\x01\x20\x01(\x0b21.hw.t\
- rezor.messages.bitcoin.TxAck.TransactionTypeR\x02tx\x1a\x9d\x0f\n\x0fTra\
+ EQ\x10\x07\"\xf4\x0f\n\x05TxAck\x12A\n\x02tx\x18\x01\x20\x01(\x0b21.hw.t\
+ rezor.messages.bitcoin.TxAck.TransactionTypeR\x02tx\x1a\xa3\x0f\n\x0fTra\
nsactionType\x12\x18\n\x07version\x18\x01\x20\x01(\rR\x07version\x12U\n\
\x06inputs\x18\x02\x20\x03(\x0b2=.hw.trezor.messages.bitcoin.TxAck.Trans\
actionType.TxInputTypeR\x06inputs\x12b\n\x0bbin_outputs\x18\x03\x20\x03(\
@@ -12359,7 +12359,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x010R\rcoinjoinFlags\x1a\x82\x01\n\x0fTxOutputBinType\x12\x16\n\x06amou\
nt\x18\x01\x20\x02(\x04R\x06amount\x12#\n\rscript_pubkey\x18\x02\x20\x02\
(\x0cR\x0cscriptPubkey\x122\n\x15decred_script_version\x18\x03\x20\x01(\
- \rR\x13decredScriptVersion\x1a\x9a\x03\n\x0cTxOutputType\x12\x18\n\x07ad\
+ \rR\x13decredScriptVersion\x1a\xa0\x03\n\x0cTxOutputType\x12\x18\n\x07ad\
dress\x18\x01\x20\x01(\tR\x07address\x12\x1b\n\taddress_n\x18\x02\x20\
\x03(\rR\x08addressN\x12\x16\n\x06amount\x18\x03\x20\x02(\x04R\x06amount\
\x12[\n\x0bscript_type\x18\x04\x20\x01(\x0e2,.hw.trezor.messages.bitcoin\
@@ -12367,107 +12367,108 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x05\x20\x01(\x0b24.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\
\x08multisig\x12$\n\x0eop_return_data\x18\x06\x20\x01(\x0cR\x0copReturnD\
ata\x12\x1b\n\torig_hash\x18\n\x20\x01(\x0cR\x08origHash\x12\x1d\n\norig\
- _index\x18\x0b\x20\x01(\rR\torigIndex\x12*\n\x11payment_req_index\x18\
- \x0c\x20\x01(\rR\x0fpaymentReqIndex:\x02\x18\x01\"\xff\x05\n\x07TxInput\
- \x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x1b\n\tprev_ha\
- sh\x18\x02\x20\x02(\x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x03\x20\
- \x02(\rR\tprevIndex\x12\x1d\n\nscript_sig\x18\x04\x20\x01(\x0cR\tscriptS\
- ig\x12&\n\x08sequence\x18\x05\x20\x01(\r:\n4294967295R\x08sequence\x12Z\
- \n\x0bscript_type\x18\x06\x20\x01(\x0e2+.hw.trezor.messages.bitcoin.Inpu\
- tScriptType:\x0cSPENDADDRESSR\nscriptType\x12P\n\x08multisig\x18\x07\x20\
- \x01(\x0b24.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\x08mult\
- isig\x12\x16\n\x06amount\x18\x08\x20\x02(\x04R\x06amount\x12\x1f\n\x0bde\
- cred_tree\x18\t\x20\x01(\rR\ndecredTree\x12\x18\n\x07witness\x18\r\x20\
- \x01(\x0cR\x07witness\x12'\n\x0fownership_proof\x18\x0e\x20\x01(\x0cR\
- \x0eownershipProof\x12'\n\x0fcommitment_data\x18\x0f\x20\x01(\x0cR\x0eco\
- mmitmentData\x12\x1b\n\torig_hash\x18\x10\x20\x01(\x0cR\x08origHash\x12\
- \x1d\n\norig_index\x18\x11\x20\x01(\rR\torigIndex\x12d\n\x14decred_staki\
- ng_spend\x18\x12\x20\x01(\x0e22.hw.trezor.messages.bitcoin.DecredStaking\
- SpendTypeR\x12decredStakingSpend\x12#\n\rscript_pubkey\x18\x13\x20\x01(\
- \x0cR\x0cscriptPubkey\x12(\n\x0ecoinjoin_flags\x18\x14\x20\x01(\r:\x010R\
- \rcoinjoinFlagsJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\
- \r\"\xa8\x03\n\x08TxOutput\x12\x18\n\x07address\x18\x01\x20\x01(\tR\x07a\
- ddress\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addressN\x12\x16\n\
- \x06amount\x18\x03\x20\x02(\x04R\x06amount\x12[\n\x0bscript_type\x18\x04\
- \x20\x01(\x0e2,.hw.trezor.messages.bitcoin.OutputScriptType:\x0cPAYTOADD\
- RESSR\nscriptType\x12P\n\x08multisig\x18\x05\x20\x01(\x0b24.hw.trezor.me\
- ssages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\x12$\n\x0eop_return\
- _data\x18\x06\x20\x01(\x0cR\x0copReturnData\x12\x1b\n\torig_hash\x18\n\
- \x20\x01(\x0cR\x08origHash\x12\x1d\n\norig_index\x18\x0b\x20\x01(\rR\tor\
- igIndex\x12*\n\x11payment_req_index\x18\x0c\x20\x01(\rR\x0fpaymentReqInd\
- exJ\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\xcb\x02\n\
- \x06PrevTx\x12\x18\n\x07version\x18\x01\x20\x02(\rR\x07version\x12\x1b\n\
- \tlock_time\x18\x04\x20\x02(\rR\x08lockTime\x12!\n\x0cinputs_count\x18\
- \x06\x20\x02(\rR\x0binputsCount\x12#\n\routputs_count\x18\x07\x20\x02(\r\
- R\x0coutputsCount\x12'\n\x0eextra_data_len\x18\t\x20\x01(\r:\x010R\x0cex\
- traDataLen\x12\x16\n\x06expiry\x18\n\x20\x01(\rR\x06expiry\x12(\n\x10ver\
- sion_group_id\x18\x0c\x20\x01(\rR\x0eversionGroupId\x12\x1c\n\ttimestamp\
- \x18\r\x20\x01(\rR\ttimestamp\x12\x1b\n\tbranch_id\x18\x0e\x20\x01(\rR\
- \x08branchIdJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x05\x10\
- \x06J\x04\x08\x08\x10\tJ\x04\x08\x0b\x10\x0c\"\xf7\x01\n\tPrevInput\x12\
- \x1b\n\tprev_hash\x18\x02\x20\x02(\x0cR\x08prevHash\x12\x1d\n\nprev_inde\
- x\x18\x03\x20\x02(\rR\tprevIndex\x12\x1d\n\nscript_sig\x18\x04\x20\x02(\
- \x0cR\tscriptSig\x12\x1a\n\x08sequence\x18\x05\x20\x02(\rR\x08sequence\
- \x12\x1f\n\x0bdecred_tree\x18\t\x20\x01(\rR\ndecredTreeJ\x04\x08\x01\x10\
- \x02J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\
- \x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\
- \x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10J\x04\x08\x10\x10\x11J\x04\
- \x08\x11\x10\x12J\x04\x08\x12\x10\x13J\x04\x08\x13\x10\x14\"}\n\nPrevOut\
- put\x12\x16\n\x06amount\x18\x01\x20\x02(\x04R\x06amount\x12#\n\rscript_p\
- ubkey\x18\x02\x20\x02(\x0cR\x0cscriptPubkey\x122\n\x15decred_script_vers\
- ion\x18\x03\x20\x01(\rR\x13decredScriptVersion\"\xac\x01\n\nTxAckInput\
- \x12H\n\x02tx\x18\x01\x20\x02(\x0b28.hw.trezor.messages.bitcoin.TxAckInp\
- ut.TxAckInputWrapperR\x02tx\x1aN\n\x11TxAckInputWrapper\x129\n\x05input\
- \x18\x02\x20\x02(\x0b2#.hw.trezor.messages.bitcoin.TxInputR\x05input:\
- \x04\x90\xb2\x19\x16\"\xb3\x01\n\x0bTxAckOutput\x12J\n\x02tx\x18\x01\x20\
- \x02(\x0b2:.hw.trezor.messages.bitcoin.TxAckOutput.TxAckOutputWrapperR\
- \x02tx\x1aR\n\x12TxAckOutputWrapper\x12<\n\x06output\x18\x05\x20\x02(\
- \x0b2$.hw.trezor.messages.bitcoin.TxOutputR\x06output:\x04\x90\xb2\x19\
- \x16\"I\n\rTxAckPrevMeta\x122\n\x02tx\x18\x01\x20\x02(\x0b2\".hw.trezor.\
- messages.bitcoin.PrevTxR\x02tx:\x04\x90\xb2\x19\x16\"\xbe\x01\n\x0eTxAck\
- PrevInput\x12P\n\x02tx\x18\x01\x20\x02(\x0b2@.hw.trezor.messages.bitcoin\
- .TxAckPrevInput.TxAckPrevInputWrapperR\x02tx\x1aT\n\x15TxAckPrevInputWra\
- pper\x12;\n\x05input\x18\x02\x20\x02(\x0b2%.hw.trezor.messages.bitcoin.P\
- revInputR\x05input:\x04\x90\xb2\x19\x16\"\xc5\x01\n\x0fTxAckPrevOutput\
- \x12R\n\x02tx\x18\x01\x20\x02(\x0b2B.hw.trezor.messages.bitcoin.TxAckPre\
- vOutput.TxAckPrevOutputWrapperR\x02tx\x1aX\n\x16TxAckPrevOutputWrapper\
- \x12>\n\x06output\x18\x03\x20\x02(\x0b2&.hw.trezor.messages.bitcoin.Prev\
- OutputR\x06output:\x04\x90\xb2\x19\x16\"\xbb\x01\n\x12TxAckPrevExtraData\
- \x12X\n\x02tx\x18\x01\x20\x02(\x0b2H.hw.trezor.messages.bitcoin.TxAckPre\
- vExtraData.TxAckPrevExtraDataWrapperR\x02tx\x1aE\n\x19TxAckPrevExtraData\
- Wrapper\x12(\n\x10extra_data_chunk\x18\x08\x20\x02(\x0cR\x0eextraDataChu\
- nk:\x04\x90\xb2\x19\x16\"\x88\x03\n\x11GetOwnershipProof\x12\x1b\n\taddr\
- ess_n\x18\x01\x20\x03(\rR\x08addressN\x12$\n\tcoin_name\x18\x02\x20\x01(\
- \t:\x07BitcoinR\x08coinName\x12Z\n\x0bscript_type\x18\x03\x20\x01(\x0e2+\
- .hw.trezor.messages.bitcoin.InputScriptType:\x0cSPENDWITNESSR\nscriptTyp\
- e\x12P\n\x08multisig\x18\x04\x20\x01(\x0b24.hw.trezor.messages.bitcoin.M\
- ultisigRedeemScriptTypeR\x08multisig\x122\n\x11user_confirmation\x18\x05\
- \x20\x01(\x08:\x05falseR\x10userConfirmation\x12#\n\rownership_ids\x18\
- \x06\x20\x03(\x0cR\x0cownershipIds\x12)\n\x0fcommitment_data\x18\x07\x20\
- \x01(\x0c:\0R\x0ecommitmentData\"W\n\x0eOwnershipProof\x12'\n\x0fownersh\
- ip_proof\x18\x01\x20\x02(\x0cR\x0eownershipProof\x12\x1c\n\tsignature\
- \x18\x02\x20\x02(\x0cR\tsignature\"\xab\x03\n\x11AuthorizeCoinJoin\x12\
- \x20\n\x0bcoordinator\x18\x01\x20\x02(\tR\x0bcoordinator\x12\x1d\n\nmax_\
- rounds\x18\x02\x20\x02(\x04R\tmaxRounds\x127\n\x18max_coordinator_fee_ra\
- te\x18\x03\x20\x02(\rR\x15maxCoordinatorFeeRate\x12+\n\x12max_fee_per_kv\
- byte\x18\x04\x20\x02(\rR\x0fmaxFeePerKvbyte\x12\x1b\n\taddress_n\x18\x05\
- \x20\x03(\rR\x08addressN\x12$\n\tcoin_name\x18\x06\x20\x01(\t:\x07Bitcoi\
- nR\x08coinName\x12Z\n\x0bscript_type\x18\x07\x20\x01(\x0e2+.hw.trezor.me\
- ssages.bitcoin.InputScriptType:\x0cSPENDADDRESSR\nscriptType\x12P\n\x0ba\
- mount_unit\x18\x08\x20\x01(\x0e2&.hw.trezor.messages.bitcoin.AmountUnit:\
- \x07BITCOINR\namountUnit*~\n\x0fInputScriptType\x12\x10\n\x0cSPENDADDRES\
- S\x10\0\x12\x11\n\rSPENDMULTISIG\x10\x01\x12\x0c\n\x08EXTERNAL\x10\x02\
- \x12\x10\n\x0cSPENDWITNESS\x10\x03\x12\x14\n\x10SPENDP2SHWITNESS\x10\x04\
- \x12\x10\n\x0cSPENDTAPROOT\x10\x05*\x99\x01\n\x10OutputScriptType\x12\
- \x10\n\x0cPAYTOADDRESS\x10\0\x12\x13\n\x0fPAYTOSCRIPTHASH\x10\x01\x12\
- \x11\n\rPAYTOMULTISIG\x10\x02\x12\x11\n\rPAYTOOPRETURN\x10\x03\x12\x10\n\
- \x0cPAYTOWITNESS\x10\x04\x12\x14\n\x10PAYTOP2SHWITNESS\x10\x05\x12\x10\n\
- \x0cPAYTOTAPROOT\x10\x06*.\n\x16DecredStakingSpendType\x12\t\n\x05SSGen\
- \x10\0\x12\t\n\x05SSRTX\x10\x01*J\n\nAmountUnit\x12\x0b\n\x07BITCOIN\x10\
- \0\x12\x10\n\x0cMILLIBITCOIN\x10\x01\x12\x10\n\x0cMICROBITCOIN\x10\x02\
- \x12\x0b\n\x07SATOSHI\x10\x03*8\n\x14MultisigPubkeysOrder\x12\r\n\tPRESE\
- RVED\x10\0\x12\x11\n\rLEXICOGRAPHIC\x10\x01B?\n#com.satoshilabs.trezor.l\
- ib.protobufB\x14TrezorMessageBitcoin\x80\xa6\x1d\x01\
+ _index\x18\x0b\x20\x01(\rR\torigIndex\x120\n\x11payment_req_index\x18\
+ \x0c\x20\x01(\rR\x0fpaymentReqIndexB\x04\xc8\xf0\x19\x01:\x02\x18\x01\"\
+ \xff\x05\n\x07TxInput\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addres\
+ sN\x12\x1b\n\tprev_hash\x18\x02\x20\x02(\x0cR\x08prevHash\x12\x1d\n\npre\
+ v_index\x18\x03\x20\x02(\rR\tprevIndex\x12\x1d\n\nscript_sig\x18\x04\x20\
+ \x01(\x0cR\tscriptSig\x12&\n\x08sequence\x18\x05\x20\x01(\r:\n4294967295\
+ R\x08sequence\x12Z\n\x0bscript_type\x18\x06\x20\x01(\x0e2+.hw.trezor.mes\
+ sages.bitcoin.InputScriptType:\x0cSPENDADDRESSR\nscriptType\x12P\n\x08mu\
+ ltisig\x18\x07\x20\x01(\x0b24.hw.trezor.messages.bitcoin.MultisigRedeemS\
+ criptTypeR\x08multisig\x12\x16\n\x06amount\x18\x08\x20\x02(\x04R\x06amou\
+ nt\x12\x1f\n\x0bdecred_tree\x18\t\x20\x01(\rR\ndecredTree\x12\x18\n\x07w\
+ itness\x18\r\x20\x01(\x0cR\x07witness\x12'\n\x0fownership_proof\x18\x0e\
+ \x20\x01(\x0cR\x0eownershipProof\x12'\n\x0fcommitment_data\x18\x0f\x20\
+ \x01(\x0cR\x0ecommitmentData\x12\x1b\n\torig_hash\x18\x10\x20\x01(\x0cR\
+ \x08origHash\x12\x1d\n\norig_index\x18\x11\x20\x01(\rR\torigIndex\x12d\n\
+ \x14decred_staking_spend\x18\x12\x20\x01(\x0e22.hw.trezor.messages.bitco\
+ in.DecredStakingSpendTypeR\x12decredStakingSpend\x12#\n\rscript_pubkey\
+ \x18\x13\x20\x01(\x0cR\x0cscriptPubkey\x12(\n\x0ecoinjoin_flags\x18\x14\
+ \x20\x01(\r:\x010R\rcoinjoinFlagsJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\
+ \x0cJ\x04\x08\x0c\x10\r\"\xae\x03\n\x08TxOutput\x12\x18\n\x07address\x18\
+ \x01\x20\x01(\tR\x07address\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08\
+ addressN\x12\x16\n\x06amount\x18\x03\x20\x02(\x04R\x06amount\x12[\n\x0bs\
+ cript_type\x18\x04\x20\x01(\x0e2,.hw.trezor.messages.bitcoin.OutputScrip\
+ tType:\x0cPAYTOADDRESSR\nscriptType\x12P\n\x08multisig\x18\x05\x20\x01(\
+ \x0b24.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\
+ \x12$\n\x0eop_return_data\x18\x06\x20\x01(\x0cR\x0copReturnData\x12\x1b\
+ \n\torig_hash\x18\n\x20\x01(\x0cR\x08origHash\x12\x1d\n\norig_index\x18\
+ \x0b\x20\x01(\rR\torigIndex\x120\n\x11payment_req_index\x18\x0c\x20\x01(\
+ \rR\x0fpaymentReqIndexB\x04\xc8\xf0\x19\x01J\x04\x08\x07\x10\x08J\x04\
+ \x08\x08\x10\tJ\x04\x08\t\x10\n\"\xcb\x02\n\x06PrevTx\x12\x18\n\x07versi\
+ on\x18\x01\x20\x02(\rR\x07version\x12\x1b\n\tlock_time\x18\x04\x20\x02(\
+ \rR\x08lockTime\x12!\n\x0cinputs_count\x18\x06\x20\x02(\rR\x0binputsCoun\
+ t\x12#\n\routputs_count\x18\x07\x20\x02(\rR\x0coutputsCount\x12'\n\x0eex\
+ tra_data_len\x18\t\x20\x01(\r:\x010R\x0cextraDataLen\x12\x16\n\x06expiry\
+ \x18\n\x20\x01(\rR\x06expiry\x12(\n\x10version_group_id\x18\x0c\x20\x01(\
+ \rR\x0eversionGroupId\x12\x1c\n\ttimestamp\x18\r\x20\x01(\rR\ttimestamp\
+ \x12\x1b\n\tbranch_id\x18\x0e\x20\x01(\rR\x08branchIdJ\x04\x08\x02\x10\
+ \x03J\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06J\x04\x08\x08\x10\tJ\x04\
+ \x08\x0b\x10\x0c\"\xf7\x01\n\tPrevInput\x12\x1b\n\tprev_hash\x18\x02\x20\
+ \x02(\x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x03\x20\x02(\rR\tprevIn\
+ dex\x12\x1d\n\nscript_sig\x18\x04\x20\x02(\x0cR\tscriptSig\x12\x1a\n\x08\
+ sequence\x18\x05\x20\x02(\rR\x08sequence\x12\x1f\n\x0bdecred_tree\x18\t\
+ \x20\x01(\rR\ndecredTreeJ\x04\x08\x01\x10\x02J\x04\x08\x06\x10\x07J\x04\
+ \x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\
+ \x0cJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\
+ \x0f\x10\x10J\x04\x08\x10\x10\x11J\x04\x08\x11\x10\x12J\x04\x08\x12\x10\
+ \x13J\x04\x08\x13\x10\x14\"}\n\nPrevOutput\x12\x16\n\x06amount\x18\x01\
+ \x20\x02(\x04R\x06amount\x12#\n\rscript_pubkey\x18\x02\x20\x02(\x0cR\x0c\
+ scriptPubkey\x122\n\x15decred_script_version\x18\x03\x20\x01(\rR\x13decr\
+ edScriptVersion\"\xac\x01\n\nTxAckInput\x12H\n\x02tx\x18\x01\x20\x02(\
+ \x0b28.hw.trezor.messages.bitcoin.TxAckInput.TxAckInputWrapperR\x02tx\
+ \x1aN\n\x11TxAckInputWrapper\x129\n\x05input\x18\x02\x20\x02(\x0b2#.hw.t\
+ rezor.messages.bitcoin.TxInputR\x05input:\x04\x90\xb2\x19\x16\"\xb3\x01\
+ \n\x0bTxAckOutput\x12J\n\x02tx\x18\x01\x20\x02(\x0b2:.hw.trezor.messages\
+ .bitcoin.TxAckOutput.TxAckOutputWrapperR\x02tx\x1aR\n\x12TxAckOutputWrap\
+ per\x12<\n\x06output\x18\x05\x20\x02(\x0b2$.hw.trezor.messages.bitcoin.T\
+ xOutputR\x06output:\x04\x90\xb2\x19\x16\"I\n\rTxAckPrevMeta\x122\n\x02tx\
+ \x18\x01\x20\x02(\x0b2\".hw.trezor.messages.bitcoin.PrevTxR\x02tx:\x04\
+ \x90\xb2\x19\x16\"\xbe\x01\n\x0eTxAckPrevInput\x12P\n\x02tx\x18\x01\x20\
+ \x02(\x0b2@.hw.trezor.messages.bitcoin.TxAckPrevInput.TxAckPrevInputWrap\
+ perR\x02tx\x1aT\n\x15TxAckPrevInputWrapper\x12;\n\x05input\x18\x02\x20\
+ \x02(\x0b2%.hw.trezor.messages.bitcoin.PrevInputR\x05input:\x04\x90\xb2\
+ \x19\x16\"\xc5\x01\n\x0fTxAckPrevOutput\x12R\n\x02tx\x18\x01\x20\x02(\
+ \x0b2B.hw.trezor.messages.bitcoin.TxAckPrevOutput.TxAckPrevOutputWrapper\
+ R\x02tx\x1aX\n\x16TxAckPrevOutputWrapper\x12>\n\x06output\x18\x03\x20\
+ \x02(\x0b2&.hw.trezor.messages.bitcoin.PrevOutputR\x06output:\x04\x90\
+ \xb2\x19\x16\"\xbb\x01\n\x12TxAckPrevExtraData\x12X\n\x02tx\x18\x01\x20\
+ \x02(\x0b2H.hw.trezor.messages.bitcoin.TxAckPrevExtraData.TxAckPrevExtra\
+ DataWrapperR\x02tx\x1aE\n\x19TxAckPrevExtraDataWrapper\x12(\n\x10extra_d\
+ ata_chunk\x18\x08\x20\x02(\x0cR\x0eextraDataChunk:\x04\x90\xb2\x19\x16\"\
+ \x88\x03\n\x11GetOwnershipProof\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\
+ \x08addressN\x12$\n\tcoin_name\x18\x02\x20\x01(\t:\x07BitcoinR\x08coinNa\
+ me\x12Z\n\x0bscript_type\x18\x03\x20\x01(\x0e2+.hw.trezor.messages.bitco\
+ in.InputScriptType:\x0cSPENDWITNESSR\nscriptType\x12P\n\x08multisig\x18\
+ \x04\x20\x01(\x0b24.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\
+ \x08multisig\x122\n\x11user_confirmation\x18\x05\x20\x01(\x08:\x05falseR\
+ \x10userConfirmation\x12#\n\rownership_ids\x18\x06\x20\x03(\x0cR\x0cowne\
+ rshipIds\x12)\n\x0fcommitment_data\x18\x07\x20\x01(\x0c:\0R\x0ecommitmen\
+ tData\"W\n\x0eOwnershipProof\x12'\n\x0fownership_proof\x18\x01\x20\x02(\
+ \x0cR\x0eownershipProof\x12\x1c\n\tsignature\x18\x02\x20\x02(\x0cR\tsign\
+ ature\"\xab\x03\n\x11AuthorizeCoinJoin\x12\x20\n\x0bcoordinator\x18\x01\
+ \x20\x02(\tR\x0bcoordinator\x12\x1d\n\nmax_rounds\x18\x02\x20\x02(\x04R\
+ \tmaxRounds\x127\n\x18max_coordinator_fee_rate\x18\x03\x20\x02(\rR\x15ma\
+ xCoordinatorFeeRate\x12+\n\x12max_fee_per_kvbyte\x18\x04\x20\x02(\rR\x0f\
+ maxFeePerKvbyte\x12\x1b\n\taddress_n\x18\x05\x20\x03(\rR\x08addressN\x12\
+ $\n\tcoin_name\x18\x06\x20\x01(\t:\x07BitcoinR\x08coinName\x12Z\n\x0bscr\
+ ipt_type\x18\x07\x20\x01(\x0e2+.hw.trezor.messages.bitcoin.InputScriptTy\
+ pe:\x0cSPENDADDRESSR\nscriptType\x12P\n\x0bamount_unit\x18\x08\x20\x01(\
+ \x0e2&.hw.trezor.messages.bitcoin.AmountUnit:\x07BITCOINR\namountUnit*~\
+ \n\x0fInputScriptType\x12\x10\n\x0cSPENDADDRESS\x10\0\x12\x11\n\rSPENDMU\
+ LTISIG\x10\x01\x12\x0c\n\x08EXTERNAL\x10\x02\x12\x10\n\x0cSPENDWITNESS\
+ \x10\x03\x12\x14\n\x10SPENDP2SHWITNESS\x10\x04\x12\x10\n\x0cSPENDTAPROOT\
+ \x10\x05*\x99\x01\n\x10OutputScriptType\x12\x10\n\x0cPAYTOADDRESS\x10\0\
+ \x12\x13\n\x0fPAYTOSCRIPTHASH\x10\x01\x12\x11\n\rPAYTOMULTISIG\x10\x02\
+ \x12\x11\n\rPAYTOOPRETURN\x10\x03\x12\x10\n\x0cPAYTOWITNESS\x10\x04\x12\
+ \x14\n\x10PAYTOP2SHWITNESS\x10\x05\x12\x10\n\x0cPAYTOTAPROOT\x10\x06*.\n\
+ \x16DecredStakingSpendType\x12\t\n\x05SSGen\x10\0\x12\t\n\x05SSRTX\x10\
+ \x01*J\n\nAmountUnit\x12\x0b\n\x07BITCOIN\x10\0\x12\x10\n\x0cMILLIBITCOI\
+ N\x10\x01\x12\x10\n\x0cMICROBITCOIN\x10\x02\x12\x0b\n\x07SATOSHI\x10\x03\
+ *8\n\x14MultisigPubkeysOrder\x12\r\n\tPRESERVED\x10\0\x12\x11\n\rLEXICOG\
+ RAPHIC\x10\x01B?\n#com.satoshilabs.trezor.lib.protobufB\x14TrezorMessage\
+ Bitcoin\x80\xa6\x1d\x01\
";
/// `FileDescriptorProto` object which was a source for this generated file
diff --git a/rust/trezor-client/src/protos/generated/messages_cardano.rs b/rust/trezor-client/src/protos/generated/messages_cardano.rs
index 858adaf4..4cdb9107 100644
--- a/rust/trezor-client/src/protos/generated/messages_cardano.rs
+++ b/rust/trezor-client/src/protos/generated/messages_cardano.rs
@@ -11480,204 +11480,204 @@ impl CardanoTxWitnessType {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x16messages-cardano.proto\x12\x1ahw.trezor.messages.cardano\x1a\x15me\
- ssages-common.proto\"\x87\x01\n\x1cCardanoBlockchainPointerType\x12\x1f\
- \n\x0bblock_index\x18\x01\x20\x02(\rR\nblockIndex\x12\x19\n\x08tx_index\
- \x18\x02\x20\x02(\rR\x07txIndex\x12+\n\x11certificate_index\x18\x03\x20\
- \x02(\rR\x10certificateIndex\"\xef\x02\n\x13CardanoNativeScript\x12G\n\
- \x04type\x18\x01\x20\x02(\x0e23.hw.trezor.messages.cardano.CardanoNative\
- ScriptTypeR\x04type\x12I\n\x07scripts\x18\x02\x20\x03(\x0b2/.hw.trezor.m\
- essages.cardano.CardanoNativeScriptR\x07scripts\x12\x19\n\x08key_hash\
- \x18\x03\x20\x01(\x0cR\x07keyHash\x12\x19\n\x08key_path\x18\x04\x20\x03(\
- \rR\x07keyPath\x12:\n\x19required_signatures_count\x18\x05\x20\x01(\rR\
- \x17requiredSignaturesCount\x12%\n\x0einvalid_before\x18\x06\x20\x01(\
- \x04R\rinvalidBefore\x12+\n\x11invalid_hereafter\x18\x07\x20\x01(\x04R\
- \x10invalidHereafter\"\xaa\x02\n\x1aCardanoGetNativeScriptHash\x12G\n\
- \x06script\x18\x01\x20\x02(\x0b2/.hw.trezor.messages.cardano.CardanoNati\
- veScriptR\x06script\x12g\n\x0edisplay_format\x18\x02\x20\x02(\x0e2@.hw.t\
- rezor.messages.cardano.CardanoNativeScriptHashDisplayFormatR\rdisplayFor\
- mat\x12Z\n\x0fderivation_type\x18\x03\x20\x02(\x0e21.hw.trezor.messages.\
- cardano.CardanoDerivationTypeR\x0ederivationType\":\n\x17CardanoNativeSc\
- riptHash\x12\x1f\n\x0bscript_hash\x18\x01\x20\x02(\x0cR\nscriptHash\"\
- \xaf\x03\n\x1cCardanoAddressParametersType\x12Q\n\x0caddress_type\x18\
- \x01\x20\x02(\x0e2..hw.trezor.messages.cardano.CardanoAddressTypeR\x0bad\
- dressType\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addressN\x12*\n\
- \x11address_n_staking\x18\x03\x20\x03(\rR\x0faddressNStaking\x12(\n\x10s\
- taking_key_hash\x18\x04\x20\x01(\x0cR\x0estakingKeyHash\x12i\n\x13certif\
- icate_pointer\x18\x05\x20\x01(\x0b28.hw.trezor.messages.cardano.CardanoB\
- lockchainPointerTypeR\x12certificatePointer\x12.\n\x13script_payment_has\
- h\x18\x06\x20\x01(\x0cR\x11scriptPaymentHash\x12.\n\x13script_staking_ha\
- sh\x18\x07\x20\x01(\x0cR\x11scriptStakingHash\"\xe4\x02\n\x11CardanoGetA\
- ddress\x12(\n\x0cshow_display\x18\x02\x20\x01(\x08:\x05falseR\x0bshowDis\
- play\x12%\n\x0eprotocol_magic\x18\x03\x20\x02(\rR\rprotocolMagic\x12\x1d\
- \n\nnetwork_id\x18\x04\x20\x02(\rR\tnetworkId\x12g\n\x12address_paramete\
- rs\x18\x05\x20\x02(\x0b28.hw.trezor.messages.cardano.CardanoAddressParam\
- etersTypeR\x11addressParameters\x12Z\n\x0fderivation_type\x18\x06\x20\
- \x02(\x0e21.hw.trezor.messages.cardano.CardanoDerivationTypeR\x0ederivat\
- ionType\x12\x1a\n\x08chunkify\x18\x07\x20\x01(\x08R\x08chunkify\"<\n\x0e\
- CardanoAddress\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07address\x12\
- \x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xb1\x01\n\x13CardanoGetPubl\
- icKey\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0csho\
- w_display\x18\x02\x20\x01(\x08R\x0bshowDisplay\x12Z\n\x0fderivation_type\
- \x18\x03\x20\x02(\x0e21.hw.trezor.messages.cardano.CardanoDerivationType\
- R\x0ederivationType\"a\n\x10CardanoPublicKey\x12\x12\n\x04xpub\x18\x01\
- \x20\x02(\tR\x04xpub\x129\n\x04node\x18\x02\x20\x02(\x0b2%.hw.trezor.mes\
- sages.common.HDNodeTypeR\x04node\"\xaa\t\n\x11CardanoSignTxInit\x12S\n\
- \x0csigning_mode\x18\x01\x20\x02(\x0e20.hw.trezor.messages.cardano.Carda\
- noTxSigningModeR\x0bsigningMode\x12%\n\x0eprotocol_magic\x18\x02\x20\x02\
- (\rR\rprotocolMagic\x12\x1d\n\nnetwork_id\x18\x03\x20\x02(\rR\tnetworkId\
- \x12!\n\x0cinputs_count\x18\x04\x20\x02(\rR\x0binputsCount\x12#\n\routpu\
- ts_count\x18\x05\x20\x02(\rR\x0coutputsCount\x12\x10\n\x03fee\x18\x06\
- \x20\x02(\x04R\x03fee\x12\x10\n\x03ttl\x18\x07\x20\x01(\x04R\x03ttl\x12-\
- \n\x12certificates_count\x18\x08\x20\x02(\rR\x11certificatesCount\x12+\n\
- \x11withdrawals_count\x18\t\x20\x02(\rR\x10withdrawalsCount\x12,\n\x12ha\
- s_auxiliary_data\x18\n\x20\x02(\x08R\x10hasAuxiliaryData\x126\n\x17valid\
- ity_interval_start\x18\x0b\x20\x01(\x04R\x15validityIntervalStart\x124\n\
- \x16witness_requests_count\x18\x0c\x20\x02(\rR\x14witnessRequestsCount\
- \x12;\n\x1aminting_asset_groups_count\x18\r\x20\x02(\rR\x17mintingAssetG\
- roupsCount\x12Z\n\x0fderivation_type\x18\x0e\x20\x02(\x0e21.hw.trezor.me\
- ssages.cardano.CardanoDerivationTypeR\x0ederivationType\x123\n\x12includ\
- e_network_id\x18\x0f\x20\x01(\x08:\x05falseR\x10includeNetworkId\x12(\n\
- \x10script_data_hash\x18\x10\x20\x01(\x0cR\x0escriptDataHash\x126\n\x17c\
- ollateral_inputs_count\x18\x11\x20\x02(\rR\x15collateralInputsCount\x124\
- \n\x16required_signers_count\x18\x12\x20\x02(\rR\x14requiredSignersCount\
- \x129\n\x15has_collateral_return\x18\x13\x20\x01(\x08:\x05falseR\x13hasC\
- ollateralReturn\x12)\n\x10total_collateral\x18\x14\x20\x01(\x04R\x0ftota\
- lCollateral\x127\n\x16reference_inputs_count\x18\x15\x20\x01(\r:\x010R\
- \x14referenceInputsCount\x12\x1a\n\x08chunkify\x18\x16\x20\x01(\x08R\x08\
- chunkify\x12)\n\rtag_cbor_sets\x18\x17\x20\x01(\x08:\x05falseR\x0btagCbo\
- rSets\x12J\n\x0bpayment_req\x18\x18\x20\x01(\x0b2).hw.trezor.messages.co\
- mmon.PaymentRequestR\npaymentReq\"L\n\x0eCardanoTxInput\x12\x1b\n\tprev_\
- hash\x18\x01\x20\x02(\x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x02\x20\
- \x02(\rR\tprevIndex\"\xc5\x03\n\x0fCardanoTxOutput\x12\x18\n\x07address\
- \x18\x01\x20\x01(\tR\x07address\x12g\n\x12address_parameters\x18\x02\x20\
- \x01(\x0b28.hw.trezor.messages.cardano.CardanoAddressParametersTypeR\x11\
- addressParameters\x12\x16\n\x06amount\x18\x03\x20\x02(\x04R\x06amount\
- \x12,\n\x12asset_groups_count\x18\x04\x20\x02(\rR\x10assetGroupsCount\
- \x12\x1d\n\ndatum_hash\x18\x05\x20\x01(\x0cR\tdatumHash\x12d\n\x06format\
- \x18\x06\x20\x01(\x0e2>.hw.trezor.messages.cardano.CardanoTxOutputSerial\
- izationFormat:\x0cARRAY_LEGACYR\x06format\x12-\n\x11inline_datum_size\
- \x18\x07\x20\x01(\r:\x010R\x0finlineDatumSize\x125\n\x15reference_script\
- _size\x18\x08\x20\x01(\r:\x010R\x13referenceScriptSize\"S\n\x11CardanoAs\
- setGroup\x12\x1b\n\tpolicy_id\x18\x01\x20\x02(\x0cR\x08policyId\x12!\n\
- \x0ctokens_count\x18\x02\x20\x02(\rR\x0btokensCount\"q\n\x0cCardanoToken\
- \x12(\n\x10asset_name_bytes\x18\x01\x20\x02(\x0cR\x0eassetNameBytes\x12\
- \x16\n\x06amount\x18\x02\x20\x01(\x04R\x06amount\x12\x1f\n\x0bmint_amoun\
- t\x18\x03\x20\x01(\x12R\nmintAmount\"/\n\x19CardanoTxInlineDatumChunk\
- \x12\x12\n\x04data\x18\x01\x20\x02(\x0cR\x04data\"3\n\x1dCardanoTxRefere\
- nceScriptChunk\x12\x12\n\x04data\x18\x01\x20\x02(\x0cR\x04data\"f\n\x10C\
- ardanoPoolOwner\x12(\n\x10staking_key_path\x18\x01\x20\x03(\rR\x0estakin\
- gKeyPath\x12(\n\x10staking_key_hash\x18\x02\x20\x01(\x0cR\x0estakingKeyH\
- ash\"\xd9\x01\n\x1aCardanoPoolRelayParameters\x12D\n\x04type\x18\x01\x20\
- \x02(\x0e20.hw.trezor.messages.cardano.CardanoPoolRelayTypeR\x04type\x12\
- !\n\x0cipv4_address\x18\x02\x20\x01(\x0cR\x0bipv4Address\x12!\n\x0cipv6_\
- address\x18\x03\x20\x01(\x0cR\x0bipv6Address\x12\x1b\n\thost_name\x18\
- \x04\x20\x01(\tR\x08hostName\x12\x12\n\x04port\x18\x05\x20\x01(\rR\x04po\
- rt\"?\n\x17CardanoPoolMetadataType\x12\x10\n\x03url\x18\x01\x20\x02(\tR\
- \x03url\x12\x12\n\x04hash\x18\x02\x20\x02(\x0cR\x04hash\"\x9a\x03\n\x19C\
- ardanoPoolParametersType\x12\x17\n\x07pool_id\x18\x01\x20\x02(\x0cR\x06p\
- oolId\x12\x20\n\x0cvrf_key_hash\x18\x02\x20\x02(\x0cR\nvrfKeyHash\x12\
- \x16\n\x06pledge\x18\x03\x20\x02(\x04R\x06pledge\x12\x12\n\x04cost\x18\
- \x04\x20\x02(\x04R\x04cost\x12)\n\x10margin_numerator\x18\x05\x20\x02(\
- \x04R\x0fmarginNumerator\x12-\n\x12margin_denominator\x18\x06\x20\x02(\
- \x04R\x11marginDenominator\x12%\n\x0ereward_account\x18\x07\x20\x02(\tR\
- \rrewardAccount\x12O\n\x08metadata\x18\n\x20\x01(\x0b23.hw.trezor.messag\
- es.cardano.CardanoPoolMetadataTypeR\x08metadata\x12!\n\x0cowners_count\
- \x18\x0b\x20\x02(\rR\x0bownersCount\x12!\n\x0crelays_count\x18\x0c\x20\
- \x02(\rR\x0brelaysCount\"\x8a\x01\n\x0bCardanoDRep\x12?\n\x04type\x18\
- \x01\x20\x02(\x0e2+.hw.trezor.messages.cardano.CardanoDRepTypeR\x04type\
- \x12\x19\n\x08key_hash\x18\x02\x20\x01(\x0cR\x07keyHash\x12\x1f\n\x0bscr\
- ipt_hash\x18\x03\x20\x01(\x0cR\nscriptHash\"\xf9\x02\n\x14CardanoTxCerti\
- ficate\x12F\n\x04type\x18\x01\x20\x02(\x0e22.hw.trezor.messages.cardano.\
- CardanoCertificateTypeR\x04type\x12\x12\n\x04path\x18\x02\x20\x03(\rR\
- \x04path\x12\x12\n\x04pool\x18\x03\x20\x01(\x0cR\x04pool\x12^\n\x0fpool_\
- parameters\x18\x04\x20\x01(\x0b25.hw.trezor.messages.cardano.CardanoPool\
- ParametersTypeR\x0epoolParameters\x12\x1f\n\x0bscript_hash\x18\x05\x20\
- \x01(\x0cR\nscriptHash\x12\x19\n\x08key_hash\x18\x06\x20\x01(\x0cR\x07ke\
- yHash\x12\x18\n\x07deposit\x18\x07\x20\x01(\x04R\x07deposit\x12;\n\x04dr\
- ep\x18\x08\x20\x01(\x0b2'.hw.trezor.messages.cardano.CardanoDRepR\x04dre\
- p\"}\n\x13CardanoTxWithdrawal\x12\x12\n\x04path\x18\x01\x20\x03(\rR\x04p\
- ath\x12\x16\n\x06amount\x18\x02\x20\x02(\x04R\x06amount\x12\x1f\n\x0bscr\
- ipt_hash\x18\x03\x20\x01(\x0cR\nscriptHash\x12\x19\n\x08key_hash\x18\x04\
- \x20\x01(\x0cR\x07keyHash\"d\n\"CardanoCVoteRegistrationDelegation\x12&\
- \n\x0fvote_public_key\x18\x01\x20\x02(\x0cR\rvotePublicKey\x12\x16\n\x06\
- weight\x18\x02\x20\x02(\rR\x06weight\"\x8e\x04\n&CardanoCVoteRegistratio\
- nParametersType\x12&\n\x0fvote_public_key\x18\x01\x20\x01(\x0cR\rvotePub\
- licKey\x12!\n\x0cstaking_path\x18\x02\x20\x03(\rR\x0bstakingPath\x12v\n\
- \x1apayment_address_parameters\x18\x03\x20\x01(\x0b28.hw.trezor.messages\
- .cardano.CardanoAddressParametersTypeR\x18paymentAddressParameters\x12\
- \x14\n\x05nonce\x18\x04\x20\x02(\x04R\x05nonce\x12Y\n\x06format\x18\x05\
- \x20\x01(\x0e2:.hw.trezor.messages.cardano.CardanoCVoteRegistrationForma\
- t:\x05CIP15R\x06format\x12`\n\x0bdelegations\x18\x06\x20\x03(\x0b2>.hw.t\
- rezor.messages.cardano.CardanoCVoteRegistrationDelegationR\x0bdelegation\
- s\x12%\n\x0evoting_purpose\x18\x07\x20\x01(\x04R\rvotingPurpose\x12'\n\
- \x0fpayment_address\x18\x08\x20\x01(\tR\x0epaymentAddress\"\xb5\x01\n\
- \x16CardanoTxAuxiliaryData\x12\x86\x01\n\x1dcvote_registration_parameter\
- s\x18\x01\x20\x01(\x0b2B.hw.trezor.messages.cardano.CardanoCVoteRegistra\
- tionParametersTypeR\x1bcvoteRegistrationParameters\x12\x12\n\x04hash\x18\
- \x02\x20\x01(\x0cR\x04hash\"=\n\rCardanoTxMint\x12,\n\x12asset_groups_co\
- unt\x18\x01\x20\x02(\rR\x10assetGroupsCount\"V\n\x18CardanoTxCollateralI\
- nput\x12\x1b\n\tprev_hash\x18\x01\x20\x02(\x0cR\x08prevHash\x12\x1d\n\np\
- rev_index\x18\x02\x20\x02(\rR\tprevIndex\"O\n\x17CardanoTxRequiredSigner\
- \x12\x19\n\x08key_hash\x18\x01\x20\x01(\x0cR\x07keyHash\x12\x19\n\x08key\
- _path\x18\x02\x20\x03(\rR\x07keyPath\"U\n\x17CardanoTxReferenceInput\x12\
- \x1b\n\tprev_hash\x18\x01\x20\x02(\x0cR\x08prevHash\x12\x1d\n\nprev_inde\
- x\x18\x02\x20\x02(\rR\tprevIndex\"\x12\n\x10CardanoTxItemAck\"\xea\x01\n\
- \x20CardanoTxAuxiliaryDataSupplement\x12T\n\x04type\x18\x01\x20\x02(\x0e\
- 2@.hw.trezor.messages.cardano.CardanoTxAuxiliaryDataSupplementTypeR\x04t\
- ype\x12.\n\x13auxiliary_data_hash\x18\x02\x20\x01(\x0cR\x11auxiliaryData\
- Hash\x12@\n\x1ccvote_registration_signature\x18\x03\x20\x01(\x0cR\x1acvo\
- teRegistrationSignature\"-\n\x17CardanoTxWitnessRequest\x12\x12\n\x04pat\
- h\x18\x01\x20\x03(\rR\x04path\"\xb6\x01\n\x18CardanoTxWitnessResponse\
- \x12D\n\x04type\x18\x01\x20\x02(\x0e20.hw.trezor.messages.cardano.Cardan\
- oTxWitnessTypeR\x04type\x12\x17\n\x07pub_key\x18\x02\x20\x02(\x0cR\x06pu\
- bKey\x12\x1c\n\tsignature\x18\x03\x20\x02(\x0cR\tsignature\x12\x1d\n\nch\
- ain_code\x18\x04\x20\x01(\x0cR\tchainCode\"\x12\n\x10CardanoTxHostAck\",\
- \n\x11CardanoTxBodyHash\x12\x17\n\x07tx_hash\x18\x01\x20\x02(\x0cR\x06tx\
- Hash\"\x17\n\x15CardanoSignTxFinished\"\x97\x03\n\x16CardanoSignMessageI\
- nit\x12%\n\x0eprotocol_magic\x18\x01\x20\x01(\rR\rprotocolMagic\x12\x1d\
- \n\nnetwork_id\x18\x02\x20\x01(\rR\tnetworkId\x12!\n\x0csigning_path\x18\
- \x03\x20\x03(\rR\x0bsigningPath\x12!\n\x0cpayload_size\x18\x04\x20\x02(\
- \rR\x0bpayloadSize\x12,\n\x12prefer_hex_display\x18\x05\x20\x02(\x08R\
- \x10preferHexDisplay\x12g\n\x12address_parameters\x18\x06\x20\x01(\x0b28\
- .hw.trezor.messages.cardano.CardanoAddressParametersTypeR\x11addressPara\
- meters\x12Z\n\x0fderivation_type\x18\x07\x20\x02(\x0e21.hw.trezor.messag\
- es.cardano.CardanoDerivationTypeR\x0ederivationType\"K\n\x19CardanoMessa\
- geDataRequest\x12\x16\n\x06length\x18\x01\x20\x02(\rR\x06length\x12\x16\
- \n\x06offset\x18\x02\x20\x02(\rR\x06offset\"0\n\x1aCardanoMessageDataRes\
- ponse\x12\x12\n\x04data\x18\x01\x20\x02(\x0cR\x04data\"j\n\x17CardanoMes\
- sageSignature\x12\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\x12\
- \x18\n\x07address\x18\x02\x20\x02(\x0cR\x07address\x12\x17\n\x07pub_key\
- \x18\x03\x20\x02(\x0cR\x06pubKey*B\n\x15CardanoDerivationType\x12\n\n\
- \x06LEDGER\x10\0\x12\n\n\x06ICARUS\x10\x01\x12\x11\n\rICARUS_TREZOR\x10\
- \x02*\xd2\x01\n\x12CardanoAddressType\x12\x08\n\x04BASE\x10\0\x12\x13\n\
- \x0fBASE_SCRIPT_KEY\x10\x01\x12\x13\n\x0fBASE_KEY_SCRIPT\x10\x02\x12\x16\
- \n\x12BASE_SCRIPT_SCRIPT\x10\x03\x12\x0b\n\x07POINTER\x10\x04\x12\x12\n\
- \x0ePOINTER_SCRIPT\x10\x05\x12\x0e\n\nENTERPRISE\x10\x06\x12\x15\n\x11EN\
- TERPRISE_SCRIPT\x10\x07\x12\t\n\x05BYRON\x10\x08\x12\n\n\x06REWARD\x10\
- \x0e\x12\x11\n\rREWARD_SCRIPT\x10\x0f*o\n\x17CardanoNativeScriptType\x12\
- \x0b\n\x07PUB_KEY\x10\0\x12\x07\n\x03ALL\x10\x01\x12\x07\n\x03ANY\x10\
- \x02\x12\n\n\x06N_OF_K\x10\x03\x12\x12\n\x0eINVALID_BEFORE\x10\x04\x12\
- \x15\n\x11INVALID_HEREAFTER\x10\x05*K\n$CardanoNativeScriptHashDisplayFo\
- rmat\x12\x08\n\x04HIDE\x10\0\x12\n\n\x06BECH32\x10\x01\x12\r\n\tPOLICY_I\
- D\x10\x02*G\n\"CardanoTxOutputSerializationFormat\x12\x10\n\x0cARRAY_LEG\
- ACY\x10\0\x12\x0f\n\x0bMAP_BABBAGE\x10\x01*\xd2\x01\n\x16CardanoCertific\
- ateType\x12\x16\n\x12STAKE_REGISTRATION\x10\0\x12\x18\n\x14STAKE_DEREGIS\
- TRATION\x10\x01\x12\x14\n\x10STAKE_DELEGATION\x10\x02\x12\x1b\n\x17STAKE\
- _POOL_REGISTRATION\x10\x03\x12\x1d\n\x19STAKE_REGISTRATION_CONWAY\x10\
- \x07\x12\x1f\n\x1bSTAKE_DEREGISTRATION_CONWAY\x10\x08\x12\x13\n\x0fVOTE_\
- DELEGATION\x10\t*P\n\x0fCardanoDRepType\x12\x0c\n\x08KEY_HASH\x10\0\x12\
- \x0f\n\x0bSCRIPT_HASH\x10\x01\x12\x0b\n\x07ABSTAIN\x10\x02\x12\x11\n\rNO\
- _CONFIDENCE\x10\x03*X\n\x14CardanoPoolRelayType\x12\x12\n\x0eSINGLE_HOST\
- _IP\x10\0\x12\x14\n\x10SINGLE_HOST_NAME\x10\x01\x12\x16\n\x12MULTIPLE_HO\
- ST_NAME\x10\x02*R\n$CardanoTxAuxiliaryDataSupplementType\x12\x08\n\x04NO\
- NE\x10\0\x12\x20\n\x1cCVOTE_REGISTRATION_SIGNATURE\x10\x01*6\n\x1eCardan\
- oCVoteRegistrationFormat\x12\t\n\x05CIP15\x10\0\x12\t\n\x05CIP36\x10\x01\
- *\x82\x01\n\x14CardanoTxSigningMode\x12\x18\n\x14ORDINARY_TRANSACTION\
- \x10\0\x12\x1e\n\x1aPOOL_REGISTRATION_AS_OWNER\x10\x01\x12\x18\n\x14MULT\
- ISIG_TRANSACTION\x10\x02\x12\x16\n\x12PLUTUS_TRANSACTION\x10\x03*>\n\x14\
- CardanoTxWitnessType\x12\x11\n\rBYRON_WITNESS\x10\0\x12\x13\n\x0fSHELLEY\
- _WITNESS\x10\x01B;\n#com.satoshilabs.trezor.lib.protobufB\x14TrezorMessa\
- geCardano\
+ ssages-common.proto\x1a\roptions.proto\"\x87\x01\n\x1cCardanoBlockchainP\
+ ointerType\x12\x1f\n\x0bblock_index\x18\x01\x20\x02(\rR\nblockIndex\x12\
+ \x19\n\x08tx_index\x18\x02\x20\x02(\rR\x07txIndex\x12+\n\x11certificate_\
+ index\x18\x03\x20\x02(\rR\x10certificateIndex\"\xef\x02\n\x13CardanoNati\
+ veScript\x12G\n\x04type\x18\x01\x20\x02(\x0e23.hw.trezor.messages.cardan\
+ o.CardanoNativeScriptTypeR\x04type\x12I\n\x07scripts\x18\x02\x20\x03(\
+ \x0b2/.hw.trezor.messages.cardano.CardanoNativeScriptR\x07scripts\x12\
+ \x19\n\x08key_hash\x18\x03\x20\x01(\x0cR\x07keyHash\x12\x19\n\x08key_pat\
+ h\x18\x04\x20\x03(\rR\x07keyPath\x12:\n\x19required_signatures_count\x18\
+ \x05\x20\x01(\rR\x17requiredSignaturesCount\x12%\n\x0einvalid_before\x18\
+ \x06\x20\x01(\x04R\rinvalidBefore\x12+\n\x11invalid_hereafter\x18\x07\
+ \x20\x01(\x04R\x10invalidHereafter\"\xaa\x02\n\x1aCardanoGetNativeScript\
+ Hash\x12G\n\x06script\x18\x01\x20\x02(\x0b2/.hw.trezor.messages.cardano.\
+ CardanoNativeScriptR\x06script\x12g\n\x0edisplay_format\x18\x02\x20\x02(\
+ \x0e2@.hw.trezor.messages.cardano.CardanoNativeScriptHashDisplayFormatR\
+ \rdisplayFormat\x12Z\n\x0fderivation_type\x18\x03\x20\x02(\x0e21.hw.trez\
+ or.messages.cardano.CardanoDerivationTypeR\x0ederivationType\":\n\x17Car\
+ danoNativeScriptHash\x12\x1f\n\x0bscript_hash\x18\x01\x20\x02(\x0cR\nscr\
+ iptHash\"\xaf\x03\n\x1cCardanoAddressParametersType\x12Q\n\x0caddress_ty\
+ pe\x18\x01\x20\x02(\x0e2..hw.trezor.messages.cardano.CardanoAddressTypeR\
+ \x0baddressType\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addressN\x12\
+ *\n\x11address_n_staking\x18\x03\x20\x03(\rR\x0faddressNStaking\x12(\n\
+ \x10staking_key_hash\x18\x04\x20\x01(\x0cR\x0estakingKeyHash\x12i\n\x13c\
+ ertificate_pointer\x18\x05\x20\x01(\x0b28.hw.trezor.messages.cardano.Car\
+ danoBlockchainPointerTypeR\x12certificatePointer\x12.\n\x13script_paymen\
+ t_hash\x18\x06\x20\x01(\x0cR\x11scriptPaymentHash\x12.\n\x13script_staki\
+ ng_hash\x18\x07\x20\x01(\x0cR\x11scriptStakingHash\"\xe4\x02\n\x11Cardan\
+ oGetAddress\x12(\n\x0cshow_display\x18\x02\x20\x01(\x08:\x05falseR\x0bsh\
+ owDisplay\x12%\n\x0eprotocol_magic\x18\x03\x20\x02(\rR\rprotocolMagic\
+ \x12\x1d\n\nnetwork_id\x18\x04\x20\x02(\rR\tnetworkId\x12g\n\x12address_\
+ parameters\x18\x05\x20\x02(\x0b28.hw.trezor.messages.cardano.CardanoAddr\
+ essParametersTypeR\x11addressParameters\x12Z\n\x0fderivation_type\x18\
+ \x06\x20\x02(\x0e21.hw.trezor.messages.cardano.CardanoDerivationTypeR\
+ \x0ederivationType\x12\x1a\n\x08chunkify\x18\x07\x20\x01(\x08R\x08chunki\
+ fy\"<\n\x0eCardanoAddress\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07ad\
+ dress\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xb1\x01\n\x13Carda\
+ noGetPublicKey\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\
+ \n\x0cshow_display\x18\x02\x20\x01(\x08R\x0bshowDisplay\x12Z\n\x0fderiva\
+ tion_type\x18\x03\x20\x02(\x0e21.hw.trezor.messages.cardano.CardanoDeriv\
+ ationTypeR\x0ederivationType\"a\n\x10CardanoPublicKey\x12\x12\n\x04xpub\
+ \x18\x01\x20\x02(\tR\x04xpub\x129\n\x04node\x18\x02\x20\x02(\x0b2%.hw.tr\
+ ezor.messages.common.HDNodeTypeR\x04node\"\xb0\t\n\x11CardanoSignTxInit\
+ \x12S\n\x0csigning_mode\x18\x01\x20\x02(\x0e20.hw.trezor.messages.cardan\
+ o.CardanoTxSigningModeR\x0bsigningMode\x12%\n\x0eprotocol_magic\x18\x02\
+ \x20\x02(\rR\rprotocolMagic\x12\x1d\n\nnetwork_id\x18\x03\x20\x02(\rR\tn\
+ etworkId\x12!\n\x0cinputs_count\x18\x04\x20\x02(\rR\x0binputsCount\x12#\
+ \n\routputs_count\x18\x05\x20\x02(\rR\x0coutputsCount\x12\x10\n\x03fee\
+ \x18\x06\x20\x02(\x04R\x03fee\x12\x10\n\x03ttl\x18\x07\x20\x01(\x04R\x03\
+ ttl\x12-\n\x12certificates_count\x18\x08\x20\x02(\rR\x11certificatesCoun\
+ t\x12+\n\x11withdrawals_count\x18\t\x20\x02(\rR\x10withdrawalsCount\x12,\
+ \n\x12has_auxiliary_data\x18\n\x20\x02(\x08R\x10hasAuxiliaryData\x126\n\
+ \x17validity_interval_start\x18\x0b\x20\x01(\x04R\x15validityIntervalSta\
+ rt\x124\n\x16witness_requests_count\x18\x0c\x20\x02(\rR\x14witnessReques\
+ tsCount\x12;\n\x1aminting_asset_groups_count\x18\r\x20\x02(\rR\x17mintin\
+ gAssetGroupsCount\x12Z\n\x0fderivation_type\x18\x0e\x20\x02(\x0e21.hw.tr\
+ ezor.messages.cardano.CardanoDerivationTypeR\x0ederivationType\x123\n\
+ \x12include_network_id\x18\x0f\x20\x01(\x08:\x05falseR\x10includeNetwork\
+ Id\x12(\n\x10script_data_hash\x18\x10\x20\x01(\x0cR\x0escriptDataHash\
+ \x126\n\x17collateral_inputs_count\x18\x11\x20\x02(\rR\x15collateralInpu\
+ tsCount\x124\n\x16required_signers_count\x18\x12\x20\x02(\rR\x14required\
+ SignersCount\x129\n\x15has_collateral_return\x18\x13\x20\x01(\x08:\x05fa\
+ lseR\x13hasCollateralReturn\x12)\n\x10total_collateral\x18\x14\x20\x01(\
+ \x04R\x0ftotalCollateral\x127\n\x16reference_inputs_count\x18\x15\x20\
+ \x01(\r:\x010R\x14referenceInputsCount\x12\x1a\n\x08chunkify\x18\x16\x20\
+ \x01(\x08R\x08chunkify\x12)\n\rtag_cbor_sets\x18\x17\x20\x01(\x08:\x05fa\
+ lseR\x0btagCborSets\x12P\n\x0bpayment_req\x18\x18\x20\x01(\x0b2).hw.trez\
+ or.messages.common.PaymentRequestR\npaymentReqB\x04\xc8\xf0\x19\x01\"L\n\
+ \x0eCardanoTxInput\x12\x1b\n\tprev_hash\x18\x01\x20\x02(\x0cR\x08prevHas\
+ h\x12\x1d\n\nprev_index\x18\x02\x20\x02(\rR\tprevIndex\"\xc5\x03\n\x0fCa\
+ rdanoTxOutput\x12\x18\n\x07address\x18\x01\x20\x01(\tR\x07address\x12g\n\
+ \x12address_parameters\x18\x02\x20\x01(\x0b28.hw.trezor.messages.cardano\
+ .CardanoAddressParametersTypeR\x11addressParameters\x12\x16\n\x06amount\
+ \x18\x03\x20\x02(\x04R\x06amount\x12,\n\x12asset_groups_count\x18\x04\
+ \x20\x02(\rR\x10assetGroupsCount\x12\x1d\n\ndatum_hash\x18\x05\x20\x01(\
+ \x0cR\tdatumHash\x12d\n\x06format\x18\x06\x20\x01(\x0e2>.hw.trezor.messa\
+ ges.cardano.CardanoTxOutputSerializationFormat:\x0cARRAY_LEGACYR\x06form\
+ at\x12-\n\x11inline_datum_size\x18\x07\x20\x01(\r:\x010R\x0finlineDatumS\
+ ize\x125\n\x15reference_script_size\x18\x08\x20\x01(\r:\x010R\x13referen\
+ ceScriptSize\"S\n\x11CardanoAssetGroup\x12\x1b\n\tpolicy_id\x18\x01\x20\
+ \x02(\x0cR\x08policyId\x12!\n\x0ctokens_count\x18\x02\x20\x02(\rR\x0btok\
+ ensCount\"q\n\x0cCardanoToken\x12(\n\x10asset_name_bytes\x18\x01\x20\x02\
+ (\x0cR\x0eassetNameBytes\x12\x16\n\x06amount\x18\x02\x20\x01(\x04R\x06am\
+ ount\x12\x1f\n\x0bmint_amount\x18\x03\x20\x01(\x12R\nmintAmount\"/\n\x19\
+ CardanoTxInlineDatumChunk\x12\x12\n\x04data\x18\x01\x20\x02(\x0cR\x04dat\
+ a\"3\n\x1dCardanoTxReferenceScriptChunk\x12\x12\n\x04data\x18\x01\x20\
+ \x02(\x0cR\x04data\"f\n\x10CardanoPoolOwner\x12(\n\x10staking_key_path\
+ \x18\x01\x20\x03(\rR\x0estakingKeyPath\x12(\n\x10staking_key_hash\x18\
+ \x02\x20\x01(\x0cR\x0estakingKeyHash\"\xd9\x01\n\x1aCardanoPoolRelayPara\
+ meters\x12D\n\x04type\x18\x01\x20\x02(\x0e20.hw.trezor.messages.cardano.\
+ CardanoPoolRelayTypeR\x04type\x12!\n\x0cipv4_address\x18\x02\x20\x01(\
+ \x0cR\x0bipv4Address\x12!\n\x0cipv6_address\x18\x03\x20\x01(\x0cR\x0bipv\
+ 6Address\x12\x1b\n\thost_name\x18\x04\x20\x01(\tR\x08hostName\x12\x12\n\
+ \x04port\x18\x05\x20\x01(\rR\x04port\"?\n\x17CardanoPoolMetadataType\x12\
+ \x10\n\x03url\x18\x01\x20\x02(\tR\x03url\x12\x12\n\x04hash\x18\x02\x20\
+ \x02(\x0cR\x04hash\"\x9a\x03\n\x19CardanoPoolParametersType\x12\x17\n\
+ \x07pool_id\x18\x01\x20\x02(\x0cR\x06poolId\x12\x20\n\x0cvrf_key_hash\
+ \x18\x02\x20\x02(\x0cR\nvrfKeyHash\x12\x16\n\x06pledge\x18\x03\x20\x02(\
+ \x04R\x06pledge\x12\x12\n\x04cost\x18\x04\x20\x02(\x04R\x04cost\x12)\n\
+ \x10margin_numerator\x18\x05\x20\x02(\x04R\x0fmarginNumerator\x12-\n\x12\
+ margin_denominator\x18\x06\x20\x02(\x04R\x11marginDenominator\x12%\n\x0e\
+ reward_account\x18\x07\x20\x02(\tR\rrewardAccount\x12O\n\x08metadata\x18\
+ \n\x20\x01(\x0b23.hw.trezor.messages.cardano.CardanoPoolMetadataTypeR\
+ \x08metadata\x12!\n\x0cowners_count\x18\x0b\x20\x02(\rR\x0bownersCount\
+ \x12!\n\x0crelays_count\x18\x0c\x20\x02(\rR\x0brelaysCount\"\x8a\x01\n\
+ \x0bCardanoDRep\x12?\n\x04type\x18\x01\x20\x02(\x0e2+.hw.trezor.messages\
+ .cardano.CardanoDRepTypeR\x04type\x12\x19\n\x08key_hash\x18\x02\x20\x01(\
+ \x0cR\x07keyHash\x12\x1f\n\x0bscript_hash\x18\x03\x20\x01(\x0cR\nscriptH\
+ ash\"\xf9\x02\n\x14CardanoTxCertificate\x12F\n\x04type\x18\x01\x20\x02(\
+ \x0e22.hw.trezor.messages.cardano.CardanoCertificateTypeR\x04type\x12\
+ \x12\n\x04path\x18\x02\x20\x03(\rR\x04path\x12\x12\n\x04pool\x18\x03\x20\
+ \x01(\x0cR\x04pool\x12^\n\x0fpool_parameters\x18\x04\x20\x01(\x0b25.hw.t\
+ rezor.messages.cardano.CardanoPoolParametersTypeR\x0epoolParameters\x12\
+ \x1f\n\x0bscript_hash\x18\x05\x20\x01(\x0cR\nscriptHash\x12\x19\n\x08key\
+ _hash\x18\x06\x20\x01(\x0cR\x07keyHash\x12\x18\n\x07deposit\x18\x07\x20\
+ \x01(\x04R\x07deposit\x12;\n\x04drep\x18\x08\x20\x01(\x0b2'.hw.trezor.me\
+ ssages.cardano.CardanoDRepR\x04drep\"}\n\x13CardanoTxWithdrawal\x12\x12\
+ \n\x04path\x18\x01\x20\x03(\rR\x04path\x12\x16\n\x06amount\x18\x02\x20\
+ \x02(\x04R\x06amount\x12\x1f\n\x0bscript_hash\x18\x03\x20\x01(\x0cR\nscr\
+ iptHash\x12\x19\n\x08key_hash\x18\x04\x20\x01(\x0cR\x07keyHash\"d\n\"Car\
+ danoCVoteRegistrationDelegation\x12&\n\x0fvote_public_key\x18\x01\x20\
+ \x02(\x0cR\rvotePublicKey\x12\x16\n\x06weight\x18\x02\x20\x02(\rR\x06wei\
+ ght\"\x8e\x04\n&CardanoCVoteRegistrationParametersType\x12&\n\x0fvote_pu\
+ blic_key\x18\x01\x20\x01(\x0cR\rvotePublicKey\x12!\n\x0cstaking_path\x18\
+ \x02\x20\x03(\rR\x0bstakingPath\x12v\n\x1apayment_address_parameters\x18\
+ \x03\x20\x01(\x0b28.hw.trezor.messages.cardano.CardanoAddressParametersT\
+ ypeR\x18paymentAddressParameters\x12\x14\n\x05nonce\x18\x04\x20\x02(\x04\
+ R\x05nonce\x12Y\n\x06format\x18\x05\x20\x01(\x0e2:.hw.trezor.messages.ca\
+ rdano.CardanoCVoteRegistrationFormat:\x05CIP15R\x06format\x12`\n\x0bdele\
+ gations\x18\x06\x20\x03(\x0b2>.hw.trezor.messages.cardano.CardanoCVoteRe\
+ gistrationDelegationR\x0bdelegations\x12%\n\x0evoting_purpose\x18\x07\
+ \x20\x01(\x04R\rvotingPurpose\x12'\n\x0fpayment_address\x18\x08\x20\x01(\
+ \tR\x0epaymentAddress\"\xb5\x01\n\x16CardanoTxAuxiliaryData\x12\x86\x01\
+ \n\x1dcvote_registration_parameters\x18\x01\x20\x01(\x0b2B.hw.trezor.mes\
+ sages.cardano.CardanoCVoteRegistrationParametersTypeR\x1bcvoteRegistrati\
+ onParameters\x12\x12\n\x04hash\x18\x02\x20\x01(\x0cR\x04hash\"=\n\rCarda\
+ noTxMint\x12,\n\x12asset_groups_count\x18\x01\x20\x02(\rR\x10assetGroups\
+ Count\"V\n\x18CardanoTxCollateralInput\x12\x1b\n\tprev_hash\x18\x01\x20\
+ \x02(\x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x02\x20\x02(\rR\tprevIn\
+ dex\"O\n\x17CardanoTxRequiredSigner\x12\x19\n\x08key_hash\x18\x01\x20\
+ \x01(\x0cR\x07keyHash\x12\x19\n\x08key_path\x18\x02\x20\x03(\rR\x07keyPa\
+ th\"U\n\x17CardanoTxReferenceInput\x12\x1b\n\tprev_hash\x18\x01\x20\x02(\
+ \x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x02\x20\x02(\rR\tprevIndex\"\
+ \x12\n\x10CardanoTxItemAck\"\xea\x01\n\x20CardanoTxAuxiliaryDataSuppleme\
+ nt\x12T\n\x04type\x18\x01\x20\x02(\x0e2@.hw.trezor.messages.cardano.Card\
+ anoTxAuxiliaryDataSupplementTypeR\x04type\x12.\n\x13auxiliary_data_hash\
+ \x18\x02\x20\x01(\x0cR\x11auxiliaryDataHash\x12@\n\x1ccvote_registration\
+ _signature\x18\x03\x20\x01(\x0cR\x1acvoteRegistrationSignature\"-\n\x17C\
+ ardanoTxWitnessRequest\x12\x12\n\x04path\x18\x01\x20\x03(\rR\x04path\"\
+ \xb6\x01\n\x18CardanoTxWitnessResponse\x12D\n\x04type\x18\x01\x20\x02(\
+ \x0e20.hw.trezor.messages.cardano.CardanoTxWitnessTypeR\x04type\x12\x17\
+ \n\x07pub_key\x18\x02\x20\x02(\x0cR\x06pubKey\x12\x1c\n\tsignature\x18\
+ \x03\x20\x02(\x0cR\tsignature\x12\x1d\n\nchain_code\x18\x04\x20\x01(\x0c\
+ R\tchainCode\"\x12\n\x10CardanoTxHostAck\",\n\x11CardanoTxBodyHash\x12\
+ \x17\n\x07tx_hash\x18\x01\x20\x02(\x0cR\x06txHash\"\x17\n\x15CardanoSign\
+ TxFinished\"\x97\x03\n\x16CardanoSignMessageInit\x12%\n\x0eprotocol_magi\
+ c\x18\x01\x20\x01(\rR\rprotocolMagic\x12\x1d\n\nnetwork_id\x18\x02\x20\
+ \x01(\rR\tnetworkId\x12!\n\x0csigning_path\x18\x03\x20\x03(\rR\x0bsignin\
+ gPath\x12!\n\x0cpayload_size\x18\x04\x20\x02(\rR\x0bpayloadSize\x12,\n\
+ \x12prefer_hex_display\x18\x05\x20\x02(\x08R\x10preferHexDisplay\x12g\n\
+ \x12address_parameters\x18\x06\x20\x01(\x0b28.hw.trezor.messages.cardano\
+ .CardanoAddressParametersTypeR\x11addressParameters\x12Z\n\x0fderivation\
+ _type\x18\x07\x20\x02(\x0e21.hw.trezor.messages.cardano.CardanoDerivatio\
+ nTypeR\x0ederivationType\"K\n\x19CardanoMessageDataRequest\x12\x16\n\x06\
+ length\x18\x01\x20\x02(\rR\x06length\x12\x16\n\x06offset\x18\x02\x20\x02\
+ (\rR\x06offset\"0\n\x1aCardanoMessageDataResponse\x12\x12\n\x04data\x18\
+ \x01\x20\x02(\x0cR\x04data\"j\n\x17CardanoMessageSignature\x12\x1c\n\tsi\
+ gnature\x18\x01\x20\x02(\x0cR\tsignature\x12\x18\n\x07address\x18\x02\
+ \x20\x02(\x0cR\x07address\x12\x17\n\x07pub_key\x18\x03\x20\x02(\x0cR\x06\
+ pubKey*B\n\x15CardanoDerivationType\x12\n\n\x06LEDGER\x10\0\x12\n\n\x06I\
+ CARUS\x10\x01\x12\x11\n\rICARUS_TREZOR\x10\x02*\xd2\x01\n\x12CardanoAddr\
+ essType\x12\x08\n\x04BASE\x10\0\x12\x13\n\x0fBASE_SCRIPT_KEY\x10\x01\x12\
+ \x13\n\x0fBASE_KEY_SCRIPT\x10\x02\x12\x16\n\x12BASE_SCRIPT_SCRIPT\x10\
+ \x03\x12\x0b\n\x07POINTER\x10\x04\x12\x12\n\x0ePOINTER_SCRIPT\x10\x05\
+ \x12\x0e\n\nENTERPRISE\x10\x06\x12\x15\n\x11ENTERPRISE_SCRIPT\x10\x07\
+ \x12\t\n\x05BYRON\x10\x08\x12\n\n\x06REWARD\x10\x0e\x12\x11\n\rREWARD_SC\
+ RIPT\x10\x0f*o\n\x17CardanoNativeScriptType\x12\x0b\n\x07PUB_KEY\x10\0\
+ \x12\x07\n\x03ALL\x10\x01\x12\x07\n\x03ANY\x10\x02\x12\n\n\x06N_OF_K\x10\
+ \x03\x12\x12\n\x0eINVALID_BEFORE\x10\x04\x12\x15\n\x11INVALID_HEREAFTER\
+ \x10\x05*K\n$CardanoNativeScriptHashDisplayFormat\x12\x08\n\x04HIDE\x10\
+ \0\x12\n\n\x06BECH32\x10\x01\x12\r\n\tPOLICY_ID\x10\x02*G\n\"CardanoTxOu\
+ tputSerializationFormat\x12\x10\n\x0cARRAY_LEGACY\x10\0\x12\x0f\n\x0bMAP\
+ _BABBAGE\x10\x01*\xd2\x01\n\x16CardanoCertificateType\x12\x16\n\x12STAKE\
+ _REGISTRATION\x10\0\x12\x18\n\x14STAKE_DEREGISTRATION\x10\x01\x12\x14\n\
+ \x10STAKE_DELEGATION\x10\x02\x12\x1b\n\x17STAKE_POOL_REGISTRATION\x10\
+ \x03\x12\x1d\n\x19STAKE_REGISTRATION_CONWAY\x10\x07\x12\x1f\n\x1bSTAKE_D\
+ EREGISTRATION_CONWAY\x10\x08\x12\x13\n\x0fVOTE_DELEGATION\x10\t*P\n\x0fC\
+ ardanoDRepType\x12\x0c\n\x08KEY_HASH\x10\0\x12\x0f\n\x0bSCRIPT_HASH\x10\
+ \x01\x12\x0b\n\x07ABSTAIN\x10\x02\x12\x11\n\rNO_CONFIDENCE\x10\x03*X\n\
+ \x14CardanoPoolRelayType\x12\x12\n\x0eSINGLE_HOST_IP\x10\0\x12\x14\n\x10\
+ SINGLE_HOST_NAME\x10\x01\x12\x16\n\x12MULTIPLE_HOST_NAME\x10\x02*R\n$Car\
+ danoTxAuxiliaryDataSupplementType\x12\x08\n\x04NONE\x10\0\x12\x20\n\x1cC\
+ VOTE_REGISTRATION_SIGNATURE\x10\x01*6\n\x1eCardanoCVoteRegistrationForma\
+ t\x12\t\n\x05CIP15\x10\0\x12\t\n\x05CIP36\x10\x01*\x82\x01\n\x14CardanoT\
+ xSigningMode\x12\x18\n\x14ORDINARY_TRANSACTION\x10\0\x12\x1e\n\x1aPOOL_R\
+ EGISTRATION_AS_OWNER\x10\x01\x12\x18\n\x14MULTISIG_TRANSACTION\x10\x02\
+ \x12\x16\n\x12PLUTUS_TRANSACTION\x10\x03*>\n\x14CardanoTxWitnessType\x12\
+ \x11\n\rBYRON_WITNESS\x10\0\x12\x13\n\x0fSHELLEY_WITNESS\x10\x01B;\n#com\
+ .satoshilabs.trezor.lib.protobufB\x14TrezorMessageCardano\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -11694,8 +11694,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(1);
+ let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
+ deps.push(super::options::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(41);
messages.push(CardanoBlockchainPointerType::generated_message_descriptor_data());
messages.push(CardanoNativeScript::generated_message_descriptor_data());
diff --git a/rust/trezor-client/src/protos/generated/messages_common.rs b/rust/trezor-client/src/protos/generated/messages_common.rs
index 697fbb2f..2c44e4cd 100644
--- a/rust/trezor-client/src/protos/generated/messages_common.rs
+++ b/rust/trezor-client/src/protos/generated/messages_common.rs
@@ -4060,7 +4060,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
gerprint\x18\x02\x20\x02(\rR\x0bfingerprint\x12\x1b\n\tchild_num\x18\x03\
\x20\x02(\rR\x08childNum\x12\x1d\n\nchain_code\x18\x04\x20\x02(\x0cR\tch\
ainCode\x12\x1f\n\x0bprivate_key\x18\x05\x20\x01(\x0cR\nprivateKey\x12\
- \x1d\n\npublic_key\x18\x06\x20\x02(\x0cR\tpublicKey\"\xb4\x07\n\x0ePayme\
+ \x1d\n\npublic_key\x18\x06\x20\x02(\x0cR\tpublicKey\"\xba\x07\n\x0ePayme\
ntRequest\x12\x14\n\x05nonce\x18\x01\x20\x01(\x0cR\x05nonce\x12%\n\x0ere\
cipient_name\x18\x02\x20\x02(\tR\rrecipientName\x12R\n\x05memos\x18\x03\
\x20\x03(\x0b2<.hw.trezor.messages.common.PaymentRequest.PaymentRequestM\
@@ -4081,9 +4081,9 @@ static file_descriptor_proto_data: &'static [u8] = b"\
CoinPurchaseMemo\x12\x1b\n\tcoin_type\x18\x01\x20\x02(\rR\x08coinType\
\x12\x16\n\x06amount\x18\x02\x20\x02(\tR\x06amount\x12\x18\n\x07address\
\x18\x03\x20\x02(\tR\x07address\x12\x1b\n\taddress_n\x18\x04\x20\x03(\rR\
- \x08addressN\x12\x10\n\x03mac\x18\x05\x20\x02(\x0cR\x03macJ\x04\x08\x04\
- \x10\x05B>\n#com.satoshilabs.trezor.lib.protobufB\x13TrezorMessageCommon\
- \x80\xa6\x1d\x01\
+ \x08addressN\x12\x10\n\x03mac\x18\x05\x20\x02(\x0cR\x03mac:\x04\x88\xb2\
+ \x19\x01J\x04\x08\x04\x10\x05B>\n#com.satoshilabs.trezor.lib.protobufB\
+ \x13TrezorMessageCommon\x80\xa6\x1d\x01\
";
/// `FileDescriptorProto` object which was a source for this generated file
diff --git a/rust/trezor-client/src/protos/generated/messages_crypto.rs b/rust/trezor-client/src/protos/generated/messages_crypto.rs
index 11ea1565..18806cae 100644
--- a/rust/trezor-client/src/protos/generated/messages_crypto.rs
+++ b/rust/trezor-client/src/protos/generated/messages_crypto.rs
@@ -2176,10 +2176,10 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x20\x02(\x0cR\rpeerPublicKey\x12(\n\x10ecdsa_curve_name\x18\x03\x20\x01\
(\tR\x0eecdsaCurveName\"P\n\x0eECDHSessionKey\x12\x1f\n\x0bsession_key\
\x18\x01\x20\x02(\x0cR\nsessionKey\x12\x1d\n\npublic_key\x18\x02\x20\x01\
- (\x0cR\tpublicKey\"a\n\x13PaymentNotification\x12J\n\x0bpayment_req\x18\
+ (\x0cR\tpublicKey\"g\n\x13PaymentNotification\x12J\n\x0bpayment_req\x18\
\x01\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentRe\
- qB>\n#com.satoshilabs.trezor.lib.protobufB\x13TrezorMessageCrypto\x80\
- \xa6\x1d\x01\
+ q:\x04\x88\xb2\x19\x01B>\n#com.satoshilabs.trezor.lib.protobufB\x13Trezo\
+ rMessageCrypto\x80\xa6\x1d\x01\
";
/// `FileDescriptorProto` object which was a source for this generated file
diff --git a/rust/trezor-client/src/protos/generated/messages_ethereum.rs b/rust/trezor-client/src/protos/generated/messages_ethereum.rs
index 543d6986..f0443c6a 100644
--- a/rust/trezor-client/src/protos/generated/messages_ethereum.rs
+++ b/rust/trezor-client/src/protos/generated/messages_ethereum.rs
@@ -4408,68 +4408,69 @@ impl ::protobuf::reflect::ProtobufValue for EthereumDefinitions {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x17messages-ethereum.proto\x12\x1bhw.trezor.messages.ethereum\x1a\x15\
- messages-common.proto\"V\n\x14EthereumGetPublicKey\x12\x1b\n\taddress_n\
- \x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\
- \x08R\x0bshowDisplay\"b\n\x11EthereumPublicKey\x129\n\x04node\x18\x01\
- \x20\x02(\x0b2%.hw.trezor.messages.common.HDNodeTypeR\x04node\x12\x12\n\
- \x04xpub\x18\x02\x20\x02(\tR\x04xpub\"\x99\x01\n\x12EthereumGetAddress\
+ messages-common.proto\x1a\roptions.proto\"V\n\x14EthereumGetPublicKey\
\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_dis\
- play\x18\x02\x20\x01(\x08R\x0bshowDisplay\x12'\n\x0fencoded_network\x18\
- \x03\x20\x01(\x0cR\x0eencodedNetwork\x12\x1a\n\x08chunkify\x18\x04\x20\
- \x01(\x08R\x08chunkify\"c\n\x0fEthereumAddress\x12$\n\x0c_old_address\
- \x18\x01\x20\x01(\x0cR\nOldAddressB\x02\x18\x01\x12\x18\n\x07address\x18\
- \x02\x20\x01(\tR\x07address\x12\x10\n\x03mac\x18\x03\x20\x01(\x0cR\x03ma\
- c\"\xed\x03\n\x0eEthereumSignTx\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\
- \x08addressN\x12\x16\n\x05nonce\x18\x02\x20\x01(\x0c:\0R\x05nonce\x12\
- \x1b\n\tgas_price\x18\x03\x20\x02(\x0cR\x08gasPrice\x12\x1b\n\tgas_limit\
- \x18\x04\x20\x02(\x0cR\x08gasLimit\x12\x10\n\x02to\x18\x0b\x20\x01(\t:\0\
- R\x02to\x12\x16\n\x05value\x18\x06\x20\x01(\x0c:\0R\x05value\x12.\n\x12d\
- ata_initial_chunk\x18\x07\x20\x01(\x0c:\0R\x10dataInitialChunk\x12\"\n\
- \x0bdata_length\x18\x08\x20\x01(\r:\x010R\ndataLength\x12\x19\n\x08chain\
- _id\x18\t\x20\x02(\x04R\x07chainId\x12\x17\n\x07tx_type\x18\n\x20\x01(\r\
- R\x06txType\x12R\n\x0bdefinitions\x18\x0c\x20\x01(\x0b20.hw.trezor.messa\
- ges.ethereum.EthereumDefinitionsR\x0bdefinitions\x12\x1a\n\x08chunkify\
- \x18\r\x20\x01(\x08R\x08chunkify\x12J\n\x0bpayment_req\x18\x0e\x20\x01(\
- \x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentReq\"\xbc\x05\n\
- \x15EthereumSignTxEIP1559\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08ad\
- dressN\x12\x14\n\x05nonce\x18\x02\x20\x02(\x0cR\x05nonce\x12\x1e\n\x0bma\
- x_gas_fee\x18\x03\x20\x02(\x0cR\tmaxGasFee\x12(\n\x10max_priority_fee\
- \x18\x04\x20\x02(\x0cR\x0emaxPriorityFee\x12\x1b\n\tgas_limit\x18\x05\
- \x20\x02(\x0cR\x08gasLimit\x12\x10\n\x02to\x18\x06\x20\x01(\t:\0R\x02to\
- \x12\x14\n\x05value\x18\x07\x20\x02(\x0cR\x05value\x12.\n\x12data_initia\
- l_chunk\x18\x08\x20\x01(\x0c:\0R\x10dataInitialChunk\x12\x1f\n\x0bdata_l\
- ength\x18\t\x20\x02(\rR\ndataLength\x12\x19\n\x08chain_id\x18\n\x20\x02(\
- \x04R\x07chainId\x12f\n\x0baccess_list\x18\x0b\x20\x03(\x0b2E.hw.trezor.\
- messages.ethereum.EthereumSignTxEIP1559.EthereumAccessListR\naccessList\
- \x12R\n\x0bdefinitions\x18\x0c\x20\x01(\x0b20.hw.trezor.messages.ethereu\
- m.EthereumDefinitionsR\x0bdefinitions\x12\x1a\n\x08chunkify\x18\r\x20\
- \x01(\x08R\x08chunkify\x12J\n\x0bpayment_req\x18\x0e\x20\x01(\x0b2).hw.t\
- rezor.messages.common.PaymentRequestR\npaymentReq\x1aQ\n\x12EthereumAcce\
- ssList\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07address\x12!\n\x0csto\
- rage_keys\x18\x02\x20\x03(\x0cR\x0bstorageKeys\"\x97\x01\n\x11EthereumTx\
- Request\x12\x1f\n\x0bdata_length\x18\x01\x20\x01(\rR\ndataLength\x12\x1f\
- \n\x0bsignature_v\x18\x02\x20\x01(\rR\nsignatureV\x12\x1f\n\x0bsignature\
- _r\x18\x03\x20\x01(\x0cR\nsignatureR\x12\x1f\n\x0bsignature_s\x18\x04\
- \x20\x01(\x0cR\nsignatureS\".\n\rEthereumTxAck\x12\x1d\n\ndata_chunk\x18\
- \x01\x20\x02(\x0cR\tdataChunk\"\x91\x01\n\x13EthereumSignMessage\x12\x1b\
- \n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x18\n\x07message\x18\
- \x02\x20\x02(\x0cR\x07message\x12'\n\x0fencoded_network\x18\x03\x20\x01(\
- \x0cR\x0eencodedNetwork\x12\x1a\n\x08chunkify\x18\x04\x20\x01(\x08R\x08c\
- hunkify\"R\n\x18EthereumMessageSignature\x12\x1c\n\tsignature\x18\x02\
- \x20\x02(\x0cR\tsignature\x12\x18\n\x07address\x18\x03\x20\x02(\tR\x07ad\
- dress\"\x85\x01\n\x15EthereumVerifyMessage\x12\x1c\n\tsignature\x18\x02\
- \x20\x02(\x0cR\tsignature\x12\x18\n\x07message\x18\x03\x20\x02(\x0cR\x07\
- message\x12\x18\n\x07address\x18\x04\x20\x02(\tR\x07address\x12\x1a\n\
- \x08chunkify\x18\x05\x20\x01(\x08R\x08chunkify\"\xb4\x01\n\x15EthereumSi\
- gnTypedHash\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x122\n\
- \x15domain_separator_hash\x18\x02\x20\x02(\x0cR\x13domainSeparatorHash\
- \x12!\n\x0cmessage_hash\x18\x03\x20\x01(\x0cR\x0bmessageHash\x12'\n\x0fe\
- ncoded_network\x18\x04\x20\x01(\x0cR\x0eencodedNetwork\"T\n\x1aEthereumT\
- ypedDataSignature\x12\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\
- \x12\x18\n\x07address\x18\x02\x20\x02(\tR\x07address\"c\n\x13EthereumDef\
- initions\x12'\n\x0fencoded_network\x18\x01\x20\x01(\x0cR\x0eencodedNetwo\
- rk\x12#\n\rencoded_token\x18\x02\x20\x01(\x0cR\x0cencodedTokenB<\n#com.s\
- atoshilabs.trezor.lib.protobufB\x15TrezorMessageEthereum\
+ play\x18\x02\x20\x01(\x08R\x0bshowDisplay\"b\n\x11EthereumPublicKey\x129\
+ \n\x04node\x18\x01\x20\x02(\x0b2%.hw.trezor.messages.common.HDNodeTypeR\
+ \x04node\x12\x12\n\x04xpub\x18\x02\x20\x02(\tR\x04xpub\"\x99\x01\n\x12Et\
+ hereumGetAddress\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\
+ \x12!\n\x0cshow_display\x18\x02\x20\x01(\x08R\x0bshowDisplay\x12'\n\x0fe\
+ ncoded_network\x18\x03\x20\x01(\x0cR\x0eencodedNetwork\x12\x1a\n\x08chun\
+ kify\x18\x04\x20\x01(\x08R\x08chunkify\"c\n\x0fEthereumAddress\x12$\n\
+ \x0c_old_address\x18\x01\x20\x01(\x0cR\nOldAddressB\x02\x18\x01\x12\x18\
+ \n\x07address\x18\x02\x20\x01(\tR\x07address\x12\x10\n\x03mac\x18\x03\
+ \x20\x01(\x0cR\x03mac\"\xf3\x03\n\x0eEthereumSignTx\x12\x1b\n\taddress_n\
+ \x18\x01\x20\x03(\rR\x08addressN\x12\x16\n\x05nonce\x18\x02\x20\x01(\x0c\
+ :\0R\x05nonce\x12\x1b\n\tgas_price\x18\x03\x20\x02(\x0cR\x08gasPrice\x12\
+ \x1b\n\tgas_limit\x18\x04\x20\x02(\x0cR\x08gasLimit\x12\x10\n\x02to\x18\
+ \x0b\x20\x01(\t:\0R\x02to\x12\x16\n\x05value\x18\x06\x20\x01(\x0c:\0R\
+ \x05value\x12.\n\x12data_initial_chunk\x18\x07\x20\x01(\x0c:\0R\x10dataI\
+ nitialChunk\x12\"\n\x0bdata_length\x18\x08\x20\x01(\r:\x010R\ndataLength\
+ \x12\x19\n\x08chain_id\x18\t\x20\x02(\x04R\x07chainId\x12\x17\n\x07tx_ty\
+ pe\x18\n\x20\x01(\rR\x06txType\x12R\n\x0bdefinitions\x18\x0c\x20\x01(\
+ \x0b20.hw.trezor.messages.ethereum.EthereumDefinitionsR\x0bdefinitions\
+ \x12\x1a\n\x08chunkify\x18\r\x20\x01(\x08R\x08chunkify\x12P\n\x0bpayment\
+ _req\x18\x0e\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\np\
+ aymentReqB\x04\xc8\xf0\x19\x01\"\xc2\x05\n\x15EthereumSignTxEIP1559\x12\
+ \x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x14\n\x05nonce\x18\
+ \x02\x20\x02(\x0cR\x05nonce\x12\x1e\n\x0bmax_gas_fee\x18\x03\x20\x02(\
+ \x0cR\tmaxGasFee\x12(\n\x10max_priority_fee\x18\x04\x20\x02(\x0cR\x0emax\
+ PriorityFee\x12\x1b\n\tgas_limit\x18\x05\x20\x02(\x0cR\x08gasLimit\x12\
+ \x10\n\x02to\x18\x06\x20\x01(\t:\0R\x02to\x12\x14\n\x05value\x18\x07\x20\
+ \x02(\x0cR\x05value\x12.\n\x12data_initial_chunk\x18\x08\x20\x01(\x0c:\0\
+ R\x10dataInitialChunk\x12\x1f\n\x0bdata_length\x18\t\x20\x02(\rR\ndataLe\
+ ngth\x12\x19\n\x08chain_id\x18\n\x20\x02(\x04R\x07chainId\x12f\n\x0bacce\
+ ss_list\x18\x0b\x20\x03(\x0b2E.hw.trezor.messages.ethereum.EthereumSignT\
+ xEIP1559.EthereumAccessListR\naccessList\x12R\n\x0bdefinitions\x18\x0c\
+ \x20\x01(\x0b20.hw.trezor.messages.ethereum.EthereumDefinitionsR\x0bdefi\
+ nitions\x12\x1a\n\x08chunkify\x18\r\x20\x01(\x08R\x08chunkify\x12P\n\x0b\
+ payment_req\x18\x0e\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequ\
+ estR\npaymentReqB\x04\xc8\xf0\x19\x01\x1aQ\n\x12EthereumAccessList\x12\
+ \x18\n\x07address\x18\x01\x20\x02(\tR\x07address\x12!\n\x0cstorage_keys\
+ \x18\x02\x20\x03(\x0cR\x0bstorageKeys\"\x97\x01\n\x11EthereumTxRequest\
+ \x12\x1f\n\x0bdata_length\x18\x01\x20\x01(\rR\ndataLength\x12\x1f\n\x0bs\
+ ignature_v\x18\x02\x20\x01(\rR\nsignatureV\x12\x1f\n\x0bsignature_r\x18\
+ \x03\x20\x01(\x0cR\nsignatureR\x12\x1f\n\x0bsignature_s\x18\x04\x20\x01(\
+ \x0cR\nsignatureS\".\n\rEthereumTxAck\x12\x1d\n\ndata_chunk\x18\x01\x20\
+ \x02(\x0cR\tdataChunk\"\x91\x01\n\x13EthereumSignMessage\x12\x1b\n\taddr\
+ ess_n\x18\x01\x20\x03(\rR\x08addressN\x12\x18\n\x07message\x18\x02\x20\
+ \x02(\x0cR\x07message\x12'\n\x0fencoded_network\x18\x03\x20\x01(\x0cR\
+ \x0eencodedNetwork\x12\x1a\n\x08chunkify\x18\x04\x20\x01(\x08R\x08chunki\
+ fy\"R\n\x18EthereumMessageSignature\x12\x1c\n\tsignature\x18\x02\x20\x02\
+ (\x0cR\tsignature\x12\x18\n\x07address\x18\x03\x20\x02(\tR\x07address\"\
+ \x85\x01\n\x15EthereumVerifyMessage\x12\x1c\n\tsignature\x18\x02\x20\x02\
+ (\x0cR\tsignature\x12\x18\n\x07message\x18\x03\x20\x02(\x0cR\x07message\
+ \x12\x18\n\x07address\x18\x04\x20\x02(\tR\x07address\x12\x1a\n\x08chunki\
+ fy\x18\x05\x20\x01(\x08R\x08chunkify\"\xb4\x01\n\x15EthereumSignTypedHas\
+ h\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x122\n\x15domain_\
+ separator_hash\x18\x02\x20\x02(\x0cR\x13domainSeparatorHash\x12!\n\x0cme\
+ ssage_hash\x18\x03\x20\x01(\x0cR\x0bmessageHash\x12'\n\x0fencoded_networ\
+ k\x18\x04\x20\x01(\x0cR\x0eencodedNetwork\"T\n\x1aEthereumTypedDataSigna\
+ ture\x12\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\x12\x18\n\x07\
+ address\x18\x02\x20\x02(\tR\x07address\"c\n\x13EthereumDefinitions\x12'\
+ \n\x0fencoded_network\x18\x01\x20\x01(\x0cR\x0eencodedNetwork\x12#\n\ren\
+ coded_token\x18\x02\x20\x01(\x0cR\x0cencodedTokenB<\n#com.satoshilabs.tr\
+ ezor.lib.protobufB\x15TrezorMessageEthereum\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -4486,8 +4487,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(1);
+ let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
+ deps.push(super::options::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(15);
messages.push(EthereumGetPublicKey::generated_message_descriptor_data());
messages.push(EthereumPublicKey::generated_message_descriptor_data());
diff --git a/rust/trezor-client/src/protos/generated/messages_management.rs b/rust/trezor-client/src/protos/generated/messages_management.rs
index c645ff65..5152df54 100644
--- a/rust/trezor-client/src/protos/generated/messages_management.rs
+++ b/rust/trezor-client/src/protos/generated/messages_management.rs
@@ -12377,25 +12377,26 @@ static file_descriptor_proto_data: &'static [u8] = b"\
Command\x12'\n\x0ffirmware_header\x18\x02\x20\x01(\x0cR\x0efirmwareHeade\
r\x123\n\x14language_data_length\x18\x03\x20\x01(\r:\x010R\x12languageDa\
taLength\"5\n\x0bBootCommand\x12\x11\n\rSTOP_AND_WAIT\x10\0\x12\x13\n\
- \x0fINSTALL_UPGRADE\x10\x01\"\n\n\x08GetNonce\"\x1d\n\x05Nonce\x12\x14\n\
- \x05nonce\x18\x01\x20\x02(\x0cR\x05nonce\";\n\nUnlockPath\x12\x1b\n\tadd\
- ress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x10\n\x03mac\x18\x02\x20\x01(\
- \x0cR\x03mac\"'\n\x13UnlockedPathRequest\x12\x10\n\x03mac\x18\x01\x20\
- \x02(\x0cR\x03mac\"\x14\n\x12ShowDeviceTutorial\"\x12\n\x10UnlockBootloa\
- der\"%\n\rSetBrightness\x12\x14\n\x05value\x18\x01\x20\x01(\rR\x05value\
- \"\x11\n\x0fGetSerialNumber\"3\n\x0cSerialNumber\x12#\n\rserial_number\
- \x18\x01\x20\x02(\tR\x0cserialNumber*\x99\x01\n\nBackupType\x12\t\n\x05B\
- ip39\x10\0\x12\x10\n\x0cSlip39_Basic\x10\x01\x12\x13\n\x0fSlip39_Advance\
- d\x10\x02\x12\x1c\n\x18Slip39_Single_Extendable\x10\x03\x12\x1b\n\x17Sli\
- p39_Basic_Extendable\x10\x04\x12\x1e\n\x1aSlip39_Advanced_Extendable\x10\
- \x05*G\n\x10SafetyCheckLevel\x12\n\n\x06Strict\x10\0\x12\x10\n\x0cPrompt\
- Always\x10\x01\x12\x15\n\x11PromptTemporarily\x10\x02*=\n\x0fDisplayRota\
- tion\x12\t\n\x05North\x10\0\x12\x08\n\x04East\x10Z\x12\n\n\x05South\x10\
- \xb4\x01\x12\t\n\x04West\x10\x8e\x02*0\n\x10HomescreenFormat\x12\x08\n\
- \x04Toif\x10\x01\x12\x08\n\x04Jpeg\x10\x02\x12\x08\n\x04ToiG\x10\x03*H\n\
- \x0cRecoveryType\x12\x12\n\x0eNormalRecovery\x10\0\x12\n\n\x06DryRun\x10\
- \x01\x12\x18\n\x14UnlockRepeatedBackup\x10\x02BB\n#com.satoshilabs.trezo\
- r.lib.protobufB\x17TrezorMessageManagement\x80\xa6\x1d\x01\
+ \x0fINSTALL_UPGRADE\x10\x01\"\x10\n\x08GetNonce:\x04\x88\xb2\x19\x01\"#\
+ \n\x05Nonce\x12\x14\n\x05nonce\x18\x01\x20\x02(\x0cR\x05nonce:\x04\x88\
+ \xb2\x19\x01\";\n\nUnlockPath\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\
+ \x08addressN\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"'\n\x13Unloc\
+ kedPathRequest\x12\x10\n\x03mac\x18\x01\x20\x02(\x0cR\x03mac\"\x14\n\x12\
+ ShowDeviceTutorial\"\x12\n\x10UnlockBootloader\"%\n\rSetBrightness\x12\
+ \x14\n\x05value\x18\x01\x20\x01(\rR\x05value\"\x11\n\x0fGetSerialNumber\
+ \"3\n\x0cSerialNumber\x12#\n\rserial_number\x18\x01\x20\x02(\tR\x0cseria\
+ lNumber*\x99\x01\n\nBackupType\x12\t\n\x05Bip39\x10\0\x12\x10\n\x0cSlip3\
+ 9_Basic\x10\x01\x12\x13\n\x0fSlip39_Advanced\x10\x02\x12\x1c\n\x18Slip39\
+ _Single_Extendable\x10\x03\x12\x1b\n\x17Slip39_Basic_Extendable\x10\x04\
+ \x12\x1e\n\x1aSlip39_Advanced_Extendable\x10\x05*G\n\x10SafetyCheckLevel\
+ \x12\n\n\x06Strict\x10\0\x12\x10\n\x0cPromptAlways\x10\x01\x12\x15\n\x11\
+ PromptTemporarily\x10\x02*=\n\x0fDisplayRotation\x12\t\n\x05North\x10\0\
+ \x12\x08\n\x04East\x10Z\x12\n\n\x05South\x10\xb4\x01\x12\t\n\x04West\x10\
+ \x8e\x02*0\n\x10HomescreenFormat\x12\x08\n\x04Toif\x10\x01\x12\x08\n\x04\
+ Jpeg\x10\x02\x12\x08\n\x04ToiG\x10\x03*H\n\x0cRecoveryType\x12\x12\n\x0e\
+ NormalRecovery\x10\0\x12\n\n\x06DryRun\x10\x01\x12\x18\n\x14UnlockRepeat\
+ edBackup\x10\x02BB\n#com.satoshilabs.trezor.lib.protobufB\x17TrezorMessa\
+ geManagement\x80\xa6\x1d\x01\
";
/// `FileDescriptorProto` object which was a source for this generated file
diff --git a/rust/trezor-client/src/protos/generated/messages_ripple.rs b/rust/trezor-client/src/protos/generated/messages_ripple.rs
index d8bdf65f..b51880e6 100644
--- a/rust/trezor-client/src/protos/generated/messages_ripple.rs
+++ b/rust/trezor-client/src/protos/generated/messages_ripple.rs
@@ -1266,25 +1266,25 @@ impl ::protobuf::reflect::ProtobufValue for RippleSignedTx {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x15messages-ripple.proto\x12\x19hw.trezor.messages.ripple\x1a\x15mess\
- ages-common.proto\"n\n\x10RippleGetAddress\x12\x1b\n\taddress_n\x18\x01\
- \x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\x08R\
- \x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\x01(\x08R\x08chunkify\
- \";\n\rRippleAddress\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07address\
- \x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xd1\x03\n\x0cRippleSign\
- Tx\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x10\n\x03fee\
- \x18\x02\x20\x02(\x04R\x03fee\x12\x17\n\x05flags\x18\x03\x20\x01(\r:\x01\
- 0R\x05flags\x12\x1a\n\x08sequence\x18\x04\x20\x02(\rR\x08sequence\x120\n\
- \x14last_ledger_sequence\x18\x05\x20\x01(\rR\x12lastLedgerSequence\x12O\
- \n\x07payment\x18\x06\x20\x02(\x0b25.hw.trezor.messages.ripple.RippleSig\
- nTx.RipplePaymentR\x07payment\x12\x1a\n\x08chunkify\x18\x07\x20\x01(\x08\
- R\x08chunkify\x12J\n\x0bpayment_req\x18\x08\x20\x01(\x0b2).hw.trezor.mes\
- sages.common.PaymentRequestR\npaymentReq\x1ar\n\rRipplePayment\x12\x16\n\
- \x06amount\x18\x01\x20\x02(\x04R\x06amount\x12\x20\n\x0bdestination\x18\
- \x02\x20\x02(\tR\x0bdestination\x12'\n\x0fdestination_tag\x18\x03\x20\
- \x01(\rR\x0edestinationTag\"S\n\x0eRippleSignedTx\x12\x1c\n\tsignature\
- \x18\x01\x20\x02(\x0cR\tsignature\x12#\n\rserialized_tx\x18\x02\x20\x02(\
- \x0cR\x0cserializedTxB:\n#com.satoshilabs.trezor.lib.protobufB\x13Trezor\
- MessageRipple\
+ ages-common.proto\x1a\roptions.proto\"n\n\x10RippleGetAddress\x12\x1b\n\
+ \taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\
+ \x02\x20\x01(\x08R\x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\x01(\
+ \x08R\x08chunkify\";\n\rRippleAddress\x12\x18\n\x07address\x18\x01\x20\
+ \x02(\tR\x07address\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xd7\
+ \x03\n\x0cRippleSignTx\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addre\
+ ssN\x12\x10\n\x03fee\x18\x02\x20\x02(\x04R\x03fee\x12\x17\n\x05flags\x18\
+ \x03\x20\x01(\r:\x010R\x05flags\x12\x1a\n\x08sequence\x18\x04\x20\x02(\r\
+ R\x08sequence\x120\n\x14last_ledger_sequence\x18\x05\x20\x01(\rR\x12last\
+ LedgerSequence\x12O\n\x07payment\x18\x06\x20\x02(\x0b25.hw.trezor.messag\
+ es.ripple.RippleSignTx.RipplePaymentR\x07payment\x12\x1a\n\x08chunkify\
+ \x18\x07\x20\x01(\x08R\x08chunkify\x12P\n\x0bpayment_req\x18\x08\x20\x01\
+ (\x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentReqB\x04\xc8\
+ \xf0\x19\x01\x1ar\n\rRipplePayment\x12\x16\n\x06amount\x18\x01\x20\x02(\
+ \x04R\x06amount\x12\x20\n\x0bdestination\x18\x02\x20\x02(\tR\x0bdestinat\
+ ion\x12'\n\x0fdestination_tag\x18\x03\x20\x01(\rR\x0edestinationTag\"S\n\
+ \x0eRippleSignedTx\x12\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\
+ \x12#\n\rserialized_tx\x18\x02\x20\x02(\x0cR\x0cserializedTxB:\n#com.sat\
+ oshilabs.trezor.lib.protobufB\x13TrezorMessageRipple\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -1301,8 +1301,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(1);
+ let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
+ deps.push(super::options::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(5);
messages.push(RippleGetAddress::generated_message_descriptor_data());
messages.push(RippleAddress::generated_message_descriptor_data());
diff --git a/rust/trezor-client/src/protos/generated/messages_solana.rs b/rust/trezor-client/src/protos/generated/messages_solana.rs
index a315ed12..12c06cf5 100644
--- a/rust/trezor-client/src/protos/generated/messages_solana.rs
+++ b/rust/trezor-client/src/protos/generated/messages_solana.rs
@@ -1668,27 +1668,28 @@ impl ::protobuf::reflect::ProtobufValue for SolanaTxSignature {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x15messages-solana.proto\x12\x19hw.trezor.messages.solana\x1a\x15mess\
- ages-common.proto\"T\n\x12SolanaGetPublicKey\x12\x1b\n\taddress_n\x18\
- \x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\x08\
- R\x0bshowDisplay\"0\n\x0fSolanaPublicKey\x12\x1d\n\npublic_key\x18\x01\
- \x20\x02(\x0cR\tpublicKey\"n\n\x10SolanaGetAddress\x12\x1b\n\taddress_n\
- \x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\
- \x08R\x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\x01(\x08R\x08chun\
- kify\";\n\rSolanaAddress\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07add\
- ress\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xa6\x01\n\x18Solana\
- TxTokenAccountInfo\x12!\n\x0cbase_address\x18\x01\x20\x02(\tR\x0bbaseAdd\
- ress\x12#\n\rtoken_program\x18\x02\x20\x02(\tR\x0ctokenProgram\x12\x1d\n\
- \ntoken_mint\x18\x03\x20\x02(\tR\ttokenMint\x12#\n\rtoken_account\x18\
- \x04\x20\x02(\tR\x0ctokenAccount\"\xa4\x01\n\x16SolanaTxAdditionalInfo\
- \x12e\n\x14token_accounts_infos\x18\x01\x20\x03(\x0b23.hw.trezor.message\
- s.solana.SolanaTxTokenAccountInfoR\x12tokenAccountsInfos\x12#\n\rencoded\
- _token\x18\x02\x20\x01(\x0cR\x0cencodedToken\"\xf8\x01\n\x0cSolanaSignTx\
- \x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12#\n\rserialized\
- _tx\x18\x02\x20\x02(\x0cR\x0cserializedTx\x12Z\n\x0fadditional_info\x18\
- \x03\x20\x01(\x0b21.hw.trezor.messages.solana.SolanaTxAdditionalInfoR\
- \x0eadditionalInfo\x12J\n\x0bpayment_req\x18\x04\x20\x01(\x0b2).hw.trezo\
- r.messages.common.PaymentRequestR\npaymentReq\"1\n\x11SolanaTxSignature\
- \x12\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\
+ ages-common.proto\x1a\roptions.proto\"T\n\x12SolanaGetPublicKey\x12\x1b\
+ \n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\
+ \x02\x20\x01(\x08R\x0bshowDisplay\"0\n\x0fSolanaPublicKey\x12\x1d\n\npub\
+ lic_key\x18\x01\x20\x02(\x0cR\tpublicKey\"n\n\x10SolanaGetAddress\x12\
+ \x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\
+ \x18\x02\x20\x01(\x08R\x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\
+ \x01(\x08R\x08chunkify\";\n\rSolanaAddress\x12\x18\n\x07address\x18\x01\
+ \x20\x02(\tR\x07address\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\
+ \xa6\x01\n\x18SolanaTxTokenAccountInfo\x12!\n\x0cbase_address\x18\x01\
+ \x20\x02(\tR\x0bbaseAddress\x12#\n\rtoken_program\x18\x02\x20\x02(\tR\
+ \x0ctokenProgram\x12\x1d\n\ntoken_mint\x18\x03\x20\x02(\tR\ttokenMint\
+ \x12#\n\rtoken_account\x18\x04\x20\x02(\tR\x0ctokenAccount\"\xa4\x01\n\
+ \x16SolanaTxAdditionalInfo\x12e\n\x14token_accounts_infos\x18\x01\x20\
+ \x03(\x0b23.hw.trezor.messages.solana.SolanaTxTokenAccountInfoR\x12token\
+ AccountsInfos\x12#\n\rencoded_token\x18\x02\x20\x01(\x0cR\x0cencodedToke\
+ n\"\xfe\x01\n\x0cSolanaSignTx\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\
+ \x08addressN\x12#\n\rserialized_tx\x18\x02\x20\x02(\x0cR\x0cserializedTx\
+ \x12Z\n\x0fadditional_info\x18\x03\x20\x01(\x0b21.hw.trezor.messages.sol\
+ ana.SolanaTxAdditionalInfoR\x0eadditionalInfo\x12P\n\x0bpayment_req\x18\
+ \x04\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentRe\
+ qB\x04\xc8\xf0\x19\x01\"1\n\x11SolanaTxSignature\x12\x1c\n\tsignature\
+ \x18\x01\x20\x02(\x0cR\tsignature\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -1705,8 +1706,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(1);
+ let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
+ deps.push(super::options::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(8);
messages.push(SolanaGetPublicKey::generated_message_descriptor_data());
messages.push(SolanaPublicKey::generated_message_descriptor_data());
diff --git a/rust/trezor-client/src/protos/generated/messages_stellar.rs b/rust/trezor-client/src/protos/generated/messages_stellar.rs
index 08030d53..4785ee3a 100644
--- a/rust/trezor-client/src/protos/generated/messages_stellar.rs
+++ b/rust/trezor-client/src/protos/generated/messages_stellar.rs
@@ -6336,97 +6336,98 @@ impl StellarAssetType {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x16messages-stellar.proto\x12\x1ahw.trezor.messages.stellar\x1a\x15me\
- ssages-common.proto\"|\n\x0cStellarAsset\x12@\n\x04type\x18\x01\x20\x02(\
- \x0e2,.hw.trezor.messages.stellar.StellarAssetTypeR\x04type\x12\x12\n\
- \x04code\x18\x02\x20\x01(\tR\x04code\x12\x16\n\x06issuer\x18\x03\x20\x01\
- (\tR\x06issuer\"o\n\x11StellarGetAddress\x12\x1b\n\taddress_n\x18\x01\
- \x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\x08R\
- \x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\x01(\x08R\x08chunkify\
- \"<\n\x0eStellarAddress\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07addr\
- ess\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xf2\x04\n\rStellarSi\
- gnTx\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addressN\x12-\n\x12netw\
- ork_passphrase\x18\x03\x20\x02(\tR\x11networkPassphrase\x12%\n\x0esource\
- _account\x18\x04\x20\x02(\tR\rsourceAccount\x12\x10\n\x03fee\x18\x05\x20\
- \x02(\rR\x03fee\x12'\n\x0fsequence_number\x18\x06\x20\x02(\x04R\x0eseque\
- nceNumber\x12)\n\x10timebounds_start\x18\x08\x20\x02(\rR\x0ftimeboundsSt\
- art\x12%\n\x0etimebounds_end\x18\t\x20\x02(\rR\rtimeboundsEnd\x12V\n\tme\
- mo_type\x18\n\x20\x02(\x0e29.hw.trezor.messages.stellar.StellarSignTx.St\
- ellarMemoTypeR\x08memoType\x12\x1b\n\tmemo_text\x18\x0b\x20\x01(\tR\x08m\
- emoText\x12\x17\n\x07memo_id\x18\x0c\x20\x01(\x04R\x06memoId\x12\x1b\n\t\
- memo_hash\x18\r\x20\x01(\x0cR\x08memoHash\x12%\n\x0enum_operations\x18\
- \x0e\x20\x02(\rR\rnumOperations\x12J\n\x0bpayment_req\x18\x0f\x20\x01(\
- \x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentReq\"C\n\x0fSte\
- llarMemoType\x12\x08\n\x04NONE\x10\0\x12\x08\n\x04TEXT\x10\x01\x12\x06\n\
- \x02ID\x10\x02\x12\x08\n\x04HASH\x10\x03\x12\n\n\x06RETURN\x10\x04\"\x14\
- \n\x12StellarTxOpRequest\"\xc2\x01\n\x10StellarPaymentOp\x12%\n\x0esourc\
- e_account\x18\x01\x20\x01(\tR\rsourceAccount\x12/\n\x13destination_accou\
- nt\x18\x02\x20\x02(\tR\x12destinationAccount\x12>\n\x05asset\x18\x03\x20\
- \x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x05asset\x12\x16\n\
- \x06amount\x18\x04\x20\x02(\x12R\x06amount\"\x8b\x01\n\x16StellarCreateA\
- ccountOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12\
- \x1f\n\x0bnew_account\x18\x02\x20\x02(\tR\nnewAccount\x12)\n\x10starting\
- _balance\x18\x03\x20\x02(\x12R\x0fstartingBalance\"\xa5\x03\n!StellarPat\
- hPaymentStrictReceiveOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rso\
- urceAccount\x12G\n\nsend_asset\x18\x02\x20\x02(\x0b2(.hw.trezor.messages\
- .stellar.StellarAssetR\tsendAsset\x12\x19\n\x08send_max\x18\x03\x20\x02(\
- \x12R\x07sendMax\x12/\n\x13destination_account\x18\x04\x20\x02(\tR\x12de\
- stinationAccount\x12U\n\x11destination_asset\x18\x05\x20\x02(\x0b2(.hw.t\
- rezor.messages.stellar.StellarAssetR\x10destinationAsset\x12-\n\x12desti\
- nation_amount\x18\x06\x20\x02(\x12R\x11destinationAmount\x12>\n\x05paths\
- \x18\x07\x20\x03(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x05path\
- s\"\xa2\x03\n\x1eStellarPathPaymentStrictSendOp\x12%\n\x0esource_account\
- \x18\x01\x20\x01(\tR\rsourceAccount\x12G\n\nsend_asset\x18\x02\x20\x02(\
- \x0b2(.hw.trezor.messages.stellar.StellarAssetR\tsendAsset\x12\x1f\n\x0b\
- send_amount\x18\x03\x20\x02(\x12R\nsendAmount\x12/\n\x13destination_acco\
- unt\x18\x04\x20\x02(\tR\x12destinationAccount\x12U\n\x11destination_asse\
- t\x18\x05\x20\x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x10des\
- tinationAsset\x12'\n\x0fdestination_min\x18\x06\x20\x02(\x12R\x0edestina\
- tionMin\x12>\n\x05paths\x18\x07\x20\x03(\x0b2(.hw.trezor.messages.stella\
- r.StellarAssetR\x05paths\"\xc2\x02\n\x18StellarManageSellOfferOp\x12%\n\
- \x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12M\n\rselling_as\
- set\x18\x02\x20\x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x0cs\
- ellingAsset\x12K\n\x0cbuying_asset\x18\x03\x20\x02(\x0b2(.hw.trezor.mess\
- ages.stellar.StellarAssetR\x0bbuyingAsset\x12\x16\n\x06amount\x18\x04\
- \x20\x02(\x12R\x06amount\x12\x17\n\x07price_n\x18\x05\x20\x02(\rR\x06pri\
- ceN\x12\x17\n\x07price_d\x18\x06\x20\x02(\rR\x06priceD\x12\x19\n\x08offe\
- r_id\x18\x07\x20\x02(\x04R\x07offerId\"\xc1\x02\n\x17StellarManageBuyOff\
- erOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12M\n\
- \rselling_asset\x18\x02\x20\x02(\x0b2(.hw.trezor.messages.stellar.Stella\
- rAssetR\x0csellingAsset\x12K\n\x0cbuying_asset\x18\x03\x20\x02(\x0b2(.hw\
- .trezor.messages.stellar.StellarAssetR\x0bbuyingAsset\x12\x16\n\x06amoun\
- t\x18\x04\x20\x02(\x12R\x06amount\x12\x17\n\x07price_n\x18\x05\x20\x02(\
- \rR\x06priceN\x12\x17\n\x07price_d\x18\x06\x20\x02(\rR\x06priceD\x12\x19\
- \n\x08offer_id\x18\x07\x20\x02(\x04R\x07offerId\"\xae\x02\n\x1fStellarCr\
- eatePassiveSellOfferOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsou\
- rceAccount\x12M\n\rselling_asset\x18\x02\x20\x02(\x0b2(.hw.trezor.messag\
- es.stellar.StellarAssetR\x0csellingAsset\x12K\n\x0cbuying_asset\x18\x03\
- \x20\x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x0bbuyingAsset\
- \x12\x16\n\x06amount\x18\x04\x20\x02(\x12R\x06amount\x12\x17\n\x07price_\
- n\x18\x05\x20\x02(\rR\x06priceN\x12\x17\n\x07price_d\x18\x06\x20\x02(\rR\
- \x06priceD\"\xdd\x04\n\x13StellarSetOptionsOp\x12%\n\x0esource_account\
- \x18\x01\x20\x01(\tR\rsourceAccount\x12B\n\x1dinflation_destination_acco\
- unt\x18\x02\x20\x01(\tR\x1binflationDestinationAccount\x12\x1f\n\x0bclea\
- r_flags\x18\x03\x20\x01(\rR\nclearFlags\x12\x1b\n\tset_flags\x18\x04\x20\
- \x01(\rR\x08setFlags\x12#\n\rmaster_weight\x18\x05\x20\x01(\rR\x0cmaster\
- Weight\x12#\n\rlow_threshold\x18\x06\x20\x01(\rR\x0clowThreshold\x12)\n\
- \x10medium_threshold\x18\x07\x20\x01(\rR\x0fmediumThreshold\x12%\n\x0ehi\
- gh_threshold\x18\x08\x20\x01(\rR\rhighThreshold\x12\x1f\n\x0bhome_domain\
- \x18\t\x20\x01(\tR\nhomeDomain\x12b\n\x0bsigner_type\x18\n\x20\x01(\x0e2\
- A.hw.trezor.messages.stellar.StellarSetOptionsOp.StellarSignerTypeR\nsig\
- nerType\x12\x1d\n\nsigner_key\x18\x0b\x20\x01(\x0cR\tsignerKey\x12#\n\rs\
- igner_weight\x18\x0c\x20\x01(\rR\x0csignerWeight\"8\n\x11StellarSignerTy\
- pe\x12\x0b\n\x07ACCOUNT\x10\0\x12\x0c\n\x08PRE_AUTH\x10\x01\x12\x08\n\
- \x04HASH\x10\x02\"\x93\x01\n\x14StellarChangeTrustOp\x12%\n\x0esource_ac\
- count\x18\x01\x20\x01(\tR\rsourceAccount\x12>\n\x05asset\x18\x02\x20\x02\
- (\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x05asset\x12\x14\n\x05l\
- imit\x18\x03\x20\x02(\x04R\x05limit\"\xf6\x01\n\x13StellarAllowTrustOp\
- \x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12'\n\x0ft\
- rusted_account\x18\x02\x20\x02(\tR\x0etrustedAccount\x12K\n\nasset_type\
- \x18\x03\x20\x02(\x0e2,.hw.trezor.messages.stellar.StellarAssetTypeR\tas\
- setType\x12\x1d\n\nasset_code\x18\x04\x20\x01(\tR\tassetCode\x12#\n\ris_\
- authorized\x18\x05\x20\x02(\x08R\x0cisAuthorized\"o\n\x15StellarAccountM\
- ergeOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12/\
- \n\x13destination_account\x18\x02\x20\x02(\tR\x12destinationAccount\"d\n\
+ ssages-common.proto\x1a\roptions.proto\"|\n\x0cStellarAsset\x12@\n\x04ty\
+ pe\x18\x01\x20\x02(\x0e2,.hw.trezor.messages.stellar.StellarAssetTypeR\
+ \x04type\x12\x12\n\x04code\x18\x02\x20\x01(\tR\x04code\x12\x16\n\x06issu\
+ er\x18\x03\x20\x01(\tR\x06issuer\"o\n\x11StellarGetAddress\x12\x1b\n\tad\
+ dress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\
+ \x20\x01(\x08R\x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\x01(\x08\
+ R\x08chunkify\"<\n\x0eStellarAddress\x12\x18\n\x07address\x18\x01\x20\
+ \x02(\tR\x07address\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xf8\
+ \x04\n\rStellarSignTx\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addres\
+ sN\x12-\n\x12network_passphrase\x18\x03\x20\x02(\tR\x11networkPassphrase\
+ \x12%\n\x0esource_account\x18\x04\x20\x02(\tR\rsourceAccount\x12\x10\n\
+ \x03fee\x18\x05\x20\x02(\rR\x03fee\x12'\n\x0fsequence_number\x18\x06\x20\
+ \x02(\x04R\x0esequenceNumber\x12)\n\x10timebounds_start\x18\x08\x20\x02(\
+ \rR\x0ftimeboundsStart\x12%\n\x0etimebounds_end\x18\t\x20\x02(\rR\rtimeb\
+ oundsEnd\x12V\n\tmemo_type\x18\n\x20\x02(\x0e29.hw.trezor.messages.stell\
+ ar.StellarSignTx.StellarMemoTypeR\x08memoType\x12\x1b\n\tmemo_text\x18\
+ \x0b\x20\x01(\tR\x08memoText\x12\x17\n\x07memo_id\x18\x0c\x20\x01(\x04R\
+ \x06memoId\x12\x1b\n\tmemo_hash\x18\r\x20\x01(\x0cR\x08memoHash\x12%\n\
+ \x0enum_operations\x18\x0e\x20\x02(\rR\rnumOperations\x12P\n\x0bpayment_\
+ req\x18\x0f\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\npa\
+ ymentReqB\x04\xc8\xf0\x19\x01\"C\n\x0fStellarMemoType\x12\x08\n\x04NONE\
+ \x10\0\x12\x08\n\x04TEXT\x10\x01\x12\x06\n\x02ID\x10\x02\x12\x08\n\x04HA\
+ SH\x10\x03\x12\n\n\x06RETURN\x10\x04\"\x14\n\x12StellarTxOpRequest\"\xc2\
+ \x01\n\x10StellarPaymentOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\
+ \rsourceAccount\x12/\n\x13destination_account\x18\x02\x20\x02(\tR\x12des\
+ tinationAccount\x12>\n\x05asset\x18\x03\x20\x02(\x0b2(.hw.trezor.message\
+ s.stellar.StellarAssetR\x05asset\x12\x16\n\x06amount\x18\x04\x20\x02(\
+ \x12R\x06amount\"\x8b\x01\n\x16StellarCreateAccountOp\x12%\n\x0esource_a\
+ ccount\x18\x01\x20\x01(\tR\rsourceAccount\x12\x1f\n\x0bnew_account\x18\
+ \x02\x20\x02(\tR\nnewAccount\x12)\n\x10starting_balance\x18\x03\x20\x02(\
+ \x12R\x0fstartingBalance\"\xa5\x03\n!StellarPathPaymentStrictReceiveOp\
+ \x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12G\n\nsen\
+ d_asset\x18\x02\x20\x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\
+ \tsendAsset\x12\x19\n\x08send_max\x18\x03\x20\x02(\x12R\x07sendMax\x12/\
+ \n\x13destination_account\x18\x04\x20\x02(\tR\x12destinationAccount\x12U\
+ \n\x11destination_asset\x18\x05\x20\x02(\x0b2(.hw.trezor.messages.stella\
+ r.StellarAssetR\x10destinationAsset\x12-\n\x12destination_amount\x18\x06\
+ \x20\x02(\x12R\x11destinationAmount\x12>\n\x05paths\x18\x07\x20\x03(\x0b\
+ 2(.hw.trezor.messages.stellar.StellarAssetR\x05paths\"\xa2\x03\n\x1eStel\
+ larPathPaymentStrictSendOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\
+ \rsourceAccount\x12G\n\nsend_asset\x18\x02\x20\x02(\x0b2(.hw.trezor.mess\
+ ages.stellar.StellarAssetR\tsendAsset\x12\x1f\n\x0bsend_amount\x18\x03\
+ \x20\x02(\x12R\nsendAmount\x12/\n\x13destination_account\x18\x04\x20\x02\
+ (\tR\x12destinationAccount\x12U\n\x11destination_asset\x18\x05\x20\x02(\
+ \x0b2(.hw.trezor.messages.stellar.StellarAssetR\x10destinationAsset\x12'\
+ \n\x0fdestination_min\x18\x06\x20\x02(\x12R\x0edestinationMin\x12>\n\x05\
+ paths\x18\x07\x20\x03(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\
+ \x05paths\"\xc2\x02\n\x18StellarManageSellOfferOp\x12%\n\x0esource_accou\
+ nt\x18\x01\x20\x01(\tR\rsourceAccount\x12M\n\rselling_asset\x18\x02\x20\
+ \x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x0csellingAsset\x12\
+ K\n\x0cbuying_asset\x18\x03\x20\x02(\x0b2(.hw.trezor.messages.stellar.St\
+ ellarAssetR\x0bbuyingAsset\x12\x16\n\x06amount\x18\x04\x20\x02(\x12R\x06\
+ amount\x12\x17\n\x07price_n\x18\x05\x20\x02(\rR\x06priceN\x12\x17\n\x07p\
+ rice_d\x18\x06\x20\x02(\rR\x06priceD\x12\x19\n\x08offer_id\x18\x07\x20\
+ \x02(\x04R\x07offerId\"\xc1\x02\n\x17StellarManageBuyOfferOp\x12%\n\x0es\
+ ource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12M\n\rselling_asset\
+ \x18\x02\x20\x02(\x0b2(.hw.trezor.messages.stellar.StellarAssetR\x0csell\
+ ingAsset\x12K\n\x0cbuying_asset\x18\x03\x20\x02(\x0b2(.hw.trezor.message\
+ s.stellar.StellarAssetR\x0bbuyingAsset\x12\x16\n\x06amount\x18\x04\x20\
+ \x02(\x12R\x06amount\x12\x17\n\x07price_n\x18\x05\x20\x02(\rR\x06priceN\
+ \x12\x17\n\x07price_d\x18\x06\x20\x02(\rR\x06priceD\x12\x19\n\x08offer_i\
+ d\x18\x07\x20\x02(\x04R\x07offerId\"\xae\x02\n\x1fStellarCreatePassiveSe\
+ llOfferOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\
+ \x12M\n\rselling_asset\x18\x02\x20\x02(\x0b2(.hw.trezor.messages.stellar\
+ .StellarAssetR\x0csellingAsset\x12K\n\x0cbuying_asset\x18\x03\x20\x02(\
+ \x0b2(.hw.trezor.messages.stellar.StellarAssetR\x0bbuyingAsset\x12\x16\n\
+ \x06amount\x18\x04\x20\x02(\x12R\x06amount\x12\x17\n\x07price_n\x18\x05\
+ \x20\x02(\rR\x06priceN\x12\x17\n\x07price_d\x18\x06\x20\x02(\rR\x06price\
+ D\"\xdd\x04\n\x13StellarSetOptionsOp\x12%\n\x0esource_account\x18\x01\
+ \x20\x01(\tR\rsourceAccount\x12B\n\x1dinflation_destination_account\x18\
+ \x02\x20\x01(\tR\x1binflationDestinationAccount\x12\x1f\n\x0bclear_flags\
+ \x18\x03\x20\x01(\rR\nclearFlags\x12\x1b\n\tset_flags\x18\x04\x20\x01(\r\
+ R\x08setFlags\x12#\n\rmaster_weight\x18\x05\x20\x01(\rR\x0cmasterWeight\
+ \x12#\n\rlow_threshold\x18\x06\x20\x01(\rR\x0clowThreshold\x12)\n\x10med\
+ ium_threshold\x18\x07\x20\x01(\rR\x0fmediumThreshold\x12%\n\x0ehigh_thre\
+ shold\x18\x08\x20\x01(\rR\rhighThreshold\x12\x1f\n\x0bhome_domain\x18\t\
+ \x20\x01(\tR\nhomeDomain\x12b\n\x0bsigner_type\x18\n\x20\x01(\x0e2A.hw.t\
+ rezor.messages.stellar.StellarSetOptionsOp.StellarSignerTypeR\nsignerTyp\
+ e\x12\x1d\n\nsigner_key\x18\x0b\x20\x01(\x0cR\tsignerKey\x12#\n\rsigner_\
+ weight\x18\x0c\x20\x01(\rR\x0csignerWeight\"8\n\x11StellarSignerType\x12\
+ \x0b\n\x07ACCOUNT\x10\0\x12\x0c\n\x08PRE_AUTH\x10\x01\x12\x08\n\x04HASH\
+ \x10\x02\"\x93\x01\n\x14StellarChangeTrustOp\x12%\n\x0esource_account\
+ \x18\x01\x20\x01(\tR\rsourceAccount\x12>\n\x05asset\x18\x02\x20\x02(\x0b\
+ 2(.hw.trezor.messages.stellar.StellarAssetR\x05asset\x12\x14\n\x05limit\
+ \x18\x03\x20\x02(\x04R\x05limit\"\xf6\x01\n\x13StellarAllowTrustOp\x12%\
+ \n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12'\n\x0ftruste\
+ d_account\x18\x02\x20\x02(\tR\x0etrustedAccount\x12K\n\nasset_type\x18\
+ \x03\x20\x02(\x0e2,.hw.trezor.messages.stellar.StellarAssetTypeR\tassetT\
+ ype\x12\x1d\n\nasset_code\x18\x04\x20\x01(\tR\tassetCode\x12#\n\ris_auth\
+ orized\x18\x05\x20\x02(\x08R\x0cisAuthorized\"o\n\x15StellarAccountMerge\
+ Op\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rsourceAccount\x12/\n\
+ \x13destination_account\x18\x02\x20\x02(\tR\x12destinationAccount\"d\n\
\x13StellarManageDataOp\x12%\n\x0esource_account\x18\x01\x20\x01(\tR\rso\
urceAccount\x12\x10\n\x03key\x18\x02\x20\x02(\tR\x03key\x12\x14\n\x05val\
ue\x18\x03\x20\x01(\x0cR\x05value\"W\n\x15StellarBumpSequenceOp\x12%\n\
@@ -6454,8 +6455,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(1);
+ let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
+ deps.push(super::options::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(20);
messages.push(StellarAsset::generated_message_descriptor_data());
messages.push(StellarGetAddress::generated_message_descriptor_data());
diff --git a/tests/device_tests/bitcoin/test_signtx_payreq.py b/tests/device_tests/bitcoin/test_signtx_payreq.py
index 3625e7a9..f9acb3a8 100644
--- a/tests/device_tests/bitcoin/test_signtx_payreq.py
+++ b/tests/device_tests/bitcoin/test_signtx_payreq.py
@@ -39,7 +39,7 @@ PREV_HASH, PREV_TX = forge_prevtx([(INPUT_ADDRESS, 12_300_000)], network="testne
PREV_TXES = {PREV_HASH: PREV_TX}
-pytestmark = [pytest.mark.models("core")]
+pytestmark = [pytest.mark.models("core"), pytest.mark.experimental]
@pytest.mark.altcoin
diff --git a/tests/device_tests/cardano/test_sign_tx.py b/tests/device_tests/cardano/test_sign_tx.py
index 84f026cc..aafd628e 100644
--- a/tests/device_tests/cardano/test_sign_tx.py
+++ b/tests/device_tests/cardano/test_sign_tx.py
@@ -228,6 +228,7 @@ def _transform_expected_result(result):
@pytest.mark.altcoin
+@pytest.mark.experimental
@parametrize_using_common_fixtures(
"cardano/sign_tx.slip24.json",
)
@@ -236,6 +237,7 @@ def test_signtx_payment_req(session: Session, parameters, result):
@pytest.mark.altcoin
+@pytest.mark.experimental
@parametrize_using_common_fixtures(
"cardano/sign_tx.slip24.failed.json",
)
diff --git a/tests/device_tests/ethereum/test_signtx.py b/tests/device_tests/ethereum/test_signtx.py
index 326ab2e5..e1e60876 100644
--- a/tests/device_tests/ethereum/test_signtx.py
+++ b/tests/device_tests/ethereum/test_signtx.py
@@ -578,6 +578,7 @@ def test_signtx_staking_eip1559(session: Session, parameters: dict, result: dict
assert sig_v == result["sig_v"]
+@pytest.mark.experimental
@pytest.mark.models("core")
@pytest.mark.parametrize(
"has_refund,has_text,has_multiple_purchases",
@@ -652,6 +653,7 @@ def test_signtx_payment_req(
)
+@pytest.mark.experimental
@pytest.mark.models("core")
def test_signtx_payment_req_long_value(
session: Session,
diff --git a/tests/device_tests/ripple/test_sign_tx.py b/tests/device_tests/ripple/test_sign_tx.py
index 8b21745e..e5c9341a 100644
--- a/tests/device_tests/ripple/test_sign_tx.py
+++ b/tests/device_tests/ripple/test_sign_tx.py
@@ -120,6 +120,7 @@ def test_ripple_sign_invalid_fee(session: Session):
ripple.sign_tx(session, parse_path("m/44h/144h/0h/0/2"), msg)
+@pytest.mark.experimental
@pytest.mark.models("core")
def test_signtx_payment_req(session: Session):
from trezorlib import ethereum, misc
diff --git a/tests/device_tests/test_msg_applysettings.py b/tests/device_tests/test_msg_applysettings.py
index c35f015d..f43eb978 100644
--- a/tests/device_tests/test_msg_applysettings.py
+++ b/tests/device_tests/test_msg_applysettings.py
@@ -446,9 +446,6 @@ def test_safety_checks(session: Session):
@pytest.mark.models("core")
-@pytest.mark.xfail(
- reason="GetNonce was removed from experimental features. Currently, there is no replacement."
-)
def test_experimental_features(session: Session):
client = session.client
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index a4d86465..980a1820 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -2525,7 +2525,7 @@
"T2T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "a940b2c9f374d77f5b3dc2c6137707b6f1aa5134d339787ae4e334d881f1621e",
"T2T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "51f754f776060d259e087a25d19ca1c73a8f097436ff3b6b6083c47afc1e97ea",
"T2T1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "9abb72a1e07e193f9b112afde2c4af1b772aa9f783313475d7fb6edfa8c61ac6",
-"T2T1_cs_test_msg_applysettings.py::test_experimental_features": "002c64df2b67b1b586a3fe9e4c2c35c047923101ec036e80c52032162fd865f2",
+"T2T1_cs_test_msg_applysettings.py::test_experimental_features": "b3bf5fa2b51c1d8c8141dac43407cee2ca5d4dbfd03bfe1a27e1c6b1717bc0e7",
"T2T1_cs_test_msg_applysettings.py::test_label_too_long": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_test_msg_applysettings.py::test_safety_checks": "50a70f14d4c8f4ad4ec469330223a5ddd713a2287d0f8b117d288f6bad8aa4ad",
"T2T1_cs_test_msg_applysettings.py::test_set_brightness[0-False]": "d6eb847cfd00d36b2f45a8aada8e13dfc462beb01322339dc98e62d476919c23",
@@ -4076,7 +4076,7 @@
"T2T1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "faa400586d0b5002ab92fc83310ff261b2bcec3cbe8e906c1eeb7a403c355a80",
"T2T1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "1626b8c8e1e9cfbfa5c0804cd713e4f0ab6201024345ab4e5a87c29fc9b1b809",
"T2T1_de_test_msg_applysettings.py::test_apply_settings_rotation": "2b85fcac0bf712c07b5e38707a38aa1e07a4f7e542c4d7b3c0694aa181c79d03",
-"T2T1_de_test_msg_applysettings.py::test_experimental_features": "4409517980a1ebdace3ca5e614db728d5770543b24c6cff62346db73f8b0dc80",
+"T2T1_de_test_msg_applysettings.py::test_experimental_features": "93b7823ba23907556848e14f320e44d2fff055adf59d031fa1d73cca8af1f92c",
"T2T1_de_test_msg_applysettings.py::test_label_too_long": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_test_msg_applysettings.py::test_safety_checks": "c70ac5994107274eb7e45b2a41e3b1b9ac0d3c0eff9a049f8392c4cda812f579",
"T2T1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "3413f7cbf559c5e688df9783e3f5a37ea0212c7bd5be1eeb4cd5f014de074d1a",
@@ -5627,7 +5627,7 @@
"T2T1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "571c33cbf01dd603efb2ec9027723700b39d39bc7ccef3acee843021a998082a",
"T2T1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "e5dff4c4635ba6cd638b0db0ad06d90c79b70cced704b1c65f7b22a8b60d0d6c",
"T2T1_en_test_msg_applysettings.py::test_apply_settings_rotation": "d3a4d661df355e87cab1d9b80d6926255c9d71e3338c2d18ad71b51c6f72c8dd",
-"T2T1_en_test_msg_applysettings.py::test_experimental_features": "44f708768fb6a47f547ad77d391f24eae1e6947fa53e5e6a4ad6cb608c63949c",
+"T2T1_en_test_msg_applysettings.py::test_experimental_features": "6e94cc48b10e1347a7b66b0e7f9d17b8aa89887ce0d3b43685e42dde22f562d0",
"T2T1_en_test_msg_applysettings.py::test_label_too_long": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_test_msg_applysettings.py::test_safety_checks": "b9b9aec8a5789794ae4cae7bb96b286451a017096db804ce182fece10122caff",
"T2T1_en_test_msg_applysettings.py::test_set_brightness[0-False]": "5c0d0af73ecd5ef1940fc46cf74089742ac1d8e237f38e0f23a376d5c4717841",
@@ -7196,7 +7196,7 @@
"T2T1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "224428b46a9e43ee4b1b7b83fb0e4297a97af6bae8da18548c1fa31fde5e7060",
"T2T1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "3932f48abed6d6b0e97b9c837b37b539f5cdb6d713da8b7fc7d8ebd1fdb6cebe",
"T2T1_es_test_msg_applysettings.py::test_apply_settings_rotation": "2707b1708aa406ad70126af2bf11fc3ef6daa97ee03e6c23e571e0f6231b730d",
-"T2T1_es_test_msg_applysettings.py::test_experimental_features": "ec9a9b952101d06b6ce49adb962dd24d68370bd10a40de5e72421f5741dbcb9b",
+"T2T1_es_test_msg_applysettings.py::test_experimental_features": "a1a75799eac08422840793a4262c41984e313068e7f2cbea8c481e46cce7830e",
"T2T1_es_test_msg_applysettings.py::test_label_too_long": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_test_msg_applysettings.py::test_safety_checks": "0406a8376ac8929869eea52e37ef84def68e5f255dddad6e169c603247aeaca5",
"T2T1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "535379c96713b8cb5ca049b0fca21df0c08ad6b9dd609114a10a4354f550b103",
@@ -8747,7 +8747,7 @@
"T2T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "0c8e1f69223ee1afac5b54b39eb3d12628316c6ee227118dfd54aa0120cb6b08",
"T2T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "4b299a7c97183c433e4f28bf5baec4b33c3615bef75132bc413baedbb198fb10",
"T2T1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "edeb5d139286df8a4e47f4a746cb7edbf555debf1874bbd0c04e353ddd1934ec",
-"T2T1_fr_test_msg_applysettings.py::test_experimental_features": "8e790c8107d696475c4312f22c958f7604f4f7dff115eaea7d61cf20a7acbeba",
+"T2T1_fr_test_msg_applysettings.py::test_experimental_features": "4101d409075085a5091e9a002e277be4aecfa71e645d7729a452895798fade03",
"T2T1_fr_test_msg_applysettings.py::test_label_too_long": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_test_msg_applysettings.py::test_safety_checks": "ad5ae767fceb6077ef456f648aa258f6417b12390431d2fc5bebc9b5580607d1",
"T2T1_fr_test_msg_applysettings.py::test_set_brightness[0-False]": "059015b6e723e2f31da036c11ec1be19ab7363cde47a00ed1eec9aea9ad29707",
@@ -10298,7 +10298,7 @@
"T2T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "ee1504bf183a603896a2734cc136b3cd0c130b65ea5ff722088aa5bdeb6e07ea",
"T2T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "54d0e3a62adef4bc056889aed8172abcb437245441b4b8b6d8270b79cb654d70",
"T2T1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "3f405acca749846d1e0c765bc5305aa684ac949da01414b2f473b418f5847050",
-"T2T1_pt_test_msg_applysettings.py::test_experimental_features": "98b07b6124a636466ad7634d5ddec9149cb02b2ae6ae07409ef9e43fe616b7fe",
+"T2T1_pt_test_msg_applysettings.py::test_experimental_features": "22e6af1e6ddaeedb3f79d360076ceecf505d222e2723d239dc14f0cfbc7e078f",
"T2T1_pt_test_msg_applysettings.py::test_label_too_long": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_test_msg_applysettings.py::test_safety_checks": "a46fade94dc2e4e58b5eae72267bf7036b4c1f982326ade63081e95c89d2f36a",
"T2T1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "3e65a74be6b778e46e8f3d88446305eac7450f1747a43e761ad8ca3d5932d5db",
@@ -12078,7 +12078,7 @@
"T3B1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "3dfb694a94f7e79ae5a3bed744ccb2c547e0141a534b6c4b9eb194be62c050ae",
"T3B1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "add284b8b1720f0b2f3d1e53d73390a60c985865be46eea376ce5d4dfe28f446",
"T3B1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "62d2474cc2f82086bcde2a0030ebc2dfa9aa75bd63ef01051f4d147b8deef9ac",
-"T3B1_cs_test_msg_applysettings.py::test_experimental_features": "2d430763e658d6c7c32bc154b581749d59d0fec7010d110052bfb57d51757c49",
+"T3B1_cs_test_msg_applysettings.py::test_experimental_features": "7422a10ccfe3e68cf3987e16cc5a8240a8098d5f375a61cd940fcc71c535c08f",
"T3B1_cs_test_msg_applysettings.py::test_label_too_long": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_test_msg_applysettings.py::test_safety_checks": "e19bc51d5a2b05ff102afaeebecfe92a634dae75731dc348cd1b127c85c36161",
"T3B1_cs_test_msg_applysettings.py::test_set_label[empty]": "698621dd750f4d0d635c33a16655d02d3915fdd9b9421648bb8851b5858fc69b",
@@ -13546,7 +13546,7 @@
"T3B1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "fb1a9a334fafa2177e86432c09efdb7e46cb41241d84aea368156d552ca20a51",
"T3B1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "5c005308d5c3e5106de8e26bd44a5d68a72915b65fb52cb6a6024a28791352a0",
"T3B1_de_test_msg_applysettings.py::test_apply_settings_rotation": "e84e8d8dc8984b254c6b31a354b94bd25c86de1e94a27208ef2812ac7280b7f2",
-"T3B1_de_test_msg_applysettings.py::test_experimental_features": "2c38857af3f722745e02e730ff8983f7572ece81159e19197fd90478a3697dc0",
+"T3B1_de_test_msg_applysettings.py::test_experimental_features": "71bd430e73e407376badcd31a87cef43f465c256779ad41bb463d71e766016f0",
"T3B1_de_test_msg_applysettings.py::test_label_too_long": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_test_msg_applysettings.py::test_safety_checks": "c0de2a4eac3610f572ab1c5658ba0b62e7309a3e303f6349836e66bf061f9dbf",
"T3B1_de_test_msg_applysettings.py::test_set_label[empty]": "d1dece3509793a82c10148d1686d1208ab2e0ac02d3a04d4da898598d5a0adb6",
@@ -15014,7 +15014,7 @@
"T3B1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "90f7727832f5dd2bc364f85d17d5c21e7832b2cf47dd984d6da35034d7b6391e",
"T3B1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "494a91208b7fb2f422194c6178cec02220dedfeea9d12bc7a2f9dcc201748638",
"T3B1_en_test_msg_applysettings.py::test_apply_settings_rotation": "3615d5c81f696dafe54b261ba60c11e0030b80c038a31508633b39e4c3fdd8f0",
-"T3B1_en_test_msg_applysettings.py::test_experimental_features": "f710fd682edb2277c9e3295f07a52b1929f8bee5df083af7107b938165302866",
+"T3B1_en_test_msg_applysettings.py::test_experimental_features": "4874541667a7441ec3963ad19c6907434e01670a71626d1fabd2954e9e0469a6",
"T3B1_en_test_msg_applysettings.py::test_label_too_long": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_test_msg_applysettings.py::test_safety_checks": "e39e9eaf2795724cd2505a51b71371485a53714f4f06cac0916097bf79f7f644",
"T3B1_en_test_msg_applysettings.py::test_set_label[empty]": "056baba7b18975eb9c86a74998d931a832d2e4d278d31c001f3d8fe87c27ea7c",
@@ -16482,7 +16482,7 @@
"T3B1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "23a3e3e1488e0c23ea9bc3bf5e66473be17babcf5f79e3d2e4ddd6822ca2a613",
"T3B1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "9c21217ad98d1f0260f7319d1bad0a084c69fbe7e72082651a552603d221728c",
"T3B1_es_test_msg_applysettings.py::test_apply_settings_rotation": "72b4bf8e3c45c65084e67f8315bd662015ab10aad227fe9a5ea45f91db099b27",
-"T3B1_es_test_msg_applysettings.py::test_experimental_features": "4d483051c7bac9ec2b94d9c486dcf55da920f5c38badfbdb871804468aea7fc4",
+"T3B1_es_test_msg_applysettings.py::test_experimental_features": "8b04bb62e30159ca49153b97dfe4c3e0b26cf142535c9e4dfde620e3d5b95162",
"T3B1_es_test_msg_applysettings.py::test_label_too_long": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_test_msg_applysettings.py::test_safety_checks": "408be23658c0aa2cd9d5ef8a1cc4e63806408ae8c9f35ea207c907acb611fe41",
"T3B1_es_test_msg_applysettings.py::test_set_label[empty]": "ec3db849e6df2da6692f1eaf5458817eb19fba91c6fe8d0eb386edf5bef08f16",
@@ -17950,7 +17950,7 @@
"T3B1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "60b1e68452d3089cae470a7e44d545aefac1e6f9d1bc27d327b75590754aefc1",
"T3B1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "7b1a759d7f39ad401a6c3495a3e073c5df52a366e0f6b2f77bec605d1567d2eb",
"T3B1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "02b2930eeb33b8e9609ba47229dba0f2f0adcdf675e6beabf22a3b37ec99fb5a",
-"T3B1_fr_test_msg_applysettings.py::test_experimental_features": "b73a2094c9578690020856c62954deae2cc41f7a6967b566d9295b3a7505e88c",
+"T3B1_fr_test_msg_applysettings.py::test_experimental_features": "3c08032b29ba511678815dbf0ff4b0fb695032818156bd92e8f218710e4069bf",
"T3B1_fr_test_msg_applysettings.py::test_label_too_long": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_test_msg_applysettings.py::test_safety_checks": "1df763c089510f3b6159e23a6c0f76971927de385dd7dd57ba8ba1f222783980",
"T3B1_fr_test_msg_applysettings.py::test_set_label[empty]": "161e72d2fbb520ee0e0f964ba6427dd525da937d01d840af992b48a841efdc74",
@@ -19418,7 +19418,7 @@
"T3B1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "b5be2cfe2767c381915d3016d61c0167b8adf6f53d7dcf5091d76ad75321c31e",
"T3B1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "437af0bb9596c3805caa3aac59f5d2eb64c5d79771ce63cd7318bebff2dcd2ad",
"T3B1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "57909d7c9b1316acbaad5e0a1c0f599672397e73fce15ae4da17ec6ad3d9ea63",
-"T3B1_pt_test_msg_applysettings.py::test_experimental_features": "b2ecc26b7161cf430f6cd559821a5b2de1a2ceaa5bfbb8a2720723b8a5b8f215",
+"T3B1_pt_test_msg_applysettings.py::test_experimental_features": "31e86117bc9d892b6207a9a7f4a4f3158b6a3bef5afbf426def4d3bb380e8e9b",
"T3B1_pt_test_msg_applysettings.py::test_label_too_long": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_test_msg_applysettings.py::test_safety_checks": "8cbb200088e2faf7c767ef7c67f4dd82ca3c85fdc35163a7307d6b143b37bfb1",
"T3B1_pt_test_msg_applysettings.py::test_set_label[empty]": "0e1f49dc8d4a2b3bd4322f520015c43e77859e9b2fd5b45a1e4a4b0010d5dec4",
@@ -21273,7 +21273,7 @@
"T3T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "1a73b4993385604bc5192de56ca851a7310e27cb850f245bae96f20f7bc50e29",
"T3T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "a55d45a16bc323b33e03f96b59913b448e951b672f81349b5a26c867eff3589a",
"T3T1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "881ea7f0dc0f9cffcfac62225dff2d64ef7b2734722e3ef25f16bcfa2ccee13b",
-"T3T1_cs_test_msg_applysettings.py::test_experimental_features": "ac355733fddad01804d6f7a1406f3f823a662924c3699294786c653e9cbccae0",
+"T3T1_cs_test_msg_applysettings.py::test_experimental_features": "4398d17d0730a9ef7cef856c5b5367814778f936cb90ed2c66b2ea47e6197ca2",
"T3T1_cs_test_msg_applysettings.py::test_label_too_long": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_test_msg_applysettings.py::test_safety_checks": "cd150c7a633843533fba556d446d0b5fe691adbf2da639a9d10584a8118fef87",
"T3T1_cs_test_msg_applysettings.py::test_set_brightness[0-False]": "76e602116fc5312a3f626d3eab730a60e9c04c2e13232e48ebb7aabb13d3315c",
@@ -22772,7 +22772,7 @@
"T3T1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "047229eb84cec3cc5c030d2e492d21cc6f16e44963e243ff61809912c0e0572c",
"T3T1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "b4893cd4fe3a900174dc2c10a53f35a1e6a78b6f61fb68b77edf6e3000ae454c",
"T3T1_de_test_msg_applysettings.py::test_apply_settings_rotation": "5cfaffd830eecce80e42f3cee03b97a7076ed7551b90e502d4260fef2817c944",
-"T3T1_de_test_msg_applysettings.py::test_experimental_features": "b98c3dc674d130cb85fc0ca1157ec938f8d0cdd7d77032b55694299b1cf2eb31",
+"T3T1_de_test_msg_applysettings.py::test_experimental_features": "245fcf7ab4c2a82f8b53b7df68b1e125a2b9ad7cfb467c119965d2d58d1601b7",
"T3T1_de_test_msg_applysettings.py::test_label_too_long": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_test_msg_applysettings.py::test_safety_checks": "9d882b396b5a11fa14d9b8430429f08b76fd621eb0aaab3e6070c51c5f3bfeab",
"T3T1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "acead9411dbdbd41572d31b1a37d5c3e0753262c42f28a18d068bea78c575744",
@@ -24271,7 +24271,7 @@
"T3T1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "35b69ee668e9542b49cf5d83f3aa8c54142c2e5e2f000f1dab8d23855b4f92dd",
"T3T1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "506f1986f1d5fdfffe4595dc6d7160895437c3a0f094971daca0535c1eae519c",
"T3T1_en_test_msg_applysettings.py::test_apply_settings_rotation": "75adb82f1c538baf70a7efb155d3a1d8d208f7ce9c9923efab6109f88432207f",
-"T3T1_en_test_msg_applysettings.py::test_experimental_features": "c7cdc9d83031b64b51a0de4c95eac704c07c78b009a733e925dbf1f1e8f913ac",
+"T3T1_en_test_msg_applysettings.py::test_experimental_features": "c0c667e91ccf36caafbb839eaeae3b6b99f4b8776d8e62f6374e0875dc228364",
"T3T1_en_test_msg_applysettings.py::test_label_too_long": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_test_msg_applysettings.py::test_safety_checks": "8dc9b3dc4fde1441eedaac795d917ff4e6eb45c326d4fbb2e51b1c4ba6af5680",
"T3T1_en_test_msg_applysettings.py::test_set_brightness[0-False]": "14d4f20c22fe7fcec1d7bf110497050ea6c42a774a0ad49e3f7ea2e5dc463735",
@@ -25770,7 +25770,7 @@
"T3T1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "7a13a04d08261d8165df57b2ee06ee1786bb6fa9ab258b79fe9f03573cd7afa5",
"T3T1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "f6029d7d24f381e9ecd8223e1e4daa2fa804daa4cc337c5bb3fa1b8940201070",
"T3T1_es_test_msg_applysettings.py::test_apply_settings_rotation": "f075a3ffc435a3abe8b0a09cceca5ae7d83968f069ee0d4988a8ec5d399f7f95",
-"T3T1_es_test_msg_applysettings.py::test_experimental_features": "99cbc154c114a08b2d83ef10ad603bc0f2a322d58b06edc83c3490f09c7b7651",
+"T3T1_es_test_msg_applysettings.py::test_experimental_features": "0412af3ff0877034a6374d1cec642ece4ad48c8fe4f62854aa590ca211912747",
"T3T1_es_test_msg_applysettings.py::test_label_too_long": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_test_msg_applysettings.py::test_safety_checks": "13033cfa7dde2f269821509da15ab23e70a8604628b0c2be980c31bf39b3d35a",
"T3T1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "d0c9a0e6aa5f2cdd92219c0db611174054b3d5e45ab047ed77025e4f44ca3342",
@@ -27269,7 +27269,7 @@
"T3T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "fc759ee005a240120b2ea246a24d0fd72c150870a77c53c44e4be54d756f0e46",
"T3T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "a8c741004ca5dc7ad4257a6236b163b904f42b4940511fea486477f173ccddc7",
"T3T1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "ef8ef79e8edef3289832af9c65cd38c2473a0c610c93957b9ac522df98f28bf4",
-"T3T1_fr_test_msg_applysettings.py::test_experimental_features": "d60fc7b0745d5387ea2df4d69af5ff3e874777acdeb727b85257eb189e55ee42",
+"T3T1_fr_test_msg_applysettings.py::test_experimental_features": "d293b740d9bf6b0c64ece1066395179bff9401fb5c3766de2fb8a6b444809bb4",
"T3T1_fr_test_msg_applysettings.py::test_label_too_long": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_test_msg_applysettings.py::test_safety_checks": "ca58b05399be1f0e1a0d3017d72021bd5c236769850ced45f6f6938430bdad8e",
"T3T1_fr_test_msg_applysettings.py::test_set_brightness[0-False]": "b17029b9df8979932ab8c8969f74f039a1b4ee4ebcc10b8c07022626db42633d",
@@ -28768,7 +28768,7 @@
"T3T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "62859afebd7c06794ca5678a5ce4be8e54b7ce564cd1b5a2d3852788bb74ffde",
"T3T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "904c3529bb587f8cb424055c8fd473ccae01d9335c15b4b17c2d19430fd9425e",
"T3T1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "d5502853f093cf3e7082546e16c85dee2c8c4f9ef96f07513c02a8be68d34cb3",
-"T3T1_pt_test_msg_applysettings.py::test_experimental_features": "03c80042d5caf155840c026632139098f0b0a554d25e42d9b96fe8ebc9f7f3b5",
+"T3T1_pt_test_msg_applysettings.py::test_experimental_features": "b9a1b605abf4e1b93538643b566b912eaf38f1d2024f650424dae5a6c5615bbd",
"T3T1_pt_test_msg_applysettings.py::test_label_too_long": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_test_msg_applysettings.py::test_safety_checks": "8d80d9a8e9470d15c7d9cc229ba0e07ab913d425a8ae442ac4085677ac13c874",
"T3T1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "f36e7f9c796e720d9ccb4d41afe9b4f5c9d9e96846a19c591bdff9e6e217ba52",
@@ -30912,7 +30912,7 @@
"T3W1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "2f9cd6e0384b1241db0f1b94ffd98044ea221a877e6f8410b659170f64c2eaa3",
"T3W1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "8f9732579e107643c28b29c87cab5b65f6a0be0e1a6d721b800201b73bfdcb39",
"T3W1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "0e8c6099d06f2c143ef26b26731f6ea0e63f6543a7a9ba02ad43de35d667c35f",
-"T3W1_cs_test_msg_applysettings.py::test_experimental_features": "e99986b83d57a8a9c4d67e320477484aa7f508e0d5aa45c2f691fe54f2c13849",
+"T3W1_cs_test_msg_applysettings.py::test_experimental_features": "f9fc2a895e44d61a7db32b8b3102b59d45fa34704ae1bbb900fa162b5833ffe1",
"T3W1_cs_test_msg_applysettings.py::test_label_too_long": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_test_msg_applysettings.py::test_safety_checks": "7f671b62d3f9634490e586c19d4d226288699fce16c473e60476ab24f05232d0",
"T3W1_cs_test_msg_applysettings.py::test_set_brightness[0-False]": "36dd530dda70340bb186e95b08b67ddbf007035cf321e3ee1b8df45dd09d5e08",
@@ -32416,7 +32416,7 @@
"T3W1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "db9d69b696aefe6ce7e4a23ac9daeb611179050dfb0cac6904801afab4cf2306",
"T3W1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "3dd354c95e0d9c598fa15fc59dda7f0c7b21203955345f31aac88edef2ffaadf",
"T3W1_de_test_msg_applysettings.py::test_apply_settings_rotation": "198fb064061c3bd7b01bbdacb38e7f47b23023c5818fd114d6333583a57f9ee4",
-"T3W1_de_test_msg_applysettings.py::test_experimental_features": "e4fcde3ed6d3cc1b818b35566d0476cd8a97159488ae297ee86e8c18c3d2beb5",
+"T3W1_de_test_msg_applysettings.py::test_experimental_features": "2780f10988638ab4f99a236e728574817f9645b4ba26f9afda2059f44fbf374f",
"T3W1_de_test_msg_applysettings.py::test_label_too_long": "b3ce10e1620297758d6f2b235127f1dd0d61804c8cc32bc6664db5c3a9d81dde",
"T3W1_de_test_msg_applysettings.py::test_safety_checks": "75c32eff2e5ab017faf9de6e43f870e1d31eeee5fc5816c088bc8f7713edb3e3",
"T3W1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "a7e9b172df59a45fe71fe2eeaf9ae2662dfd3c6f754045fd1d22e795728a3ba7",
@@ -33920,7 +33920,7 @@
"T3W1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "f92b0cf5805acbf7f34bae90c64415265e281636acce69d6bfdb8ae404e8ab7f",
"T3W1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "df68a91d03cf9ae7ffe7a13238e37d863dd0193ee656a5dd0e51b2bc2ea0633c",
"T3W1_en_test_msg_applysettings.py::test_apply_settings_rotation": "dd99f533f9eb29b2847971e3f8639426f2efca2ff03d2e11168750878793537d",
-"T3W1_en_test_msg_applysettings.py::test_experimental_features": "1917c508629bcfedda73225f31367ce225a1412adef4285923fb64bffbcb4d84",
+"T3W1_en_test_msg_applysettings.py::test_experimental_features": "9ff5dd210e4eb15f5659cefbe7899429ee7008d964166d7fb84f83afec49140b",
"T3W1_en_test_msg_applysettings.py::test_label_too_long": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_test_msg_applysettings.py::test_safety_checks": "38f17b2554531540649ae801c26c071a371139603d7c120cdcfe22994a262c48",
"T3W1_en_test_msg_applysettings.py::test_set_brightness[0-False]": "69e1d245f9c8bf8e0a731aa55a7633dedc1ba6158836582e6f3fefcc1e40d420",
@@ -35424,7 +35424,7 @@
"T3W1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "a66dd008defe7f4c515bc7d561cfa02c24ba22ec343ddf3edd767033b39d2946",
"T3W1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "1f9a9d369eaf26cbbcfa7325313c7dd663929566198ab9e9a3703918a50eb05a",
"T3W1_es_test_msg_applysettings.py::test_apply_settings_rotation": "a5b781bd7cd84d35121fa92e72e5082a8aba7f0912a526be0d48a1d979ac04f3",
-"T3W1_es_test_msg_applysettings.py::test_experimental_features": "8995583f89a2e09704e64b230936d10ae7fb6ca8b5c0b73d3a5f847617ab8a16",
+"T3W1_es_test_msg_applysettings.py::test_experimental_features": "c715f0124cfef0ead906492a4401693b8b32a9ba4dad7a9cd399aade52c3468e",
"T3W1_es_test_msg_applysettings.py::test_label_too_long": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_test_msg_applysettings.py::test_safety_checks": "1cca683ac4a5bdc7b54417ece3ec8cb2e6348dc2096138bc70abaeeac0111baf",
"T3W1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "b92d9f714dcec8cbc17d1bc69b9e809d0d20112f7c19bdea0f1627b11d674d85",
@@ -36928,7 +36928,7 @@
"T3W1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "f4c2c7d1212d4980ed710cfc8d5ca71402d6a74dd51adcca122b2c5a3a1ae74a",
"T3W1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "967764d1526b157199c0a795032fc090354c2719bdd8fbbd0ff1fa1270d5dd8b",
"T3W1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "de9b62822cb5c03c11823a9d32c1714ab0168da89cf434ad0a06da86a5d031e4",
-"T3W1_fr_test_msg_applysettings.py::test_experimental_features": "6f76879fef2fb9f85b29020d8839fb72919c716592815f87807de4d10cfb90cd",
+"T3W1_fr_test_msg_applysettings.py::test_experimental_features": "9a40b2fe14383ac4ee1cb4fb4e29c754934a9be0086dc83682f0a400ce7e0f71",
"T3W1_fr_test_msg_applysettings.py::test_label_too_long": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_test_msg_applysettings.py::test_safety_checks": "ab8f834ce19da8756b4c406b28c686ea876cd0a08bb8f24e3ebda471a870e1d9",
"T3W1_fr_test_msg_applysettings.py::test_set_brightness[0-False]": "7a8fe6f790bc9f499aa7a4d5b941609c62b1244365b48fc47dd11c1e77ea78be",
@@ -38437,7 +38437,7 @@
"T3W1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "ec88e205f329ebd144616124f8f4c13f4fedee59bbfda44812c229119edf0ccd",
"T3W1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "40aad8b9bf4c7661d13f721c5c130fd3305dd4b12c0b3837a13075ec56d754fb",
"T3W1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "c229061e7f57c3e6e83a06909d9d66563f2efa17759ee65775a6b6adfc6ff2ab",
-"T3W1_pt_test_msg_applysettings.py::test_experimental_features": "d836acd0e83eb3dfcb49f21d7918bba9a27285440a03d33e33f87ea78f7a7684",
+"T3W1_pt_test_msg_applysettings.py::test_experimental_features": "7849d2dfc3ec6f23b9bb0ded93848b15cc4b91980cc4d7ff564b0202bfb56853",
"T3W1_pt_test_msg_applysettings.py::test_label_too_long": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_test_msg_applysettings.py::test_safety_checks": "b945afd5eec5ef06f355a2d4955d47188c2bf65546eaeede7480b8382fecccd3",
"T3W1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "b9b75eea92e32f4d0e8ad47f7d9ab797d55acd297afbfe736a5a714f7bb5e243",
Why this scored 21/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.