mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-12 01:28:10 +00:00
28 lines
608 B
Python
28 lines
608 B
Python
from trezor.utils import BufferReader
|
|
|
|
from apps.common.readers import read_compact_size
|
|
|
|
|
|
def read_memoryview_prefixed(r: BufferReader) -> memoryview:
|
|
n = read_compact_size(r)
|
|
return r.read_memoryview(n)
|
|
|
|
|
|
def read_op_push(r: BufferReader) -> int:
|
|
prefix = r.get()
|
|
if prefix < 0x4C:
|
|
n = prefix
|
|
elif prefix == 0x4C:
|
|
n = r.get()
|
|
elif prefix == 0x4D:
|
|
n = r.get()
|
|
n += r.get() << 8
|
|
elif prefix == 0x4E:
|
|
n = r.get()
|
|
n += r.get() << 8
|
|
n += r.get() << 16
|
|
n += r.get() << 24
|
|
else:
|
|
raise ValueError
|
|
return n
|