chore(core/ethereum): drop `EthereumSignAuth7702` and its handler
What changed, and why it matters
This commit removes an Ethereum feature called EthereumSignAuth7702 from the Trezor firmware and related software. It deletes the message types, the signing handler, the command-line tool, and the tests. The commit message says this feature will later be merged into EthereumSignTxEIP1559. There is no security fix here—this is a routine cleanup/refactoring change.
No security action required. Treat as a normal API-breaking refactor. If you rely on EIP-7702 authorization signing, note that the standalone message is gone and will be replaced by integration into EthereumSignTxEIP1559 in a future change.
Security signals we found
No security-relevant code change: pure feature removal/refactoring
Message type IDs 473 and 474 are reserved, preventing accidental reuse
No vulnerability patch, no input validation change, no cryptographic change
Evidence from the diff
The commit drops the standalone EIP-7702 authorization signing flow. It removes the EthereumSignAuth7702 request and EthereumAuth7702Signature response protobuf messages, reserves their old wire IDs (473-474), deletes the core/src/apps/ethereum/sign_auth_eip7702.py handler, removes the CLI command and Python/Rust client bindings, and deletes the device test file. The options.proto import is also removed from messages-ethereum.proto because the experimental-message option is no longer needed. The commit message states the functionality will be integrated into EthereumSignTxEIP1559.
Changed components
common/protob/messages-ethereum.protocommon/protob/messages.protocore/src/apps/ethereum/sign_auth_eip7702.pycore/src/apps/workflow_handlers.pycore/src/apps/ethereum/keychain.pypython/src/trezorlib/cli/ethereum.pypython/src/trezorlib/ethereum.pyrust/trezor-client generated protobuf codetests/device_tests/ethereum/test_sign_eip7702.pyInspect captured patch +390 / −1352
### common/protob/messages-ethereum.proto
@@ -2,7 +2,6 @@ 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";
@@ -222,31 +221,3 @@ 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
- optional EthereumDefinitions definitions = 5; // network definitions (for chain ID)
-}
-
-/**
- * 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)
-}
### common/protob/messages.proto
@@ -176,8 +176,7 @@ 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];
+ reserved 473 to 474;
// NEM
MessageType_NEMGetAddress = 67 [(wire_in) = true];
### core/embed/upymod/qstrdefsport.h
@@ -554,7 +554,6 @@ Q(apps.ethereum.keychain)
Q(apps.ethereum.layout)
Q(apps.ethereum.networks)
Q(apps.ethereum.sc_constants)
-Q(apps.ethereum.sign_auth_eip7702)
Q(apps.ethereum.sign_message)
Q(apps.ethereum.sign_tx)
Q(apps.ethereum.sign_tx_eip1559)
@@ -772,7 +771,6 @@ Q(sc_constants)
Q(seed)
Q(serialize)
Q(serialize_messages)
-Q(sign_auth_eip7702)
Q(sign_message)
Q(sign_soroban_authorization)
Q(sign_tx)
### core/src/apps/ethereum/keychain.py
@@ -12,7 +12,6 @@
from trezor.messages import (
EthereumGetAddress,
- EthereumSignAuth7702,
EthereumSignMessage,
EthereumSignTx,
EthereumSignTxEIP1559,
@@ -37,7 +36,6 @@
# messages for "with_keychain_from_chain_id" decorator
HandlerChainIdArg = TypeVar(
"HandlerChainIdArg",
- EthereumSignAuth7702,
EthereumSignTx,
EthereumSignTxEIP1559,
)
### core/src/apps/ethereum/sign_auth_eip7702.py
@@ -1,107 +0,0 @@
-from micropython import const
-from typing import TYPE_CHECKING
-
-from trezor import TR
-from trezor.crypto.curve import secp256k1
-from trezor.messages import EthereumAuth7702Signature
-from trezor.wire import DataError, ProcessError
-
-from .keychain import with_keychain_from_chain_id
-from .networks import UNKNOWN_NETWORK
-from .sc_constants import lookup_eip7702_address
-
-if TYPE_CHECKING:
- from trezor.messages import EthereumSignAuth7702
-
- from apps.common.keychain import Keychain
-
- from .definitions import Definitions
-
-_MAGIC = const(5)
-
-_REVOKE_ADDRESS = b"\x00" * 20
-
-
-@with_keychain_from_chain_id
-async def sign_auth_eip7702(
- msg: EthereumSignAuth7702,
- keychain: Keychain,
- defs: Definitions,
-) -> EthereumAuth7702Signature:
-
- from trezor.crypto import rlp
- from trezor.ui.layouts import (
- confirm_ethereum_eip7702_auth,
- confirm_ethereum_eip7702_revoke,
- show_continue_in_app,
- )
-
- from apps.common import paths, safety_checks
-
- from .helpers import bytes_from_address, get_account_and_path, keccak256
-
- await paths.validate_path(keychain, msg.address_n)
-
- chain_id = msg.chain_id
- if chain_id == 0:
- raise DataError("chain_id 0 not supported")
-
- if defs.network is UNKNOWN_NETWORK:
- raise DataError("Unknown network")
-
- network_item = (TR.ethereum__network, defs.network.name, None)
-
- account, account_path = get_account_and_path(msg.address_n)
- if account is None or account_path is None:
- raise DataError("Unknown account")
-
- if msg.nonce >= 0xFFFFFFFFFFFFFFFF:
- raise DataError("Invalid nonce")
-
- delegate_bytes = bytes_from_address(msg.delegate)
- if delegate_bytes == _REVOKE_ADDRESS:
- # revocation can be done with strict safety checks
- await confirm_ethereum_eip7702_revoke(
- network_item=network_item,
- account=account,
- account_path=account_path,
- nonce=msg.nonce,
- )
- done_msg = TR.ethereum__revoke_done
- else:
- if safety_checks.is_strict():
- raise ProcessError(
- "EIP-7702 authorisation not allowed with strict safety checks"
- )
-
- delegate_name = lookup_eip7702_address(msg.chain_id, delegate_bytes)
- if delegate_name is None:
- raise DataError("Unknown EIP-7702 delegate address")
-
- await confirm_ethereum_eip7702_auth(
- delegate_name=delegate_name,
- delegate_addr=msg.delegate,
- network_item=network_item,
- account=account,
- account_path=account_path,
- nonce=msg.nonce,
- )
- done_msg = TR.ethereum__auth_done
-
- sha = keccak256()
- sha.append(_MAGIC)
-
- fields: rlp.RLPList = [msg.chain_id, delegate_bytes, msg.nonce]
- rlp.write(sha, fields)
-
- digest = sha.get_digest()
- node = keychain.derive(msg.address_n)
- signature = secp256k1.sign(
- node.private_key(), digest, False, secp256k1.CANONICAL_SIG_ETHEREUM
- )
- show_continue_in_app(done_msg)
- return EthereumAuth7702Signature(
- signature_v=signature[0] - 27,
- signature_r=signature[1:33],
- signature_s=signature[33:],
- )
### core/src/apps/workflow_handlers.py
@@ -157,8 +157,6 @@ def _find_message_handler_module(msg_type: int) -> str:
return "apps.ethereum.get_address"
if msg_type == MessageType.EthereumGetPublicKey:
return "apps.ethereum.get_public_key"
- if msg_type == MessageType.EthereumSignAuth7702:
- return "apps.ethereum.sign_auth_eip7702"
if msg_type == MessageType.EthereumSignTx:
return "apps.ethereum.sign_tx"
if msg_type == MessageType.EthereumSignTxEIP1559:
### core/src/trezor/enums/MessageType.py
@@ -158,8 +158,6 @@
EthereumSignTypedHash = 470
EthereumDefinitionRequest = 471
EthereumDefinitionAck = 472
- EthereumSignAuth7702 = 473
- EthereumAuth7702Signature = 474
NEMGetAddress = 67
NEMAddress = 68
NEMSignTx = 69
### core/src/trezor/enums/__init__.py
@@ -606,8 +606,6 @@ class MessageType(IntEnum):
EthereumSignTypedHash = 470
EthereumDefinitionRequest = 471
EthereumDefinitionAck = 472
- EthereumSignAuth7702 = 473
- EthereumAuth7702Signature = 474
NEMGetAddress = 67
NEMAddress = 68
NEMSignTx = 69
### core/src/trezor/messages.py
@@ -4325,46 +4325,6 @@ def __init__(
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"
- definitions: "EthereumDefinitions | None"
-
- def __init__(
- self,
- *,
- chain_id: "int",
- delegate: "str",
- nonce: "int",
- address_n: "list[int] | None" = None,
- definitions: "EthereumDefinitions | 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]"
### python/docs/OPTIONS.rst
@@ -288,7 +288,6 @@ Ethereum commands.
Commands:
get-address Get Ethereum address in hex encoding.
get-public-node Get Ethereum public node of given path.
- sign-auth-eip7702 Sign EIP-7702 authorization.
sign-message Sign message with Ethereum address.
sign-tx Sign (and optionally publish) Ethereum transaction.
sign-typed-data Sign typed data (EIP-712) with Ethereum address.
### python/src/trezorlib/cli/ethereum.py
@@ -669,40 +669,3 @@ def sign_typed_data_hash(
"signature": f"0x{ret.signature.hex()}",
}
return output
-
-
-@cli.command()
-@click.option("-n", "--address", required=True, help=PATH_HELP)
-@click.option(
- "-c", "--chain-id", type=int, default=1, help="EIP-155 chain id (replay protection)"
-)
-@click.option("-i", "--nonce", type=int, required=True, help="Transaction counter")
-@click.argument("delegate_addr")
-@with_session
-def sign_auth_eip7702(
- session: "Session",
- address: str,
- chain_id: int,
- nonce: int,
- delegate_addr: str,
-) -> dict[str, Any]:
- """
- Sign EIP-7702 authorization.
-
- If DELEGATE_ADDR is 0x0000000000000000000000000000000000000000, authorization is revoked.
- """
- address_n = tools.parse_path(address)
- encoded_network = DEFINITIONS_SOURCE.get_eth_network(chain_id)
- ret = ethereum.sign_auth_eip7702(
- session,
- address_n,
- delegate=delegate_addr,
- chain_id=chain_id,
- nonce=nonce,
- encoded_network=encoded_network,
- )
- return {
- "v": ret.signature_v,
- "r": f"0x{ret.signature_r.hex()}",
- "s": f"0x{ret.signature_s.hex()}",
- }
### python/src/trezorlib/ethereum.py
@@ -513,25 +513,3 @@ def sign_typed_data_hash(
),
expect=messages.EthereumTypedDataSignature,
)
-
-
-@workflow(capability=messages.Capability.Ethereum)
-def sign_auth_eip7702(
- session: "Session",
- n: "Address",
- *,
- delegate: str,
- chain_id: int,
- nonce: int,
- encoded_network: Optional[bytes] = None,
-) -> messages.EthereumAuth7702Signature:
- return session.call(
- messages.EthereumSignAuth7702(
- address_n=n,
- chain_id=chain_id,
- delegate=delegate,
- nonce=nonce,
- definitions=messages.EthereumDefinitions(encoded_network=encoded_network),
- ),
- expect=messages.EthereumAuth7702Signature,
- )
### python/src/trezorlib/messages.py
@@ -671,8 +671,6 @@ class MessageType(IntEnum):
EthereumSignTypedHash = 470
EthereumDefinitionRequest = 471
EthereumDefinitionAck = 472
- EthereumSignAuth7702 = 473
- EthereumAuth7702Signature = 474
NEMGetAddress = 67
NEMAddress = 68
NEMSignTx = 69
@@ -5927,52 +5925,6 @@ def __init__(
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),
- 5: protobuf.Field("definitions", "EthereumDefinitions", repeated=False, required=False, default=None),
- }
-
- def __init__(
- self,
- *,
- chain_id: "int",
- delegate: "str",
- nonce: "int",
- address_n: Optional[Sequence["int"]] = None,
- definitions: Optional["EthereumDefinitions"] = 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
- self.definitions = definitions
-
-
-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 = {
### rust/trezor-client/src/messages/generated.rs
@@ -197,8 +197,6 @@ trezor_message_impl! {
EthereumSignTypedHash => MessageType_EthereumSignTypedHash,
EthereumDefinitionRequest => MessageType_EthereumDefinitionRequest,
EthereumDefinitionAck => MessageType_EthereumDefinitionAck,
- EthereumSignAuth7702 => MessageType_EthereumSignAuth7702,
- EthereumAuth7702Signature => MessageType_EthereumAuth7702Signature,
}
#[cfg(feature = "evolu")]
### rust/trezor-client/src/protos/generated/messages.rs
@@ -295,10 +295,6 @@ 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)
@@ -768,8 +764,6 @@ 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),
@@ -1072,8 +1066,6 @@ 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),
@@ -1375,8 +1367,6 @@ 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,
@@ -1684,170 +1674,168 @@ impl ::protobuf::EnumFull for MessageType {
MessageType::MessageType_EthereumSignTypedHash => 131,
MessageType::MessageType_EthereumDefinitionRequest => 132,
MessageType::MessageType_EthereumDefinitionAck => 133,
- 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_StellarInvokeHostFunctionOp => 167,
- MessageType::MessageType_StellarTxExtRequest => 168,
- MessageType::MessageType_StellarTxExt => 169,
- MessageType::MessageType_StellarSignSorobanAuthorization => 170,
- MessageType::MessageType_StellarSorobanAuthorizationSignature => 171,
- MessageType::MessageType_CardanoGetPublicKey => 172,
- MessageType::MessageType_CardanoPublicKey => 173,
- MessageType::MessageType_CardanoGetAddress => 174,
- MessageType::MessageType_CardanoAddress => 175,
- MessageType::MessageType_CardanoTxItemAck => 176,
- MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 177,
- MessageType::MessageType_CardanoTxWitnessRequest => 178,
- MessageType::MessageType_CardanoTxWitnessResponse => 179,
- MessageType::MessageType_CardanoTxHostAck => 180,
- MessageType::MessageType_CardanoTxBodyHash => 181,
- MessageType::MessageType_CardanoSignTxFinished => 182,
- MessageType::MessageType_CardanoSignTxInit => 183,
- MessageType::MessageType_CardanoTxInput => 184,
- MessageType::MessageType_CardanoTxOutput => 185,
- MessageType::MessageType_CardanoAssetGroup => 186,
- MessageType::MessageType_CardanoToken => 187,
- MessageType::MessageType_CardanoTxCertificate => 188,
- MessageType::MessageType_CardanoTxWithdrawal => 189,
- MessageType::MessageType_CardanoTxAuxiliaryData => 190,
- MessageType::MessageType_CardanoPoolOwner => 191,
- MessageType::MessageType_CardanoPoolRelayParameters => 192,
- MessageType::MessageType_CardanoGetNativeScriptHash => 193,
- MessageType::MessageType_CardanoNativeScriptHash => 194,
- MessageType::MessageType_CardanoTxMint => 195,
- MessageType::MessageType_CardanoTxCollateralInput => 196,
- MessageType::MessageType_CardanoTxRequiredSigner => 197,
- MessageType::MessageType_CardanoTxInlineDatumChunk => 198,
- MessageType::MessageType_CardanoTxReferenceScriptChunk => 199,
- MessageType::MessageType_CardanoTxReferenceInput => 200,
- MessageType::MessageType_CardanoSignMessageInit => 201,
- MessageType::MessageType_CardanoMessageDataRequest => 202,
- MessageType::MessageType_CardanoMessageDataResponse => 203,
- MessageType::MessageType_CardanoMessageSignature => 204,
- MessageType::MessageType_RippleGetAddress => 205,
- MessageType::MessageType_RippleAddress => 206,
- MessageType::MessageType_RippleSignTx => 207,
- MessageType::MessageType_RippleSignedTx => 208,
- MessageType::MessageType_MoneroTransactionInitRequest => 209,
- MessageType::MessageType_MoneroTransactionInitAck => 210,
- MessageType::MessageType_MoneroTransactionSetInputRequest => 211,
- MessageType::MessageType_MoneroTransactionSetInputAck => 212,
- MessageType::MessageType_MoneroTransactionInputViniRequest => 213,
- MessageType::MessageType_MoneroTransactionInputViniAck => 214,
- MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 215,
- MessageType::MessageType_MoneroTransactionAllInputsSetAck => 216,
- MessageType::MessageType_MoneroTransactionSetOutputRequest => 217,
- MessageType::MessageType_MoneroTransactionSetOutputAck => 218,
- MessageType::MessageType_MoneroTransactionAllOutSetRequest => 219,
- MessageType::MessageType_MoneroTransactionAllOutSetAck => 220,
- MessageType::MessageType_MoneroTransactionSignInputRequest => 221,
- MessageType::MessageType_MoneroTransactionSignInputAck => 222,
- MessageType::MessageType_MoneroTransactionFinalRequest => 223,
- MessageType::MessageType_MoneroTransactionFinalAck => 224,
- MessageType::MessageType_MoneroKeyImageExportInitRequest => 225,
- MessageType::MessageType_MoneroKeyImageExportInitAck => 226,
- MessageType::MessageType_MoneroKeyImageSyncStepRequest => 227,
- MessageType::MessageType_MoneroKeyImageSyncStepAck => 228,
- MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 229,
- MessageType::MessageType_MoneroKeyImageSyncFinalAck => 230,
- MessageType::MessageType_MoneroGetAddress => 231,
- MessageType::MessageType_MoneroAddress => 232,
- MessageType::MessageType_MoneroGetWatchKey => 233,
- MessageType::MessageType_MoneroWatchKey => 234,
- MessageType::MessageType_DebugMoneroDiagRequest => 235,
- MessageType::MessageType_DebugMoneroDiagAck => 236,
- MessageType::MessageType_MoneroGetTxKeyRequest => 237,
- MessageType::MessageType_MoneroGetTxKeyAck => 238,
- MessageType::MessageType_MoneroLiveRefreshStartRequest => 239,
- MessageType::MessageType_MoneroLiveRefreshStartAck => 240,
- MessageType::MessageType_MoneroLiveRefreshStepRequest => 241,
- MessageType::MessageType_MoneroLiveRefreshStepAck => 242,
- MessageType::MessageType_MoneroLiveRefreshFinalRequest => 243,
- MessageType::MessageType_MoneroLiveRefreshFinalAck => 244,
- MessageType::MessageType_EosGetPublicKey => 245,
- MessageType::MessageType_EosPublicKey => 246,
- MessageType::MessageType_EosSignTx => 247,
- MessageType::MessageType_EosTxActionRequest => 248,
- MessageType::MessageType_EosTxActionAck => 249,
- MessageType::MessageType_EosSignedTx => 250,
- MessageType::MessageType_WebAuthnListResidentCredentials => 251,
- MessageType::MessageType_WebAuthnCredentials => 252,
- MessageType::MessageType_WebAuthnAddResidentCredential => 253,
- MessageType::MessageType_WebAuthnRemoveResidentCredential => 254,
- MessageType::MessageType_WebAuthnCredentialsAck => 255,
- MessageType::MessageType_SolanaGetPublicKey => 256,
- MessageType::MessageType_SolanaPublicKey => 257,
- MessageType::MessageType_SolanaGetAddress => 258,
- MessageType::MessageType_SolanaAddress => 259,
- MessageType::MessageType_SolanaSignTx => 260,
- MessageType::MessageType_SolanaTxSignature => 261,
- MessageType::MessageType_SolanaSignMessage => 262,
- MessageType::MessageType_SolanaMessageSignature => 263,
- MessageType::MessageType_SolanaVerifyMessage => 264,
- MessageType::MessageType_ThpCreateNewSession => 265,
- MessageType::MessageType_ThpCredentialRequest => 266,
- MessageType::MessageType_ThpCredentialResponse => 267,
- MessageType::MessageType_NostrGetPubkey => 268,
- MessageType::MessageType_NostrPubkey => 269,
- MessageType::MessageType_NostrSignEvent => 270,
- MessageType::MessageType_NostrEventSignature => 271,
- MessageType::MessageType_EvoluGetNode => 272,
- MessageType::MessageType_EvoluNode => 273,
- MessageType::MessageType_EvoluSignRegistrationRequest => 274,
- MessageType::MessageType_EvoluRegistrationRequest => 275,
- MessageType::MessageType_EvoluGetDelegatedIdentityKey => 276,
- MessageType::MessageType_EvoluDelegatedIdentityKey => 277,
- MessageType::MessageType_EvoluIndexManagement => 278,
- MessageType::MessageType_EvoluIndexManagementResponse => 279,
- MessageType::MessageType_TronGetAddress => 280,
- MessageType::MessageType_TronAddress => 281,
- MessageType::MessageType_TronSignTx => 282,
- MessageType::MessageType_TronSignature => 283,
- MessageType::MessageType_TronContractRequest => 284,
- MessageType::MessageType_TronTransferContract => 285,
- MessageType::MessageType_TronTriggerSmartContract => 286,
- MessageType::MessageType_TronFreezeBalanceV2Contract => 287,
- MessageType::MessageType_TronUnfreezeBalanceV2Contract => 288,
- MessageType::MessageType_TronWithdrawUnfreeze => 289,
- MessageType::MessageType_TronVoteWitnessContract => 290,
- MessageType::MessageType_TronWithdrawBalance => 291,
- MessageType::MessageType_BenchmarkListNames => 292,
- MessageType::MessageType_BenchmarkNames => 293,
- MessageType::MessageType_BenchmarkRun => 294,
- MessageType::MessageType_BenchmarkResult => 295,
- MessageType::MessageType_TelemetryGet => 296,
- MessageType::MessageType_Telemetry => 297,
+ 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_StellarInvokeHostFunctionOp => 165,
+ MessageType::MessageType_StellarTxExtRequest => 166,
+ MessageType::MessageType_StellarTxExt => 167,
+ MessageType::MessageType_StellarSignSorobanAuthorization => 168,
+ MessageType::MessageType_StellarSorobanAuthorizationSignature => 169,
+ MessageType::MessageType_CardanoGetPublicKey => 170,
+ MessageType::MessageType_CardanoPublicKey => 171,
+ MessageType::MessageType_CardanoGetAddress => 172,
+ MessageType::MessageType_CardanoAddress => 173,
+ MessageType::MessageType_CardanoTxItemAck => 174,
+ MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 175,
+ MessageType::MessageType_CardanoTxWitnessRequest => 176,
+ MessageType::MessageType_CardanoTxWitnessResponse => 177,
+ MessageType::MessageType_CardanoTxHostAck => 178,
+ MessageType::MessageType_CardanoTxBodyHash => 179,
+ MessageType::MessageType_CardanoSignTxFinished => 180,
+ MessageType::MessageType_CardanoSignTxInit => 181,
+ MessageType::MessageType_CardanoTxInput => 182,
+ MessageType::MessageType_CardanoTxOutput => 183,
+ MessageType::MessageType_CardanoAssetGroup => 184,
+ MessageType::MessageType_CardanoToken => 185,
+ MessageType::MessageType_CardanoTxCertificate => 186,
+ MessageType::MessageType_CardanoTxWithdrawal => 187,
+ MessageType::MessageType_CardanoTxAuxiliaryData => 188,
+ MessageType::MessageType_CardanoPoolOwner => 189,
+ MessageType::MessageType_CardanoPoolRelayParameters => 190,
+ MessageType::MessageType_CardanoGetNativeScriptHash => 191,
+ MessageType::MessageType_CardanoNativeScriptHash => 192,
+ MessageType::MessageType_CardanoTxMint => 193,
+ MessageType::MessageType_CardanoTxCollateralInput => 194,
+ MessageType::MessageType_CardanoTxRequiredSigner => 195,
+ MessageType::MessageType_CardanoTxInlineDatumChunk => 196,
+ MessageType::MessageType_CardanoTxReferenceScriptChunk => 197,
+ MessageType::MessageType_CardanoTxReferenceInput => 198,
+ MessageType::MessageType_CardanoSignMessageInit => 199,
+ MessageType::MessageType_CardanoMessageDataRequest => 200,
+ MessageType::MessageType_CardanoMessageDataResponse => 201,
+ MessageType::MessageType_CardanoMessageSignature => 202,
+ MessageType::MessageType_RippleGetAddress => 203,
+ MessageType::MessageType_RippleAddress => 204,
+ MessageType::MessageType_RippleSignTx => 205,
+ MessageType::MessageType_RippleSignedTx => 206,
+ MessageType::MessageType_MoneroTransactionInitRequest => 207,
+ MessageType::MessageType_MoneroTransactionInitAck => 208,
+ MessageType::MessageType_MoneroTransactionSetInputRequest => 209,
+ MessageType::MessageType_MoneroTransactionSetInputAck => 210,
+ MessageType::MessageType_MoneroTransactionInputViniRequest => 211,
+ MessageType::MessageType_MoneroTransactionInputViniAck => 212,
+ MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 213,
+ MessageType::MessageType_MoneroTransactionAllInputsSetAck => 214,
+ MessageType::MessageType_MoneroTransactionSetOutputRequest => 215,
+ MessageType::MessageType_MoneroTransactionSetOutputAck => 216,
+ MessageType::MessageType_MoneroTransactionAllOutSetRequest => 217,
+ MessageType::MessageType_MoneroTransactionAllOutSetAck => 218,
+ MessageType::MessageType_MoneroTransactionSignInputRequest => 219,
+ MessageType::MessageType_MoneroTransactionSignInputAck => 220,
+ MessageType::MessageType_MoneroTransactionFinalRequest => 221,
+ MessageType::MessageType_MoneroTransactionFinalAck => 222,
+ MessageType::MessageType_MoneroKeyImageExportInitRequest => 223,
+ MessageType::MessageType_MoneroKeyImageExportInitAck => 224,
+ MessageType::MessageType_MoneroKeyImageSyncStepRequest => 225,
+ MessageType::MessageType_MoneroKeyImageSyncStepAck => 226,
+ MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 227,
+ MessageType::MessageType_MoneroKeyImageSyncFinalAck => 228,
+ MessageType::MessageType_MoneroGetAddress => 229,
+ MessageType::MessageType_MoneroAddress => 230,
+ MessageType::MessageType_MoneroGetWatchKey => 231,
+ MessageType::MessageType_MoneroWatchKey => 232,
+ MessageType::MessageType_DebugMoneroDiagRequest => 233,
+ MessageType::MessageType_DebugMoneroDiagAck => 234,
+ MessageType::MessageType_MoneroGetTxKeyRequest => 235,
+ MessageType::MessageType_MoneroGetTxKeyAck => 236,
+ MessageType::MessageType_MoneroLiveRefreshStartRequest => 237,
+ MessageType::MessageType_MoneroLiveRefreshStartAck => 238,
+ MessageType::MessageType_MoneroLiveRefreshStepRequest => 239,
+ MessageType::MessageType_MoneroLiveRefreshStepAck => 240,
+ MessageType::MessageType_MoneroLiveRefreshFinalRequest => 241,
+ MessageType::MessageType_MoneroLiveRefreshFinalAck => 242,
+ MessageType::MessageType_EosGetPublicKey => 243,
+ MessageType::MessageType_EosPublicKey => 244,
+ MessageType::MessageType_EosSignTx => 245,
+ MessageType::MessageType_EosTxActionRequest => 246,
+ MessageType::MessageType_EosTxActionAck => 247,
+ MessageType::MessageType_EosSignedTx => 248,
+ MessageType::MessageType_WebAuthnListResidentCredentials => 249,
+ MessageType::MessageType_WebAuthnCredentials => 250,
+ MessageType::MessageType_WebAuthnAddResidentCredential => 251,
+ MessageType::MessageType_WebAuthnRemoveResidentCredential => 252,
+ MessageType::MessageType_WebAuthnCredentialsAck => 253,
+ MessageType::MessageType_SolanaGetPublicKey => 254,
+ MessageType::MessageType_SolanaPublicKey => 255,
+ MessageType::MessageType_SolanaGetAddress => 256,
+ MessageType::MessageType_SolanaAddress => 257,
+ MessageType::MessageType_SolanaSignTx => 258,
+ MessageType::MessageType_SolanaTxSignature => 259,
+ MessageType::MessageType_SolanaSignMessage => 260,
+ MessageType::MessageType_SolanaMessageSignature => 261,
+ MessageType::MessageType_SolanaVerifyMessage => 262,
+ MessageType::MessageType_ThpCreateNewSession => 263,
+ MessageType::MessageType_ThpCredentialRequest => 264,
+ MessageType::MessageType_ThpCredentialResponse => 265,
+ MessageType::MessageType_NostrGetPubkey => 266,
+ MessageType::MessageType_NostrPubkey => 267,
+ MessageType::MessageType_NostrSignEvent => 268,
+ MessageType::MessageType_NostrEventSignature => 269,
+ MessageType::MessageType_EvoluGetNode => 270,
+ MessageType::MessageType_EvoluNode => 271,
+ MessageType::MessageType_EvoluSignRegistrationRequest => 272,
+ MessageType::MessageType_EvoluRegistrationRequest => 273,
+ MessageType::MessageType_EvoluGetDelegatedIdentityKey => 274,
+ MessageType::MessageType_EvoluDelegatedIdentityKey => 275,
+ MessageType::MessageType_EvoluIndexManagement => 276,
+ MessageType::MessageType_EvoluIndexManagementResponse => 277,
+ MessageType::MessageType_TronGetAddress => 278,
+ MessageType::MessageType_TronAddress => 279,
+ MessageType::MessageType_TronSignTx => 280,
+ MessageType::MessageType_TronSignature => 281,
+ MessageType::MessageType_TronContractRequest => 282,
+ MessageType::MessageType_TronTransferContract => 283,
+ MessageType::MessageType_TronTriggerSmartContract => 284,
+ MessageType::MessageType_TronFreezeBalanceV2Contract => 285,
+ MessageType::MessageType_TronUnfreezeBalanceV2Contract => 286,
+ MessageType::MessageType_TronWithdrawUnfreeze => 287,
+ MessageType::MessageType_TronVoteWitnessContract => 288,
+ MessageType::MessageType_TronWithdrawBalance => 289,
+ MessageType::MessageType_BenchmarkListNames => 290,
+ MessageType::MessageType_BenchmarkNames => 291,
+ MessageType::MessageType_BenchmarkRun => 292,
+ MessageType::MessageType_BenchmarkResult => 293,
+ MessageType::MessageType_TelemetryGet => 294,
+ MessageType::MessageType_Telemetry => 295,
};
Self::enum_descriptor().value_by_index(index)
}
@@ -1866,7 +1854,7 @@ impl MessageType {
}
static file_descriptor_proto_data: &'static [u8] = b"\
- \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\xcfi\
+ \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\xf8h\
\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\
@@ -2026,152 +2014,150 @@ 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\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\x122\n'MessageType_StellarInvokeH\
- ostFunctionOp\x10\xeb\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_\
- StellarTxExtRequest\x10\xee\x01\x1a\x04\x98\xb5\x18\x01\x12#\n\x18Messag\
- eType_StellarTxExt\x10\xef\x01\x1a\x04\x90\xb5\x18\x01\x126\n+MessageTyp\
- e_StellarSignSorobanAuthorization\x10\xf0\x01\x1a\x04\x90\xb5\x18\x01\
- \x12;\n0MessageType_StellarSorobanAuthorizationSignature\x10\xf1\x01\x1a\
- \x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetPublicKey\x10\xb1\
- \x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPublicKey\x10\
- \xb2\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoGetAddress\
- \x10\xb3\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAddres\
- s\x10\xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoTxIte\
- mAck\x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoTxAux\
- iliaryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageT\
- ype_CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\n$M\
- essageType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\x18\x01\
- \x12'\n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\xb5\x18\
- \x01\x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\x98\xb5\
- \x18\x01\x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\x1a\x04\
- \x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\x02\x1a\
- \x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\xc1\x02\
- \x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\x10\xc2\
- \x02\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetGroup\x10\
- \xc3\x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoToken\x10\
- \xc4\x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxCertific\
- ate\x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_CardanoTxW\
- ithdrawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_Cardan\
- oTxAuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageTy\
- pe_CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&MessageTy\
- pe_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_CardanoTxInlineDatumChun\
- k\x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_CardanoTxRefere\
- nceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_Ca\
- rdanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"Messag\
- eType_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_RippleSignedTx\x10\
- \x93\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransactionIni\
- tRequest\x10\xf5\x03\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_MoneroTr\
- ansactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_\
- MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x90\xb5\x18\x01\x12\
- 3\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_MoneroTransactionInputVi\
- niAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageType_MoneroTrans\
- actionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x90\xb5\x18\x01\x127\n,Mes\
- sageType_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_MoneroTransactionSetOutp\
- utAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTrans\
- actionAllOutSetRequest\x10\x81\x04\x1a\x04\x90\xb5\x18\x01\x124\n)Messag\
- eType_MoneroTransactionAllOutSetAck\x10\x82\x04\x1a\x04\x98\xb5\x18\x01\
- \x128\n-MessageType_MoneroTransactionSignInputRequest\x10\x83\x04\x1a\
- \x04\x90\xb5\x18\x01\x124\n)MessageType_MoneroTransactionSignInputAck\
- \x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
- nFinalRequest\x10\x85\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_Mon\
- eroTransactionFinalAck\x10\x86\x04\x1a\x04\x98\xb5\x18\x01\x126\n+Messag\
- eType_MoneroKeyImageExportInitRequest\x10\x92\x04\x1a\x04\x90\xb5\x18\
- \x01\x122\n'MessageType_MoneroKeyImageExportInitAck\x10\x93\x04\x1a\x04\
- \x98\xb5\x18\x01\x124\n)MessageType_MoneroKeyImageSyncStepRequest\x10\
- \x94\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroKeyImageSyncSt\
- epAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\x125\n*MessageType_MoneroKeyIm\
- ageSyncFinalRequest\x10\x96\x04\x1a\x04\x90\xb5\x18\x01\x121\n&MessageTy\
- pe_MoneroKeyImageSyncFinalAck\x10\x97\x04\x1a\x04\x98\xb5\x18\x01\x12'\n\
- \x1cMessageType_MoneroGetAddress\x10\x9c\x04\x1a\x04\x90\xb5\x18\x01\x12\
- $\n\x19MessageType_MoneroAddress\x10\x9d\x04\x1a\x04\x98\xb5\x18\x01\x12\
- (\n\x1dMessageType_MoneroGetWatchKey\x10\x9e\x04\x1a\x04\x90\xb5\x18\x01\
- \x12%\n\x1aMessageType_MoneroWatchKey\x10\x9f\x04\x1a\x04\x98\xb5\x18\
- \x01\x12-\n\"MessageType_DebugMoneroDiagRequest\x10\xa2\x04\x1a\x04\x90\
- \xb5\x18\x01\x12)\n\x1eMessageType_DebugMoneroDiagAck\x10\xa3\x04\x1a\
- \x04\x98\xb5\x18\x01\x12,\n!MessageType_MoneroGetTxKeyRequest\x10\xa6\
- \x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGetTxKeyAck\x10\
- \xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroLiveRefreshSta\
- rtRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroL\
- iveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\xb5\x18\x01\x123\n(MessageTyp\
- e_MoneroLiveRefreshStepRequest\x10\xaa\x04\x1a\x04\x90\xb5\x18\x01\x12/\
- \n$MessageType_MoneroLiveRefreshStepAck\x10\xab\x04\x1a\x04\x98\xb5\x18\
- \x01\x124\n)MessageType_MoneroLiveRefreshFinalRequest\x10\xac\x04\x1a\
- \x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroLiveRefreshFinalAck\x10\
- \xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublicKey\
- \x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicKey\
- \x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15MessageType_EosSignTx\
- \x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionRe\
- quest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxAct\
- ionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSig\
- nedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_WebAuthnLis\
- tResidentCredentials\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessa\
- geType_WebAuthnCredentials\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)Me\
- ssageType_WebAuthnAddResidentCredential\x10\xa2\x06\x1a\x04\x90\xb5\x18\
- \x01\x127\n,MessageType_WebAuthnRemoveResidentCredential\x10\xa3\x06\x1a\
- \x04\x90\xb5\x18\x01\x12-\n\"MessageType_WebAuthnCredentialsAck\x10\xa4\
- \x06\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_SolanaGetPublicKey\
- \x10\x84\x07\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_SolanaPublicK\
- ey\x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_SolanaGetAd\
- dress\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAd\
- dress\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSi\
- gnTx\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_SolanaTxS\
- ignature\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_Solan\
- aSignMessage\x10\x8a\x07\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_Sol\
- anaMessageSignature\x10\x8b\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessag\
- eType_SolanaVerifyMessage\x10\x8c\x07\x1a\x04\x90\xb5\x18\x01\x12.\n\x1f\
- MessageType_ThpCreateNewSession\x10\xe8\x07\x1a\x08\x80\xa6\x1d\x01\x90\
+ 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\x122\n'MessageType_StellarInvokeHostFun\
+ ctionOp\x10\xeb\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Stella\
+ rTxExtRequest\x10\xee\x01\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_\
+ StellarTxExt\x10\xef\x01\x1a\x04\x90\xb5\x18\x01\x126\n+MessageType_Stel\
+ larSignSorobanAuthorization\x10\xf0\x01\x1a\x04\x90\xb5\x18\x01\x12;\n0M\
+ essageType_StellarSorobanAuthorizationSignature\x10\xf1\x01\x1a\x04\x98\
+ \xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetPublicKey\x10\xb1\x02\x1a\
+ \x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPublicKey\x10\xb2\x02\
+ \x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoGetAddress\x10\xb3\
+ \x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAddress\x10\
+ \xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoTxItemAck\
+ \x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoTxAuxilia\
+ ryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_\
+ CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\n$Messa\
+ geType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\x18\x01\x12'\
+ \n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\xb5\x18\x01\
+ \x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\x98\xb5\x18\
+ \x01\x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\x1a\x04\x98\
+ \xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\x02\x1a\x04\
+ \x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\xc1\x02\x1a\
+ \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\x10\xc2\x02\
+ \x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetGroup\x10\xc3\
+ \x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoToken\x10\xc4\
+ \x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxCertificate\
+ \x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_CardanoTxWith\
+ drawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_CardanoTx\
+ AuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_\
+ CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&MessageType_\
+ CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Me\
+ ssageType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\x04\x90\xb5\x18\x01\
+ \x12.\n#MessageType_CardanoNativeScriptHash\x10\xcb\x02\x1a\x04\x98\xb5\
+ \x18\x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\x02\x1a\x04\x90\xb5\
+ \x18\x01\x12/\n$MessageType_CardanoTxCollateralInput\x10\xcd\x02\x1a\x04\
+ \x90\xb5\x18\x01\x12.\n#MessageType_CardanoTxRequiredSigner\x10\xce\x02\
+ \x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTxInlineDatumChunk\
+ \x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_CardanoTxReferen\
+ ceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_Car\
+ danoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"Message\
+ Type_CardanoSignMessageInit\x10\xd2\x02\x1a\x04\x90\xb5\x18\x01\x120\n%M\
+ essageType_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_RippleSignedTx\x10\x93\
+ \x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransactionInitReq\
+ uest\x10\xf5\x03\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_MoneroTransa\
+ ctionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_Mone\
+ roTransactionSetInputRequest\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_MoneroTransactionInputViniAc\
+ k\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageType_MoneroTransacti\
+ onAllInputsSetRequest\x10\xfd\x03\x1a\x04\x90\xb5\x18\x01\x127\n,Message\
+ Type_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_MoneroTransactionSetOutputAc\
+ k\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransacti\
+ onAllOutSetRequest\x10\x81\x04\x1a\x04\x90\xb5\x18\x01\x124\n)MessageTyp\
+ e_MoneroTransactionAllOutSetAck\x10\x82\x04\x1a\x04\x98\xb5\x18\x01\x128\
+ \n-MessageType_MoneroTransactionSignInputRequest\x10\x83\x04\x1a\x04\x90\
+ \xb5\x18\x01\x124\n)MessageType_MoneroTransactionSignInputAck\x10\x84\
+ \x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactionFinalRe\
+ quest\x10\x85\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroTrans\
+ actionFinalAck\x10\x86\x04\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_Mo\
+ neroKeyImageExportInitRequest\x10\x92\x04\x1a\x04\x90\xb5\x18\x01\x122\n\
+ 'MessageType_MoneroKeyImageExportInitAck\x10\x93\x04\x1a\x04\x98\xb5\x18\
+ \x01\x124\n)MessageType_MoneroKeyImageSyncStepRequest\x10\x94\x04\x1a\
+ \x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroKeyImageSyncStepAck\x10\
+ \x95\x04\x1a\x04\x98\xb5\x18\x01\x125\n*MessageType_MoneroKeyImageSyncFi\
+ nalRequest\x10\x96\x04\x1a\x04\x90\xb5\x18\x01\x121\n&MessageType_Monero\
+ KeyImageSyncFinalAck\x10\x97\x04\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessa\
+ geType_MoneroGetAddress\x10\x9c\x04\x1a\x04\x90\xb5\x18\x01\x12$\n\x19Me\
+ ssageType_MoneroAddress\x10\x9d\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMe\
+ ssageType_MoneroGetWatchKey\x10\x9e\x04\x1a\x04\x90\xb5\x18\x01\x12%\n\
+ \x1aMessageType_MoneroWatchKey\x10\x9f\x04\x1a\x04\x98\xb5\x18\x01\x12-\
+ \n\"MessageType_DebugMoneroDiagRequest\x10\xa2\x04\x1a\x04\x90\xb5\x18\
+ \x01\x12)\n\x1eMessageType_DebugMoneroDiagAck\x10\xa3\x04\x1a\x04\x98\
+ \xb5\x18\x01\x12,\n!MessageType_MoneroGetTxKeyRequest\x10\xa6\x04\x1a\
+ \x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGetTxKeyAck\x10\xa7\x04\
+ \x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroLiveRefreshStartReques\
+ t\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroLiveRefre\
+ shStartAck\x10\xa9\x04\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_Monero\
+ LiveRefreshStepRequest\x10\xaa\x04\x1a\x04\x90\xb5\x18\x01\x12/\n$Messag\
+ eType_MoneroLiveRefreshStepAck\x10\xab\x04\x1a\x04\x98\xb5\x18\x01\x124\
+ \n)MessageType_MoneroLiveRefreshFinalRequest\x10\xac\x04\x1a\x04\x90\xb5\
+ \x18\x01\x120\n%MessageType_MoneroLiveRefreshFinalAck\x10\xad\x04\x1a\
+ \x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublicKey\x10\xd8\x04\
+ \x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicKey\x10\xd9\x04\
+ \x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15MessageType_EosSignTx\x10\xda\x04\
+ \x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionRequest\x10\
+ \xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxActionAck\
+ \x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSignedTx\
+ \x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_WebAuthnListResi\
+ dentCredentials\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageTyp\
+ e_WebAuthnCredentials\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)Message\
+ Type_WebAuthnAddResidentCredential\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\
+ \x127\n,MessageType_WebAuthnRemoveResidentCredential\x10\xa3\x06\x1a\x04\
+ \x90\xb5\x18\x01\x12-\n\"MessageType_WebAuthnCredentialsAck\x10\xa4\x06\
+ \x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_SolanaGetPublicKey\x10\
+ \x84\x07\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_SolanaPublicKey\
+ \x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_SolanaGetAddr\
+ ess\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddr\
+ ess\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSign\
+ Tx\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_SolanaTxSig\
+ nature\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_SolanaS\
+ ignMessage\x10\x8a\x07\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_Solan\
+ aMessageSignature\x10\x8b\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageT\
+ ype_SolanaVerifyMessage\x10\x8c\x07\x1a\x04\x90\xb5\x18\x01\x12.\n\x1fMe\
+ ssageType_ThpCreateNewSession\x10\xe8\x07\x1a\x08\x80\xa6\x1d\x01\x90\
\xb5\x18\x01\x12/\n\x20MessageType_ThpCredentialRequest\x10\xf8\x07\x1a\
\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x120\n!MessageType_ThpCredentialRes\
ponse\x10\xf9\x07\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12%\n\x1aMess\
@@ -2210,15 +2196,16 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\xcc\x08\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x15MessageType_T\
elemetry\x10\xcd\x08\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x1a\x08\xc8\
\xf3\x18\x01\xd0\xf3\x18\x01\"\x04\x08Z\x10\\\"\x04\x08M\x10N\"\x04\x08G\
- \x10J\"\x04\x08r\x10z\"\x05\x08{\x10\x95\x01\"\x06\x08\xdb\x01\x10\xdb\
- \x01\"\x06\x08\xe0\x01\x10\xe0\x01\"\x06\x08\xe2\x01\x10\xe2\x01\"\x06\
- \x08\xe3\x01\x10\xe3\x01\"\x06\x08\xe4\x01\x10\xe4\x01\"\x06\x08\xe5\x01\
- \x10\xe5\x01\"\x06\x08\xe7\x01\x10\xe7\x01\"\x06\x08\xe8\x01\x10\xe8\x01\
- \"\x06\x08\xe9\x01\x10\xe9\x01\"\x06\x08\xea\x01\x10\xea\x01\"\x06\x08\
- \xec\x01\x10\xec\x01\"\x06\x08\xed\x01\x10\xed\x01\"\x06\x08\xac\x02\x10\
- \xb0\x02\"\x06\x08\xb5\x02\x10\xb8\x02\"\x06\x08\xbc\x05\x10\xc5\x05\"\
- \x06\x08\xe9\x07\x10\xf7\x07\"\x06\x08\xfa\x07\x10\xcb\x08B8\n#com.satos\
- hilabs.trezor.lib.protobufB\rTrezorMessage\x80\xa6\x1d\x01\
+ \x10J\"\x06\x08\xd9\x03\x10\xda\x03\"\x04\x08r\x10z\"\x05\x08{\x10\x95\
+ \x01\"\x06\x08\xdb\x01\x10\xdb\x01\"\x06\x08\xe0\x01\x10\xe0\x01\"\x06\
+ \x08\xe2\x01\x10\xe2\x01\"\x06\x08\xe3\x01\x10\xe3\x01\"\x06\x08\xe4\x01\
+ \x10\xe4\x01\"\x06\x08\xe5\x01\x10\xe5\x01\"\x06\x08\xe7\x01\x10\xe7\x01\
+ \"\x06\x08\xe8\x01\x10\xe8\x01\"\x06\x08\xe9\x01\x10\xe9\x01\"\x06\x08\
+ \xea\x01\x10\xea\x01\"\x06\x08\xec\x01\x10\xec\x01\"\x06\x08\xed\x01\x10\
+ \xed\x01\"\x06\x08\xac\x02\x10\xb0\x02\"\x06\x08\xb5\x02\x10\xb8\x02\"\
+ \x06\x08\xbc\x05\x10\xc5\x05\"\x06\x08\xe9\x07\x10\xf7\x07\"\x06\x08\xfa\
+ \x07\x10\xcb\x08B8\n#com.satoshilabs.trezor.lib.protobufB\rTrezorMessage\
+ \x80\xa6\x1d\x01\
";
/// `FileDescriptorProto` object which was a source for this generated file
### rust/trezor-client/src/protos/generated/messages_ethereum.rs
@@ -4912,632 +4912,79 @@ 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>,
- // @@protoc_insertion_point(field:hw.trezor.messages.ethereum.EthereumSignAuth7702.definitions)
- pub definitions: ::protobuf::MessageField<EthereumDefinitions>,
- // 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(5);
- 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 },
- ));
- fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, EthereumDefinitions>(
- "definitions",
- |m: &EthereumSignAuth7702| { &m.definitions },
- |m: &mut EthereumSignAuth7702| { &mut m.definitions },
- ));
- ::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;
- }
- for v in &self.definitions {
- if !v.is_initialized() {
- 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()?);
- },
- 42 => {
- ::protobuf::rt::read_singular_message_into_field(is, &mut self.definitions)?;
- },
- 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);
- }
- if let Some(v) = self.definitions.as_ref() {
- let len = v.compute_size();
- my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
- }
- 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)?;
- }
- if let Some(v) = self.definitions.as_ref() {
- ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
- }
- 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.definitions.clear();
- 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,
- definitions: ::protobuf::MessageField::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\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\"\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\"\xda\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\x12R\n\x0bdefinitions\x18\x05\x20\x01(\x0b20.hw.trezor.messag\
- es.ethereum.EthereumDefinitionsR\x0bdefinitions:\x04\x88\xb2\x19\x01\"\
- \x84\x01\n\x19EthereumAuth7702Signature\x12\x1f\n\x0bsignature_v\x18\x01\
- \x20\x02(\rR\nsignatureV\x12\x1f\n\x0bsignature_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.satoshilabs.trezor.lib.protobufB\x15TrezorM\
- essageEthereum\
+ 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\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -5554,10 +5001,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
- let mut deps = ::std::vec::Vec::with_capacity(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(19);
+ let mut messages = ::std::vec::Vec::with_capacity(17);
messages.push(EthereumGetPublicKey::generated_message_descriptor_data());
messages.push(EthereumPublicKey::generated_message_descriptor_data());
messages.push(EthereumGetAddress::generated_message_descriptor_data());
@@ -5574,8 +5020,6 @@ 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(
### tests/device_tests/ethereum/test_sign_eip7702.py
@@ -1,96 +0,0 @@
-# This file is part of the Trezor project.
-#
-# Copyright (C) SatoshiLabs and contributors
-#
-# This library is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the License along with this library.
-# If not, see <https://www.gnu.org/licenses/lgpl-3.0.html>.
-
-import pytest
-
-from trezorlib import device, ethereum
-from trezorlib.debuglink import DebugSession as Session
-from trezorlib.exceptions import TrezorFailure
-from trezorlib.messages import EthereumAuth7702Signature, SafetyCheckLevel
-from trezorlib.tools import parse_path
-
-from ...common import parametrize_using_common_fixtures
-from .test_signtx import make_defs
-
-pytestmark = [
- pytest.mark.altcoin,
- pytest.mark.ethereum,
- pytest.mark.models("core", reason="T1 does not support EIP 7702"),
-]
-
-# Test vectors validated with Foundry
-# cast wallet sign-auth $ADDRESS --mnemonic $MNEMONIC --mnemonic-derivation-path "m/44'/60'/0'/0/0" --nonce $NONCE --chain $CHAINID
-# To evaluate signature parts: cast from-rlp <result_from_above>
-# format: [chain_id, address, nonce, v, r, s]
-
-
-@parametrize_using_common_fixtures("ethereum/sign_auth_eip7702.json")
-def test_sign_eip7702(session: Session, parameters, result):
- delegate = parameters["delegate"]
- defs = make_defs(parameters)
-
- def _sign() -> EthereumAuth7702Signature:
- return ethereum.sign_auth_eip7702(
- session,
- n=parse_path(parameters["path"]),
- chain_id=parameters["chain_id"],
- delegate=delegate,
- nonce=parameters["nonce"],
- encoded_network=defs.encoded_network,
- )
-
- with pytest.raises(TrezorFailure, match="Experimental features are disabled"):
- _sign()
-
- device.apply_settings(session, experimental_features=True)
-
- # Revocation doesn't require disabling strict safety checks.
- if delegate != "0x0000000000000000000000000000000000000000":
- with pytest.raises(
- TrezorFailure,
- match="ProcessError: EIP-7702 authorisation not allowed with strict safety checks",
- ):
- _sign()
-
- # Authorization requires disabling strict safety checks.
- device.apply_settings(
- session,
- safety_checks=SafetyCheckLevel.PromptTemporarily,
- )
-
- res = _sign()
- assert res.signature_v == result["sig_v"]
- assert res.signature_r.hex() == result["sig_r"]
- assert res.signature_s.hex() == result["sig_s"]
-
-
-@parametrize_using_common_fixtures("ethereum/sign_auth_eip7702_errors.json")
-def test_sign_eip7702_errors(session: Session, parameters, result):
- device.apply_settings(
- session,
- safety_checks=SafetyCheckLevel.PromptTemporarily,
- experimental_features=True,
- )
-
- assert result["error"] # make sure it's not an empty string
- with pytest.raises(TrezorFailure, match=result["error"]):
- ethereum.sign_auth_eip7702(
- session,
- n=parse_path(parameters["path"]),
- chain_id=parameters["chain_id"],
- delegate=parameters["delegate"],
- nonce=parameters["nonce"],
- )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.