feat(cardano): replace chunking with length+offset
What changed, and why it matters
This commit rewrites how the Trezor device fetches the message payload during Cardano message signing. Instead of the host pushing fixed-size chunks to the device, the device now asks for a specific slice of data by sending a length and offset, and the host replies with exactly that slice. The change also removes the previous 1024-byte maximum payload size limit, so larger messages can now be signed. The code adds bounds checks on both sides, but because the device now requests the entire payload in one go, this could stress limited device RAM. There is no direct evidence in the commit that this fixes a reported security bug; it reads as a feature/refactoring change.
Treat this as a protocol-breaking change rather than a confirmed vulnerability fix. Review the new _get_payload_data implementation for memory exhaustion or integer-overflow risks on the embedded device, especially because it currently requests the full payload in one call. Ensure the host-side Python and Rust clients strictly validate device requests against the known payload length to avoid out-of-bounds reads. Re-run Cardano sign-message device tests and fuzz the length/offset fields. If this change is being backported, verify that old clients using the previous message types cannot accidentally trigger the new code path.
Security signals we found
Protocol redesign from push-chunking to pull-based length+offset data transfer
Removal of the MAX_CHUNK_SIZE / 'Payload too long to sign' limit in firmware
Addition of bounds checks: offset+length <= payload_size and len(response.data) == chunk_length
Device now requests the entire payload in a single allocation (comment notes 'regardless of RAM constraints')
Message type IDs reused: 339/340/341 now have different semantics and directions than before
No explicit security bug description or CVE reference in commit message or diff
Evidence from the diff
The Cardano sign-message protocol is changed from a push-based chunked transfer (CardanoMessagePayloadChunk / CardanoMessageItemAck / CardanoMessageItemHostAck) to a pull-based length+offset request model (CardanoMessageDataRequest / CardanoMessageDataResponse). The device now emits CardanoMessageDataRequest with required uint32 length and offset, and the host returns CardanoMessageDataResponse containing the requested bytes. The firmware validates that offset+length does not exceed payload_size and that the returned data length matches the request. The old MAX_CHUNK_SIZE cap is removed, and the current implementation requests the full payload at once (chunk_length = payload_size). Message type numbers are reused/reassigned, and CardanoSignMessageFinished is renamed CardanoMessageSignature. Generated protobuf code in Python, Rust, and C-like descriptors is updated accordingly.
Changed components
core/src/apps/cardano/sign_message.pycore/src/apps/cardano/helpers/chunks.pycommon/protob/messages-cardano.protocommon/protob/messages.protopython/src/trezorlib/cardano.pypython/src/trezorlib/messages.pyrust/trezor-client/src/protos/generated/messages_cardano.rsrust/trezor-client/src/protos/generated/messages.rsrust/trezor-client/src/messages/generated.rstests/device_tests/cardano/test_sign_message.pyInspect captured patch +409 / −444
diff --git a/common/protob/messages-cardano.proto b/common/protob/messages-cardano.proto
index 7ad685dd..d3762a06 100644
--- a/common/protob/messages-cardano.proto
+++ b/common/protob/messages-cardano.proto
@@ -530,7 +530,8 @@ message CardanoSignTxFinished {
/**
* Request: Ask device to sign a message containing arbitrary data
* @start
- * @next CardanoMessageItemAck
+ * @next CardanoMessageDataRequest
+ * @next CardanoMessageSignature
*/
message CardanoSignMessageInit {
optional uint32 protocol_magic = 1; // network's protocol magic
@@ -543,30 +544,29 @@ message CardanoSignMessageInit {
}
/**
- * @next CardanoMessagePayloadChunk
- * @next CardanoMessageItemHostAck
+ * Device requests data chunk with specific size and offset
+ * @next CardanoMessageDataResponse
*/
-message CardanoMessageItemAck {
+message CardanoMessageDataRequest {
+ required uint32 length = 1; // size of data chunk to read
+ required uint32 offset = 2; // offset from start of payload
}
/**
- * @next CardanoMessageItemAck
+ * Client provides requested data chunk
+ * @next CardanoMessageDataRequest
+ * @next CardanoMessageSignature
*/
-message CardanoMessagePayloadChunk {
- required bytes data = 1; // expected maximum chunk size is 1024 bytes
+message CardanoMessageDataResponse {
+ required bytes data = 1; // the requested data chunk
}
-/**
- * @next CardanoSignMessageFinished
- */
-message CardanoMessageItemHostAck {
-}
/**
* Response: Contains signature for message and address used in signed headers
* @end
*/
-message CardanoSignMessageFinished {
+message CardanoMessageSignature {
required bytes signature = 1; // signature for structure containing payload and protected headers
required bytes address = 2; // value of the address field in protected headers
required bytes pub_key = 3; // public key given by signing path
diff --git a/common/protob/messages.proto b/common/protob/messages.proto
index 17013f62..6df7e20b 100644
--- a/common/protob/messages.proto
+++ b/common/protob/messages.proto
@@ -251,10 +251,9 @@ enum MessageType {
MessageType_CardanoTxReferenceScriptChunk = 336 [(wire_in) = true];
MessageType_CardanoTxReferenceInput = 337 [(wire_in) = true];
MessageType_CardanoSignMessageInit = 338 [(wire_in) = true];
- MessageType_CardanoMessagePayloadChunk = 339 [(wire_in) = true];
- MessageType_CardanoMessageItemAck = 340 [(wire_out) = true];
- MessageType_CardanoMessageItemHostAck = 341 [(wire_in) = true];
- MessageType_CardanoSignMessageFinished = 342 [(wire_out) = true];
+ MessageType_CardanoMessageDataRequest = 339 [(wire_out) = true];
+ MessageType_CardanoMessageDataResponse = 340 [(wire_in) = true];
+ MessageType_CardanoMessageSignature = 341 [(wire_out) = true];
// Ripple
MessageType_RippleGetAddress = 400 [(wire_in) = true];
diff --git a/common/tests/fixtures/cardano/sign_message.failed.json b/common/tests/fixtures/cardano/sign_message.failed.json
index e54304b3..871c660b 100644
--- a/common/tests/fixtures/cardano/sign_message.failed.json
+++ b/common/tests/fixtures/cardano/sign_message.failed.json
@@ -19,19 +19,6 @@
"result": {
"error_message": "Must specify network_id and protocol_magic if using address_parameters"
}
- },
- {
- "description": "Payload too long",
- "parameters": {
- "signing_path": "m/1852'/1815'/4'/0/0",
- "network_id": 1,
- "protocol_magic": 764824073,
- "payload": "566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765566572794c6f6e674d657373616765",
- "prefer_hex_display": true
- },
- "result": {
- "error_message": "Payload too long to sign"
- }
}
]
}
diff --git a/core/src/apps/cardano/helpers/chunks.py b/core/src/apps/cardano/helpers/chunks.py
index 762cbdd9..c63376b5 100644
--- a/core/src/apps/cardano/helpers/chunks.py
+++ b/core/src/apps/cardano/helpers/chunks.py
@@ -11,7 +11,6 @@ if TYPE_CHECKING:
Chunk = Union[
messages.CardanoTxInlineDatumChunk,
messages.CardanoTxReferenceScriptChunk,
- messages.CardanoMessagePayloadChunk,
]
C = TypeVar("C", bound=Chunk)
diff --git a/core/src/apps/cardano/sign_message.py b/core/src/apps/cardano/sign_message.py
index 8694020e..e2882b8b 100644
--- a/core/src/apps/cardano/sign_message.py
+++ b/core/src/apps/cardano/sign_message.py
@@ -4,7 +4,6 @@ from typing import TYPE_CHECKING
from trezor.wire import ProcessError
from trezor.wire.context import call as ctx_call
-from apps.cardano.helpers.chunks import MAX_CHUNK_SIZE, ChunkIterator
from apps.cardano.helpers.credential import Credential
from apps.cardano.helpers.paths import SCHEMA_MINT, SCHEMA_PUBKEY
from apps.cardano.helpers.utils import derive_public_key
@@ -15,7 +14,7 @@ from . import addresses, seed
if TYPE_CHECKING:
from typing import Any
- from trezor.messages import CardanoSignMessageFinished, CardanoSignMessageInit
+ from trezor.messages import CardanoMessageSignature, CardanoSignMessageInit
from apps.common.cbor import CborSequence
@@ -48,9 +47,6 @@ async def _validate_message_init(
)
addresses.validate_message_address_parameters(msg.address_parameters)
- if msg.payload_size > MAX_CHUNK_SIZE:
- raise ProcessError("Payload too long to sign")
-
await _validate_message_signing_path(msg.signing_path, keychain)
@@ -78,42 +74,43 @@ async def _get_confirmed_header_address(
return addresses.get_public_key_hash(keychain, msg.signing_path)
-async def _get_payload_first_chunk(size: int) -> bytes:
- """Returns the first chunk of the payload."""
- from trezor.messages import (
- CardanoMessageItemAck,
- CardanoMessageItemHostAck,
- CardanoMessagePayloadChunk,
- )
+async def _get_payload_data(
+ payload_size: int,
+ chunk_length: int,
+ chunk_offset: int,
+) -> bytes:
+ """Returns payload data using length+offset pattern."""
+ from trezor.messages import CardanoMessageDataRequest, CardanoMessageDataResponse
- first_chunk = b""
+ if chunk_offset + chunk_length > payload_size:
+ raise ProcessError("Requested data exceeds payload size")
- async for chunk_index, chunk in ChunkIterator(
- total_size=size,
- ack_msg=CardanoMessageItemAck(),
- chunk_type=CardanoMessagePayloadChunk,
- ):
- if chunk_index == 0:
- first_chunk = chunk.data
- else:
- raise ProcessError("Expected only one chunk")
+ request = CardanoMessageDataRequest(length=chunk_length, offset=chunk_offset)
+ response = await ctx_call(request, CardanoMessageDataResponse)
- await ctx_call(CardanoMessageItemAck(), CardanoMessageItemHostAck)
- return first_chunk
+ if len(response.data) != chunk_length:
+ raise ProcessError("Data length mismatch")
+
+ return response.data
async def _get_confirmed_payload(size: int, prefer_hex_display: bool) -> bytes:
from . import layout
- first_chunk = await _get_payload_first_chunk(size)
+ # Request the entire payload at once for now, regardless of RAM constraints.
+ payload = (
+ await _get_payload_data(payload_size=size, chunk_length=size, chunk_offset=0)
+ if size > 0
+ else b""
+ )
await layout.confirm_message_payload(
payload_size=size,
- payload_first_chunk=first_chunk,
+ payload_first_chunk=payload,
prefer_hex_display=prefer_hex_display,
)
- return first_chunk
+ return payload
def _cborize_sig_structure(
@@ -151,8 +148,8 @@ async def sign_message(
msg: CardanoSignMessageInit,
keychain: seed.Keychain,
slip21_keychain: "Slip21Keychain",
-) -> CardanoSignMessageFinished:
- from trezor.messages import CardanoSignMessageFinished
+) -> CardanoMessageSignature:
+ from trezor.messages import CardanoMessageSignature
from . import layout
@@ -178,7 +175,7 @@ async def sign_message(
_cborize_sig_structure(payload=payload, protected_headers=headers),
)
- return CardanoSignMessageFinished(
+ return CardanoMessageSignature(
signature=signature,
address=address,
pub_key=derive_public_key(keychain, msg.signing_path),
diff --git a/core/src/trezor/enums/MessageType.py b/core/src/trezor/enums/MessageType.py
index ca812968..b344db95 100644
--- a/core/src/trezor/enums/MessageType.py
+++ b/core/src/trezor/enums/MessageType.py
@@ -196,10 +196,9 @@ if not utils.BITCOIN_ONLY:
CardanoTxReferenceScriptChunk = 336
CardanoTxReferenceInput = 337
CardanoSignMessageInit = 338
- CardanoMessagePayloadChunk = 339
- CardanoMessageItemAck = 340
- CardanoMessageItemHostAck = 341
- CardanoSignMessageFinished = 342
+ CardanoMessageDataRequest = 339
+ CardanoMessageDataResponse = 340
+ CardanoMessageSignature = 341
RippleGetAddress = 400
RippleAddress = 401
RippleSignTx = 402
diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py
index 25668e85..f3293d15 100644
--- a/core/src/trezor/enums/__init__.py
+++ b/core/src/trezor/enums/__init__.py
@@ -555,10 +555,9 @@ if TYPE_CHECKING:
CardanoTxReferenceScriptChunk = 336
CardanoTxReferenceInput = 337
CardanoSignMessageInit = 338
- CardanoMessagePayloadChunk = 339
- CardanoMessageItemAck = 340
- CardanoMessageItemHostAck = 341
- CardanoSignMessageFinished = 342
+ CardanoMessageDataRequest = 339
+ CardanoMessageDataResponse = 340
+ CardanoMessageSignature = 341
RippleGetAddress = 400
RippleAddress = 401
RippleSignTx = 402
diff --git a/core/src/trezor/messages.py b/core/src/trezor/messages.py
index fc562724..52fe198e 100644
--- a/core/src/trezor/messages.py
+++ b/core/src/trezor/messages.py
@@ -1810,13 +1810,23 @@ if TYPE_CHECKING:
def is_type_of(cls, msg: Any) -> TypeGuard["CardanoSignMessageInit"]:
return isinstance(msg, cls)
- class CardanoMessageItemAck(protobuf.MessageType):
+ class CardanoMessageDataRequest(protobuf.MessageType):
+ length: "int"
+ offset: "int"
+
+ def __init__(
+ self,
+ *,
+ length: "int",
+ offset: "int",
+ ) -> None:
+ pass
@classmethod
- def is_type_of(cls, msg: Any) -> TypeGuard["CardanoMessageItemAck"]:
+ def is_type_of(cls, msg: Any) -> TypeGuard["CardanoMessageDataRequest"]:
return isinstance(msg, cls)
- class CardanoMessagePayloadChunk(protobuf.MessageType):
+ class CardanoMessageDataResponse(protobuf.MessageType):
data: "bytes"
def __init__(
@@ -1827,16 +1837,10 @@ if TYPE_CHECKING:
pass
@classmethod
- def is_type_of(cls, msg: Any) -> TypeGuard["CardanoMessagePayloadChunk"]:
- return isinstance(msg, cls)
-
- class CardanoMessageItemHostAck(protobuf.MessageType):
-
- @classmethod
- def is_type_of(cls, msg: Any) -> TypeGuard["CardanoMessageItemHostAck"]:
+ def is_type_of(cls, msg: Any) -> TypeGuard["CardanoMessageDataResponse"]:
return isinstance(msg, cls)
- class CardanoSignMessageFinished(protobuf.MessageType):
+ class CardanoMessageSignature(protobuf.MessageType):
signature: "bytes"
address: "bytes"
pub_key: "bytes"
@@ -1851,7 +1855,7 @@ if TYPE_CHECKING:
pass
@classmethod
- def is_type_of(cls, msg: Any) -> TypeGuard["CardanoSignMessageFinished"]:
+ def is_type_of(cls, msg: Any) -> TypeGuard["CardanoMessageSignature"]:
return isinstance(msg, cls)
class CipherKeyValue(protobuf.MessageType):
diff --git a/python/src/trezorlib/cardano.py b/python/src/trezorlib/cardano.py
index f9f77a7b..467e76c0 100644
--- a/python/src/trezorlib/cardano.py
+++ b/python/src/trezorlib/cardano.py
@@ -108,7 +108,6 @@ Chunk = TypeVar(
bound=Union[
m.CardanoTxInlineDatumChunk,
m.CardanoTxReferenceScriptChunk,
- m.CardanoMessagePayloadChunk,
],
)
@@ -1029,26 +1028,30 @@ def sign_message(
derivation_type: m.CardanoDerivationType = m.CardanoDerivationType.ICARUS,
protocol_magic: Optional[int] = None,
network_id: Optional[int] = None,
-) -> m.CardanoSignMessageFinished:
-
- size, chunks = _parse_chunkable_data(payload, m.CardanoMessagePayloadChunk)
-
+) -> m.CardanoMessageSignature:
response = session.call(
m.CardanoSignMessageInit(
signing_path=signing_path,
- payload_size=size,
+ payload_size=len(payload),
address_parameters=address_parameters,
prefer_hex_display=prefer_hex_display,
protocol_magic=protocol_magic,
network_id=network_id,
derivation_type=derivation_type,
),
- expect=m.CardanoMessageItemAck,
)
- for chunk in chunks:
- session.call(chunk, expect=m.CardanoMessageItemAck)
+ while isinstance(response, m.CardanoMessageDataRequest):
+ offset = response.offset
+ requested_size = response.length
- return session.call(
- m.CardanoMessageItemHostAck(), expect=m.CardanoSignMessageFinished
- )
+ if offset + requested_size > len(payload):
+ raise ValueError("Device requested data beyond payload bounds")
+
+ chunk_data = payload[offset : offset + requested_size]
+ response = session.call(m.CardanoMessageDataResponse(data=chunk_data))
+
+ if not isinstance(response, m.CardanoMessageSignature):
+ raise ValueError("Unexpected response")
+
+ return response
diff --git a/python/src/trezorlib/cli/cardano.py b/python/src/trezorlib/cli/cardano.py
index 51f68d90..b103f858 100644
--- a/python/src/trezorlib/cli/cardano.py
+++ b/python/src/trezorlib/cli/cardano.py
@@ -338,7 +338,7 @@ def sign_message(
session: "Session",
file: TextIO,
derivation_type: messages.CardanoDerivationType,
-) -> messages.CardanoSignMessageFinished:
+) -> messages.CardanoMessageSignature:
"""Sign Cardano message containing arbitrary data."""
request: dict[Any, Any] = json.load(file)
diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py
index f8640fa0..1e30cb7b 100644
--- a/python/src/trezorlib/messages.py
+++ b/python/src/trezorlib/messages.py
@@ -608,10 +608,9 @@ class MessageType(IntEnum):
CardanoTxReferenceScriptChunk = 336
CardanoTxReferenceInput = 337
CardanoSignMessageInit = 338
- CardanoMessagePayloadChunk = 339
- CardanoMessageItemAck = 340
- CardanoMessageItemHostAck = 341
- CardanoSignMessageFinished = 342
+ CardanoMessageDataRequest = 339
+ CardanoMessageDataResponse = 340
+ CardanoMessageSignature = 341
RippleGetAddress = 400
RippleAddress = 401
RippleSignTx = 402
@@ -2935,12 +2934,25 @@ class CardanoSignMessageInit(protobuf.MessageType):
self.address_parameters = address_parameters
-class CardanoMessageItemAck(protobuf.MessageType):
- MESSAGE_WIRE_TYPE = 340
+class CardanoMessageDataRequest(protobuf.MessageType):
+ MESSAGE_WIRE_TYPE = 339
+ FIELDS = {
+ 1: protobuf.Field("length", "uint32", repeated=False, required=True),
+ 2: protobuf.Field("offset", "uint32", repeated=False, required=True),
+ }
+ def __init__(
+ self,
+ *,
+ length: "int",
+ offset: "int",
+ ) -> None:
+ self.length = length
+ self.offset = offset
-class CardanoMessagePayloadChunk(protobuf.MessageType):
- MESSAGE_WIRE_TYPE = 339
+
+class CardanoMessageDataResponse(protobuf.MessageType):
+ MESSAGE_WIRE_TYPE = 340
FIELDS = {
1: protobuf.Field("data", "bytes", repeated=False, required=True),
}
@@ -2953,12 +2965,8 @@ class CardanoMessagePayloadChunk(protobuf.MessageType):
self.data = data
-class CardanoMessageItemHostAck(protobuf.MessageType):
+class CardanoMessageSignature(protobuf.MessageType):
MESSAGE_WIRE_TYPE = 341
-
-
-class CardanoSignMessageFinished(protobuf.MessageType):
- MESSAGE_WIRE_TYPE = 342
FIELDS = {
1: protobuf.Field("signature", "bytes", repeated=False, required=True),
2: protobuf.Field("address", "bytes", repeated=False, required=True),
diff --git a/rust/trezor-client/src/messages/generated.rs b/rust/trezor-client/src/messages/generated.rs
index 9e3cd9f2..b825d592 100644
--- a/rust/trezor-client/src/messages/generated.rs
+++ b/rust/trezor-client/src/messages/generated.rs
@@ -149,10 +149,9 @@ trezor_message_impl! {
CardanoTxReferenceScriptChunk => MessageType_CardanoTxReferenceScriptChunk,
CardanoTxReferenceInput => MessageType_CardanoTxReferenceInput,
CardanoSignMessageInit => MessageType_CardanoSignMessageInit,
- CardanoMessagePayloadChunk => MessageType_CardanoMessagePayloadChunk,
- CardanoMessageItemAck => MessageType_CardanoMessageItemAck,
- CardanoMessageItemHostAck => MessageType_CardanoMessageItemHostAck,
- CardanoSignMessageFinished => MessageType_CardanoSignMessageFinished,
+ CardanoMessageDataRequest => MessageType_CardanoMessageDataRequest,
+ CardanoMessageDataResponse => MessageType_CardanoMessageDataResponse,
+ CardanoMessageSignature => MessageType_CardanoMessageSignature,
}
#[cfg(feature = "eos")]
diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs
index c6da4b6d..face0452 100644
--- a/rust/trezor-client/src/protos/generated/messages.rs
+++ b/rust/trezor-client/src/protos/generated/messages.rs
@@ -395,14 +395,12 @@ pub enum MessageType {
MessageType_CardanoTxReferenceInput = 337,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignMessageInit)
MessageType_CardanoSignMessageInit = 338,
- // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessagePayloadChunk)
- MessageType_CardanoMessagePayloadChunk = 339,
- // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageItemAck)
- MessageType_CardanoMessageItemAck = 340,
- // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageItemHostAck)
- MessageType_CardanoMessageItemHostAck = 341,
- // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignMessageFinished)
- MessageType_CardanoSignMessageFinished = 342,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageDataRequest)
+ MessageType_CardanoMessageDataRequest = 339,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageDataResponse)
+ MessageType_CardanoMessageDataResponse = 340,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageSignature)
+ MessageType_CardanoMessageSignature = 341,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleGetAddress)
MessageType_RippleGetAddress = 400,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleAddress)
@@ -732,10 +730,9 @@ impl ::protobuf::Enum for MessageType {
336 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceScriptChunk),
337 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceInput),
338 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignMessageInit),
- 339 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessagePayloadChunk),
- 340 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageItemAck),
- 341 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageItemHostAck),
- 342 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignMessageFinished),
+ 339 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataRequest),
+ 340 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataResponse),
+ 341 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageSignature),
400 => ::std::option::Option::Some(MessageType::MessageType_RippleGetAddress),
401 => ::std::option::Option::Some(MessageType::MessageType_RippleAddress),
402 => ::std::option::Option::Some(MessageType::MessageType_RippleSignTx),
@@ -993,10 +990,9 @@ impl ::protobuf::Enum for MessageType {
"MessageType_CardanoTxReferenceScriptChunk" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceScriptChunk),
"MessageType_CardanoTxReferenceInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceInput),
"MessageType_CardanoSignMessageInit" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignMessageInit),
- "MessageType_CardanoMessagePayloadChunk" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessagePayloadChunk),
- "MessageType_CardanoMessageItemAck" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageItemAck),
- "MessageType_CardanoMessageItemHostAck" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageItemHostAck),
- "MessageType_CardanoSignMessageFinished" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignMessageFinished),
+ "MessageType_CardanoMessageDataRequest" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataRequest),
+ "MessageType_CardanoMessageDataResponse" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataResponse),
+ "MessageType_CardanoMessageSignature" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageSignature),
"MessageType_RippleGetAddress" => ::std::option::Option::Some(MessageType::MessageType_RippleGetAddress),
"MessageType_RippleAddress" => ::std::option::Option::Some(MessageType::MessageType_RippleAddress),
"MessageType_RippleSignTx" => ::std::option::Option::Some(MessageType::MessageType_RippleSignTx),
@@ -1253,10 +1249,9 @@ impl ::protobuf::Enum for MessageType {
MessageType::MessageType_CardanoTxReferenceScriptChunk,
MessageType::MessageType_CardanoTxReferenceInput,
MessageType::MessageType_CardanoSignMessageInit,
- MessageType::MessageType_CardanoMessagePayloadChunk,
- MessageType::MessageType_CardanoMessageItemAck,
- MessageType::MessageType_CardanoMessageItemHostAck,
- MessageType::MessageType_CardanoSignMessageFinished,
+ MessageType::MessageType_CardanoMessageDataRequest,
+ MessageType::MessageType_CardanoMessageDataResponse,
+ MessageType::MessageType_CardanoMessageSignature,
MessageType::MessageType_RippleGetAddress,
MessageType::MessageType_RippleAddress,
MessageType::MessageType_RippleSignTx,
@@ -1519,77 +1514,76 @@ impl ::protobuf::EnumFull for MessageType {
MessageType::MessageType_CardanoTxReferenceScriptChunk => 181,
MessageType::MessageType_CardanoTxReferenceInput => 182,
MessageType::MessageType_CardanoSignMessageInit => 183,
- MessageType::MessageType_CardanoMessagePayloadChunk => 184,
- MessageType::MessageType_CardanoMessageItemAck => 185,
- MessageType::MessageType_CardanoMessageItemHostAck => 186,
- MessageType::MessageType_CardanoSignMessageFinished => 187,
- MessageType::MessageType_RippleGetAddress => 188,
- MessageType::MessageType_RippleAddress => 189,
- MessageType::MessageType_RippleSignTx => 190,
- MessageType::MessageType_RippleSignedTx => 191,
- MessageType::MessageType_MoneroTransactionInitRequest => 192,
- MessageType::MessageType_MoneroTransactionInitAck => 193,
- MessageType::MessageType_MoneroTransactionSetInputRequest => 194,
- MessageType::MessageType_MoneroTransactionSetInputAck => 195,
- MessageType::MessageType_MoneroTransactionInputViniRequest => 196,
- MessageType::MessageType_MoneroTransactionInputViniAck => 197,
- MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 198,
- MessageType::MessageType_MoneroTransactionAllInputsSetAck => 199,
- MessageType::MessageType_MoneroTransactionSetOutputRequest => 200,
- MessageType::MessageType_MoneroTransactionSetOutputAck => 201,
- MessageType::MessageType_MoneroTransactionAllOutSetRequest => 202,
- MessageType::MessageType_MoneroTransactionAllOutSetAck => 203,
- MessageType::MessageType_MoneroTransactionSignInputRequest => 204,
- MessageType::MessageType_MoneroTransactionSignInputAck => 205,
- MessageType::MessageType_MoneroTransactionFinalRequest => 206,
- MessageType::MessageType_MoneroTransactionFinalAck => 207,
- MessageType::MessageType_MoneroKeyImageExportInitRequest => 208,
- MessageType::MessageType_MoneroKeyImageExportInitAck => 209,
- MessageType::MessageType_MoneroKeyImageSyncStepRequest => 210,
- MessageType::MessageType_MoneroKeyImageSyncStepAck => 211,
- MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 212,
- MessageType::MessageType_MoneroKeyImageSyncFinalAck => 213,
- MessageType::MessageType_MoneroGetAddress => 214,
- MessageType::MessageType_MoneroAddress => 215,
- MessageType::MessageType_MoneroGetWatchKey => 216,
- MessageType::MessageType_MoneroWatchKey => 217,
- MessageType::MessageType_DebugMoneroDiagRequest => 218,
- MessageType::MessageType_DebugMoneroDiagAck => 219,
- MessageType::MessageType_MoneroGetTxKeyRequest => 220,
- MessageType::MessageType_MoneroGetTxKeyAck => 221,
- MessageType::MessageType_MoneroLiveRefreshStartRequest => 222,
- MessageType::MessageType_MoneroLiveRefreshStartAck => 223,
- MessageType::MessageType_MoneroLiveRefreshStepRequest => 224,
- MessageType::MessageType_MoneroLiveRefreshStepAck => 225,
- MessageType::MessageType_MoneroLiveRefreshFinalRequest => 226,
- MessageType::MessageType_MoneroLiveRefreshFinalAck => 227,
- MessageType::MessageType_EosGetPublicKey => 228,
- MessageType::MessageType_EosPublicKey => 229,
- MessageType::MessageType_EosSignTx => 230,
- MessageType::MessageType_EosTxActionRequest => 231,
- MessageType::MessageType_EosTxActionAck => 232,
- MessageType::MessageType_EosSignedTx => 233,
- MessageType::MessageType_WebAuthnListResidentCredentials => 234,
- MessageType::MessageType_WebAuthnCredentials => 235,
- MessageType::MessageType_WebAuthnAddResidentCredential => 236,
- MessageType::MessageType_WebAuthnRemoveResidentCredential => 237,
- MessageType::MessageType_SolanaGetPublicKey => 238,
- MessageType::MessageType_SolanaPublicKey => 239,
- MessageType::MessageType_SolanaGetAddress => 240,
- MessageType::MessageType_SolanaAddress => 241,
- MessageType::MessageType_SolanaSignTx => 242,
- MessageType::MessageType_SolanaTxSignature => 243,
- MessageType::MessageType_ThpCreateNewSession => 244,
- MessageType::MessageType_ThpCredentialRequest => 245,
- MessageType::MessageType_ThpCredentialResponse => 246,
- MessageType::MessageType_NostrGetPubkey => 247,
- MessageType::MessageType_NostrPubkey => 248,
- MessageType::MessageType_NostrSignEvent => 249,
- MessageType::MessageType_NostrEventSignature => 250,
- MessageType::MessageType_BenchmarkListNames => 251,
- MessageType::MessageType_BenchmarkNames => 252,
- MessageType::MessageType_BenchmarkRun => 253,
- MessageType::MessageType_BenchmarkResult => 254,
+ MessageType::MessageType_CardanoMessageDataRequest => 184,
+ MessageType::MessageType_CardanoMessageDataResponse => 185,
+ MessageType::MessageType_CardanoMessageSignature => 186,
+ MessageType::MessageType_RippleGetAddress => 187,
+ MessageType::MessageType_RippleAddress => 188,
+ MessageType::MessageType_RippleSignTx => 189,
+ MessageType::MessageType_RippleSignedTx => 190,
+ MessageType::MessageType_MoneroTransactionInitRequest => 191,
+ MessageType::MessageType_MoneroTransactionInitAck => 192,
+ MessageType::MessageType_MoneroTransactionSetInputRequest => 193,
+ MessageType::MessageType_MoneroTransactionSetInputAck => 194,
+ MessageType::MessageType_MoneroTransactionInputViniRequest => 195,
+ MessageType::MessageType_MoneroTransactionInputViniAck => 196,
+ MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 197,
+ MessageType::MessageType_MoneroTransactionAllInputsSetAck => 198,
+ MessageType::MessageType_MoneroTransactionSetOutputRequest => 199,
+ MessageType::MessageType_MoneroTransactionSetOutputAck => 200,
+ MessageType::MessageType_MoneroTransactionAllOutSetRequest => 201,
+ MessageType::MessageType_MoneroTransactionAllOutSetAck => 202,
+ MessageType::MessageType_MoneroTransactionSignInputRequest => 203,
+ MessageType::MessageType_MoneroTransactionSignInputAck => 204,
+ MessageType::MessageType_MoneroTransactionFinalRequest => 205,
+ MessageType::MessageType_MoneroTransactionFinalAck => 206,
+ MessageType::MessageType_MoneroKeyImageExportInitRequest => 207,
+ MessageType::MessageType_MoneroKeyImageExportInitAck => 208,
+ MessageType::MessageType_MoneroKeyImageSyncStepRequest => 209,
+ MessageType::MessageType_MoneroKeyImageSyncStepAck => 210,
+ MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 211,
+ MessageType::MessageType_MoneroKeyImageSyncFinalAck => 212,
+ MessageType::MessageType_MoneroGetAddress => 213,
+ MessageType::MessageType_MoneroAddress => 214,
+ MessageType::MessageType_MoneroGetWatchKey => 215,
+ MessageType::MessageType_MoneroWatchKey => 216,
+ MessageType::MessageType_DebugMoneroDiagRequest => 217,
+ MessageType::MessageType_DebugMoneroDiagAck => 218,
+ MessageType::MessageType_MoneroGetTxKeyRequest => 219,
+ MessageType::MessageType_MoneroGetTxKeyAck => 220,
+ MessageType::MessageType_MoneroLiveRefreshStartRequest => 221,
+ MessageType::MessageType_MoneroLiveRefreshStartAck => 222,
+ MessageType::MessageType_MoneroLiveRefreshStepRequest => 223,
+ MessageType::MessageType_MoneroLiveRefreshStepAck => 224,
+ MessageType::MessageType_MoneroLiveRefreshFinalRequest => 225,
+ MessageType::MessageType_MoneroLiveRefreshFinalAck => 226,
+ MessageType::MessageType_EosGetPublicKey => 227,
+ MessageType::MessageType_EosPublicKey => 228,
+ MessageType::MessageType_EosSignTx => 229,
+ MessageType::MessageType_EosTxActionRequest => 230,
+ MessageType::MessageType_EosTxActionAck => 231,
+ MessageType::MessageType_EosSignedTx => 232,
+ MessageType::MessageType_WebAuthnListResidentCredentials => 233,
+ MessageType::MessageType_WebAuthnCredentials => 234,
+ MessageType::MessageType_WebAuthnAddResidentCredential => 235,
+ MessageType::MessageType_WebAuthnRemoveResidentCredential => 236,
+ MessageType::MessageType_SolanaGetPublicKey => 237,
+ MessageType::MessageType_SolanaPublicKey => 238,
+ MessageType::MessageType_SolanaGetAddress => 239,
+ MessageType::MessageType_SolanaAddress => 240,
+ MessageType::MessageType_SolanaSignTx => 241,
+ MessageType::MessageType_SolanaTxSignature => 242,
+ MessageType::MessageType_ThpCreateNewSession => 243,
+ MessageType::MessageType_ThpCredentialRequest => 244,
+ MessageType::MessageType_ThpCredentialResponse => 245,
+ MessageType::MessageType_NostrGetPubkey => 246,
+ MessageType::MessageType_NostrPubkey => 247,
+ MessageType::MessageType_NostrSignEvent => 248,
+ MessageType::MessageType_NostrEventSignature => 249,
+ MessageType::MessageType_BenchmarkListNames => 250,
+ MessageType::MessageType_BenchmarkNames => 251,
+ MessageType::MessageType_BenchmarkRun => 252,
+ MessageType::MessageType_BenchmarkResult => 253,
};
Self::enum_descriptor().value_by_index(index)
}
@@ -1608,7 +1602,7 @@ impl MessageType {
}
static file_descriptor_proto_data: &'static [u8] = b"\
- \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\x85Y\
+ \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\xd4X\
\n\x0bMessageType\x12(\n\x16MessageType_Initialize\x10\0\x1a\x0c\x80\xa6\
\x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12\x1e\n\x10MessageType_Ping\
\x10\x01\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x13MessageType_S\
@@ -1820,28 +1814,27 @@ static file_descriptor_proto_data: &'static [u8] = b"\
TxReferenceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#Messag\
eType_CardanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\
\"MessageType_CardanoSignMessageInit\x10\xd2\x02\x1a\x04\x90\xb5\x18\x01\
- \x121\n&MessageType_CardanoMessagePayloadChunk\x10\xd3\x02\x1a\x04\x90\
- \xb5\x18\x01\x12,\n!MessageType_CardanoMessageItemAck\x10\xd4\x02\x1a\
- \x04\x98\xb5\x18\x01\x120\n%MessageType_CardanoMessageItemHostAck\x10\
- \xd5\x02\x1a\x04\x90\xb5\x18\x01\x121\n&MessageType_CardanoSignMessageFi\
- nished\x10\xd6\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_RippleG\
- etAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_Ripp\
- leAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_Ripp\
- leSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_Rippl\
- eSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x123\n(MessageType_MoneroT\
- ransactionInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12/\n$Message\
- Type_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n\
- ,MessageType_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x98\
- \xb5\x18\x01\x123\n(MessageType_MoneroTransactionSetInputAck\x10\xf8\x03\
- \x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionInputViniRe\
- quest\x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTrans\
- actionInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageTyp\
- e_MoneroTransactionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x98\xb5\x18\
- \x01\x127\n,MessageType_MoneroTransactionAllInputsSetAck\x10\xfe\x03\x1a\
- \x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionSetOutputReques\
- t\x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransacti\
- onSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_Mo\
- neroTransactionAllOutSetRequest\x10\x81\x04\x1a\x04\x98\xb5\x18\x01\x124\
+ \x120\n%MessageType_CardanoMessageDataRequest\x10\xd3\x02\x1a\x04\x98\
+ \xb5\x18\x01\x121\n&MessageType_CardanoMessageDataResponse\x10\xd4\x02\
+ \x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoMessageSignature\x10\
+ \xd5\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_RippleGetAddress\
+ \x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\
+ \x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\
+ \x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedT\
+ x\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x123\n(MessageType_MoneroTransacti\
+ onInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_Mon\
+ eroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,Message\
+ Type_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x98\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\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
+ nInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageType_Mon\
+ eroTransactionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x98\xb5\x18\x01\
+ \x127\n,MessageType_MoneroTransactionAllInputsSetAck\x10\xfe\x03\x1a\x04\
+ \x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionSetOutputRequest\
+ \x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
+ nSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_Mon\
+ eroTransactionAllOutSetRequest\x10\x81\x04\x1a\x04\x98\xb5\x18\x01\x124\
\n)MessageType_MoneroTransactionAllOutSetAck\x10\x82\x04\x1a\x04\x98\xb5\
\x18\x01\x128\n-MessageType_MoneroTransactionSignInputRequest\x10\x83\
\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactionSignInp\
diff --git a/rust/trezor-client/src/protos/generated/messages_cardano.rs b/rust/trezor-client/src/protos/generated/messages_cardano.rs
index 5a7e5c95..4cdb9107 100644
--- a/rust/trezor-client/src/protos/generated/messages_cardano.rs
+++ b/rust/trezor-client/src/protos/generated/messages_cardano.rs
@@ -9969,46 +9969,111 @@ impl ::protobuf::reflect::ProtobufValue for CardanoSignMessageInit {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
-// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoMessageItemAck)
+// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoMessageDataRequest)
#[derive(PartialEq,Clone,Default,Debug)]
-pub struct CardanoMessageItemAck {
+pub struct CardanoMessageDataRequest {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessageDataRequest.length)
+ pub length: ::std::option::Option<u32>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessageDataRequest.offset)
+ pub offset: ::std::option::Option<u32>,
// special fields
- // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoMessageItemAck.special_fields)
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoMessageDataRequest.special_fields)
pub special_fields: ::protobuf::SpecialFields,
}
-impl<'a> ::std::default::Default for &'a CardanoMessageItemAck {
- fn default() -> &'a CardanoMessageItemAck {
- <CardanoMessageItemAck as ::protobuf::Message>::default_instance()
+impl<'a> ::std::default::Default for &'a CardanoMessageDataRequest {
+ fn default() -> &'a CardanoMessageDataRequest {
+ <CardanoMessageDataRequest as ::protobuf::Message>::default_instance()
}
}
-impl CardanoMessageItemAck {
- pub fn new() -> CardanoMessageItemAck {
+impl CardanoMessageDataRequest {
+ pub fn new() -> CardanoMessageDataRequest {
::std::default::Default::default()
}
+ // required uint32 length = 1;
+
+ pub fn length(&self) -> u32 {
+ self.length.unwrap_or(0)
+ }
+
+ pub fn clear_length(&mut self) {
+ self.length = ::std::option::Option::None;
+ }
+
+ pub fn has_length(&self) -> bool {
+ self.length.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_length(&mut self, v: u32) {
+ self.length = ::std::option::Option::Some(v);
+ }
+
+ // required uint32 offset = 2;
+
+ pub fn offset(&self) -> u32 {
+ self.offset.unwrap_or(0)
+ }
+
+ pub fn clear_offset(&mut self) {
+ self.offset = ::std::option::Option::None;
+ }
+
+ pub fn has_offset(&self) -> bool {
+ self.offset.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_offset(&mut self, v: u32) {
+ self.offset = ::std::option::Option::Some(v);
+ }
+
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
- let mut fields = ::std::vec::Vec::with_capacity(0);
+ let mut fields = ::std::vec::Vec::with_capacity(2);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
- ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoMessageItemAck>(
- "CardanoMessageItemAck",
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "length",
+ |m: &CardanoMessageDataRequest| { &m.length },
+ |m: &mut CardanoMessageDataRequest| { &mut m.length },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "offset",
+ |m: &CardanoMessageDataRequest| { &m.offset },
+ |m: &mut CardanoMessageDataRequest| { &mut m.offset },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoMessageDataRequest>(
+ "CardanoMessageDataRequest",
fields,
oneofs,
)
}
}
-impl ::protobuf::Message for CardanoMessageItemAck {
- const NAME: &'static str = "CardanoMessageItemAck";
+impl ::protobuf::Message for CardanoMessageDataRequest {
+ const NAME: &'static str = "CardanoMessageDataRequest";
fn is_initialized(&self) -> bool {
+ if self.length.is_none() {
+ return false;
+ }
+ if self.offset.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.length = ::std::option::Option::Some(is.read_uint32()?);
+ },
+ 16 => {
+ self.offset = ::std::option::Option::Some(is.read_uint32()?);
+ },
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
@@ -10021,12 +10086,24 @@ impl ::protobuf::Message for CardanoMessageItemAck {
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
+ if let Some(v) = self.length {
+ my_size += ::protobuf::rt::uint32_size(1, v);
+ }
+ if let Some(v) = self.offset {
+ my_size += ::protobuf::rt::uint32_size(2, v);
+ }
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.length {
+ os.write_uint32(1, v)?;
+ }
+ if let Some(v) = self.offset {
+ os.write_uint32(2, v)?;
+ }
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
@@ -10039,58 +10116,62 @@ impl ::protobuf::Message for CardanoMessageItemAck {
&mut self.special_fields
}
- fn new() -> CardanoMessageItemAck {
- CardanoMessageItemAck::new()
+ fn new() -> CardanoMessageDataRequest {
+ CardanoMessageDataRequest::new()
}
fn clear(&mut self) {
+ self.length = ::std::option::Option::None;
+ self.offset = ::std::option::Option::None;
self.special_fields.clear();
}
- fn default_instance() -> &'static CardanoMessageItemAck {
- static instance: CardanoMessageItemAck = CardanoMessageItemAck {
+ fn default_instance() -> &'static CardanoMessageDataRequest {
+ static instance: CardanoMessageDataRequest = CardanoMessageDataRequest {
+ length: ::std::option::Option::None,
+ offset: ::std::option::Option::None,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
-impl ::protobuf::MessageFull for CardanoMessageItemAck {
+impl ::protobuf::MessageFull for CardanoMessageDataRequest {
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("CardanoMessageItemAck").unwrap()).clone()
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("CardanoMessageDataRequest").unwrap()).clone()
}
}
-impl ::std::fmt::Display for CardanoMessageItemAck {
+impl ::std::fmt::Display for CardanoMessageDataRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
-impl ::protobuf::reflect::ProtobufValue for CardanoMessageItemAck {
+impl ::protobuf::reflect::ProtobufValue for CardanoMessageDataRequest {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
-// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoMessagePayloadChunk)
+// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoMessageDataResponse)
#[derive(PartialEq,Clone,Default,Debug)]
-pub struct CardanoMessagePayloadChunk {
+pub struct CardanoMessageDataResponse {
// message fields
- // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessagePayloadChunk.data)
+ // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessageDataResponse.data)
pub data: ::std::option::Option<::std::vec::Vec<u8>>,
// special fields
- // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoMessagePayloadChunk.special_fields)
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoMessageDataResponse.special_fields)
pub special_fields: ::protobuf::SpecialFields,
}
-impl<'a> ::std::default::Default for &'a CardanoMessagePayloadChunk {
- fn default() -> &'a CardanoMessagePayloadChunk {
- <CardanoMessagePayloadChunk as ::protobuf::Message>::default_instance()
+impl<'a> ::std::default::Default for &'a CardanoMessageDataResponse {
+ fn default() -> &'a CardanoMessageDataResponse {
+ <CardanoMessageDataResponse as ::protobuf::Message>::default_instance()
}
}
-impl CardanoMessagePayloadChunk {
- pub fn new() -> CardanoMessagePayloadChunk {
+impl CardanoMessageDataResponse {
+ pub fn new() -> CardanoMessageDataResponse {
::std::default::Default::default()
}
@@ -10135,19 +10216,19 @@ impl CardanoMessagePayloadChunk {
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
"data",
- |m: &CardanoMessagePayloadChunk| { &m.data },
- |m: &mut CardanoMessagePayloadChunk| { &mut m.data },
+ |m: &CardanoMessageDataResponse| { &m.data },
+ |m: &mut CardanoMessageDataResponse| { &mut m.data },
));
- ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoMessagePayloadChunk>(
- "CardanoMessagePayloadChunk",
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoMessageDataResponse>(
+ "CardanoMessageDataResponse",
fields,
oneofs,
)
}
}
-impl ::protobuf::Message for CardanoMessagePayloadChunk {
- const NAME: &'static str = "CardanoMessagePayloadChunk";
+impl ::protobuf::Message for CardanoMessageDataResponse {
+ const NAME: &'static str = "CardanoMessageDataResponse";
fn is_initialized(&self) -> bool {
if self.data.is_none() {
@@ -10198,8 +10279,8 @@ impl ::protobuf::Message for CardanoMessagePayloadChunk {
&mut self.special_fields
}
- fn new() -> CardanoMessagePayloadChunk {
- CardanoMessagePayloadChunk::new()
+ fn new() -> CardanoMessageDataResponse {
+ CardanoMessageDataResponse::new()
}
fn clear(&mut self) {
@@ -10207,8 +10288,8 @@ impl ::protobuf::Message for CardanoMessagePayloadChunk {
self.special_fields.clear();
}
- fn default_instance() -> &'static CardanoMessagePayloadChunk {
- static instance: CardanoMessagePayloadChunk = CardanoMessagePayloadChunk {
+ fn default_instance() -> &'static CardanoMessageDataResponse {
+ static instance: CardanoMessageDataResponse = CardanoMessageDataResponse {
data: ::std::option::Option::None,
special_fields: ::protobuf::SpecialFields::new(),
};
@@ -10216,149 +10297,46 @@ impl ::protobuf::Message for CardanoMessagePayloadChunk {
}
}
-impl ::protobuf::MessageFull for CardanoMessagePayloadChunk {
- 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("CardanoMessagePayloadChunk").unwrap()).clone()
- }
-}
-
-impl ::std::fmt::Display for CardanoMessagePayloadChunk {
- fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
- ::protobuf::text_format::fmt(self, f)
- }
-}
-
-impl ::protobuf::reflect::ProtobufValue for CardanoMessagePayloadChunk {
- type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
-}
-
-// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoMessageItemHostAck)
-#[derive(PartialEq,Clone,Default,Debug)]
-pub struct CardanoMessageItemHostAck {
- // special fields
- // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoMessageItemHostAck.special_fields)
- pub special_fields: ::protobuf::SpecialFields,
-}
-
-impl<'a> ::std::default::Default for &'a CardanoMessageItemHostAck {
- fn default() -> &'a CardanoMessageItemHostAck {
- <CardanoMessageItemHostAck as ::protobuf::Message>::default_instance()
- }
-}
-
-impl CardanoMessageItemHostAck {
- pub fn new() -> CardanoMessageItemHostAck {
- ::std::default::Default::default()
- }
-
- fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
- let mut fields = ::std::vec::Vec::with_capacity(0);
- let mut oneofs = ::std::vec::Vec::with_capacity(0);
- ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoMessageItemHostAck>(
- "CardanoMessageItemHostAck",
- fields,
- oneofs,
- )
- }
-}
-
-impl ::protobuf::Message for CardanoMessageItemHostAck {
- const NAME: &'static str = "CardanoMessageItemHostAck";
-
- fn is_initialized(&self) -> bool {
- true
- }
-
- fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
- while let Some(tag) = is.read_raw_tag_or_eof()? {
- match tag {
- 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;
- 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<()> {
- 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() -> CardanoMessageItemHostAck {
- CardanoMessageItemHostAck::new()
- }
-
- fn clear(&mut self) {
- self.special_fields.clear();
- }
-
- fn default_instance() -> &'static CardanoMessageItemHostAck {
- static instance: CardanoMessageItemHostAck = CardanoMessageItemHostAck {
- special_fields: ::protobuf::SpecialFields::new(),
- };
- &instance
- }
-}
-
-impl ::protobuf::MessageFull for CardanoMessageItemHostAck {
+impl ::protobuf::MessageFull for CardanoMessageDataResponse {
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("CardanoMessageItemHostAck").unwrap()).clone()
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("CardanoMessageDataResponse").unwrap()).clone()
}
}
-impl ::std::fmt::Display for CardanoMessageItemHostAck {
+impl ::std::fmt::Display for CardanoMessageDataResponse {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
-impl ::protobuf::reflect::ProtobufValue for CardanoMessageItemHostAck {
+impl ::protobuf::reflect::ProtobufValue for CardanoMessageDataResponse {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
-// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoSignMessageFinished)
+// @@protoc_insertion_point(message:hw.trezor.messages.cardano.CardanoMessageSignature)
#[derive(PartialEq,Clone,Default,Debug)]
-pub struct CardanoSignMessageFinished {
+pub struct CardanoMessageSignature {
// message fields
- // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoSignMessageFinished.signature)
+ // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessageSignature.signature)
pub signature: ::std::option::Option<::std::vec::Vec<u8>>,
- // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoSignMessageFinished.address)
+ // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessageSignature.address)
pub address: ::std::option::Option<::std::vec::Vec<u8>>,
- // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoSignMessageFinished.pub_key)
+ // @@protoc_insertion_point(field:hw.trezor.messages.cardano.CardanoMessageSignature.pub_key)
pub pub_key: ::std::option::Option<::std::vec::Vec<u8>>,
// special fields
- // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoSignMessageFinished.special_fields)
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.cardano.CardanoMessageSignature.special_fields)
pub special_fields: ::protobuf::SpecialFields,
}
-impl<'a> ::std::default::Default for &'a CardanoSignMessageFinished {
- fn default() -> &'a CardanoSignMessageFinished {
- <CardanoSignMessageFinished as ::protobuf::Message>::default_instance()
+impl<'a> ::std::default::Default for &'a CardanoMessageSignature {
+ fn default() -> &'a CardanoMessageSignature {
+ <CardanoMessageSignature as ::protobuf::Message>::default_instance()
}
}
-impl CardanoSignMessageFinished {
- pub fn new() -> CardanoSignMessageFinished {
+impl CardanoMessageSignature {
+ pub fn new() -> CardanoMessageSignature {
::std::default::Default::default()
}
@@ -10475,29 +10453,29 @@ impl CardanoSignMessageFinished {
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
"signature",
- |m: &CardanoSignMessageFinished| { &m.signature },
- |m: &mut CardanoSignMessageFinished| { &mut m.signature },
+ |m: &CardanoMessageSignature| { &m.signature },
+ |m: &mut CardanoMessageSignature| { &mut m.signature },
));
fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
"address",
- |m: &CardanoSignMessageFinished| { &m.address },
- |m: &mut CardanoSignMessageFinished| { &mut m.address },
+ |m: &CardanoMessageSignature| { &m.address },
+ |m: &mut CardanoMessageSignature| { &mut m.address },
));
fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
"pub_key",
- |m: &CardanoSignMessageFinished| { &m.pub_key },
- |m: &mut CardanoSignMessageFinished| { &mut m.pub_key },
+ |m: &CardanoMessageSignature| { &m.pub_key },
+ |m: &mut CardanoMessageSignature| { &mut m.pub_key },
));
- ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoSignMessageFinished>(
- "CardanoSignMessageFinished",
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CardanoMessageSignature>(
+ "CardanoMessageSignature",
fields,
oneofs,
)
}
}
-impl ::protobuf::Message for CardanoSignMessageFinished {
- const NAME: &'static str = "CardanoSignMessageFinished";
+impl ::protobuf::Message for CardanoMessageSignature {
+ const NAME: &'static str = "CardanoMessageSignature";
fn is_initialized(&self) -> bool {
if self.signature.is_none() {
@@ -10572,8 +10550,8 @@ impl ::protobuf::Message for CardanoSignMessageFinished {
&mut self.special_fields
}
- fn new() -> CardanoSignMessageFinished {
- CardanoSignMessageFinished::new()
+ fn new() -> CardanoMessageSignature {
+ CardanoMessageSignature::new()
}
fn clear(&mut self) {
@@ -10583,8 +10561,8 @@ impl ::protobuf::Message for CardanoSignMessageFinished {
self.special_fields.clear();
}
- fn default_instance() -> &'static CardanoSignMessageFinished {
- static instance: CardanoSignMessageFinished = CardanoSignMessageFinished {
+ fn default_instance() -> &'static CardanoMessageSignature {
+ static instance: CardanoMessageSignature = CardanoMessageSignature {
signature: ::std::option::Option::None,
address: ::std::option::Option::None,
pub_key: ::std::option::Option::None,
@@ -10594,20 +10572,20 @@ impl ::protobuf::Message for CardanoSignMessageFinished {
}
}
-impl ::protobuf::MessageFull for CardanoSignMessageFinished {
+impl ::protobuf::MessageFull for CardanoMessageSignature {
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("CardanoSignMessageFinished").unwrap()).clone()
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("CardanoMessageSignature").unwrap()).clone()
}
}
-impl ::std::fmt::Display for CardanoSignMessageFinished {
+impl ::std::fmt::Display for CardanoMessageSignature {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
-impl ::protobuf::reflect::ProtobufValue for CardanoSignMessageFinished {
+impl ::protobuf::reflect::ProtobufValue for CardanoMessageSignature {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
@@ -11664,41 +11642,42 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x12address_parameters\x18\x06\x20\x01(\x0b28.hw.trezor.messages.cardano\
.CardanoAddressParametersTypeR\x11addressParameters\x12Z\n\x0fderivation\
_type\x18\x07\x20\x02(\x0e21.hw.trezor.messages.cardano.CardanoDerivatio\
- nTypeR\x0ederivationType\"\x17\n\x15CardanoMessageItemAck\"0\n\x1aCardan\
- oMessagePayloadChunk\x12\x12\n\x04data\x18\x01\x20\x02(\x0cR\x04data\"\
- \x1b\n\x19CardanoMessageItemHostAck\"m\n\x1aCardanoSignMessageFinished\
- \x12\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\x12\x18\n\x07addr\
- ess\x18\x02\x20\x02(\x0cR\x07address\x12\x17\n\x07pub_key\x18\x03\x20\
- \x02(\x0cR\x06pubKey*B\n\x15CardanoDerivationType\x12\n\n\x06LEDGER\x10\
- \0\x12\n\n\x06ICARUS\x10\x01\x12\x11\n\rICARUS_TREZOR\x10\x02*\xd2\x01\n\
- \x12CardanoAddressType\x12\x08\n\x04BASE\x10\0\x12\x13\n\x0fBASE_SCRIPT_\
- KEY\x10\x01\x12\x13\n\x0fBASE_KEY_SCRIPT\x10\x02\x12\x16\n\x12BASE_SCRIP\
- T_SCRIPT\x10\x03\x12\x0b\n\x07POINTER\x10\x04\x12\x12\n\x0ePOINTER_SCRIP\
- T\x10\x05\x12\x0e\n\nENTERPRISE\x10\x06\x12\x15\n\x11ENTERPRISE_SCRIPT\
- \x10\x07\x12\t\n\x05BYRON\x10\x08\x12\n\n\x06REWARD\x10\x0e\x12\x11\n\rR\
- EWARD_SCRIPT\x10\x0f*o\n\x17CardanoNativeScriptType\x12\x0b\n\x07PUB_KEY\
- \x10\0\x12\x07\n\x03ALL\x10\x01\x12\x07\n\x03ANY\x10\x02\x12\n\n\x06N_OF\
- _K\x10\x03\x12\x12\n\x0eINVALID_BEFORE\x10\x04\x12\x15\n\x11INVALID_HERE\
- AFTER\x10\x05*K\n$CardanoNativeScriptHashDisplayFormat\x12\x08\n\x04HIDE\
- \x10\0\x12\n\n\x06BECH32\x10\x01\x12\r\n\tPOLICY_ID\x10\x02*G\n\"Cardano\
- TxOutputSerializationFormat\x12\x10\n\x0cARRAY_LEGACY\x10\0\x12\x0f\n\
- \x0bMAP_BABBAGE\x10\x01*\xd2\x01\n\x16CardanoCertificateType\x12\x16\n\
- \x12STAKE_REGISTRATION\x10\0\x12\x18\n\x14STAKE_DEREGISTRATION\x10\x01\
- \x12\x14\n\x10STAKE_DELEGATION\x10\x02\x12\x1b\n\x17STAKE_POOL_REGISTRAT\
- ION\x10\x03\x12\x1d\n\x19STAKE_REGISTRATION_CONWAY\x10\x07\x12\x1f\n\x1b\
- STAKE_DEREGISTRATION_CONWAY\x10\x08\x12\x13\n\x0fVOTE_DELEGATION\x10\t*P\
- \n\x0fCardanoDRepType\x12\x0c\n\x08KEY_HASH\x10\0\x12\x0f\n\x0bSCRIPT_HA\
- SH\x10\x01\x12\x0b\n\x07ABSTAIN\x10\x02\x12\x11\n\rNO_CONFIDENCE\x10\x03\
- *X\n\x14CardanoPoolRelayType\x12\x12\n\x0eSINGLE_HOST_IP\x10\0\x12\x14\n\
- \x10SINGLE_HOST_NAME\x10\x01\x12\x16\n\x12MULTIPLE_HOST_NAME\x10\x02*R\n\
- $CardanoTxAuxiliaryDataSupplementType\x12\x08\n\x04NONE\x10\0\x12\x20\n\
- \x1cCVOTE_REGISTRATION_SIGNATURE\x10\x01*6\n\x1eCardanoCVoteRegistration\
- Format\x12\t\n\x05CIP15\x10\0\x12\t\n\x05CIP36\x10\x01*\x82\x01\n\x14Car\
- danoTxSigningMode\x12\x18\n\x14ORDINARY_TRANSACTION\x10\0\x12\x1e\n\x1aP\
- OOL_REGISTRATION_AS_OWNER\x10\x01\x12\x18\n\x14MULTISIG_TRANSACTION\x10\
- \x02\x12\x16\n\x12PLUTUS_TRANSACTION\x10\x03*>\n\x14CardanoTxWitnessType\
- \x12\x11\n\rBYRON_WITNESS\x10\0\x12\x13\n\x0fSHELLEY_WITNESS\x10\x01B;\n\
- #com.satoshilabs.trezor.lib.protobufB\x14TrezorMessageCardano\
+ nTypeR\x0ederivationType\"K\n\x19CardanoMessageDataRequest\x12\x16\n\x06\
+ length\x18\x01\x20\x02(\rR\x06length\x12\x16\n\x06offset\x18\x02\x20\x02\
+ (\rR\x06offset\"0\n\x1aCardanoMessageDataResponse\x12\x12\n\x04data\x18\
+ \x01\x20\x02(\x0cR\x04data\"j\n\x17CardanoMessageSignature\x12\x1c\n\tsi\
+ gnature\x18\x01\x20\x02(\x0cR\tsignature\x12\x18\n\x07address\x18\x02\
+ \x20\x02(\x0cR\x07address\x12\x17\n\x07pub_key\x18\x03\x20\x02(\x0cR\x06\
+ pubKey*B\n\x15CardanoDerivationType\x12\n\n\x06LEDGER\x10\0\x12\n\n\x06I\
+ CARUS\x10\x01\x12\x11\n\rICARUS_TREZOR\x10\x02*\xd2\x01\n\x12CardanoAddr\
+ essType\x12\x08\n\x04BASE\x10\0\x12\x13\n\x0fBASE_SCRIPT_KEY\x10\x01\x12\
+ \x13\n\x0fBASE_KEY_SCRIPT\x10\x02\x12\x16\n\x12BASE_SCRIPT_SCRIPT\x10\
+ \x03\x12\x0b\n\x07POINTER\x10\x04\x12\x12\n\x0ePOINTER_SCRIPT\x10\x05\
+ \x12\x0e\n\nENTERPRISE\x10\x06\x12\x15\n\x11ENTERPRISE_SCRIPT\x10\x07\
+ \x12\t\n\x05BYRON\x10\x08\x12\n\n\x06REWARD\x10\x0e\x12\x11\n\rREWARD_SC\
+ RIPT\x10\x0f*o\n\x17CardanoNativeScriptType\x12\x0b\n\x07PUB_KEY\x10\0\
+ \x12\x07\n\x03ALL\x10\x01\x12\x07\n\x03ANY\x10\x02\x12\n\n\x06N_OF_K\x10\
+ \x03\x12\x12\n\x0eINVALID_BEFORE\x10\x04\x12\x15\n\x11INVALID_HEREAFTER\
+ \x10\x05*K\n$CardanoNativeScriptHashDisplayFormat\x12\x08\n\x04HIDE\x10\
+ \0\x12\n\n\x06BECH32\x10\x01\x12\r\n\tPOLICY_ID\x10\x02*G\n\"CardanoTxOu\
+ tputSerializationFormat\x12\x10\n\x0cARRAY_LEGACY\x10\0\x12\x0f\n\x0bMAP\
+ _BABBAGE\x10\x01*\xd2\x01\n\x16CardanoCertificateType\x12\x16\n\x12STAKE\
+ _REGISTRATION\x10\0\x12\x18\n\x14STAKE_DEREGISTRATION\x10\x01\x12\x14\n\
+ \x10STAKE_DELEGATION\x10\x02\x12\x1b\n\x17STAKE_POOL_REGISTRATION\x10\
+ \x03\x12\x1d\n\x19STAKE_REGISTRATION_CONWAY\x10\x07\x12\x1f\n\x1bSTAKE_D\
+ EREGISTRATION_CONWAY\x10\x08\x12\x13\n\x0fVOTE_DELEGATION\x10\t*P\n\x0fC\
+ ardanoDRepType\x12\x0c\n\x08KEY_HASH\x10\0\x12\x0f\n\x0bSCRIPT_HASH\x10\
+ \x01\x12\x0b\n\x07ABSTAIN\x10\x02\x12\x11\n\rNO_CONFIDENCE\x10\x03*X\n\
+ \x14CardanoPoolRelayType\x12\x12\n\x0eSINGLE_HOST_IP\x10\0\x12\x14\n\x10\
+ SINGLE_HOST_NAME\x10\x01\x12\x16\n\x12MULTIPLE_HOST_NAME\x10\x02*R\n$Car\
+ danoTxAuxiliaryDataSupplementType\x12\x08\n\x04NONE\x10\0\x12\x20\n\x1cC\
+ VOTE_REGISTRATION_SIGNATURE\x10\x01*6\n\x1eCardanoCVoteRegistrationForma\
+ t\x12\t\n\x05CIP15\x10\0\x12\t\n\x05CIP36\x10\x01*\x82\x01\n\x14CardanoT\
+ xSigningMode\x12\x18\n\x14ORDINARY_TRANSACTION\x10\0\x12\x1e\n\x1aPOOL_R\
+ EGISTRATION_AS_OWNER\x10\x01\x12\x18\n\x14MULTISIG_TRANSACTION\x10\x02\
+ \x12\x16\n\x12PLUTUS_TRANSACTION\x10\x03*>\n\x14CardanoTxWitnessType\x12\
+ \x11\n\rBYRON_WITNESS\x10\0\x12\x13\n\x0fSHELLEY_WITNESS\x10\x01B;\n#com\
+ .satoshilabs.trezor.lib.protobufB\x14TrezorMessageCardano\
";
/// `FileDescriptorProto` object which was a source for this generated file
@@ -11718,7 +11697,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
let mut deps = ::std::vec::Vec::with_capacity(2);
deps.push(super::messages_common::file_descriptor().clone());
deps.push(super::options::file_descriptor().clone());
- let mut messages = ::std::vec::Vec::with_capacity(42);
+ let mut messages = ::std::vec::Vec::with_capacity(41);
messages.push(CardanoBlockchainPointerType::generated_message_descriptor_data());
messages.push(CardanoNativeScript::generated_message_descriptor_data());
messages.push(CardanoGetNativeScriptHash::generated_message_descriptor_data());
@@ -11757,10 +11736,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
messages.push(CardanoTxBodyHash::generated_message_descriptor_data());
messages.push(CardanoSignTxFinished::generated_message_descriptor_data());
messages.push(CardanoSignMessageInit::generated_message_descriptor_data());
- messages.push(CardanoMessageItemAck::generated_message_descriptor_data());
- messages.push(CardanoMessagePayloadChunk::generated_message_descriptor_data());
- messages.push(CardanoMessageItemHostAck::generated_message_descriptor_data());
- messages.push(CardanoSignMessageFinished::generated_message_descriptor_data());
+ messages.push(CardanoMessageDataRequest::generated_message_descriptor_data());
+ messages.push(CardanoMessageDataResponse::generated_message_descriptor_data());
+ messages.push(CardanoMessageSignature::generated_message_descriptor_data());
let mut enums = ::std::vec::Vec::with_capacity(12);
enums.push(CardanoDerivationType::generated_enum_descriptor_data());
enums.push(CardanoAddressType::generated_enum_descriptor_data());
diff --git a/tests/device_tests/cardano/test_sign_message.py b/tests/device_tests/cardano/test_sign_message.py
index 34a711b3..fd595231 100644
--- a/tests/device_tests/cardano/test_sign_message.py
+++ b/tests/device_tests/cardano/test_sign_message.py
@@ -28,7 +28,7 @@ def test_cardano_sign_message_failed(session: Session, parameters, result):
def call_sign_message(
session: Session,
parameters,
-) -> messages.CardanoSignMessageFinished:
+) -> messages.CardanoMessageSignature:
with session.client:
return cardano.sign_message(
session=session,
@@ -43,8 +43,8 @@ def call_sign_message(
)
-def _transform_expected_result(result: dict) -> messages.CardanoSignMessageFinished:
- return messages.CardanoSignMessageFinished(
+def _transform_expected_result(result: dict) -> messages.CardanoMessageSignature:
+ return messages.CardanoMessageSignature(
signature=bytes.fromhex(result["signature"]),
address=bytes.fromhex(result["address"]),
pub_key=bytes.fromhex(result["pub_key"]),
Why this scored 29/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.