mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-10 23:40:58 +00:00
28 lines
672 B
Python
28 lines
672 B
Python
from typing import TYPE_CHECKING
|
|
|
|
import trezorproto
|
|
|
|
decode = trezorproto.decode
|
|
encode = trezorproto.encode
|
|
encoded_length = trezorproto.encoded_length
|
|
type_for_name = trezorproto.type_for_name
|
|
type_for_wire = trezorproto.type_for_wire
|
|
|
|
if TYPE_CHECKING:
|
|
MessageType = trezorproto.MessageType
|
|
|
|
|
|
def load_message_buffer(
|
|
buffer: bytes,
|
|
msg_wire_type: int,
|
|
experimental_enabled: bool = True,
|
|
) -> MessageType:
|
|
msg_type = type_for_wire(msg_wire_type)
|
|
return decode(buffer, msg_type, experimental_enabled)
|
|
|
|
|
|
def dump_message_buffer(msg: MessageType) -> bytearray:
|
|
buffer = bytearray(encoded_length(msg))
|
|
encode(buffer, msg)
|
|
return buffer
|