From f36b4751095a3027999576920fef949bc45fe527 Mon Sep 17 00:00:00 2001 From: Tomas Susanka Date: Fri, 26 Jan 2018 14:28:49 +0100 Subject: [PATCH] mocks: regenerated using the ./build_mocks script --- mocks/generated/trezorconfig.py | 30 ++- mocks/generated/trezorcrypto.py | 404 +++++++++++++++++--------------- mocks/generated/trezorio.py | 168 ++++++++++++- mocks/generated/trezormsg.py | 83 ------- mocks/generated/trezorui.py | 15 +- mocks/generated/trezorutils.py | 9 + 6 files changed, 423 insertions(+), 286 deletions(-) delete mode 100644 mocks/generated/trezormsg.py diff --git a/mocks/generated/trezorconfig.py b/mocks/generated/trezorconfig.py index 0881917d..ab1462b9 100644 --- a/mocks/generated/trezorconfig.py +++ b/mocks/generated/trezorconfig.py @@ -1,25 +1,45 @@ from typing import * # extmod/modtrezorconfig/modtrezorconfig.c -def init(self) -> None: +def init() -> None: ''' - Initializes the storage. Must be called before any other method is called from this module! + Initializes the storage. Must be called before any other method is + called from this module! ''' # extmod/modtrezorconfig/modtrezorconfig.c -def get(app: int, key: int) -> bytes: +def unlock(pin: int, waitcallback: (int, int -> None)) -> bool: + ''' + Attempts to unlock the storage with given PIN. Returns True on + success, False on failure. + ''' + +# extmod/modtrezorconfig/modtrezorconfig.c +def has_pin() -> bool: + ''' + Returns True if storage has a configured PIN, False otherwise. + ''' + +# extmod/modtrezorconfig/modtrezorconfig.c +def change_pin(pin: int, newpin: int, waitcallback: (int, int -> None)) -> bool: + ''' + Change PIN. Returns True on success, False on failure. + ''' + +# extmod/modtrezorconfig/modtrezorconfig.c +def get(app: int, key: int, public: bool=False) -> bytes: ''' Gets a value of given key for given app (or empty bytes if not set). ''' # extmod/modtrezorconfig/modtrezorconfig.c -def set(app: int, key: int, value: bytes) -> None: +def set(app: int, key: int, value: bytes, public: bool=False) -> None: ''' Sets a value of given key for given app. ''' # extmod/modtrezorconfig/modtrezorconfig.c -def wipe(self) -> None: +def wipe() -> None: ''' Erases the whole config. Use with caution! ''' diff --git a/mocks/generated/trezorcrypto.py b/mocks/generated/trezorcrypto.py index 1102ab7c..af87455a 100644 --- a/mocks/generated/trezorcrypto.py +++ b/mocks/generated/trezorcrypto.py @@ -22,7 +22,18 @@ class HDNode: BIP0032 HD node structure. ''' - def derive(self, index: int) -> None: + def __init__(self, + depth: int, + fingerprint: int, + child_num: int, + chain_code: bytes, + private_key: bytes = None, + public_key: bytes = None, + curve_name: str = None) -> None: + ''' + ''' + + def derive(self, index: int, public: bool=False) -> None: ''' Derive a BIP0032 child node in place. ''' @@ -82,13 +93,9 @@ class HDNode: Compute a base58-encoded address string from the HD node. ''' -# extmod/modtrezorcrypto/modtrezorcrypto-bip32.h -class Bip32: - ''' - ''' - - def __init__(self): + def ethereum_pubkeyhash(self) -> bytes: ''' + Compute an Ethereum pubkeyhash (aka address) from the HD node. ''' def deserialize(self, value: str, version_public: int, version_private: int) -> HDNode: @@ -96,49 +103,67 @@ class Bip32: Construct a BIP0032 HD node from a base58-serialized value. ''' - def from_seed(self, seed: bytes, curve_name: str) -> HDNode: + def from_seed(seed: bytes, curve_name: str) -> HDNode: ''' Construct a BIP0032 HD node from a BIP0039 seed value. ''' # extmod/modtrezorcrypto/modtrezorcrypto-bip39.h -class Bip39: +def find_word(prefix: str) -> Optional[str]: ''' + Return the first word from the wordlist starting with prefix. ''' - def __init__(self): +# extmod/modtrezorcrypto/modtrezorcrypto-bip39.h +def complete_word(prefix: str) -> int: + ''' + Return possible 1-letter suffixes for given word prefix. + Result is a bitmask, with 'a' on the lowest bit, 'b' on the second lowest, etc. + ''' + +# extmod/modtrezorcrypto/modtrezorcrypto-bip39.h +def generate(strength: int) -> str: + ''' + Generate a mnemonic of given strength (128, 160, 192, 224 and 256 bits). + ''' + +# extmod/modtrezorcrypto/modtrezorcrypto-bip39.h +def from_data(data: bytes) -> str: + ''' + Generate a mnemonic from given data (of 16, 20, 24, 28 and 32 bytes). + ''' + +# extmod/modtrezorcrypto/modtrezorcrypto-bip39.h +def check(mnemonic: str) -> bool: + ''' + Check whether given mnemonic is valid. + ''' + +# extmod/modtrezorcrypto/modtrezorcrypto-bip39.h +def seed(mnemonic: str, passphrase: str) -> bytes: + ''' + Generate seed from mnemonic and passphrase. + ''' + +# extmod/modtrezorcrypto/modtrezorcrypto-blake256.h +class Blake256: + ''' + Blake256 context. + ''' + + def __init__(self, data: bytes = None) -> None: ''' + Creates a hash context object. ''' - def find_word(self, prefix: str) -> Optional[str]: + def update(self, data: bytes) -> None: ''' - Return the first word from the wordlist starting with prefix. + Update the hash context with hashed data. ''' - def complete_word(self, prefix: str) -> int: + def digest(self) -> bytes: ''' - Return possible 1-letter suffixes for given word prefix. - Result is a bitmask, with 'a' on the lowest bit, 'b' on the second lowest, etc. - ''' - - def generate(self, strength: int) -> str: - ''' - Generate a mnemonic of given strength (128, 160, 192, 224 and 256 bits). - ''' - - def from_data(self, data: bytes) -> str: - ''' - Generate a mnemonic from given data (of 16, 20, 24, 28 and 32 bytes). - ''' - - def check(self, mnemonic: str) -> bool: - ''' - Check whether given mnemonic is valid. - ''' - - def seed(self, mnemonic: str, passphrase: str) -> bytes: - ''' - Generate seed from mnemonic and passphrase. + Returns the digest of hashed data. ''' # extmod/modtrezorcrypto/modtrezorcrypto-blake2b.h @@ -183,117 +208,140 @@ class Blake2s: Returns the digest of hashed data. ''' +# extmod/modtrezorcrypto/modtrezorcrypto-chacha20poly1305.h +class ChaCha20Poly1305: + ''' + ChaCha20Poly1305 context. + ''' + + def __init__(self, key: bytes, nonce: bytes) -> None: + ''' + Initialize the ChaCha20 + Poly1305 context for encryption or decryption + using a 32 byte key and 12 byte nonce as in the RFC 7539 style. + ''' + + def encrypt(self, data: bytes) -> bytes: + ''' + Encrypt data (length of data must be divisible by 64 except for the final value). + ''' + + def decrypt(self, data: bytes) -> bytes: + ''' + Decrypt data (length of data must be divisible by 64 except for the final value). + ''' + + def auth(self, data: bytes) -> None: + ''' + Include authenticated data in the Poly1305 MAC using the RFC 7539 + style with 16 byte padding. This must only be called once and prior + to encryption or decryption. + ''' + + def finish(self) -> bytes: + ''' + Compute RFC 7539-style Poly1305 MAC. + ''' + # extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h -class Curve25519: +def generate_secret() -> bytes: ''' + Generate secret key. ''' - def __init__(self) -> None: - ''' - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h +def publickey(secret_key: bytes) -> bytes: + ''' + Computes public key from secret key. + ''' - def generate_secret(self) -> bytes: - ''' - Generate secret key. - ''' - - def publickey(self, secret_key: bytes) -> bytes: - ''' - Computes public key from secret key. - ''' - - def multiply(self, secret_key: bytes, public_key: bytes) -> bytes: - ''' - Multiplies point defined by public_key with scalar defined by secret_key. - Useful for ECDH. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h +def multiply(secret_key: bytes, public_key: bytes) -> bytes: + ''' + Multiplies point defined by public_key with scalar defined by secret_key. + Useful for ECDH. + ''' # extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h -class Ed25519: +def generate_secret() -> bytes: ''' + Generate secret key. ''' - def __init__(self) -> None: - ''' - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h +def publickey(secret_key: bytes) -> bytes: + ''' + Computes public key from secret key. + ''' - def generate_secret(self) -> bytes: - ''' - Generate secret key. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h +def sign(secret_key: bytes, message: bytes) -> bytes: + ''' + Uses secret key to produce the signature of message. + ''' - def publickey(self, secret_key: bytes) -> bytes: - ''' - Computes public key from secret key. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h +def verify(public_key: bytes, signature: bytes, message: bytes) -> bool: + ''' + Uses public key to verify the signature of the message. + Returns True on success. + ''' - def sign(self, secret_key: bytes, message: bytes) -> bytes: - ''' - Uses secret key to produce the signature of message. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h +def cosi_combine_publickeys(public_keys: List[bytes]) -> bytes: + ''' + Combines a list of public keys used in COSI cosigning scheme. + ''' - def verify(self, public_key: bytes, signature: bytes, message: bytes) -> bool: - ''' - Uses public key to verify the signature of the message. - Returns True on success. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h +def cosi_combine_signatures(R: bytes, signatures: List[bytes]) -> bytes: + ''' + Combines a list of signatures used in COSI cosigning scheme. + ''' - def cosi_combine_publickeys(self, public_keys: List[bytes]) -> bytes: - ''' - Combines a list of public keys used in COSI cosigning scheme. - ''' - - def cosi_combine_signatures(self, R: bytes, signatures: List[bytes]) -> bytes: - ''' - Combines a list of signatures used in COSI cosigning scheme. - ''' - - def cosi_sign(self, secret_key: bytes, message: bytes, nonce: bytes, sigR: bytes, combined_pubkey: bytes) -> bytes: - ''' - Produce signature of message using COSI cosigning scheme. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h +def cosi_sign(secret_key: bytes, message: bytes, nonce: bytes, sigR: bytes, combined_pubkey: bytes) -> bytes: + ''' + Produce signature of message using COSI cosigning scheme. + ''' # extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h -class Nist256p1: +def generate_secret() -> bytes: ''' + Generate secret key. ''' - def __init__(self) -> None: - ''' - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h +def publickey(secret_key: bytes, compressed: bool = True) -> bytes: + ''' + Computes public key from secret key. + ''' - def generate_secret(self) -> bytes: - ''' - Generate secret key. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h +def sign(secret_key: bytes, digest: bytes, compressed: bool = True) -> bytes: + ''' + Uses secret key to produce the signature of the digest. + ''' - def publickey(self, secret_key: bytes, compressed: bool = True) -> bytes: - ''' - Computes public key from secret key. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h +def verify(public_key: bytes, signature: bytes, digest: bytes) -> bool: + ''' + Uses public key to verify the signature of the digest. + Returns True on success. + ''' - def sign(self, secret_key: bytes, digest: bytes, compressed: bool = True) -> bytes: - ''' - Uses secret key to produce the signature of the digest. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h +def verify_recover(signature: bytes, digest: bytes) -> bytes: + ''' + Uses signature of the digest to verify the digest and recover the public key. + Returns public key on success, None on failure. + ''' - def verify(self, public_key: bytes, signature: bytes, digest: bytes) -> bool: - ''' - Uses public key to verify the signature of the digest. - Returns True on success. - ''' - - def verify_recover(self, signature: bytes, digest: bytes) -> bytes: - ''' - Uses signature of the digest to verify the digest and recover the public key. - Returns public key on success, None on failure. - ''' - - def multiply(self, secret_key: bytes, public_key: bytes) -> bytes: - ''' - Multiplies point defined by public_key with scalar defined by secret_key - Useful for ECDH - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h +def multiply(secret_key: bytes, public_key: bytes) -> bytes: + ''' + Multiplies point defined by public_key with scalar defined by secret_key. + Useful for ECDH. + ''' # extmod/modtrezorcrypto/modtrezorcrypto-pbkdf2.h class Pbkdf2: @@ -317,28 +365,22 @@ class Pbkdf2: ''' # extmod/modtrezorcrypto/modtrezorcrypto-random.h -class Random: +def uniform(n: int) -> int: ''' + Compute uniform random number from interval 0 ... n - 1. ''' - def __init__(self) -> None: - ''' - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-random.h +def bytes(len: int) -> bytes: + ''' + Generate random bytes sequence of length len. + ''' - def uniform(self, n: int) -> int: - ''' - Compute uniform random number from interval 0 ... n - 1 - ''' - - def bytes(self, len: int) -> bytes: - ''' - Generate random bytes sequence of length len - ''' - - def shuffle(self, data: list) -> None: - ''' - Shuffles items of given list (in-place) - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-random.h +def shuffle(data: list) -> None: + ''' + Shuffles items of given list (in-place). + ''' # extmod/modtrezorcrypto/modtrezorcrypto-rfc6979.h class Rfc6979: @@ -378,46 +420,43 @@ class Ripemd160: ''' # extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h -class Secp256k1: +def generate_secret() -> bytes: ''' + Generate secret key. ''' - def __init__(self) -> None: - ''' - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h +def publickey(secret_key: bytes, compressed: bool = True) -> bytes: + ''' + Computes public key from secret key. + ''' - def generate_secret(self, ) -> bytes: - ''' - Generate secret key. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h +def sign(secret_key: bytes, digest: bytes, compressed: bool = True) -> bytes: + ''' + Uses secret key to produce the signature of the digest. + ''' - def publickey(self, secret_key: bytes, compressed: bool = True) -> bytes: - ''' - Computes public key from secret key. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h +def verify(public_key: bytes, signature: bytes, digest: bytes) -> bool: + ''' + Uses public key to verify the signature of the digest. + Returns True on success. + ''' - def sign(self, secret_key: bytes, digest: bytes, compressed: bool = True) -> bytes: - ''' - Uses secret key to produce the signature of the digest. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h +def verify_recover(signature: bytes, digest: bytes) -> bytes: + ''' + Uses signature of the digest to verify the digest and recover the public key. + Returns public key on success, None on failure. + ''' - def verify(self, public_key: bytes, signature: bytes, digest: bytes) -> bool: - ''' - Uses public key to verify the signature of the digest. - Returns True on success. - ''' - - def verify_recover(self, signature: bytes, digest: bytes) -> bytes: - ''' - Uses signature of the digest to verify the digest and recover the public key. - Returns public key on success, None on failure. - ''' - - def multiply(self, secret_key: bytes, public_key: bytes) -> bytes: - ''' - Multiplies point defined by public_key with scalar defined by secret_key. - Useful for ECDH. - ''' +# extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h +def multiply(secret_key: bytes, public_key: bytes) -> bytes: + ''' + Multiplies point defined by public_key with scalar defined by secret_key. + Useful for ECDH. + ''' # extmod/modtrezorcrypto/modtrezorcrypto-sha1.h class Sha1: @@ -523,22 +562,3 @@ class Sha512: ''' Returns the digest of hashed data. ''' - -# extmod/modtrezorcrypto/modtrezorcrypto-ssss.h -class SSSS: - ''' - ''' - - def __init__(self) -> None: - ''' - ''' - - def split(self, m: int, n: int, secret: bytes) -> tuple: - ''' - Split secret to (M of N) shares using Shamir's Secret Sharing Scheme. - ''' - - def combine(self, shares: tuple) -> bytes: - ''' - Combine M shares of Shamir's Secret Sharing Scheme into secret. - ''' diff --git a/mocks/generated/trezorio.py b/mocks/generated/trezorio.py index a79f2d10..0c79c832 100644 --- a/mocks/generated/trezorio.py +++ b/mocks/generated/trezorio.py @@ -1,5 +1,87 @@ from typing import * +# extmod/modtrezorio/modtrezorio-flash.h +class FlashOTP: + ''' + ''' + + def __init__(self) -> None: + ''' + ''' + + def FlashOTP.write(self, block: int, offset: int, data: bytes) -> None: + ''' + Writes data to OTP flash + ''' + + def FlashOTP.read(self, block: int, offset: int, data: bytearray) -> None: + ''' + Reads data from OTP flash + ''' + + def FlashOTP.lock(self, block: int) -> None: + ''' + Lock OTP flash block + ''' + + def FlashOTP.is_locked(self, block: int) -> bool: + ''' + Is OTP flash block locked? + ''' + +# extmod/modtrezorio/modtrezorio-hid.h +class HID: + ''' + USB HID interface configuration. + ''' + + def __init__(self, + iface_num: int, + ep_in: int, + ep_out: int, + report_desc: bytes, + subclass: int = 0, + protocol: int = 0, + polling_interval: int = 1, + max_packet_len: int = 64) -> None: + ''' + ''' + + def iface_num(self) -> int: + ''' + Returns the configured number of this interface. + ''' + + def write(self, msg: bytes) -> int: + ''' + Sends message using USB HID (device) or UDP (emulator). + ''' + +# extmod/modtrezorio/modtrezorio-poll.h +def poll(ifaces: Iterable[int], list_ref: List, timeout_us: int) -> bool: + ''' + Wait until one of `ifaces` is ready to read or write (using masks + `list_ref`: + `list_ref[0]` - the interface number, including the mask + `list_ref[1]` - for touch event, tuple of (event_type, x_position, y_position) + - for USB read event, received bytes + If timeout occurs, False is returned, True otherwise. + ''' + +# extmod/modtrezorio/modtrezorio-sbu.h +class SBU: + ''' + ''' + + def __init__(self) -> None: + ''' + ''' + + def set(self, sbu1: bool, sbu2: bool) -> None: + ''' + Sets SBU wires to sbu1 and sbu2 values respectively + ''' + # extmod/modtrezorio/modtrezorio-sdcard.h class SDCard: ''' @@ -27,12 +109,94 @@ class SDCard: def read(self, block_num: int, buf: bytearray) -> bool: ''' - Reads block_num block from the SD card into buf. + Reads blocks starting with block_num from the SD card into buf. + Number of bytes read is length of buf rounded down to multiply of SDCARD_BLOCK_SIZE. Returns True if in case of success, False otherwise. ''' def write(self, block_num: int, buf: bytes) -> bool: ''' - Writes block_num block from buf to the SD card. + Writes blocks starting with block_num from buf to the SD card. + Number of bytes written is length of buf rounded down to multiply of SDCARD_BLOCK_SIZE. Returns True if in case of success, False otherwise. ''' + +# extmod/modtrezorio/modtrezorio-usb.h +class USB: + ''' + USB device configuration. + ''' + + def __init__(self, + vendor_id: int, + product_id: int, + release_num: int, + manufacturer: str='', + product: str='', + serial_number: str='', + configuration: str='', + interface: str='') -> None: + ''' + ''' + + def add(self, iface: Union[HID, VCP, WebUSB]) -> None: + ''' + Registers passed interface into the USB stack. + ''' + + def open(self) -> None: + ''' + Initializes the USB stack. + ''' + + def close(self) -> None: + ''' + Cleans up the USB stack. + ''' + +# extmod/modtrezorio/modtrezorio-vcp.h +class VCP: + ''' + USB VCP interface configuration. + ''' + + def __init__(self, + iface_num: int, + data_iface_num: int, + ep_in: int, + ep_out: int, + ep_cmd: int) -> None: + ''' + ''' + + def iface_num(self) -> int: + ''' + Returns the configured number of this interface. + ''' + +# extmod/modtrezorio/modtrezorio-webusb.h +class WebUSB: + ''' + USB WebUSB interface configuration. + ''' + + def __init__(self, + iface_num: int, + ep_in: int, + ep_out: int, + subclass: int = 0, + protocol: int = 0, + polling_interval: int = 1, + max_packet_len: int = 64) -> None: + ''' + ''' + + def iface_num(self) -> int: + ''' + Returns the configured number of this interface. + ''' + + def write(self, msg: bytes) -> int: + ''' + Sends message using USB WebUSB (device) or UDP (emulator). + ''' diff --git a/mocks/generated/trezormsg.py b/mocks/generated/trezormsg.py deleted file mode 100644 index ff54ab9b..00000000 --- a/mocks/generated/trezormsg.py +++ /dev/null @@ -1,83 +0,0 @@ -from typing import * - -# extmod/modtrezormsg/modtrezormsg.c -class HID: - ''' - USB HID interface configuration. - ''' - - def __init__(self, - iface_num: int, - ep_in: int, - ep_out: int, - report_desc: bytes, - subclass: int = 0, - protocol: int = 0, - polling_interval: int = 1, - max_packet_len: int = 64) -> None: - ''' - ''' - -# extmod/modtrezormsg/modtrezormsg.c -class VCP: - ''' - USB VCP interface configuration. - ''' - - def __init__(self, - iface_num: int, - data_iface_num: int, - ep_in: int, - ep_out: int, - ep_cmd: int) -> None: - ''' - ''' - -# extmod/modtrezormsg/modtrezormsg.c -class USB: - ''' - USB device configuration. - ''' - - def __init__(self, - vendor_id: int, - product_id: int, - release_num: int, - manufacturer_str: str, - product_str: str, - serial_number_str: str, - configuration_str: str = '', - interface_str: str = '') -> None: - ''' - ''' - -# extmod/modtrezormsg/modtrezormsg.c -class Msg: - ''' - Interface with USB and touch events. - ''' - - def __init__(self) -> None: - ''' - ''' - - def init_usb(self, usb_info: USB, usb_ifaces: List[Union[HID, VCP]]) -> None: - ''' - Registers passed interfaces and initializes the USB stack. - ''' - - def deinit_usb(self) -> None: - ''' - Cleans up the USB stack - ''' - - def send(self, iface: int, message: bytes) -> int: - ''' - Sends message using USB HID (device) or UDP (emulator). - ''' - - def select(self, timeout_us: int) -> tuple: - ''' - Polls the event queue and returns the event object. - Function returns None if timeout specified in microseconds is reached. - ''' diff --git a/mocks/generated/trezorui.py b/mocks/generated/trezorui.py index e014cf7c..acec4149 100644 --- a/mocks/generated/trezorui.py +++ b/mocks/generated/trezorui.py @@ -38,10 +38,17 @@ class Display: The image needs to be in TREZOR Optimized Image Format (TOIF) - full-color mode. ''' + def avatar(self, x: int, y: int, image: bytes, fgcolor: int, bgcolor: int) -> None: + ''' + Renders an avatar at position (x,y). + The image needs to be in TREZOR Optimized Image Format (TOIF) - full-color mode. + Image needs to be of exactly AVATAR_IMAGE_SIZE x AVATAR_IMAGE_SIZE pixels size. + ''' + def icon(self, x: int, y: int, icon: bytes, fgcolor: int, bgcolor: int) -> None: ''' Renders an icon at position (x,y), fgcolor is used as foreground color, bgcolor as background. - The image needs to be in TREZOR Optimized Image Format (TOIF) - gray-scale mode. + The icon needs to be in TREZOR Optimized Image Format (TOIF) - gray-scale mode. ''' def print(self, text: str) -> None: @@ -49,19 +56,19 @@ class Display: Renders text using 5x8 bitmap font (using special text mode). ''' - def text(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int) -> None: + def text(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> None: ''' Renders left-aligned text at position (x,y) where x is left position and y is baseline. Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background. ''' - def text_center(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int) -> None: + def text_center(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> None: ''' Renders text centered at position (x,y) where x is text center and y is baseline. Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background. ''' - def text_right(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int) -> None: + def text_right(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> None: ''' Renders right-aligned text at position (x,y) where x is right position and y is baseline. Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background. diff --git a/mocks/generated/trezorutils.py b/mocks/generated/trezorutils.py index 2e09f539..fefe5d3f 100644 --- a/mocks/generated/trezorutils.py +++ b/mocks/generated/trezorutils.py @@ -1,5 +1,14 @@ from typing import * +# 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. + ''' + # extmod/modtrezorutils/modtrezorutils.c def memcpy(dst: bytearray, dst_ofs: int, src: bytearray, src_ofs: int,