1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-12 10:39:00 +00:00
trezor-firmware/core/src/apps/nem/writers.py

30 lines
757 B
Python
Raw Normal View History

from trezor.messages.NEMTransactionCommon import NEMTransactionCommon
from apps.common.writers import write_bytes_unchecked, write_uint32_le, write_uint64_le
2018-08-23 12:39:30 +00:00
def serialize_tx_common(
2018-07-03 14:20:58 +00:00
common: NEMTransactionCommon,
public_key: bytearray,
transaction_type: int,
version: int = None,
) -> bytearray:
2018-08-23 12:39:30 +00:00
w = bytearray()
2018-08-23 12:39:30 +00:00
write_uint32_le(w, transaction_type)
if version is None:
version = common.network << 24 | 1
2018-08-23 12:39:30 +00:00
write_uint32_le(w, version)
write_uint32_le(w, common.timestamp)
write_bytes_with_len(w, public_key)
write_uint64_le(w, common.fee)
write_uint32_le(w, common.deadline)
2018-08-23 12:39:30 +00:00
return w
2018-08-23 12:39:30 +00:00
def write_bytes_with_len(w, buf: bytes):
write_uint32_le(w, len(buf))
write_bytes_unchecked(w, buf)