chore: remove `GetNonce` and `PaymentRequest` from experimental features
What changed, and why it matters
This commit removes the 'experimental' label from two Trezor firmware features: PaymentRequest (used in several cryptocurrency transaction flows) and GetNonce (a random-number request). It also updates generated code and tests accordingly. The change itself is a feature graduation, not a fix for a known security bug. There is no direct evidence in the commit that it patches an active vulnerability, but it does widen the audience for these features by removing the experimental opt-in requirement.
Treat as a routine feature-graduation commit. Review whether removing the experimental gate changes any trust assumptions for PaymentRequest handling, but no immediate security patch is indicated by the diff. Continue normal firmware QA and monitor release notes for any security-related follow-up.
Security signals we found
Removal of experimental gating for PaymentRequest and GetNonce protocol messages
No changes to cryptographic validation, signature checks, or authorization logic visible in the diff
Generated protobuf descriptors updated to reflect non-experimental status
Test markers removed; UI fixture hashes updated
Evidence from the diff
The commit strips the experimental_field/experimental_message protobuf options from PaymentRequest, PaymentNotification, GetNonce, and Nonce messages across Bitcoin, Cardano, Ethereum, Ripple, Solana, Stellar, and management protocols. Corresponding generated Rust protobuf descriptors are regenerated, removing the options.proto dependency and the experimental markers. Tests that previously required the experimental flag are updated to run unconditionally, and UI fixture hashes for the experimental-features test are refreshed. One test (test_experimental_features) is marked xfail because GetNonce no longer requires experimental mode. The change is a feature-enablement/refactoring commit with no visible runtime logic changes to parsing, validation, or cryptography.
Changed components
common/protob/messages-*.proto protocol definitionsrust/trezor-client generated protobuf descriptorstests/device_tests for bitcoin, cardano, ethereum, ripple, applysettingstests/ui_tests/fixtures.jsonInspect captured patch +581 / −605
diff --git a/common/protob/messages-bitcoin.proto b/common/protob/messages-bitcoin.proto
index ff5c0eb9..dfde209c 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 [(experimental_field)=true]; // index of the PaymentRequest containing this output
+ optional uint32 payment_req_index = 12; // 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 [(experimental_field)=true]; // index of the PaymentRequest containing this output
+ optional uint32 payment_req_index = 12; // 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 d3762a06..d854f840 100644
--- a/common/protob/messages-cardano.proto
+++ b/common/protob/messages-cardano.proto
@@ -6,7 +6,6 @@ option java_package = "com.satoshilabs.trezor.lib.protobuf";
option java_outer_classname = "TrezorMessageCardano";
import "messages-common.proto";
-import "options.proto";
enum CardanoDerivationType {
LEDGER = 0;
@@ -238,7 +237,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 [(experimental_field)=true]; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 24; // SLIP-24 payment request
}
/**
diff --git a/common/protob/messages-common.proto b/common/protob/messages-common.proto
index 1777b3c4..442ae41d 100644
--- a/common/protob/messages-common.proto
+++ b/common/protob/messages-common.proto
@@ -179,8 +179,6 @@ 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 3b0786fd..9acaf7e4 100644
--- a/common/protob/messages-crypto.proto
+++ b/common/protob/messages-crypto.proto
@@ -97,7 +97,5 @@ 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 51c0b9b8..5262b97b 100644
--- a/common/protob/messages-ethereum.proto
+++ b/common/protob/messages-ethereum.proto
@@ -6,7 +6,6 @@ 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
@@ -73,7 +72,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 [(experimental_field)=true]; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 14; // SLIP-24 payment request
}
/**
@@ -97,7 +96,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 [(experimental_field)=true]; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 14; // 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 7b2554e8..36f7e930 100644
--- a/common/protob/messages-management.proto
+++ b/common/protob/messages-management.proto
@@ -631,7 +631,6 @@ message RebootToBootloader {
* @next Nonce
*/
message GetNonce {
- option (experimental_message) = true;
}
/**
@@ -639,8 +638,6 @@ 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 16e368c4..4b9ea95f 100644
--- a/common/protob/messages-ripple.proto
+++ b/common/protob/messages-ripple.proto
@@ -6,7 +6,6 @@ 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
@@ -34,14 +33,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 [(experimental_field)=true]; // 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; // SLIP-24 payment reques
/**
* Payment transaction type
diff --git a/common/protob/messages-solana.proto b/common/protob/messages-solana.proto
index 986eb513..1a975b28 100644
--- a/common/protob/messages-solana.proto
+++ b/common/protob/messages-solana.proto
@@ -2,7 +2,6 @@ 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
@@ -72,7 +71,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 [(experimental_field)=true]; // SLIP-24 payment request
+ optional common.PaymentRequest payment_req = 4; // SLIP-24 payment request
}
/**
diff --git a/common/protob/messages-stellar.proto b/common/protob/messages-stellar.proto
index f5d6d797..acd606b7 100644
--- a/common/protob/messages-stellar.proto
+++ b/common/protob/messages-stellar.proto
@@ -6,7 +6,6 @@ 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 {
@@ -52,19 +51,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 [(experimental_field)=true]; // 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; // 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 291f3e1d..f01ea2cf 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\"\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\
+ 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\
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\xa0\x03\n\x0cTxOutputType\x12\x18\n\x07ad\
+ \rR\x13decredScriptVersion\x1a\x9a\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,108 +12367,107 @@ 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\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\
+ _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\
";
/// `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 4cdb9107..858adaf4 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\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\
+ 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\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -11694,9 +11694,8 @@ 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(2);
+ let mut deps = ::std::vec::Vec::with_capacity(1);
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 2c44e4cd..697fbb2f 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\"\xba\x07\n\x0ePayme\
+ \x1d\n\npublic_key\x18\x06\x20\x02(\x0cR\tpublicKey\"\xb4\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\x03mac:\x04\x88\xb2\
- \x19\x01J\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\x03macJ\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 18806cae..11ea1565 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\"g\n\x13PaymentNotification\x12J\n\x0bpayment_req\x18\
+ (\x0cR\tpublicKey\"a\n\x13PaymentNotification\x12J\n\x0bpayment_req\x18\
\x01\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentRe\
- q:\x04\x88\xb2\x19\x01B>\n#com.satoshilabs.trezor.lib.protobufB\x13Trezo\
- rMessageCrypto\x80\xa6\x1d\x01\
+ qB>\n#com.satoshilabs.trezor.lib.protobufB\x13TrezorMessageCrypto\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 f0443c6a..543d6986 100644
--- a/rust/trezor-client/src/protos/generated/messages_ethereum.rs
+++ b/rust/trezor-client/src/protos/generated/messages_ethereum.rs
@@ -4408,69 +4408,68 @@ 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\x1a\roptions.proto\"V\n\x14EthereumGetPublicKey\
+ 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\
\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_dis\
- 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\
+ 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\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -4487,9 +4486,8 @@ 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(2);
+ let mut deps = ::std::vec::Vec::with_capacity(1);
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 1f349977..52c4a903 100644
--- a/rust/trezor-client/src/protos/generated/messages_management.rs
+++ b/rust/trezor-client/src/protos/generated/messages_management.rs
@@ -12301,27 +12301,26 @@ static file_descriptor_proto_data: &'static [u8] = b"\
r.BootCommand:\rSTOP_AND_WAITR\x0bbootCommand\x12'\n\x0ffirmware_header\
\x18\x02\x20\x01(\x0cR\x0efirmwareHeader\x123\n\x14language_data_length\
\x18\x03\x20\x01(\r:\x010R\x12languageDataLength\"5\n\x0bBootCommand\x12\
- \x11\n\rSTOP_AND_WAIT\x10\0\x12\x13\n\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\x13UnlockedPathRequest\x12\x10\n\x03mac\
- \x18\x01\x20\x02(\x0cR\x03mac\"\x14\n\x12ShowDeviceTutorial\"\x12\n\x10U\
- nlockBootloader\"%\n\rSetBrightness\x12\x14\n\x05value\x18\x01\x20\x01(\
- \rR\x05value\"\x11\n\x0fGetSerialNumber\"3\n\x0cSerialNumber\x12#\n\rser\
- ial_number\x18\x01\x20\x02(\tR\x0cserialNumber*\x99\x01\n\nBackupType\
- \x12\t\n\x05Bip39\x10\0\x12\x10\n\x0cSlip39_Basic\x10\x01\x12\x13\n\x0fS\
- lip39_Advanced\x10\x02\x12\x1c\n\x18Slip39_Single_Extendable\x10\x03\x12\
- \x1b\n\x17Slip39_Basic_Extendable\x10\x04\x12\x1e\n\x1aSlip39_Advanced_E\
- xtendable\x10\x05*G\n\x10SafetyCheckLevel\x12\n\n\x06Strict\x10\0\x12\
- \x10\n\x0cPromptAlways\x10\x01\x12\x15\n\x11PromptTemporarily\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\x10HomescreenF\
- ormat\x12\x08\n\x04Toif\x10\x01\x12\x08\n\x04Jpeg\x10\x02\x12\x08\n\x04T\
- oiG\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.s\
- atoshilabs.trezor.lib.protobufB\x17TrezorMessageManagement\x80\xa6\x1d\
- \x01\
+ \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\taddress_n\x18\x01\x20\x03(\rR\x08a\
+ ddressN\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"'\n\x13UnlockedPa\
+ thRequest\x12\x10\n\x03mac\x18\x01\x20\x02(\x0cR\x03mac\"\x14\n\x12ShowD\
+ eviceTutorial\"\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\x0cserialNumb\
+ er*\x99\x01\n\nBackupType\x12\t\n\x05Bip39\x10\0\x12\x10\n\x0cSlip39_Bas\
+ ic\x10\x01\x12\x13\n\x0fSlip39_Advanced\x10\x02\x12\x1c\n\x18Slip39_Sing\
+ le_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\x11Prom\
+ ptTemporarily\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\x04Jpeg\
+ \x10\x02\x12\x08\n\x04ToiG\x10\x03*H\n\x0cRecoveryType\x12\x12\n\x0eNorm\
+ alRecovery\x10\0\x12\n\n\x06DryRun\x10\x01\x12\x18\n\x14UnlockRepeatedBa\
+ ckup\x10\x02BB\n#com.satoshilabs.trezor.lib.protobufB\x17TrezorMessageMa\
+ nagement\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 b51880e6..d8bdf65f 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\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\
+ 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\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -1301,9 +1301,8 @@ 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(2);
+ let mut deps = ::std::vec::Vec::with_capacity(1);
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 12c06cf5..a315ed12 100644
--- a/rust/trezor-client/src/protos/generated/messages_solana.rs
+++ b/rust/trezor-client/src/protos/generated/messages_solana.rs
@@ -1668,28 +1668,27 @@ 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\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\
+ 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\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -1706,9 +1705,8 @@ 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(2);
+ let mut deps = ::std::vec::Vec::with_capacity(1);
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 4785ee3a..08030d53 100644
--- a/rust/trezor-client/src/protos/generated/messages_stellar.rs
+++ b/rust/trezor-client/src/protos/generated/messages_stellar.rs
@@ -6336,98 +6336,97 @@ impl StellarAssetType {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x16messages-stellar.proto\x12\x1ahw.trezor.messages.stellar\x1a\x15me\
- 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\
+ 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\
\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\
@@ -6455,9 +6454,8 @@ 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(2);
+ let mut deps = ::std::vec::Vec::with_capacity(1);
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 f9acb3a8..3625e7a9 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"), pytest.mark.experimental]
+pytestmark = [pytest.mark.models("core")]
@pytest.mark.altcoin
diff --git a/tests/device_tests/cardano/test_sign_tx.py b/tests/device_tests/cardano/test_sign_tx.py
index aafd628e..84f026cc 100644
--- a/tests/device_tests/cardano/test_sign_tx.py
+++ b/tests/device_tests/cardano/test_sign_tx.py
@@ -228,7 +228,6 @@ def _transform_expected_result(result):
@pytest.mark.altcoin
-@pytest.mark.experimental
@parametrize_using_common_fixtures(
"cardano/sign_tx.slip24.json",
)
@@ -237,7 +236,6 @@ 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 e1e60876..326ab2e5 100644
--- a/tests/device_tests/ethereum/test_signtx.py
+++ b/tests/device_tests/ethereum/test_signtx.py
@@ -578,7 +578,6 @@ 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",
@@ -653,7 +652,6 @@ 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 e5c9341a..8b21745e 100644
--- a/tests/device_tests/ripple/test_sign_tx.py
+++ b/tests/device_tests/ripple/test_sign_tx.py
@@ -120,7 +120,6 @@ 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 f43eb978..c35f015d 100644
--- a/tests/device_tests/test_msg_applysettings.py
+++ b/tests/device_tests/test_msg_applysettings.py
@@ -446,6 +446,9 @@ 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 a996857b..4258df9a 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -2522,7 +2522,7 @@
"T2T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "e332236c531f20c06ff4cabdfcc299050f0d02344e4e959a2d100fde00a81a71",
"T2T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "51f754f776060d259e087a25d19ca1c73a8f097436ff3b6b6083c47afc1e97ea",
"T2T1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "0ad4922de1101472682d02b2d5fd23cb1a3bb76f3b3e29fc8b15cc832c6c323c",
-"T2T1_cs_test_msg_applysettings.py::test_experimental_features": "88daf8bc2fe7d0abc06e09a049613afb59496ec3ae486ab1e7068cddbc5924b3",
+"T2T1_cs_test_msg_applysettings.py::test_experimental_features": "9c045842a800f91a6e578814c65cf1dcf480515364adf5adc80aa8e5a8e48dd0",
"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",
@@ -4070,7 +4070,7 @@
"T2T1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "f17b8e0bc8ab59be318c8684aeb352d3a537136196b177041ca47b186d015472",
"T2T1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "1626b8c8e1e9cfbfa5c0804cd713e4f0ab6201024345ab4e5a87c29fc9b1b809",
"T2T1_de_test_msg_applysettings.py::test_apply_settings_rotation": "afe02738beb1089f55faacd510f38781637d097ec0ee2e8ac65b4f749372d904",
-"T2T1_de_test_msg_applysettings.py::test_experimental_features": "6195c6ce9f601a59c110527fa50ed1414b16ad375f93e573ee5ac52d8def5ed9",
+"T2T1_de_test_msg_applysettings.py::test_experimental_features": "07f3dd8497fe974d16e2a9a461e25f85edd36b28b617a3467940f2f5a8ec1084",
"T2T1_de_test_msg_applysettings.py::test_label_too_long": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_test_msg_applysettings.py::test_safety_checks": "206371a2a7305681eaa42b080ebfcfad4d54783733b9674c330c80e62da13342",
"T2T1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "3413f7cbf559c5e688df9783e3f5a37ea0212c7bd5be1eeb4cd5f014de074d1a",
@@ -5618,7 +5618,7 @@
"T2T1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "dbcc25ccb9c120e9862a1548102928ab96d6a20306e27768dcc591e35ec3c75b",
"T2T1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "e5dff4c4635ba6cd638b0db0ad06d90c79b70cced704b1c65f7b22a8b60d0d6c",
"T2T1_en_test_msg_applysettings.py::test_apply_settings_rotation": "ebfa263096324e2e404089f2823138972c93e413aa4f8973280e5418debfe876",
-"T2T1_en_test_msg_applysettings.py::test_experimental_features": "9a8370b954c2bc6f7b69a9e589b707801667a1db405ff326dcfffec85d411047",
+"T2T1_en_test_msg_applysettings.py::test_experimental_features": "302f56c9359cfa36cec4324fad8170b22c2ba356c83dbc52c86226f7d747fb1b",
"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",
@@ -7184,7 +7184,7 @@
"T2T1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "8ff70b54462a420cbcca638c8c825847b1fe87ad8ab3ef90740dcf2be0d96632",
"T2T1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "11168bcc453ca6cd39482b0865080245c5a11395273c498a01650c81274f51ac",
"T2T1_es_test_msg_applysettings.py::test_apply_settings_rotation": "ad860fb60b5f3cd8511db61c213fe71ce552fc916e8b046940fb4a533d1592c5",
-"T2T1_es_test_msg_applysettings.py::test_experimental_features": "7401dfa3f4047cde20fc4e06861251eaeb9b644f804fed3fd4d7d3e51ae790a6",
+"T2T1_es_test_msg_applysettings.py::test_experimental_features": "e177a4fb696337e1bdf1177c226ae3599e677762c25b11ca505601009861a157",
"T2T1_es_test_msg_applysettings.py::test_label_too_long": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_test_msg_applysettings.py::test_safety_checks": "be9f862506c7ba461264c422824780c99143392acd4fea6e32a4230bee37a971",
"T2T1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "72525c5db2338f65d709981b022bc9e80dc811dddc6633e3c2cb2e24310ae1dc",
@@ -8732,7 +8732,7 @@
"T2T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "84795b8550b0ec124e828c323654e755a700f413c4d47d79b75d1c14643a545d",
"T2T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "4b299a7c97183c433e4f28bf5baec4b33c3615bef75132bc413baedbb198fb10",
"T2T1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "9935ccb2375c56cc6c25177eaac709a7da591566abbe1111a0ce64abe9e264fc",
-"T2T1_fr_test_msg_applysettings.py::test_experimental_features": "44f22907979563bd6b743a6593af810c41b39c32e473ef32d6e5fc071f269b8c",
+"T2T1_fr_test_msg_applysettings.py::test_experimental_features": "afacc7ffba72f757f64597dcdf1ef4666d9243d85b2ec64165808b6c3a32b50c",
"T2T1_fr_test_msg_applysettings.py::test_label_too_long": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_test_msg_applysettings.py::test_safety_checks": "ae1ca8cabf606ef24a918764c53d525213e056f231c54b2f12cd8d3aec99d48e",
"T2T1_fr_test_msg_applysettings.py::test_set_brightness[0-False]": "059015b6e723e2f31da036c11ec1be19ab7363cde47a00ed1eec9aea9ad29707",
@@ -10280,7 +10280,7 @@
"T2T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "a78d9be70dd066f2709a6150f9fcac2b5d17376551de1f5fe03ca3ec1d085634",
"T2T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "42f824ae7f17d6c2554eac53ec5acff71a90a80864a86ecef8ecf36272e02788",
"T2T1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "135033ac3e0f605ddf54c504c01e34f311216fc7c26ec43cdd12f4e9eef12adb",
-"T2T1_pt_test_msg_applysettings.py::test_experimental_features": "a350af2b4c2bdabfcc51f1b0deb1adb06daa217659f3dc2cbba4e2a2fd9006d5",
+"T2T1_pt_test_msg_applysettings.py::test_experimental_features": "d6a1dab0c6789428356addbbc39b2ae615f8e698b2de4a557faa15563df8b2a2",
"T2T1_pt_test_msg_applysettings.py::test_label_too_long": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_test_msg_applysettings.py::test_safety_checks": "9d019f3c13d4c5657efd55620cdfb19e4858ef5a598b83b9dfe3c62e3af49c5b",
"T2T1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "87034fd00b572aa627d85b4f1b7c623b8f9f1ef504c1090d3d9d3717a939bba8",
@@ -12057,7 +12057,7 @@
"T3B1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "62163b96b386106c6965bf9dc434aa8dede07912ec13b100dbf25e01c7ebbfc5",
"T3B1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "add284b8b1720f0b2f3d1e53d73390a60c985865be46eea376ce5d4dfe28f446",
"T3B1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "6404784fe9592b0e0f3261773ffbd77953403d63ae2648bbf8174e87ceafcea5",
-"T3B1_cs_test_msg_applysettings.py::test_experimental_features": "203d1db12736390d837ba731f8041d18877acd4b39b61a48c6a479b6bd86c55d",
+"T3B1_cs_test_msg_applysettings.py::test_experimental_features": "f3135afe7bccef3de861a5574c41ae4db6aacbed10606127f0fb99f2206d538e",
"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",
@@ -13522,7 +13522,7 @@
"T3B1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "8673dc5c5b3b55a3345a608a7666aeb929c6829e97a745325f3b1d38906f47e4",
"T3B1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "5c005308d5c3e5106de8e26bd44a5d68a72915b65fb52cb6a6024a28791352a0",
"T3B1_de_test_msg_applysettings.py::test_apply_settings_rotation": "6c7d8cd73c75f2a12a85e5fbee443ca8eb99859fe04475d183cd307f6454fa1f",
-"T3B1_de_test_msg_applysettings.py::test_experimental_features": "d82d32b7f67388b99bf54709d6400fe92868a71b08722ba243e1f9e8a23bf1e4",
+"T3B1_de_test_msg_applysettings.py::test_experimental_features": "396a6dd943cc4dec5e93663db4dcb6628d27544ba4c2584571522eec948060ec",
"T3B1_de_test_msg_applysettings.py::test_label_too_long": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_test_msg_applysettings.py::test_safety_checks": "5962e60de018dc3c6f8cba18665cd6166a8f4f528d24efae5e2cb10a5081f092",
"T3B1_de_test_msg_applysettings.py::test_set_label[empty]": "d1dece3509793a82c10148d1686d1208ab2e0ac02d3a04d4da898598d5a0adb6",
@@ -14987,7 +14987,7 @@
"T3B1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "39cca6673aecb6bc53fd88146e2ff4772ae74957dc16dd1e13b8f57b0f4d400e",
"T3B1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "494a91208b7fb2f422194c6178cec02220dedfeea9d12bc7a2f9dcc201748638",
"T3B1_en_test_msg_applysettings.py::test_apply_settings_rotation": "8aa3ea6e1706f0ff9fcf5bb7ab3ae8c5112cefefc7461dedcb03298196229608",
-"T3B1_en_test_msg_applysettings.py::test_experimental_features": "af5f00a2e9aa51c367a1ee8bfd2fb6a0ae4dde35f79fc002b77104ec7839b94f",
+"T3B1_en_test_msg_applysettings.py::test_experimental_features": "24c1604d0a1b84e0ba2bcd07fcc2916399df878bfaf9df513179520e13764a95",
"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",
@@ -16452,7 +16452,7 @@
"T3B1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "d6abd886875c5c972a07d9d95e14031ce76b26720bf86484b4412214f74be7c5",
"T3B1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "218c691ea3614e13e93219e3258750b72edb1b8ad6e6d5acc37f257323da81b1",
"T3B1_es_test_msg_applysettings.py::test_apply_settings_rotation": "f1430da85fcdf24b76863c39e1183863f25d2726c53d06fa3c984e6a2c8b6339",
-"T3B1_es_test_msg_applysettings.py::test_experimental_features": "cc3868f29e55141ecb44cb3c4cc6de8bf37d41181190654cac6ac0eeca0d9767",
+"T3B1_es_test_msg_applysettings.py::test_experimental_features": "98dd6660b02602c5971d2b10906b44fec1da8e37829f63c38412098232200ca7",
"T3B1_es_test_msg_applysettings.py::test_label_too_long": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_test_msg_applysettings.py::test_safety_checks": "5fdfbafef774e5e8bf36382e4b3d083876b2862710ab67dca950bc1c04f775de",
"T3B1_es_test_msg_applysettings.py::test_set_label[empty]": "6590d304ef49c27297227abbbe7086e45efc9dc8ac02e3b80009037192f56362",
@@ -17917,7 +17917,7 @@
"T3B1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "e1dad6197857181447beb27f198ea7f17949f0a45c6ae12dab7e9781731ba809",
"T3B1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "7b1a759d7f39ad401a6c3495a3e073c5df52a366e0f6b2f77bec605d1567d2eb",
"T3B1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "3baa495a37eae1abf44807947c62c8fcad6e1457efcce9ec106fa1ba0e2518b7",
-"T3B1_fr_test_msg_applysettings.py::test_experimental_features": "fcae70a4439446c43cec5bb21663b18d4b42d9dc9874bf26a185cc39a5877cce",
+"T3B1_fr_test_msg_applysettings.py::test_experimental_features": "e2f96d5b4c444fc736a8f175cc0efc142b60311d308d3eebc2186ded52353649",
"T3B1_fr_test_msg_applysettings.py::test_label_too_long": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_test_msg_applysettings.py::test_safety_checks": "a4e25c446ee7423ff6e6efc76df161e62a9a018a6435c5192536364c57b93481",
"T3B1_fr_test_msg_applysettings.py::test_set_label[empty]": "161e72d2fbb520ee0e0f964ba6427dd525da937d01d840af992b48a841efdc74",
@@ -19382,7 +19382,7 @@
"T3B1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "3e15c55c5e13eee9ece1b9f1709a6c27cec29def90265fcfc98b274bbee1dab1",
"T3B1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "2c4b794b1004ea5de75a8121371822a95846c80496424bd935e28265b5ba57d7",
"T3B1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "9b8adbffd8e797c1806a294f0d306d2b8446785b3880e2497c4a029bdf5f76eb",
-"T3B1_pt_test_msg_applysettings.py::test_experimental_features": "4167e0d6bdb2fd746bcc1f4ba61632d460e61e9d7f5d9b19cea0896e3f9beec1",
+"T3B1_pt_test_msg_applysettings.py::test_experimental_features": "cda762786a22974c4d149931eb81d5b59b2e9ca592a6fc40fb8236b8c2376c12",
"T3B1_pt_test_msg_applysettings.py::test_label_too_long": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_test_msg_applysettings.py::test_safety_checks": "1affa9e6e0c5e331872da4645852cec773d9aa57981e80a00e3b849a9c9f1b66",
"T3B1_pt_test_msg_applysettings.py::test_set_label[empty]": "0e1f49dc8d4a2b3bd4322f520015c43e77859e9b2fd5b45a1e4a4b0010d5dec4",
@@ -21234,7 +21234,7 @@
"T3T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "3bcd9710f846b7feeac25ba8e01f1e439bc8bc33589bc4b25e15d436a14dc7da",
"T3T1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "a55d45a16bc323b33e03f96b59913b448e951b672f81349b5a26c867eff3589a",
"T3T1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "66c1bc467793677a8c3a682cdf3b7ab5fcf1d2ceb74224457d9fcee672d37dd9",
-"T3T1_cs_test_msg_applysettings.py::test_experimental_features": "02541ec60d5a7793def4212a3649de8875a80f462c0e902412ba6ecfdf95a9fa",
+"T3T1_cs_test_msg_applysettings.py::test_experimental_features": "ed3159b5bd5eb1427f6d7f5d45d45a4844a0f2f8e2bfd6a7dbaf7780c0cd5720",
"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",
@@ -22730,7 +22730,7 @@
"T3T1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "3d7b0a243b990283c858d2f6e554dbab84ae17a0809f6449cc7cbdea0c5aef13",
"T3T1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "b4893cd4fe3a900174dc2c10a53f35a1e6a78b6f61fb68b77edf6e3000ae454c",
"T3T1_de_test_msg_applysettings.py::test_apply_settings_rotation": "7eccaf33658ac69e0f75242ea5b76c7dad6953b406e9f74bfc47f2afdb786395",
-"T3T1_de_test_msg_applysettings.py::test_experimental_features": "7d0e65d8b2b631e83b36f2381b6ad4d141254721eb45c9068b5704b18e5badcc",
+"T3T1_de_test_msg_applysettings.py::test_experimental_features": "ed43e8b69f45c27e08b576957cca27acb11baa7f84abf208d365b774d8e91f47",
"T3T1_de_test_msg_applysettings.py::test_label_too_long": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_test_msg_applysettings.py::test_safety_checks": "00c66b06d7ee4d1dbed91fd9b5fc5cbc7da705d10b154984d634990cf145128a",
"T3T1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "acead9411dbdbd41572d31b1a37d5c3e0753262c42f28a18d068bea78c575744",
@@ -24226,7 +24226,7 @@
"T3T1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "7dd16719a42b7a8fd8fda203500f5355d8bb06bf7377e04e91fa7700af289aaf",
"T3T1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "506f1986f1d5fdfffe4595dc6d7160895437c3a0f094971daca0535c1eae519c",
"T3T1_en_test_msg_applysettings.py::test_apply_settings_rotation": "6ec98c767d27df44e57cd416c2192607895ffaf57ddada271863532241fae19d",
-"T3T1_en_test_msg_applysettings.py::test_experimental_features": "be6d479db64c4aa2a00927a0b53f1e2454634e7a45f8ecfc891f1dd90ce3a265",
+"T3T1_en_test_msg_applysettings.py::test_experimental_features": "495c7578efff74a0ce94a7b927765e7121e794564e612d07ddaa5d739ffc1d35",
"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",
@@ -25722,7 +25722,7 @@
"T3T1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "c90fa0f850254057c7d16041f602115c009600da235fb302467aab3b57e23fa6",
"T3T1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "8a2209e28112c7d60536053e7c4e0e99ece6307eec3f2d1bee5e227dedda42b7",
"T3T1_es_test_msg_applysettings.py::test_apply_settings_rotation": "bfe11b6c5b409242940509b286858087dcc9e497f199b538add73bf7a2609b43",
-"T3T1_es_test_msg_applysettings.py::test_experimental_features": "03c54a38f5825425978cc255084d99f82a180ef9be1e2ab746c94e2fa461eccf",
+"T3T1_es_test_msg_applysettings.py::test_experimental_features": "bd9211800f765622fba2e8e03eaded3af98b42632bfff39e1c975cb1786fc65a",
"T3T1_es_test_msg_applysettings.py::test_label_too_long": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_test_msg_applysettings.py::test_safety_checks": "a8426a364cdc1b7e3483dcaae47fc6601601a316d9d40fba6f3a8d5a28874560",
"T3T1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "30715cf084684aa1712624d780f8d6474ebd2878c3c36a9fcd6b49947325dcf9",
@@ -27218,7 +27218,7 @@
"T3T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "3031225b4aea24a171d2821f7b491a5d6522b0c4fbb086d5fa6d339ccde3cc2f",
"T3T1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "a8c741004ca5dc7ad4257a6236b163b904f42b4940511fea486477f173ccddc7",
"T3T1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "053046de1785136c0938716af52e3f35f60d1c99882adc1b125c9bdfe1b5183b",
-"T3T1_fr_test_msg_applysettings.py::test_experimental_features": "eb05e8051bc14cea2da7f3834a74c3f9f80ec08b84c2bf6b86fbc42a0405c2ce",
+"T3T1_fr_test_msg_applysettings.py::test_experimental_features": "68255919091b57819763d58b86b6c80fbe1269f5e041e82e092154404838011a",
"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",
@@ -28714,7 +28714,7 @@
"T3T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "1a65afe9a2fa6a518a0e5ba00856efe2ebbd5b7485c7c9f998e190b436f6954c",
"T3T1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "ad74abbfaacb063b935cc28ad292a1e939443ceb83a7f416519ec13bcb944d29",
"T3T1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "1ec14162795a73747d8e8998b985c9602cee6fb3434f4e80949ea6cd1e98efad",
-"T3T1_pt_test_msg_applysettings.py::test_experimental_features": "27349a8f4cda6840f65f6f6f9df45a47dac221e7002766438307697c267074b2",
+"T3T1_pt_test_msg_applysettings.py::test_experimental_features": "d9a4c92f81639540aa6d6e70be9bb59ea3ebdab71592779b36be7e0108cabb21",
"T3T1_pt_test_msg_applysettings.py::test_label_too_long": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_test_msg_applysettings.py::test_safety_checks": "0130f103254b9a9cc742a6f8df628bb860ccda6b31d1fda84643f17dfc084225",
"T3T1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "d91476724f284f5db46ae0eecf0b441f4e59e446ff84913883d4738aa95fe7c3",
@@ -30855,7 +30855,7 @@
"T3W1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "732dd53fc1d178c839f43c18ba0a299f0fe6bd6bdc7d230acbcf5f0d5a72ade3",
"T3W1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "8f9732579e107643c28b29c87cab5b65f6a0be0e1a6d721b800201b73bfdcb39",
"T3W1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "395a2aa1a9a178665444af0ee89a6f2dce571beffaf463d2e2068683e0e55294",
-"T3W1_cs_test_msg_applysettings.py::test_experimental_features": "b0731007f55d45390c73b0aada3fae6069fa96900ec5a852be847144e30edbf6",
+"T3W1_cs_test_msg_applysettings.py::test_experimental_features": "8539c539c55bd1e2dddfb3f3ad177726f633988cc332f0b14d01068d6ba4b19c",
"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",
@@ -32356,7 +32356,7 @@
"T3W1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "a4bb53f238d589be2db158420d964508dc71ba7289f51718347bd4b05e347750",
"T3W1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "790f706223fe280446a6d60f8f19fd630d9dee62245e049ea2691db06030bafd",
"T3W1_de_test_msg_applysettings.py::test_apply_settings_rotation": "902e77cb65e93be34c241f29c0c431e196b30ba6243a5df560d924f6539c1b9f",
-"T3W1_de_test_msg_applysettings.py::test_experimental_features": "5e3f4e56ea254f11aa98bfb4528faaaebb460ce1f8c20bc3ecfa5e5da3f19f52",
+"T3W1_de_test_msg_applysettings.py::test_experimental_features": "9274da281054e4debe8f3b2d423396b43c65d2a4ea1b31dae0ce60c52a03c00c",
"T3W1_de_test_msg_applysettings.py::test_label_too_long": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
"T3W1_de_test_msg_applysettings.py::test_safety_checks": "acb6c62b7e3b598c49bd702fa8834eb882e1fe0322456be7f0a049c143ec176b",
"T3W1_de_test_msg_applysettings.py::test_set_brightness[0-False]": "2a3a54c73b39054cb096d779ab4bc1ccb727cd772a11d6f22144652546adeff6",
@@ -33857,7 +33857,7 @@
"T3W1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "45404e2bc479dde6a195a649f73f425b84148b977a886ba491011e2b9646dfb0",
"T3W1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "df68a91d03cf9ae7ffe7a13238e37d863dd0193ee656a5dd0e51b2bc2ea0633c",
"T3W1_en_test_msg_applysettings.py::test_apply_settings_rotation": "b25d216f8fb438306d9e33fabaedca297cb1bb66cc2502373bb55a87eb026808",
-"T3W1_en_test_msg_applysettings.py::test_experimental_features": "ca7dcdcfebfdb77ff6bf1883c3a34fbe658986d3cc70369c8484dbedf11981f3",
+"T3W1_en_test_msg_applysettings.py::test_experimental_features": "65875e0093f09914bfb2b3f4a4ef89cacf005e16ddbbed72f7a21ab1845ca599",
"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",
@@ -35358,7 +35358,7 @@
"T3W1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "66bf5ae69de144d756c997d9f370e6cdb92d1291857101bf6b2868b000bb0de6",
"T3W1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "873ecea85df8c1dfb9df472840bbd569601484819986e1007bdf16bd28608192",
"T3W1_es_test_msg_applysettings.py::test_apply_settings_rotation": "32fdef6ef935bb39c3eceeb4ac47e1ef2ba464d8c5401ebb41d4c42945c93f9b",
-"T3W1_es_test_msg_applysettings.py::test_experimental_features": "f835707a50cfa6eaa640cbc607a6b40afa393351260a45a44bfbe14f54918dc0",
+"T3W1_es_test_msg_applysettings.py::test_experimental_features": "714120a12fe5bd2f274d08e37aa5074f6df22d276f1c3b2f5adf4f03f8dcd202",
"T3W1_es_test_msg_applysettings.py::test_label_too_long": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_test_msg_applysettings.py::test_safety_checks": "c3b0a7a85345606f35e67255372177f700f3b3a0af298d1ca8511d237a782816",
"T3W1_es_test_msg_applysettings.py::test_set_brightness[0-False]": "2a6dae1874aae894490db2afb53197b9c24d8a7b4d475c1d4a839eb04ae0708a",
@@ -36859,7 +36859,7 @@
"T3W1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "5743e5e666d0af938483843a17293a17b8657972f8f51132316cc0222fae0158",
"T3W1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "967764d1526b157199c0a795032fc090354c2719bdd8fbbd0ff1fa1270d5dd8b",
"T3W1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "bc81aa5ec3ebcb02294d1a37a9b0757c872df3d37606ddf7097e4f962ae610f0",
-"T3W1_fr_test_msg_applysettings.py::test_experimental_features": "f229cac4c90ccc1869dc524a2b4661b38aa70280344b741aaf5782c3c50a8d2f",
+"T3W1_fr_test_msg_applysettings.py::test_experimental_features": "b331f4079e615b33bf9a44b66ddd387b67ded5b563c53b0e993db88540fa6c1c",
"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",
@@ -38365,7 +38365,7 @@
"T3W1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "f7d4a55c297561401ee20b3f6485cfafed9b0f4cd030e6c129d008050532e8c2",
"T3W1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "e7e63d11bfeed752638216446ae3a52d2b2fa07c40ca37634dc8bcb00da70ca8",
"T3W1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "10c9035e0705820a0dc21b548585a34a00f9f358794103cde7e2c45f62af1ef5",
-"T3W1_pt_test_msg_applysettings.py::test_experimental_features": "f93d8d247a9f76be30df2bce91390bc9c8f724e83557fa264e6379222b55d9ae",
+"T3W1_pt_test_msg_applysettings.py::test_experimental_features": "4179a99350baec945a947b1575ca2a1c07d19b28fab811836625367bda59bb05",
"T3W1_pt_test_msg_applysettings.py::test_label_too_long": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_test_msg_applysettings.py::test_safety_checks": "a08ff6a0c810e38b24d44971315304b033dba5e48074235ca823c0351c64ce4b",
"T3W1_pt_test_msg_applysettings.py::test_set_brightness[0-False]": "8000f0aa503d0c228bbc6a0c924090052787e5b255754848a0c463aa4717d44c",
Why this scored 19/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.