2017-06-14 17:27:02 +00:00
|
|
|
from typing import *
|
2017-06-14 15:41:45 +00:00
|
|
|
|
2018-01-26 13:28:49 +00:00
|
|
|
# extmod/modtrezorutils/modtrezorutils.c
|
|
|
|
def consteq(sec: bytes, pub: bytes) -> bool:
|
|
|
|
'''
|
|
|
|
Compares the private information in `sec` with public, user-provided
|
|
|
|
information in `pub`. Runs in constant time, corresponding to a length
|
|
|
|
of `pub`. Can access memory behind valid length of `sec`, caller is
|
|
|
|
expected to avoid any invalid memory access.
|
|
|
|
'''
|
|
|
|
|
2017-06-14 15:41:45 +00:00
|
|
|
# extmod/modtrezorutils/modtrezorutils.c
|
|
|
|
def memcpy(dst: bytearray, dst_ofs: int,
|
|
|
|
src: bytearray, src_ofs: int,
|
|
|
|
n: int) -> int:
|
|
|
|
'''
|
|
|
|
Copies at most `n` bytes from `src` at offset `src_ofs` to
|
|
|
|
`dst` at offset `dst_ofs`. Returns the number of actually
|
|
|
|
copied bytes.
|
|
|
|
'''
|
|
|
|
|
|
|
|
# extmod/modtrezorutils/modtrezorutils.c
|
|
|
|
def halt(msg: str = None) -> None:
|
|
|
|
'''
|
|
|
|
Halts execution.
|
|
|
|
'''
|
2018-03-09 10:37:06 +00:00
|
|
|
|
|
|
|
# extmod/modtrezorutils/modtrezorutils.c
|
|
|
|
def set_mode_unprivileged() -> None:
|
|
|
|
'''
|
|
|
|
Set unprivileged mode.
|
|
|
|
'''
|