mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-02 12:38:43 +00:00
30 lines
736 B
Python
30 lines
736 B
Python
from trezor.messages import NEMTransactionCommon
|
|
|
|
from apps.common.writers import write_bytes_unchecked, write_uint32_le, write_uint64_le
|
|
|
|
|
|
def serialize_tx_common(
|
|
common: NEMTransactionCommon,
|
|
public_key: bytearray,
|
|
transaction_type: int,
|
|
version: int = None,
|
|
) -> bytearray:
|
|
w = bytearray()
|
|
|
|
write_uint32_le(w, transaction_type)
|
|
if version is None:
|
|
version = common.network << 24 | 1
|
|
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)
|
|
|
|
return w
|
|
|
|
|
|
def write_bytes_with_len(w, buf: bytes):
|
|
write_uint32_le(w, len(buf))
|
|
write_bytes_unchecked(w, buf)
|