feat(common): add EIP-7702 authorization signing protobuf definitions
What changed, and why it matters
This commit only adds new protocol buffer message definitions for an upcoming Ethereum feature (EIP-7702 authorization signing). It does not contain any actual signing logic, device firmware behavior, or user-interface code. It is a schema-only change and therefore does not introduce a security vulnerability by itself.
No immediate security action required. When the corresponding firmware implementation is later reviewed, ensure the EIP-7702 authorization is parsed and displayed accurately, chain_id and nonce are validated, the delegate address is shown for user confirmation, and replay protection is enforced.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds two new protobuf messages, EthereumSignAuth7702 and EthereumAuth7702Signature, plus their generated bindings in Python, Rust, and legacy firmware build files. The messages are marked experimental. No implementation of message handling, signature computation, validation, or UI confirmation is present in this commit. The legacy firmware Makefile explicitly skips these messages. Consequently, there is no exploitable code change here.
Changed components
common/protob/messages-ethereum.protocommon/protob/messages.protocore/src/trezor/enums/MessageType.pycore/src/trezor/enums/__init__.pycore/src/trezor/messages.pylegacy/firmware/protob/Makefilepython/src/trezorlib/messages.pyrust/trezor-client/src/messages/generated.rsrust/trezor-client/src/protos/generated/messages.rsrust/trezor-client/src/protos/generated/messages_ethereum.rsInspect captured patch +976 / −312
diff --git a/common/protob/messages-ethereum.proto b/common/protob/messages-ethereum.proto
index b46892a8..e6cdb28d 100644
--- a/common/protob/messages-ethereum.proto
+++ b/common/protob/messages-ethereum.proto
@@ -2,6 +2,7 @@ syntax = "proto2";
package hw.trezor.messages.ethereum;
import "messages-common.proto";
+import "options.proto";
// Sugar for easier handling in Java
option java_outer_classname = "TrezorMessageEthereum";
@@ -221,3 +222,30 @@ message EthereumDefinitions {
optional bytes encoded_token = 2; // encoded ethereum token
optional bytes encoded_display_format = 3; // encoded display format
}
+
+/**
+ * Request: Ask device to sign an EIP 7702 authorization
+ * @start
+ * @next EthereumAuth7702Signature
+ * @next Failure
+ */
+message EthereumSignAuth7702 {
+ option (experimental_message) = true;
+
+ repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
+ required uint64 chain_id = 2; // chain id on which the authorization is valid, or 0 for all
+ required string delegate = 3; // address of the code that will be delegated to the EOA
+ required uint64 nonce = 4; // account nonce for which the authorization is valid
+}
+
+/**
+ * Response: Signed EIP 7702 authorization
+ * @end
+ */
+message EthereumAuth7702Signature {
+ option (experimental_message) = true;
+
+ required uint32 signature_v = 1; // Computed signature (y parity)
+ required bytes signature_r = 2; // Computed signature R component (256 bit)
+ required bytes signature_s = 3; // Computed signature S component (256 bit)
+}
diff --git a/common/protob/messages.proto b/common/protob/messages.proto
index 4c4418eb..e5eaecb3 100644
--- a/common/protob/messages.proto
+++ b/common/protob/messages.proto
@@ -176,6 +176,8 @@ enum MessageType {
MessageType_EthereumSignTypedHash = 470 [(wire_in) = true];
MessageType_EthereumDefinitionRequest = 471 [(wire_out) = true];
MessageType_EthereumDefinitionAck = 472 [(wire_in) = true];
+ MessageType_EthereumSignAuth7702 = 473 [(wire_in) = true];
+ MessageType_EthereumAuth7702Signature = 474 [(wire_out) = true];
// NEM
MessageType_NEMGetAddress = 67 [(wire_in) = true];
diff --git a/core/src/trezor/enums/MessageType.py b/core/src/trezor/enums/MessageType.py
index a50dab32..13b574c0 100644
--- a/core/src/trezor/enums/MessageType.py
+++ b/core/src/trezor/enums/MessageType.py
@@ -158,6 +158,8 @@ if not utils.BITCOIN_ONLY:
EthereumSignTypedHash = 470
EthereumDefinitionRequest = 471
EthereumDefinitionAck = 472
+ EthereumSignAuth7702 = 473
+ EthereumAuth7702Signature = 474
NEMGetAddress = 67
NEMAddress = 68
NEMSignTx = 69
diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py
index 0858b779..b373e1ee 100644
--- a/core/src/trezor/enums/__init__.py
+++ b/core/src/trezor/enums/__init__.py
@@ -569,6 +569,8 @@ if TYPE_CHECKING:
EthereumSignTypedHash = 470
EthereumDefinitionRequest = 471
EthereumDefinitionAck = 472
+ EthereumSignAuth7702 = 473
+ EthereumAuth7702Signature = 474
NEMGetAddress = 67
NEMAddress = 68
NEMSignTx = 69
diff --git a/core/src/trezor/messages.py b/core/src/trezor/messages.py
index 96a606da..f3fc6eb5 100644
--- a/core/src/trezor/messages.py
+++ b/core/src/trezor/messages.py
@@ -4292,6 +4292,44 @@ if TYPE_CHECKING:
def is_type_of(cls, msg: Any) -> TypeGuard["EthereumDefinitions"]:
return isinstance(msg, cls)
+ class EthereumSignAuth7702(protobuf.MessageType):
+ address_n: "list[int]"
+ chain_id: "int"
+ delegate: "str"
+ nonce: "int"
+
+ def __init__(
+ self,
+ *,
+ chain_id: "int",
+ delegate: "str",
+ nonce: "int",
+ address_n: "list[int] | None" = None,
+ ) -> None:
+ pass
+
+ @classmethod
+ def is_type_of(cls, msg: Any) -> TypeGuard["EthereumSignAuth7702"]:
+ return isinstance(msg, cls)
+
+ class EthereumAuth7702Signature(protobuf.MessageType):
+ signature_v: "int"
+ signature_r: "AnyBytes"
+ signature_s: "AnyBytes"
+
+ def __init__(
+ self,
+ *,
+ signature_v: "int",
+ signature_r: "AnyBytes",
+ signature_s: "AnyBytes",
+ ) -> None:
+ pass
+
+ @classmethod
+ def is_type_of(cls, msg: Any) -> TypeGuard["EthereumAuth7702Signature"]:
+ return isinstance(msg, cls)
+
class EthereumAccessList(protobuf.MessageType):
address: "str"
storage_keys: "list[AnyBytes]"
diff --git a/legacy/firmware/protob/Makefile b/legacy/firmware/protob/Makefile
index bd1dcc22..9ea84b57 100644
--- a/legacy/firmware/protob/Makefile
+++ b/legacy/firmware/protob/Makefile
@@ -11,6 +11,7 @@ SKIPPED_MESSAGES := Cardano DebugMonero Eos Monero Ontology Ripple SdProtect Tez
GetNonce TxAckInput TxAckOutput TxAckPrev PaymentRequest \
EthereumABITupleInfo EthereumABIValueInfo EthereumERC7730FieldInfo EthereumDisplayFormatInfo EthereumERC7730Path \
EthereumDefinitionRequest EthereumDefinitionAck \
+ EthereumSignAuth7702 EthereumAuth7702Signature \
EthereumSignTypedData EthereumTypedDataStructRequest EthereumTypedDataStructAck \
EthereumTypedDataValueRequest EthereumTypedDataValueAck ShowDeviceTutorial \
UnlockBootloader AuthenticateDevice AuthenticityProof GetAuthenticityProofChunk \
diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py
index 9d4fa717..3496c131 100644
--- a/python/src/trezorlib/messages.py
+++ b/python/src/trezorlib/messages.py
@@ -629,6 +629,8 @@ class MessageType(IntEnum):
EthereumSignTypedHash = 470
EthereumDefinitionRequest = 471
EthereumDefinitionAck = 472
+ EthereumSignAuth7702 = 473
+ EthereumAuth7702Signature = 474
NEMGetAddress = 67
NEMAddress = 68
NEMSignTx = 69
@@ -5843,6 +5845,49 @@ class EthereumDefinitions(protobuf.MessageType):
self.encoded_display_format = encoded_display_format
+class EthereumSignAuth7702(protobuf.MessageType):
+ MESSAGE_WIRE_TYPE = 473
+ FIELDS = {
+ 1: protobuf.Field("address_n", "uint32", repeated=True, required=False, default=None),
+ 2: protobuf.Field("chain_id", "uint64", repeated=False, required=True),
+ 3: protobuf.Field("delegate", "string", repeated=False, required=True),
+ 4: protobuf.Field("nonce", "uint64", repeated=False, required=True),
+ }
+
+ def __init__(
+ self,
+ *,
+ chain_id: "int",
+ delegate: "str",
+ nonce: "int",
+ address_n: Optional[Sequence["int"]] = None,
+ ) -> None:
+ self.address_n: Sequence["int"] = address_n if address_n is not None else []
+ self.chain_id = chain_id
+ self.delegate = delegate
+ self.nonce = nonce
+
+
+class EthereumAuth7702Signature(protobuf.MessageType):
+ MESSAGE_WIRE_TYPE = 474
+ FIELDS = {
+ 1: protobuf.Field("signature_v", "uint32", repeated=False, required=True),
+ 2: protobuf.Field("signature_r", "bytes", repeated=False, required=True),
+ 3: protobuf.Field("signature_s", "bytes", repeated=False, required=True),
+ }
+
+ def __init__(
+ self,
+ *,
+ signature_v: "int",
+ signature_r: "bytes",
+ signature_s: "bytes",
+ ) -> None:
+ self.signature_v = signature_v
+ self.signature_r = signature_r
+ self.signature_s = signature_s
+
+
class EthereumAccessList(protobuf.MessageType):
MESSAGE_WIRE_TYPE = None
FIELDS = {
diff --git a/rust/trezor-client/src/messages/generated.rs b/rust/trezor-client/src/messages/generated.rs
index df4a4c68..9214ea9c 100644
--- a/rust/trezor-client/src/messages/generated.rs
+++ b/rust/trezor-client/src/messages/generated.rs
@@ -197,6 +197,8 @@ trezor_message_impl! {
EthereumSignTypedHash => MessageType_EthereumSignTypedHash,
EthereumDefinitionRequest => MessageType_EthereumDefinitionRequest,
EthereumDefinitionAck => MessageType_EthereumDefinitionAck,
+ EthereumSignAuth7702 => MessageType_EthereumSignAuth7702,
+ EthereumAuth7702Signature => MessageType_EthereumAuth7702Signature,
}
#[cfg(feature = "evolu")]
diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs
index 9e923aba..589444b2 100644
--- a/rust/trezor-client/src/protos/generated/messages.rs
+++ b/rust/trezor-client/src/protos/generated/messages.rs
@@ -295,6 +295,10 @@ pub enum MessageType {
MessageType_EthereumDefinitionRequest = 471,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumDefinitionAck)
MessageType_EthereumDefinitionAck = 472,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignAuth7702)
+ MessageType_EthereumSignAuth7702 = 473,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumAuth7702Signature)
+ MessageType_EthereumAuth7702Signature = 474,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMGetAddress)
MessageType_NEMGetAddress = 67,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMAddress)
@@ -754,6 +758,8 @@ impl ::protobuf::Enum for MessageType {
470 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedHash),
471 => ::std::option::Option::Some(MessageType::MessageType_EthereumDefinitionRequest),
472 => ::std::option::Option::Some(MessageType::MessageType_EthereumDefinitionAck),
+ 473 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignAuth7702),
+ 474 => ::std::option::Option::Some(MessageType::MessageType_EthereumAuth7702Signature),
67 => ::std::option::Option::Some(MessageType::MessageType_NEMGetAddress),
68 => ::std::option::Option::Some(MessageType::MessageType_NEMAddress),
69 => ::std::option::Option::Some(MessageType::MessageType_NEMSignTx),
@@ -1051,6 +1057,8 @@ impl ::protobuf::Enum for MessageType {
"MessageType_EthereumSignTypedHash" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedHash),
"MessageType_EthereumDefinitionRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumDefinitionRequest),
"MessageType_EthereumDefinitionAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumDefinitionAck),
+ "MessageType_EthereumSignAuth7702" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignAuth7702),
+ "MessageType_EthereumAuth7702Signature" => ::std::option::Option::Some(MessageType::MessageType_EthereumAuth7702Signature),
"MessageType_NEMGetAddress" => ::std::option::Option::Some(MessageType::MessageType_NEMGetAddress),
"MessageType_NEMAddress" => ::std::option::Option::Some(MessageType::MessageType_NEMAddress),
"MessageType_NEMSignTx" => ::std::option::Option::Some(MessageType::MessageType_NEMSignTx),
@@ -1347,6 +1355,8 @@ impl ::protobuf::Enum for MessageType {
MessageType::MessageType_EthereumSignTypedHash,
MessageType::MessageType_EthereumDefinitionRequest,
MessageType::MessageType_EthereumDefinitionAck,
+ MessageType::MessageType_EthereumSignAuth7702,
+ MessageType::MessageType_EthereumAuth7702Signature,
MessageType::MessageType_NEMGetAddress,
MessageType::MessageType_NEMAddress,
MessageType::MessageType_NEMSignTx,
@@ -1649,163 +1659,165 @@ impl ::protobuf::EnumFull for MessageType {
MessageType::MessageType_EthereumSignTypedHash => 131,
MessageType::MessageType_EthereumDefinitionRequest => 132,
MessageType::MessageType_EthereumDefinitionAck => 133,
- MessageType::MessageType_NEMGetAddress => 134,
- MessageType::MessageType_NEMAddress => 135,
- MessageType::MessageType_NEMSignTx => 136,
- MessageType::MessageType_NEMSignedTx => 137,
- MessageType::MessageType_NEMDecryptMessage => 138,
- MessageType::MessageType_NEMDecryptedMessage => 139,
- MessageType::MessageType_TezosGetAddress => 140,
- MessageType::MessageType_TezosAddress => 141,
- MessageType::MessageType_TezosSignTx => 142,
- MessageType::MessageType_TezosSignedTx => 143,
- MessageType::MessageType_TezosGetPublicKey => 144,
- MessageType::MessageType_TezosPublicKey => 145,
- MessageType::MessageType_StellarSignTx => 146,
- MessageType::MessageType_StellarTxOpRequest => 147,
- MessageType::MessageType_StellarGetAddress => 148,
- MessageType::MessageType_StellarAddress => 149,
- MessageType::MessageType_StellarCreateAccountOp => 150,
- MessageType::MessageType_StellarPaymentOp => 151,
- MessageType::MessageType_StellarPathPaymentStrictReceiveOp => 152,
- MessageType::MessageType_StellarManageSellOfferOp => 153,
- MessageType::MessageType_StellarCreatePassiveSellOfferOp => 154,
- MessageType::MessageType_StellarSetOptionsOp => 155,
- MessageType::MessageType_StellarChangeTrustOp => 156,
- MessageType::MessageType_StellarAllowTrustOp => 157,
- MessageType::MessageType_StellarAccountMergeOp => 158,
- MessageType::MessageType_StellarManageDataOp => 159,
- MessageType::MessageType_StellarBumpSequenceOp => 160,
- MessageType::MessageType_StellarManageBuyOfferOp => 161,
- MessageType::MessageType_StellarPathPaymentStrictSendOp => 162,
- MessageType::MessageType_StellarClaimClaimableBalanceOp => 163,
- MessageType::MessageType_StellarSignedTx => 164,
- MessageType::MessageType_CardanoGetPublicKey => 165,
- MessageType::MessageType_CardanoPublicKey => 166,
- MessageType::MessageType_CardanoGetAddress => 167,
- MessageType::MessageType_CardanoAddress => 168,
- MessageType::MessageType_CardanoTxItemAck => 169,
- MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 170,
- MessageType::MessageType_CardanoTxWitnessRequest => 171,
- MessageType::MessageType_CardanoTxWitnessResponse => 172,
- MessageType::MessageType_CardanoTxHostAck => 173,
- MessageType::MessageType_CardanoTxBodyHash => 174,
- MessageType::MessageType_CardanoSignTxFinished => 175,
- MessageType::MessageType_CardanoSignTxInit => 176,
- MessageType::MessageType_CardanoTxInput => 177,
- MessageType::MessageType_CardanoTxOutput => 178,
- MessageType::MessageType_CardanoAssetGroup => 179,
- MessageType::MessageType_CardanoToken => 180,
- MessageType::MessageType_CardanoTxCertificate => 181,
- MessageType::MessageType_CardanoTxWithdrawal => 182,
- MessageType::MessageType_CardanoTxAuxiliaryData => 183,
- MessageType::MessageType_CardanoPoolOwner => 184,
- MessageType::MessageType_CardanoPoolRelayParameters => 185,
- MessageType::MessageType_CardanoGetNativeScriptHash => 186,
- MessageType::MessageType_CardanoNativeScriptHash => 187,
- MessageType::MessageType_CardanoTxMint => 188,
- MessageType::MessageType_CardanoTxCollateralInput => 189,
- MessageType::MessageType_CardanoTxRequiredSigner => 190,
- MessageType::MessageType_CardanoTxInlineDatumChunk => 191,
- MessageType::MessageType_CardanoTxReferenceScriptChunk => 192,
- MessageType::MessageType_CardanoTxReferenceInput => 193,
- MessageType::MessageType_CardanoSignMessageInit => 194,
- MessageType::MessageType_CardanoMessageDataRequest => 195,
- MessageType::MessageType_CardanoMessageDataResponse => 196,
- MessageType::MessageType_CardanoMessageSignature => 197,
- MessageType::MessageType_RippleGetAddress => 198,
- MessageType::MessageType_RippleAddress => 199,
- MessageType::MessageType_RippleSignTx => 200,
- MessageType::MessageType_RippleSignedTx => 201,
- MessageType::MessageType_MoneroTransactionInitRequest => 202,
- MessageType::MessageType_MoneroTransactionInitAck => 203,
- MessageType::MessageType_MoneroTransactionSetInputRequest => 204,
- MessageType::MessageType_MoneroTransactionSetInputAck => 205,
- MessageType::MessageType_MoneroTransactionInputViniRequest => 206,
- MessageType::MessageType_MoneroTransactionInputViniAck => 207,
- MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 208,
- MessageType::MessageType_MoneroTransactionAllInputsSetAck => 209,
- MessageType::MessageType_MoneroTransactionSetOutputRequest => 210,
- MessageType::MessageType_MoneroTransactionSetOutputAck => 211,
- MessageType::MessageType_MoneroTransactionAllOutSetRequest => 212,
- MessageType::MessageType_MoneroTransactionAllOutSetAck => 213,
- MessageType::MessageType_MoneroTransactionSignInputRequest => 214,
- MessageType::MessageType_MoneroTransactionSignInputAck => 215,
- MessageType::MessageType_MoneroTransactionFinalRequest => 216,
- MessageType::MessageType_MoneroTransactionFinalAck => 217,
- MessageType::MessageType_MoneroKeyImageExportInitRequest => 218,
- MessageType::MessageType_MoneroKeyImageExportInitAck => 219,
- MessageType::MessageType_MoneroKeyImageSyncStepRequest => 220,
- MessageType::MessageType_MoneroKeyImageSyncStepAck => 221,
- MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 222,
- MessageType::MessageType_MoneroKeyImageSyncFinalAck => 223,
- MessageType::MessageType_MoneroGetAddress => 224,
- MessageType::MessageType_MoneroAddress => 225,
- MessageType::MessageType_MoneroGetWatchKey => 226,
- MessageType::MessageType_MoneroWatchKey => 227,
- MessageType::MessageType_DebugMoneroDiagRequest => 228,
- MessageType::MessageType_DebugMoneroDiagAck => 229,
- MessageType::MessageType_MoneroGetTxKeyRequest => 230,
- MessageType::MessageType_MoneroGetTxKeyAck => 231,
- MessageType::MessageType_MoneroLiveRefreshStartRequest => 232,
- MessageType::MessageType_MoneroLiveRefreshStartAck => 233,
- MessageType::MessageType_MoneroLiveRefreshStepRequest => 234,
- MessageType::MessageType_MoneroLiveRefreshStepAck => 235,
- MessageType::MessageType_MoneroLiveRefreshFinalRequest => 236,
- MessageType::MessageType_MoneroLiveRefreshFinalAck => 237,
- MessageType::MessageType_EosGetPublicKey => 238,
- MessageType::MessageType_EosPublicKey => 239,
- MessageType::MessageType_EosSignTx => 240,
- MessageType::MessageType_EosTxActionRequest => 241,
- MessageType::MessageType_EosTxActionAck => 242,
- MessageType::MessageType_EosSignedTx => 243,
- MessageType::MessageType_WebAuthnListResidentCredentials => 244,
- MessageType::MessageType_WebAuthnCredentials => 245,
- MessageType::MessageType_WebAuthnAddResidentCredential => 246,
- MessageType::MessageType_WebAuthnRemoveResidentCredential => 247,
- MessageType::MessageType_WebAuthnCredentialsAck => 248,
- MessageType::MessageType_SolanaGetPublicKey => 249,
- MessageType::MessageType_SolanaPublicKey => 250,
- MessageType::MessageType_SolanaGetAddress => 251,
- MessageType::MessageType_SolanaAddress => 252,
- MessageType::MessageType_SolanaSignTx => 253,
- MessageType::MessageType_SolanaTxSignature => 254,
- MessageType::MessageType_SolanaSignMessage => 255,
- MessageType::MessageType_SolanaMessageSignature => 256,
- MessageType::MessageType_SolanaVerifyMessage => 257,
- MessageType::MessageType_ThpCreateNewSession => 258,
- MessageType::MessageType_ThpCredentialRequest => 259,
- MessageType::MessageType_ThpCredentialResponse => 260,
- MessageType::MessageType_NostrGetPubkey => 261,
- MessageType::MessageType_NostrPubkey => 262,
- MessageType::MessageType_NostrSignEvent => 263,
- MessageType::MessageType_NostrEventSignature => 264,
- MessageType::MessageType_EvoluGetNode => 265,
- MessageType::MessageType_EvoluNode => 266,
- MessageType::MessageType_EvoluSignRegistrationRequest => 267,
- MessageType::MessageType_EvoluRegistrationRequest => 268,
- MessageType::MessageType_EvoluGetDelegatedIdentityKey => 269,
- MessageType::MessageType_EvoluDelegatedIdentityKey => 270,
- MessageType::MessageType_EvoluIndexManagement => 271,
- MessageType::MessageType_EvoluIndexManagementResponse => 272,
- MessageType::MessageType_TronGetAddress => 273,
- MessageType::MessageType_TronAddress => 274,
- MessageType::MessageType_TronSignTx => 275,
- MessageType::MessageType_TronSignature => 276,
- MessageType::MessageType_TronContractRequest => 277,
- MessageType::MessageType_TronTransferContract => 278,
- MessageType::MessageType_TronTriggerSmartContract => 279,
- MessageType::MessageType_TronFreezeBalanceV2Contract => 280,
- MessageType::MessageType_TronUnfreezeBalanceV2Contract => 281,
- MessageType::MessageType_TronWithdrawUnfreeze => 282,
- MessageType::MessageType_TronVoteWitnessContract => 283,
- MessageType::MessageType_TronWithdrawBalance => 284,
- MessageType::MessageType_BenchmarkListNames => 285,
- MessageType::MessageType_BenchmarkNames => 286,
- MessageType::MessageType_BenchmarkRun => 287,
- MessageType::MessageType_BenchmarkResult => 288,
- MessageType::MessageType_TelemetryGet => 289,
- MessageType::MessageType_Telemetry => 290,
+ MessageType::MessageType_EthereumSignAuth7702 => 134,
+ MessageType::MessageType_EthereumAuth7702Signature => 135,
+ MessageType::MessageType_NEMGetAddress => 136,
+ MessageType::MessageType_NEMAddress => 137,
+ MessageType::MessageType_NEMSignTx => 138,
+ MessageType::MessageType_NEMSignedTx => 139,
+ MessageType::MessageType_NEMDecryptMessage => 140,
+ MessageType::MessageType_NEMDecryptedMessage => 141,
+ MessageType::MessageType_TezosGetAddress => 142,
+ MessageType::MessageType_TezosAddress => 143,
+ MessageType::MessageType_TezosSignTx => 144,
+ MessageType::MessageType_TezosSignedTx => 145,
+ MessageType::MessageType_TezosGetPublicKey => 146,
+ MessageType::MessageType_TezosPublicKey => 147,
+ MessageType::MessageType_StellarSignTx => 148,
+ MessageType::MessageType_StellarTxOpRequest => 149,
+ MessageType::MessageType_StellarGetAddress => 150,
+ MessageType::MessageType_StellarAddress => 151,
+ MessageType::MessageType_StellarCreateAccountOp => 152,
+ MessageType::MessageType_StellarPaymentOp => 153,
+ MessageType::MessageType_StellarPathPaymentStrictReceiveOp => 154,
+ MessageType::MessageType_StellarManageSellOfferOp => 155,
+ MessageType::MessageType_StellarCreatePassiveSellOfferOp => 156,
+ MessageType::MessageType_StellarSetOptionsOp => 157,
+ MessageType::MessageType_StellarChangeTrustOp => 158,
+ MessageType::MessageType_StellarAllowTrustOp => 159,
+ MessageType::MessageType_StellarAccountMergeOp => 160,
+ MessageType::MessageType_StellarManageDataOp => 161,
+ MessageType::MessageType_StellarBumpSequenceOp => 162,
+ MessageType::MessageType_StellarManageBuyOfferOp => 163,
+ MessageType::MessageType_StellarPathPaymentStrictSendOp => 164,
+ MessageType::MessageType_StellarClaimClaimableBalanceOp => 165,
+ MessageType::MessageType_StellarSignedTx => 166,
+ MessageType::MessageType_CardanoGetPublicKey => 167,
+ MessageType::MessageType_CardanoPublicKey => 168,
+ MessageType::MessageType_CardanoGetAddress => 169,
+ MessageType::MessageType_CardanoAddress => 170,
+ MessageType::MessageType_CardanoTxItemAck => 171,
+ MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 172,
+ MessageType::MessageType_CardanoTxWitnessRequest => 173,
+ MessageType::MessageType_CardanoTxWitnessResponse => 174,
+ MessageType::MessageType_CardanoTxHostAck => 175,
+ MessageType::MessageType_CardanoTxBodyHash => 176,
+ MessageType::MessageType_CardanoSignTxFinished => 177,
+ MessageType::MessageType_CardanoSignTxInit => 178,
+ MessageType::MessageType_CardanoTxInput => 179,
+ MessageType::MessageType_CardanoTxOutput => 180,
+ MessageType::MessageType_CardanoAssetGroup => 181,
+ MessageType::MessageType_CardanoToken => 182,
+ MessageType::MessageType_CardanoTxCertificate => 183,
+ MessageType::MessageType_CardanoTxWithdrawal => 184,
+ MessageType::MessageType_CardanoTxAuxiliaryData => 185,
+ MessageType::MessageType_CardanoPoolOwner => 186,
+ MessageType::MessageType_CardanoPoolRelayParameters => 187,
+ MessageType::MessageType_CardanoGetNativeScriptHash => 188,
+ MessageType::MessageType_CardanoNativeScriptHash => 189,
+ MessageType::MessageType_CardanoTxMint => 190,
+ MessageType::MessageType_CardanoTxCollateralInput => 191,
+ MessageType::MessageType_CardanoTxRequiredSigner => 192,
+ MessageType::MessageType_CardanoTxInlineDatumChunk => 193,
+ MessageType::MessageType_CardanoTxReferenceScriptChunk => 194,
+ MessageType::MessageType_CardanoTxReferenceInput => 195,
+ MessageType::MessageType_CardanoSignMessageInit => 196,
+ MessageType::MessageType_CardanoMessageDataRequest => 197,
+ MessageType::MessageType_CardanoMessageDataResponse => 198,
+ MessageType::MessageType_CardanoMessageSignature => 199,
+ MessageType::MessageType_RippleGetAddress => 200,
+ MessageType::MessageType_RippleAddress => 201,
+ MessageType::MessageType_RippleSignTx => 202,
+ MessageType::MessageType_RippleSignedTx => 203,
+ MessageType::MessageType_MoneroTransactionInitRequest => 204,
+ MessageType::MessageType_MoneroTransactionInitAck => 205,
+ MessageType::MessageType_MoneroTransactionSetInputRequest => 206,
+ MessageType::MessageType_MoneroTransactionSetInputAck => 207,
+ MessageType::MessageType_MoneroTransactionInputViniRequest => 208,
+ MessageType::MessageType_MoneroTransactionInputViniAck => 209,
+ MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 210,
+ MessageType::MessageType_MoneroTransactionAllInputsSetAck => 211,
+ MessageType::MessageType_MoneroTransactionSetOutputRequest => 212,
+ MessageType::MessageType_MoneroTransactionSetOutputAck => 213,
+ MessageType::MessageType_MoneroTransactionAllOutSetRequest => 214,
+ MessageType::MessageType_MoneroTransactionAllOutSetAck => 215,
+ MessageType::MessageType_MoneroTransactionSignInputRequest => 216,
+ MessageType::MessageType_MoneroTransactionSignInputAck => 217,
+ MessageType::MessageType_MoneroTransactionFinalRequest => 218,
+ MessageType::MessageType_MoneroTransactionFinalAck => 219,
+ MessageType::MessageType_MoneroKeyImageExportInitRequest => 220,
+ MessageType::MessageType_MoneroKeyImageExportInitAck => 221,
+ MessageType::MessageType_MoneroKeyImageSyncStepRequest => 222,
+ MessageType::MessageType_MoneroKeyImageSyncStepAck => 223,
+ MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 224,
+ MessageType::MessageType_MoneroKeyImageSyncFinalAck => 225,
+ MessageType::MessageType_MoneroGetAddress => 226,
+ MessageType::MessageType_MoneroAddress => 227,
+ MessageType::MessageType_MoneroGetWatchKey => 228,
+ MessageType::MessageType_MoneroWatchKey => 229,
+ MessageType::MessageType_DebugMoneroDiagRequest => 230,
+ MessageType::MessageType_DebugMoneroDiagAck => 231,
+ MessageType::MessageType_MoneroGetTxKeyRequest => 232,
+ MessageType::MessageType_MoneroGetTxKeyAck => 233,
+ MessageType::MessageType_MoneroLiveRefreshStartRequest => 234,
+ MessageType::MessageType_MoneroLiveRefreshStartAck => 235,
+ MessageType::MessageType_MoneroLiveRefreshStepRequest => 236,
+ MessageType::MessageType_MoneroLiveRefreshStepAck => 237,
+ MessageType::MessageType_MoneroLiveRefreshFinalRequest => 238,
+ MessageType::MessageType_MoneroLiveRefreshFinalAck => 239,
+ MessageType::MessageType_EosGetPublicKey => 240,
+ MessageType::MessageType_EosPublicKey => 241,
+ MessageType::MessageType_EosSignTx => 242,
+ MessageType::MessageType_EosTxActionRequest => 243,
+ MessageType::MessageType_EosTxActionAck => 244,
+ MessageType::MessageType_EosSignedTx => 245,
+ MessageType::MessageType_WebAuthnListResidentCredentials => 246,
+ MessageType::MessageType_WebAuthnCredentials => 247,
+ MessageType::MessageType_WebAuthnAddResidentCredential => 248,
+ MessageType::MessageType_WebAuthnRemoveResidentCredential => 249,
+ MessageType::MessageType_WebAuthnCredentialsAck => 250,
+ MessageType::MessageType_SolanaGetPublicKey => 251,
+ MessageType::MessageType_SolanaPublicKey => 252,
+ MessageType::MessageType_SolanaGetAddress => 253,
+ MessageType::MessageType_SolanaAddress => 254,
+ MessageType::MessageType_SolanaSignTx => 255,
+ MessageType::MessageType_SolanaTxSignature => 256,
+ MessageType::MessageType_SolanaSignMessage => 257,
+ MessageType::MessageType_SolanaMessageSignature => 258,
+ MessageType::MessageType_SolanaVerifyMessage => 259,
+ MessageType::MessageType_ThpCreateNewSession => 260,
+ MessageType::MessageType_ThpCredentialRequest => 261,
+ MessageType::MessageType_ThpCredentialResponse => 262,
+ MessageType::MessageType_NostrGetPubkey => 263,
+ MessageType::MessageType_NostrPubkey => 264,
+ MessageType::MessageType_NostrSignEvent => 265,
+ MessageType::MessageType_NostrEventSignature => 266,
+ MessageType::MessageType_EvoluGetNode => 267,
+ MessageType::MessageType_EvoluNode => 268,
+ MessageType::MessageType_EvoluSignRegistrationRequest => 269,
+ MessageType::MessageType_EvoluRegistrationRequest => 270,
+ MessageType::MessageType_EvoluGetDelegatedIdentityKey => 271,
+ MessageType::MessageType_EvoluDelegatedIdentityKey => 272,
+ MessageType::MessageType_EvoluIndexManagement => 273,
+ MessageType::MessageType_EvoluIndexManagementResponse => 274,
+ MessageType::MessageType_TronGetAddress => 275,
+ MessageType::MessageType_TronAddress => 276,
+ MessageType::MessageType_TronSignTx => 277,
+ MessageType::MessageType_TronSignature => 278,
+ MessageType::MessageType_TronContractRequest => 279,
+ MessageType::MessageType_TronTransferContract => 280,
+ MessageType::MessageType_TronTriggerSmartContract => 281,
+ MessageType::MessageType_TronFreezeBalanceV2Contract => 282,
+ MessageType::MessageType_TronUnfreezeBalanceV2Contract => 283,
+ MessageType::MessageType_TronWithdrawUnfreeze => 284,
+ MessageType::MessageType_TronVoteWitnessContract => 285,
+ MessageType::MessageType_TronWithdrawBalance => 286,
+ MessageType::MessageType_BenchmarkListNames => 287,
+ MessageType::MessageType_BenchmarkNames => 288,
+ MessageType::MessageType_BenchmarkRun => 289,
+ MessageType::MessageType_BenchmarkResult => 290,
+ MessageType::MessageType_TelemetryGet => 291,
+ MessageType::MessageType_Telemetry => 292,
};
Self::enum_descriptor().value_by_index(index)
}
@@ -1824,7 +1836,7 @@ impl MessageType {
}
static file_descriptor_proto_data: &'static [u8] = b"\
- \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\xa6f\
+ \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\x85g\
\n\x0bMessageType\x12(\n\x16MessageType_Initialize\x10\0\x1a\x0c\xb0\xb5\
\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\x1e\n\x10MessageType_Ping\
\x10\x01\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x13MessageType_S\
@@ -1984,88 +1996,90 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x03\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_EthereumSignTypedHash\
\x10\xd6\x03\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_EthereumDefiniti\
onRequest\x10\xd7\x03\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_Ethereu\
- mDefinitionAck\x10\xd8\x03\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType\
- _NEMGetAddress\x10C\x1a\x04\x90\xb5\x18\x01\x12\x20\n\x16MessageType_NEM\
- Address\x10D\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_NEMSignTx\
- \x10E\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_NEMSignedTx\x10F\x1a\
- \x04\x98\xb5\x18\x01\x12'\n\x1dMessageType_NEMDecryptMessage\x10K\x1a\
- \x04\x90\xb5\x18\x01\x12)\n\x1fMessageType_NEMDecryptedMessage\x10L\x1a\
- \x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_TezosGetAddress\x10\x96\x01\
- \x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_TezosAddress\x10\x97\x01\
- \x1a\x04\x98\xb5\x18\x01\x12\"\n\x17MessageType_TezosSignTx\x10\x98\x01\
- \x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_TezosSignedTx\x10\x99\x01\
- \x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_TezosGetPublicKey\x10\x9a\
- \x01\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_TezosPublicKey\x10\
- \x9b\x01\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_StellarSignTx\x10\
- \xca\x01\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_StellarTxOpReques\
- t\x10\xcb\x01\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_StellarGetAd\
- dress\x10\xcf\x01\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_StellarA\
- ddress\x10\xd0\x01\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_StellarCr\
- eateAccountOp\x10\xd2\x01\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_\
- StellarPaymentOp\x10\xd3\x01\x1a\x04\x90\xb5\x18\x01\x128\n-MessageType_\
- StellarPathPaymentStrictReceiveOp\x10\xd4\x01\x1a\x04\x90\xb5\x18\x01\
- \x12/\n$MessageType_StellarManageSellOfferOp\x10\xd5\x01\x1a\x04\x90\xb5\
- \x18\x01\x126\n+MessageType_StellarCreatePassiveSellOfferOp\x10\xd6\x01\
- \x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarSetOptionsOp\x10\
- \xd7\x01\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_StellarChangeTrus\
- tOp\x10\xd8\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarAll\
- owTrustOp\x10\xd9\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_Stellar\
- AccountMergeOp\x10\xda\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType\
- _StellarManageDataOp\x10\xdc\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageT\
- ype_StellarBumpSequenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\n#Mes\
- sageType_StellarManageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\x01\x12\
- 5\n*MessageType_StellarPathPaymentStrictSendOp\x10\xdf\x01\x1a\x04\x90\
- \xb5\x18\x01\x125\n*MessageType_StellarClaimClaimableBalanceOp\x10\xe1\
- \x01\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_StellarSignedTx\x10\
- \xe6\x01\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetPublicK\
- ey\x10\xb1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPubl\
- icKey\x10\xb2\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoG\
- etAddress\x10\xb3\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_Card\
- anoAddress\x10\xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_Car\
- danoTxItemAck\x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_Car\
- danoTxAuxiliaryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n\
- #MessageType_CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\
- \x12/\n$MessageType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\
- \x18\x01\x12'\n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\
- \xb5\x18\x01\x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\
- \x98\xb5\x18\x01\x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\
- \x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\
- \x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\
- \xc1\x02\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\
- \x10\xc2\x02\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetG\
- roup\x10\xc3\x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoTo\
- ken\x10\xc4\x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxC\
- ertificate\x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Car\
- danoTxWithdrawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType\
- _CardanoTxAuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMe\
- ssageType_CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Me\
- ssageType_CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\
- \x121\n&MessageType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\x04\x90\
- \xb5\x18\x01\x12.\n#MessageType_CardanoNativeScriptHash\x10\xcb\x02\x1a\
- \x04\x98\xb5\x18\x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\x02\x1a\
- \x04\x90\xb5\x18\x01\x12/\n$MessageType_CardanoTxCollateralInput\x10\xcd\
- \x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoTxRequiredSigner\
- \x10\xce\x02\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTxInlineD\
- atumChunk\x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_Cardano\
- TxReferenceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#Messag\
- eType_CardanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\
- \"MessageType_CardanoSignMessageInit\x10\xd2\x02\x1a\x04\x90\xb5\x18\x01\
- \x120\n%MessageType_CardanoMessageDataRequest\x10\xd3\x02\x1a\x04\x98\
- \xb5\x18\x01\x121\n&MessageType_CardanoMessageDataResponse\x10\xd4\x02\
- \x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoMessageSignature\x10\
- \xd5\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_RippleGetAddress\
- \x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\
- \x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\
- \x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedT\
- x\x10\x93\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransacti\
- onInitRequest\x10\xf5\x03\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_Mon\
- eroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,Message\
- Type_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x90\xb5\x18\
- \x01\x123\n(MessageType_MoneroTransactionSetInputAck\x10\xf8\x03\x1a\x04\
- \x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionInputViniRequest\
- \x10\xfb\x03\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
- nInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageType_Mon\
- eroTransactionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x90\xb5\x18\x01\
+ mDefinitionAck\x10\xd8\x03\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType\
+ _EthereumSignAuth7702\x10\xd9\x03\x1a\x04\x90\xb5\x18\x01\x120\n%Message\
+ Type_EthereumAuth7702Signature\x10\xda\x03\x1a\x04\x98\xb5\x18\x01\x12#\
+ \n\x19MessageType_NEMGetAddress\x10C\x1a\x04\x90\xb5\x18\x01\x12\x20\n\
+ \x16MessageType_NEMAddress\x10D\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15Mes\
+ sageType_NEMSignTx\x10E\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_NE\
+ MSignedTx\x10F\x1a\x04\x98\xb5\x18\x01\x12'\n\x1dMessageType_NEMDecryptM\
+ essage\x10K\x1a\x04\x90\xb5\x18\x01\x12)\n\x1fMessageType_NEMDecryptedMe\
+ ssage\x10L\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_TezosGetAddress\
+ \x10\x96\x01\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_TezosAddress\
+ \x10\x97\x01\x1a\x04\x98\xb5\x18\x01\x12\"\n\x17MessageType_TezosSignTx\
+ \x10\x98\x01\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_TezosSignedTx\
+ \x10\x99\x01\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_TezosGetPubli\
+ cKey\x10\x9a\x01\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_TezosPubl\
+ icKey\x10\x9b\x01\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_StellarS\
+ ignTx\x10\xca\x01\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_StellarT\
+ xOpRequest\x10\xcb\x01\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_Ste\
+ llarGetAddress\x10\xcf\x01\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType\
+ _StellarAddress\x10\xd0\x01\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_\
+ StellarCreateAccountOp\x10\xd2\x01\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMes\
+ sageType_StellarPaymentOp\x10\xd3\x01\x1a\x04\x90\xb5\x18\x01\x128\n-Mes\
+ sageType_StellarPathPaymentStrictReceiveOp\x10\xd4\x01\x1a\x04\x90\xb5\
+ \x18\x01\x12/\n$MessageType_StellarManageSellOfferOp\x10\xd5\x01\x1a\x04\
+ \x90\xb5\x18\x01\x126\n+MessageType_StellarCreatePassiveSellOfferOp\x10\
+ \xd6\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarSetOptions\
+ Op\x10\xd7\x01\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_StellarChan\
+ geTrustOp\x10\xd8\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Stel\
+ larAllowTrustOp\x10\xd9\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_S\
+ tellarAccountMergeOp\x10\xda\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessa\
+ geType_StellarManageDataOp\x10\xdc\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!Me\
+ ssageType_StellarBumpSequenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\
+ \n#MessageType_StellarManageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\
+ \x01\x125\n*MessageType_StellarPathPaymentStrictSendOp\x10\xdf\x01\x1a\
+ \x04\x90\xb5\x18\x01\x125\n*MessageType_StellarClaimClaimableBalanceOp\
+ \x10\xe1\x01\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_StellarSigned\
+ Tx\x10\xe6\x01\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetP\
+ ublicKey\x10\xb1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_Carda\
+ noPublicKey\x10\xb2\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_Ca\
+ rdanoGetAddress\x10\xb3\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageTyp\
+ e_CardanoAddress\x10\xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageTy\
+ pe_CardanoTxItemAck\x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageTy\
+ pe_CardanoTxAuxiliaryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\
+ \x12.\n#MessageType_CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\
+ \x18\x01\x12/\n$MessageType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\
+ \x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\
+ \x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\
+ \x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_CardanoSignTxFinished\x10\
+ \xbf\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\
+ \x10\xc0\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInpu\
+ t\x10\xc1\x02\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOut\
+ put\x10\xc2\x02\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAss\
+ etGroup\x10\xc3\x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_Cardan\
+ oToken\x10\xc4\x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_Cardano\
+ TxCertificate\x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_\
+ CardanoTxWithdrawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageT\
+ ype_CardanoTxAuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\
+ \x1cMessageType_CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x12\
+ 1\n&MessageType_CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\
+ \x18\x01\x121\n&MessageType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\
+ \x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoNativeScriptHash\x10\xcb\
+ \x02\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\
+ \x02\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_CardanoTxCollateralInput\
+ \x10\xcd\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoTxRequire\
+ dSigner\x10\xce\x02\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTx\
+ InlineDatumChunk\x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_\
+ CardanoTxReferenceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n\
+ #MessageType_CardanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\
+ \x12-\n\"MessageType_CardanoSignMessageInit\x10\xd2\x02\x1a\x04\x90\xb5\
+ \x18\x01\x120\n%MessageType_CardanoMessageDataRequest\x10\xd3\x02\x1a\
+ \x04\x98\xb5\x18\x01\x121\n&MessageType_CardanoMessageDataResponse\x10\
+ \xd4\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoMessageSignat\
+ ure\x10\xd5\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_RippleGetA\
+ ddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleA\
+ ddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleS\
+ ignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSi\
+ gnedTx\x10\x93\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTran\
+ sactionInitRequest\x10\xf5\x03\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageTyp\
+ e_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,Me\
+ ssageType_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x90\xb5\
+ \x18\x01\x123\n(MessageType_MoneroTransactionSetInputAck\x10\xf8\x03\x1a\
+ \x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionInputViniReques\
+ t\x10\xfb\x03\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_MoneroTransacti\
+ onInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageType_Mo\
+ neroTransactionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x90\xb5\x18\x01\
\x127\n,MessageType_MoneroTransactionAllInputsSetAck\x10\xfe\x03\x1a\x04\
\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionSetOutputRequest\
\x10\xff\x03\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
diff --git a/rust/trezor-client/src/protos/generated/messages_ethereum.rs b/rust/trezor-client/src/protos/generated/messages_ethereum.rs
index fd63e4a6..2dda2683 100644
--- a/rust/trezor-client/src/protos/generated/messages_ethereum.rs
+++ b/rust/trezor-client/src/protos/generated/messages_ethereum.rs
@@ -4912,79 +4912,606 @@ impl ::protobuf::reflect::ProtobufValue for EthereumDefinitions {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
+// @@protoc_insertion_point(message:hw.trezor.messages.ethereum.EthereumSignAuth7702)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct EthereumSignAuth7702 {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumSignAuth7702.address_n)
+ pub address_n: ::std::vec::Vec<u32>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumSignAuth7702.chain_id)
+ pub chain_id: ::std::option::Option<u64>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumSignAuth7702.delegate)
+ pub delegate: ::std::option::Option<::std::string::String>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumSignAuth7702.nonce)
+ pub nonce: ::std::option::Option<u64>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.ethereum.EthereumSignAuth7702.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a EthereumSignAuth7702 {
+ fn default() -> &'a EthereumSignAuth7702 {
+ <EthereumSignAuth7702 as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl EthereumSignAuth7702 {
+ pub fn new() -> EthereumSignAuth7702 {
+ ::std::default::Default::default()
+ }
+
+ // required uint64 chain_id = 2;
+
+ pub fn chain_id(&self) -> u64 {
+ self.chain_id.unwrap_or(0)
+ }
+
+ pub fn clear_chain_id(&mut self) {
+ self.chain_id = ::std::option::Option::None;
+ }
+
+ pub fn has_chain_id(&self) -> bool {
+ self.chain_id.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_chain_id(&mut self, v: u64) {
+ self.chain_id = ::std::option::Option::Some(v);
+ }
+
+ // required string delegate = 3;
+
+ pub fn delegate(&self) -> &str {
+ match self.delegate.as_ref() {
+ Some(v) => v,
+ None => "",
+ }
+ }
+
+ pub fn clear_delegate(&mut self) {
+ self.delegate = ::std::option::Option::None;
+ }
+
+ pub fn has_delegate(&self) -> bool {
+ self.delegate.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_delegate(&mut self, v: ::std::string::String) {
+ self.delegate = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_delegate(&mut self) -> &mut ::std::string::String {
+ if self.delegate.is_none() {
+ self.delegate = ::std::option::Option::Some(::std::string::String::new());
+ }
+ self.delegate.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_delegate(&mut self) -> ::std::string::String {
+ self.delegate.take().unwrap_or_else(|| ::std::string::String::new())
+ }
+
+ // required uint64 nonce = 4;
+
+ pub fn nonce(&self) -> u64 {
+ self.nonce.unwrap_or(0)
+ }
+
+ pub fn clear_nonce(&mut self) {
+ self.nonce = ::std::option::Option::None;
+ }
+
+ pub fn has_nonce(&self) -> bool {
+ self.nonce.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_nonce(&mut self, v: u64) {
+ self.nonce = ::std::option::Option::Some(v);
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(4);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
+ "address_n",
+ |m: &EthereumSignAuth7702| { &m.address_n },
+ |m: &mut EthereumSignAuth7702| { &mut m.address_n },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "chain_id",
+ |m: &EthereumSignAuth7702| { &m.chain_id },
+ |m: &mut EthereumSignAuth7702| { &mut m.chain_id },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "delegate",
+ |m: &EthereumSignAuth7702| { &m.delegate },
+ |m: &mut EthereumSignAuth7702| { &mut m.delegate },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "nonce",
+ |m: &EthereumSignAuth7702| { &m.nonce },
+ |m: &mut EthereumSignAuth7702| { &mut m.nonce },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<EthereumSignAuth7702>(
+ "EthereumSignAuth7702",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for EthereumSignAuth7702 {
+ const NAME: &'static str = "EthereumSignAuth7702";
+
+ fn is_initialized(&self) -> bool {
+ if self.chain_id.is_none() {
+ return false;
+ }
+ if self.delegate.is_none() {
+ return false;
+ }
+ if self.nonce.is_none() {
+ return false;
+ }
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 10 => {
+ is.read_repeated_packed_uint32_into(&mut self.address_n)?;
+ },
+ 8 => {
+ self.address_n.push(is.read_uint32()?);
+ },
+ 16 => {
+ self.chain_id = ::std::option::Option::Some(is.read_uint64()?);
+ },
+ 26 => {
+ self.delegate = ::std::option::Option::Some(is.read_string()?);
+ },
+ 32 => {
+ self.nonce = ::std::option::Option::Some(is.read_uint64()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ for value in &self.address_n {
+ my_size += ::protobuf::rt::uint32_size(1, *value);
+ };
+ if let Some(v) = self.chain_id {
+ my_size += ::protobuf::rt::uint64_size(2, v);
+ }
+ if let Some(v) = self.delegate.as_ref() {
+ my_size += ::protobuf::rt::string_size(3, &v);
+ }
+ if let Some(v) = self.nonce {
+ my_size += ::protobuf::rt::uint64_size(4, v);
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ for v in &self.address_n {
+ os.write_uint32(1, *v)?;
+ };
+ if let Some(v) = self.chain_id {
+ os.write_uint64(2, v)?;
+ }
+ if let Some(v) = self.delegate.as_ref() {
+ os.write_string(3, v)?;
+ }
+ if let Some(v) = self.nonce {
+ os.write_uint64(4, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> EthereumSignAuth7702 {
+ EthereumSignAuth7702::new()
+ }
+
+ fn clear(&mut self) {
+ self.address_n.clear();
+ self.chain_id = ::std::option::Option::None;
+ self.delegate = ::std::option::Option::None;
+ self.nonce = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static EthereumSignAuth7702 {
+ static instance: EthereumSignAuth7702 = EthereumSignAuth7702 {
+ address_n: ::std::vec::Vec::new(),
+ chain_id: ::std::option::Option::None,
+ delegate: ::std::option::Option::None,
+ nonce: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for EthereumSignAuth7702 {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("EthereumSignAuth7702").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for EthereumSignAuth7702 {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for EthereumSignAuth7702 {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.ethereum.EthereumAuth7702Signature)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct EthereumAuth7702Signature {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumAuth7702Signature.signature_v)
+ pub signature_v: ::std::option::Option<u32>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumAuth7702Signature.signature_r)
+ pub signature_r: ::std::option::Option<::std::vec::Vec<u8>>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumAuth7702Signature.signature_s)
+ pub signature_s: ::std::option::Option<::std::vec::Vec<u8>>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.ethereum.EthereumAuth7702Signature.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a EthereumAuth7702Signature {
+ fn default() -> &'a EthereumAuth7702Signature {
+ <EthereumAuth7702Signature as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl EthereumAuth7702Signature {
+ pub fn new() -> EthereumAuth7702Signature {
+ ::std::default::Default::default()
+ }
+
+ // required uint32 signature_v = 1;
+
+ pub fn signature_v(&self) -> u32 {
+ self.signature_v.unwrap_or(0)
+ }
+
+ pub fn clear_signature_v(&mut self) {
+ self.signature_v = ::std::option::Option::None;
+ }
+
+ pub fn has_signature_v(&self) -> bool {
+ self.signature_v.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_signature_v(&mut self, v: u32) {
+ self.signature_v = ::std::option::Option::Some(v);
+ }
+
+ // required bytes signature_r = 2;
+
+ pub fn signature_r(&self) -> &[u8] {
+ match self.signature_r.as_ref() {
+ Some(v) => v,
+ None => &[],
+ }
+ }
+
+ pub fn clear_signature_r(&mut self) {
+ self.signature_r = ::std::option::Option::None;
+ }
+
+ pub fn has_signature_r(&self) -> bool {
+ self.signature_r.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_signature_r(&mut self, v: ::std::vec::Vec<u8>) {
+ self.signature_r = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_signature_r(&mut self) -> &mut ::std::vec::Vec<u8> {
+ if self.signature_r.is_none() {
+ self.signature_r = ::std::option::Option::Some(::std::vec::Vec::new());
+ }
+ self.signature_r.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_signature_r(&mut self) -> ::std::vec::Vec<u8> {
+ self.signature_r.take().unwrap_or_else(|| ::std::vec::Vec::new())
+ }
+
+ // required bytes signature_s = 3;
+
+ pub fn signature_s(&self) -> &[u8] {
+ match self.signature_s.as_ref() {
+ Some(v) => v,
+ None => &[],
+ }
+ }
+
+ pub fn clear_signature_s(&mut self) {
+ self.signature_s = ::std::option::Option::None;
+ }
+
+ pub fn has_signature_s(&self) -> bool {
+ self.signature_s.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_signature_s(&mut self, v: ::std::vec::Vec<u8>) {
+ self.signature_s = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_signature_s(&mut self) -> &mut ::std::vec::Vec<u8> {
+ if self.signature_s.is_none() {
+ self.signature_s = ::std::option::Option::Some(::std::vec::Vec::new());
+ }
+ self.signature_s.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_signature_s(&mut self) -> ::std::vec::Vec<u8> {
+ self.signature_s.take().unwrap_or_else(|| ::std::vec::Vec::new())
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(3);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "signature_v",
+ |m: &EthereumAuth7702Signature| { &m.signature_v },
+ |m: &mut EthereumAuth7702Signature| { &mut m.signature_v },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "signature_r",
+ |m: &EthereumAuth7702Signature| { &m.signature_r },
+ |m: &mut EthereumAuth7702Signature| { &mut m.signature_r },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "signature_s",
+ |m: &EthereumAuth7702Signature| { &m.signature_s },
+ |m: &mut EthereumAuth7702Signature| { &mut m.signature_s },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<EthereumAuth7702Signature>(
+ "EthereumAuth7702Signature",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for EthereumAuth7702Signature {
+ const NAME: &'static str = "EthereumAuth7702Signature";
+
+ fn is_initialized(&self) -> bool {
+ if self.signature_v.is_none() {
+ return false;
+ }
+ if self.signature_r.is_none() {
+ return false;
+ }
+ if self.signature_s.is_none() {
+ return false;
+ }
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 8 => {
+ self.signature_v = ::std::option::Option::Some(is.read_uint32()?);
+ },
+ 18 => {
+ self.signature_r = ::std::option::Option::Some(is.read_bytes()?);
+ },
+ 26 => {
+ self.signature_s = ::std::option::Option::Some(is.read_bytes()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.signature_v {
+ my_size += ::protobuf::rt::uint32_size(1, v);
+ }
+ if let Some(v) = self.signature_r.as_ref() {
+ my_size += ::protobuf::rt::bytes_size(2, &v);
+ }
+ if let Some(v) = self.signature_s.as_ref() {
+ my_size += ::protobuf::rt::bytes_size(3, &v);
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.signature_v {
+ os.write_uint32(1, v)?;
+ }
+ if let Some(v) = self.signature_r.as_ref() {
+ os.write_bytes(2, v)?;
+ }
+ if let Some(v) = self.signature_s.as_ref() {
+ os.write_bytes(3, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> EthereumAuth7702Signature {
+ EthereumAuth7702Signature::new()
+ }
+
+ fn clear(&mut self) {
+ self.signature_v = ::std::option::Option::None;
+ self.signature_r = ::std::option::Option::None;
+ self.signature_s = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static EthereumAuth7702Signature {
+ static instance: EthereumAuth7702Signature = EthereumAuth7702Signature {
+ signature_v: ::std::option::Option::None,
+ signature_r: ::std::option::Option::None,
+ signature_s: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for EthereumAuth7702Signature {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("EthereumAuth7702Signature").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for EthereumAuth7702Signature {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for EthereumAuth7702Signature {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x17messages-ethereum.proto\x12\x1bhw.trezor.messages.ethereum\x1a\x15\
- messages-common.proto\"V\n\x14EthereumGetPublicKey\x12\x1b\n\taddress_n\
- \x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\
- \x08R\x0bshowDisplay\"b\n\x11EthereumPublicKey\x129\n\x04node\x18\x01\
- \x20\x02(\x0b2%.hw.trezor.messages.common.HDNodeTypeR\x04node\x12\x12\n\
- \x04xpub\x18\x02\x20\x02(\tR\x04xpub\"\x99\x01\n\x12EthereumGetAddress\
+ messages-common.proto\x1a\roptions.proto\"V\n\x14EthereumGetPublicKey\
\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\n\x0cshow_dis\
- play\x18\x02\x20\x01(\x08R\x0bshowDisplay\x12'\n\x0fencoded_network\x18\
- \x03\x20\x01(\x0cR\x0eencodedNetwork\x12\x1a\n\x08chunkify\x18\x04\x20\
- \x01(\x08R\x08chunkify\"c\n\x0fEthereumAddress\x12$\n\x0c_old_address\
- \x18\x01\x20\x01(\x0cR\nOldAddressB\x02\x18\x01\x12\x18\n\x07address\x18\
- \x02\x20\x01(\tR\x07address\x12\x10\n\x03mac\x18\x03\x20\x01(\x0cR\x03ma\
- c\"\xad\x04\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\x12>\n\x1bs\
- upports_definition_request\x18\x0f\x20\x01(\x08R\x19supportsDefinitionRe\
- quest\"\xfc\x05\n\x15EthereumSignTxEIP1559\x12\x1b\n\taddress_n\x18\x01\
- \x20\x03(\rR\x08addressN\x12\x14\n\x05nonce\x18\x02\x20\x02(\x0cR\x05non\
- ce\x12\x1e\n\x0bmax_gas_fee\x18\x03\x20\x02(\x0cR\tmaxGasFee\x12(\n\x10m\
- ax_priority_fee\x18\x04\x20\x02(\x0cR\x0emaxPriorityFee\x12\x1b\n\tgas_l\
- imit\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:\0R\x10dataInitialChunk\x12\
- \x1f\n\x0bdata_length\x18\t\x20\x02(\rR\ndataLength\x12\x19\n\x08chain_i\
- d\x18\n\x20\x02(\x04R\x07chainId\x12f\n\x0baccess_list\x18\x0b\x20\x03(\
- \x0b2E.hw.trezor.messages.ethereum.EthereumSignTxEIP1559.EthereumAccessL\
- istR\naccessList\x12R\n\x0bdefinitions\x18\x0c\x20\x01(\x0b20.hw.trezor.\
- messages.ethereum.EthereumDefinitionsR\x0bdefinitions\x12\x1a\n\x08chunk\
- ify\x18\r\x20\x01(\x08R\x08chunkify\x12J\n\x0bpayment_req\x18\x0e\x20\
- \x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\npaymentReq\x12>\n\
- \x1bsupports_definition_request\x18\x0f\x20\x01(\x08R\x19supportsDefinit\
- ionRequest\x1aQ\n\x12EthereumAccessList\x12\x18\n\x07address\x18\x01\x20\
- \x02(\tR\x07address\x12!\n\x0cstorage_keys\x18\x02\x20\x03(\x0cR\x0bstor\
- ageKeys\"\x97\x01\n\x11EthereumTxRequest\x12\x1f\n\x0bdata_length\x18\
- \x01\x20\x01(\rR\ndataLength\x12\x1f\n\x0bsignature_v\x18\x02\x20\x01(\r\
- R\nsignatureV\x12\x1f\n\x0bsignature_r\x18\x03\x20\x01(\x0cR\nsignatureR\
- \x12\x1f\n\x0bsignature_s\x18\x04\x20\x01(\x0cR\nsignatureS\".\n\rEthere\
- umTxAck\x12\x1d\n\ndata_chunk\x18\x01\x20\x02(\x0cR\tdataChunk\"v\n\x19E\
- thereumDefinitionRequest\x12\x19\n\x08chain_id\x18\x01\x20\x02(\x04R\x07\
- chainId\x12#\n\rtoken_address\x18\x02\x20\x02(\x0cR\x0ctokenAddress\x12\
- \x19\n\x08func_sig\x18\x03\x20\x01(\x0cR\x07funcSig\"k\n\x15EthereumDefi\
- nitionAck\x12R\n\x0bdefinitions\x18\x01\x20\x01(\x0b20.hw.trezor.message\
- s.ethereum.EthereumDefinitionsR\x0bdefinitions\"\x91\x01\n\x13EthereumSi\
- gnMessage\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\x08chunkify\"R\n\x18EthereumMessageSignature\x12\x1c\n\ts\
- ignature\x18\x02\x20\x02(\x0cR\tsignature\x12\x18\n\x07address\x18\x03\
- \x20\x02(\tR\x07address\"\x85\x01\n\x15EthereumVerifyMessage\x12\x1c\n\t\
- signature\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\x07ad\
- dress\x12\x1a\n\x08chunkify\x18\x05\x20\x01(\x08R\x08chunkify\"\xb4\x01\
- \n\x15EthereumSignTypedHash\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08\
- addressN\x122\n\x15domain_separator_hash\x18\x02\x20\x02(\x0cR\x13domain\
- SeparatorHash\x12!\n\x0cmessage_hash\x18\x03\x20\x01(\x0cR\x0bmessageHas\
- h\x12'\n\x0fencoded_network\x18\x04\x20\x01(\x0cR\x0eencodedNetwork\"T\n\
- \x1aEthereumTypedDataSignature\x12\x1c\n\tsignature\x18\x01\x20\x02(\x0c\
- R\tsignature\x12\x18\n\x07address\x18\x02\x20\x02(\tR\x07address\"\x99\
- \x01\n\x13EthereumDefinitions\x12'\n\x0fencoded_network\x18\x01\x20\x01(\
- \x0cR\x0eencodedNetwork\x12#\n\rencoded_token\x18\x02\x20\x01(\x0cR\x0ce\
- ncodedToken\x124\n\x16encoded_display_format\x18\x03\x20\x01(\x0cR\x14en\
- codedDisplayFormatB<\n#com.satoshilabs.trezor.lib.protobufB\x15TrezorMes\
- sageEthereum\
+ 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\"\xad\x04\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\x12J\n\x0bpayment\
+ _req\x18\x0e\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequestR\np\
+ aymentReq\x12>\n\x1bsupports_definition_request\x18\x0f\x20\x01(\x08R\
+ \x19supportsDefinitionRequest\"\xfc\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\x12J\n\x0b\
+ payment_req\x18\x0e\x20\x01(\x0b2).hw.trezor.messages.common.PaymentRequ\
+ estR\npaymentReq\x12>\n\x1bsupports_definition_request\x18\x0f\x20\x01(\
+ \x08R\x19supportsDefinitionRequest\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\x0bsigna\
+ ture_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(\x0c\
+ R\nsignatureS\".\n\rEthereumTxAck\x12\x1d\n\ndata_chunk\x18\x01\x20\x02(\
+ \x0cR\tdataChunk\"v\n\x19EthereumDefinitionRequest\x12\x19\n\x08chain_id\
+ \x18\x01\x20\x02(\x04R\x07chainId\x12#\n\rtoken_address\x18\x02\x20\x02(\
+ \x0cR\x0ctokenAddress\x12\x19\n\x08func_sig\x18\x03\x20\x01(\x0cR\x07fun\
+ cSig\"k\n\x15EthereumDefinitionAck\x12R\n\x0bdefinitions\x18\x01\x20\x01\
+ (\x0b20.hw.trezor.messages.ethereum.EthereumDefinitionsR\x0bdefinitions\
+ \"\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\x08chunkify\"R\n\x18EthereumMes\
+ sageSignature\x12\x1c\n\tsignature\x18\x02\x20\x02(\x0cR\tsignature\x12\
+ \x18\n\x07address\x18\x03\x20\x02(\tR\x07address\"\x85\x01\n\x15Ethereum\
+ VerifyMessage\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\x08chunkify\x18\x05\x20\x01(\
+ \x08R\x08chunkify\"\xb4\x01\n\x15EthereumSignTypedHash\x12\x1b\n\taddres\
+ s_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\x0fencoded_network\x18\x04\x20\x01(\
+ \x0cR\x0eencodedNetwork\"T\n\x1aEthereumTypedDataSignature\x12\x1c\n\tsi\
+ gnature\x18\x01\x20\x02(\x0cR\tsignature\x12\x18\n\x07address\x18\x02\
+ \x20\x02(\tR\x07address\"\x99\x01\n\x13EthereumDefinitions\x12'\n\x0fenc\
+ oded_network\x18\x01\x20\x01(\x0cR\x0eencodedNetwork\x12#\n\rencoded_tok\
+ en\x18\x02\x20\x01(\x0cR\x0cencodedToken\x124\n\x16encoded_display_forma\
+ t\x18\x03\x20\x01(\x0cR\x14encodedDisplayFormat\"\x86\x01\n\x14EthereumS\
+ ignAuth7702\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x19\
+ \n\x08chain_id\x18\x02\x20\x02(\x04R\x07chainId\x12\x1a\n\x08delegate\
+ \x18\x03\x20\x02(\tR\x08delegate\x12\x14\n\x05nonce\x18\x04\x20\x02(\x04\
+ R\x05nonce:\x04\x88\xb2\x19\x01\"\x84\x01\n\x19EthereumAuth7702Signature\
+ \x12\x1f\n\x0bsignature_v\x18\x01\x20\x02(\rR\nsignatureV\x12\x1f\n\x0bs\
+ ignature_r\x18\x02\x20\x02(\x0cR\nsignatureR\x12\x1f\n\x0bsignature_s\
+ \x18\x03\x20\x02(\x0cR\nsignatureS:\x04\x88\xb2\x19\x01B<\n#com.satoshil\
+ abs.trezor.lib.protobufB\x15TrezorMessageEthereum\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -5001,9 +5528,10 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(1);
+ let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
- let mut messages = ::std::vec::Vec::with_capacity(17);
+ deps.push(super::options::file_descriptor().clone());
+ let mut messages = ::std::vec::Vec::with_capacity(19);
messages.push(EthereumGetPublicKey::generated_message_descriptor_data());
messages.push(EthereumPublicKey::generated_message_descriptor_data());
messages.push(EthereumGetAddress::generated_message_descriptor_data());
@@ -5020,6 +5548,8 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
messages.push(EthereumSignTypedHash::generated_message_descriptor_data());
messages.push(EthereumTypedDataSignature::generated_message_descriptor_data());
messages.push(EthereumDefinitions::generated_message_descriptor_data());
+ messages.push(EthereumSignAuth7702::generated_message_descriptor_data());
+ messages.push(EthereumAuth7702Signature::generated_message_descriptor_data());
messages.push(ethereum_sign_tx_eip1559::EthereumAccessList::generated_message_descriptor_data());
let mut enums = ::std::vec::Vec::with_capacity(0);
::protobuf::reflect::GeneratedFileDescriptor::new_generated(
Why this scored 15/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.