use mp_raise_ValueError and mp_raise_TypeError functions

pull/25/head
Pavol Rusnak 8 years ago
parent 9613b0048f
commit 4023b83feb
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -39,18 +39,18 @@ STATIC mp_obj_t mod_TrezorCrypto_AES_make_new(const mp_obj_type_t *type, size_t
o->base.type = type;
o->mode = mp_obj_get_int(args[0]);
if ((o->mode & AESModeMask) > 0x04) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid AES mode"));
mp_raise_ValueError("Invalid AES mode");
}
mp_buffer_info_t key;
mp_get_buffer_raise(args[1], &key, MP_BUFFER_READ);
if (key.len != 16 && key.len != 24 && key.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of key (has to be 128, 192 or 256 bits)"));
mp_raise_ValueError("Invalid length of key (has to be 128, 192 or 256 bits)");
}
if (n_args > 2) {
mp_buffer_info_t iv;
mp_get_buffer_raise(args[2], &iv, MP_BUFFER_READ);
if (iv.len != AES_BLOCK_SIZE) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of initialization vector (has to be 128 bits)"));
mp_raise_ValueError("Invalid length of initialization vector (has to be 128 bits)");
}
memcpy(o->iv, iv.buf, AES_BLOCK_SIZE);
} else {
@ -99,7 +99,7 @@ STATIC mp_obj_t mod_TrezorCrypto_AES_update(mp_obj_t self, mp_obj_t data) {
switch (o->mode & AESModeMask) {
case ECB:
if (buf.len & (AES_BLOCK_SIZE - 1)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid data length"));
mp_raise_ValueError("Invalid data length");
}
if ((o->mode & AESDirMask) == Encrypt) {
aes_ecb_encrypt(buf.buf, (unsigned char *)vstr.buf, buf.len, &(o->ctx.encrypt_ctx));
@ -109,7 +109,7 @@ STATIC mp_obj_t mod_TrezorCrypto_AES_update(mp_obj_t self, mp_obj_t data) {
break;
case CBC:
if (buf.len & (AES_BLOCK_SIZE - 1)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid data length"));
mp_raise_ValueError("Invalid data length");
}
if ((o->mode & AESDirMask) == Encrypt) {
aes_cbc_encrypt(buf.buf, (unsigned char *)vstr.buf, buf.len, o->iv, &(o->ctx.encrypt_ctx));

@ -26,7 +26,7 @@ STATIC mp_obj_t mod_TrezorCrypto_HDNode_derive(mp_obj_t self, mp_obj_t index) {
if (!hdnode_private_ckd(&o->hdnode, i)) {
memset(&o->hdnode, 0, sizeof(o->hdnode));
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Failed to derive"));
mp_raise_ValueError("Failed to derive");
}
o->fingerprint = fp;
@ -50,7 +50,7 @@ STATIC mp_obj_t mod_TrezorCrypto_HDNode_derive_path(mp_obj_t self, mp_obj_t path
// some value from the path is not integer, reset the state and raise
o->fingerprint = 0;
memset(&o->hdnode, 0, sizeof(o->hdnode));
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "Index has to be int"));
mp_raise_TypeError("Index has to be int");
}
uint32_t i = mp_obj_get_int_truncated(iobj);
@ -62,7 +62,7 @@ STATIC mp_obj_t mod_TrezorCrypto_HDNode_derive_path(mp_obj_t self, mp_obj_t path
// derivation failed, reset the state and raise
o->fingerprint = 0;
memset(&o->hdnode, 0, sizeof(o->hdnode));
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Failed to derive path"));
mp_raise_ValueError("Failed to derive path");
}
}
@ -78,7 +78,7 @@ STATIC mp_obj_t serialize_public_private(mp_obj_t self, mp_obj_t version, bool u
hdnode_fill_public_key(&o->hdnode);
int written = hdnode_serialize(&o->hdnode, o->fingerprint, ver, use_public, vstr.buf, vstr.alloc);
if (written <= 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Failed to serialize"));
mp_raise_ValueError("Failed to serialize");
}
vstr.len = written - 1; // written includes 0 at the end
return mp_obj_new_str_from_vstr(&mp_type_str, &vstr);
@ -203,16 +203,16 @@ STATIC mp_obj_t mod_TrezorCrypto_Bip32_from_seed(mp_obj_t self, mp_obj_t seed, m
mp_buffer_info_t seedb;
mp_get_buffer_raise(seed, &seedb, MP_BUFFER_READ);
if (seedb.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid seed"));
mp_raise_ValueError("Invalid seed");
}
mp_buffer_info_t curveb;
mp_get_buffer_raise(curve_name, &curveb, MP_BUFFER_READ);
if (curveb.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid curve name"));
mp_raise_ValueError("Invalid curve name");
}
HDNode hdnode;
if (!hdnode_from_seed(seedb.buf, seedb.len, curveb.buf, &hdnode)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid seed"));
mp_raise_ValueError("Invalid seed");
}
mp_obj_HDNode_t *o = m_new_obj(mp_obj_HDNode_t);
o->base.type = &mod_TrezorCrypto_HDNode_type;

@ -27,7 +27,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Bip39_make_new(const mp_obj_type_t *type, size_
STATIC mp_obj_t mod_TrezorCrypto_Bip39_generate(mp_obj_t self, mp_obj_t strength) {
int bits = mp_obj_get_int(strength);
if (bits % 32 || bits < 128 || bits > 256) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid bit strength (only 128, 160, 192, 224 and 256 values are allowed)"));
mp_raise_ValueError("Invalid bit strength (only 128, 160, 192, 224 and 256 values are allowed)");
}
const char *mnemo = mnemonic_generate(bits);
vstr_t vstr;
@ -45,7 +45,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Bip39_from_data(mp_obj_t self, mp_obj_t data) {
mp_buffer_info_t bin;
mp_get_buffer_raise(data, &bin, MP_BUFFER_READ);
if (bin.len % 4 || bin.len < 16 || bin.len > 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid data length (only 16, 20, 24, 28 and 32 bytes are allowed)"));
mp_raise_ValueError("Invalid data length (only 16, 20, 24, 28 and 32 bytes are allowed)");
}
const char *mnemo = mnemonic_from_data(bin.buf, bin.len);
vstr_t vstr;

@ -28,7 +28,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Ed25519_publickey(mp_obj_t self, mp_obj_t secre
mp_buffer_info_t sk;
mp_get_buffer_raise(secret_key, &sk, MP_BUFFER_READ);
if (sk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of secret key"));
mp_raise_ValueError("Invalid length of secret key");
}
vstr_t vstr;
vstr_init_len(&vstr, 32);
@ -46,10 +46,10 @@ STATIC mp_obj_t mod_TrezorCrypto_Ed25519_sign(mp_obj_t self, mp_obj_t secret_key
mp_get_buffer_raise(secret_key, &sk, MP_BUFFER_READ);
mp_get_buffer_raise(message, &msg, MP_BUFFER_READ);
if (sk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of secret key"));
mp_raise_ValueError("Invalid length of secret key");
}
if (msg.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Empty data to sign"));
mp_raise_ValueError("Empty data to sign");
}
ed25519_public_key pk;
ed25519_publickey(*(const ed25519_secret_key *)sk.buf, pk);
@ -71,13 +71,13 @@ STATIC mp_obj_t mod_TrezorCrypto_Ed25519_verify(size_t n_args, const mp_obj_t *a
mp_get_buffer_raise(args[2], &sig, MP_BUFFER_READ);
mp_get_buffer_raise(args[3], &msg, MP_BUFFER_READ);
if (pk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of public key"));
mp_raise_ValueError("Invalid length of public key");
}
if (sig.len != 64) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of signature"));
mp_raise_ValueError("Invalid length of signature");
}
if (msg.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Empty data to verify"));
mp_raise_ValueError("Empty data to verify");
}
return (0 == ed25519_sign_open(msg.buf, msg.len, *(const ed25519_public_key *)pk.buf, *(const ed25519_signature *)sig.buf)) ? mp_const_true : mp_const_false;
}

@ -29,7 +29,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Nist256p1_publickey(size_t n_args, const mp_obj
mp_buffer_info_t sk;
mp_get_buffer_raise(args[1], &sk, MP_BUFFER_READ);
if (sk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of secret key"));
mp_raise_ValueError("Invalid length of secret key");
}
bool compressed = n_args < 3 || args[2] == mp_const_true;
vstr_t vstr;
@ -53,16 +53,16 @@ STATIC mp_obj_t mod_TrezorCrypto_Nist256p1_sign(mp_obj_t self, mp_obj_t secret_k
mp_get_buffer_raise(secret_key, &sk, MP_BUFFER_READ);
mp_get_buffer_raise(message, &msg, MP_BUFFER_READ);
if (sk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of secret key"));
mp_raise_ValueError("Invalid length of secret key");
}
if (msg.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Empty data to sign"));
mp_raise_ValueError("Empty data to sign");
}
vstr_t vstr;
vstr_init_len(&vstr, 65);
uint8_t pby;
if (0 != ecdsa_sign(&nist256p1, (const uint8_t *)sk.buf, (const uint8_t *)msg.buf, msg.len, (uint8_t *)vstr.buf, &pby)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Signing failed"));
mp_raise_ValueError("Signing failed");
}
(void)pby;
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
@ -80,13 +80,13 @@ STATIC mp_obj_t mod_TrezorCrypto_Nist256p1_verify(size_t n_args, const mp_obj_t
mp_get_buffer_raise(args[2], &sig, MP_BUFFER_READ);
mp_get_buffer_raise(args[3], &msg, MP_BUFFER_READ);
if (pk.len != 33 && pk.len != 65) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of public key"));
mp_raise_ValueError("Invalid length of public key");
}
if (sig.len != 65) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of signature"));
mp_raise_ValueError("Invalid length of signature");
}
if (msg.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Empty data to verify"));
mp_raise_ValueError("Empty data to verify");
}
return mp_obj_new_bool(0 == ecdsa_verify(&nist256p1, (const uint8_t *)pk.buf, (const uint8_t *)sig.buf, (const uint8_t *)msg.buf, msg.len));
}

@ -51,7 +51,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_make_new(const mp_obj_type_t *type, size
o->prf = 512;
} else
if (o->prf == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid PRF"));
mp_raise_ValueError("Invalid PRF");
}
// constructor called with iterations as fourth parameter
if (n_args > 3) {

@ -27,7 +27,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Random_make_new(const mp_obj_type_t *type, size
STATIC mp_obj_t mod_TrezorCrypto_Random_uniform(mp_obj_t self, mp_obj_t n) {
uint32_t nn = mp_obj_get_int_truncated(n);
if (nn == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Maximum can't be zero"));
mp_raise_ValueError("Maximum can't be zero");
}
return mp_obj_new_int_from_uint(random_uniform(nn));
}
@ -56,10 +56,10 @@ STATIC mp_obj_t mod_TrezorCrypto_Random_shuffle(mp_obj_t self, mp_obj_t data) {
if (MP_OBJ_IS_TYPE(data, &mp_type_list)) {
mp_obj_list_get(data, &item_cnt, &items);
} else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "List expected"));
mp_raise_TypeError("List expected");
}
if (item_cnt > 256) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Maximum list size is 256 items"));
mp_raise_ValueError("Maximum list size is 256 items");
}
random_permute(items, sizeof(mp_obj_t *), item_cnt);
return mp_const_none;

@ -29,7 +29,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Secp256k1_publickey(size_t n_args, const mp_obj
mp_buffer_info_t sk;
mp_get_buffer_raise(args[1], &sk, MP_BUFFER_READ);
if (sk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of secret key"));
mp_raise_ValueError("Invalid length of secret key");
}
bool compressed = n_args < 3 || args[2] == mp_const_true;
vstr_t vstr;
@ -53,16 +53,16 @@ STATIC mp_obj_t mod_TrezorCrypto_Secp256k1_sign(mp_obj_t self, mp_obj_t secret_k
mp_get_buffer_raise(secret_key, &sk, MP_BUFFER_READ);
mp_get_buffer_raise(message, &msg, MP_BUFFER_READ);
if (sk.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of secret key"));
mp_raise_ValueError("Invalid length of secret key");
}
if (msg.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Empty data to sign"));
mp_raise_ValueError("Empty data to sign");
}
vstr_t vstr;
vstr_init_len(&vstr, 65);
uint8_t pby;
if (0 != ecdsa_sign(&secp256k1, (const uint8_t *)sk.buf, (const uint8_t *)msg.buf, msg.len, (uint8_t *)vstr.buf, &pby)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Signing failed"));
mp_raise_ValueError("Signing failed");
}
(void)pby;
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
@ -80,13 +80,13 @@ STATIC mp_obj_t mod_TrezorCrypto_Secp256k1_verify(size_t n_args, const mp_obj_t
mp_get_buffer_raise(args[2], &sig, MP_BUFFER_READ);
mp_get_buffer_raise(args[3], &msg, MP_BUFFER_READ);
if (pk.len != 33 && pk.len != 65) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of public key"));
mp_raise_ValueError("Invalid length of public key");
}
if (sig.len != 65) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid length of signature"));
mp_raise_ValueError("Invalid length of signature");
}
if (msg.len == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Empty data to verify"));
mp_raise_ValueError("Empty data to verify");
}
return mp_obj_new_bool(0 == ecdsa_verify(&secp256k1, (const uint8_t *)pk.buf, (const uint8_t *)sig.buf, (const uint8_t *)msg.buf, msg.len));
}

@ -31,16 +31,16 @@ STATIC mp_obj_t mod_TrezorCrypto_SSSS_split(size_t n_args, const mp_obj_t *args)
mp_buffer_info_t secret;
mp_get_buffer_raise(args[3], &secret, MP_BUFFER_READ);
if (secret.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Length of the secret has to be 256 bits"));
mp_raise_ValueError("Length of the secret has to be 256 bits");
}
if (m < 1 || n < 1 || m > 15 || n > 15 || m > n) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid number of shares"));
mp_raise_ValueError("Invalid number of shares");
}
bignum256 sk;
bignum256 shares[n];
bn_read_be(secret.buf, &sk);
if (!ssss_split(&sk, m, n, shares)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Error splitting secret"));
mp_raise_ValueError("Error splitting secret");
}
mp_obj_tuple_t *tuple = MP_OBJ_TO_PTR(mp_obj_new_tuple(n, NULL));
vstr_t vstr[n];
@ -66,10 +66,10 @@ STATIC mp_obj_t mod_TrezorCrypto_SSSS_combine(mp_obj_t self, mp_obj_t shares) {
if (MP_OBJ_IS_TYPE(shares, &mp_type_list)) {
mp_obj_list_get(shares, &n, &share);
} else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "List or tuple expected"));
mp_raise_TypeError("List or tuple expected");
}
if (n < 1 || n > 15) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid number of shares"));
mp_raise_ValueError("Invalid number of shares");
}
bignum256 bnshares[n];
for (mp_uint_t i = 0; i < n; i++) {
@ -77,7 +77,7 @@ STATIC mp_obj_t mod_TrezorCrypto_SSSS_combine(mp_obj_t self, mp_obj_t shares) {
mp_buffer_info_t s;
mp_get_buffer_raise(share[i], &s, MP_BUFFER_READ);
if (s.len != 32) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Length of share has to be 256 bits"));
mp_raise_ValueError("Length of share has to be 256 bits");
}
bn_read_be(s.buf, &bnshares[n]);
} else {
@ -86,7 +86,7 @@ STATIC mp_obj_t mod_TrezorCrypto_SSSS_combine(mp_obj_t self, mp_obj_t shares) {
}
bignum256 sk;
if (!ssss_combine(bnshares, n, &sk)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Error combining secret"));
mp_raise_ValueError("Error combining secret");
}
vstr_t vstr;
vstr_init_len(&vstr, 32);

@ -49,11 +49,11 @@ STATIC mp_obj_t mod_TrezorMsg_Msg_setup(mp_obj_t self, mp_obj_t ifaces) {
if (MP_OBJ_IS_TYPE(ifaces, &mp_type_list)) {
mp_obj_list_get(ifaces, &iface_cnt, &iface);
} else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "List or tuple expected"));
mp_raise_TypeError("List or tuple expected");
}
for (mp_uint_t i = 0; i < iface_cnt; i++) {
if (!MP_OBJ_IS_TYPE(iface[i], &mp_type_tuple)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Tuple expected"));
mp_raise_TypeError("Tuple expected");
}
mp_uint_t attr_cnt;
mp_obj_t *attr;

@ -52,7 +52,7 @@ STATIC mp_obj_t mod_TrezorUi_Display_bar(size_t n_args, const mp_obj_t *args) {
mp_int_t h = mp_obj_get_int(args[4]);
uint16_t c = mp_obj_get_int(args[5]);
if ((x < 0) || (y < 0) || (x + w > DISPLAY_RESX) || (y + h > DISPLAY_RESY)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Out of bounds"));
mp_raise_ValueError("Coordinates out of bounds");
}
display_bar(x, y, w, h, c);
return mp_const_none;
@ -73,7 +73,7 @@ STATIC mp_obj_t mod_TrezorUi_Display_bar_radius(size_t n_args, const mp_obj_t *a
uint16_t b = mp_obj_get_int(args[6]);
uint8_t r = mp_obj_get_int(args[7]);
if ((x < 0) || (y < 0) || (x + w > DISPLAY_RESX) || (y + h > DISPLAY_RESY)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Out of bounds"));
mp_raise_ValueError("Coordinates out of bounds");
}
display_bar_radius(x, y, w, h, c, b, r);
return mp_const_none;
@ -114,16 +114,16 @@ STATIC mp_obj_t mod_TrezorUi_Display_image(size_t n_args, const mp_obj_t *args)
mp_get_buffer_raise(args[3], &image, MP_BUFFER_READ);
const uint8_t *data = image.buf;
if (image.len < 8 || memcmp(data, "TOIf", 4) != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid image format"));
mp_raise_ValueError("Invalid image format");
}
mp_int_t w = *(uint16_t *)(data + 4);
mp_int_t h = *(uint16_t *)(data + 6);
mp_int_t datalen = *(uint32_t *)(data + 8);
if ((x < 0) || (y < 0) || (x + w > DISPLAY_RESX) || (y + h > DISPLAY_RESY)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Out of bounds"));
mp_raise_ValueError("Coordinates out of bounds");
}
if (datalen != image.len - 12) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid size of data"));
mp_raise_ValueError("Invalid size of data");
}
display_image(x, y, w, h, data + 12, image.len - 12);
return mp_const_none;
@ -142,16 +142,16 @@ STATIC mp_obj_t mod_TrezorUi_Display_icon(size_t n_args, const mp_obj_t *args) {
mp_get_buffer_raise(args[3], &icon, MP_BUFFER_READ);
const uint8_t *data = icon.buf;
if (icon.len < 8 || memcmp(data, "TOIg", 4) != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid image format"));
mp_raise_ValueError("Invalid image format");
}
mp_int_t w = *(uint16_t *)(data + 4);
mp_int_t h = *(uint16_t *)(data + 6);
mp_int_t datalen = *(uint32_t *)(data + 8);
if ((x < 0) || (y < 0) || (x + w > DISPLAY_RESX) || (y + h > DISPLAY_RESY)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Out of bounds"));
mp_raise_ValueError("Coordinates out of bounds");
}
if (datalen != icon.len - 12) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid size of data"));
mp_raise_ValueError("Invalid size of data");
}
mp_int_t fgcolor = mp_obj_get_int(args[4]);
mp_int_t bgcolor = mp_obj_get_int(args[5]);
@ -246,7 +246,7 @@ STATIC mp_obj_t mod_TrezorUi_Display_qrcode(size_t n_args, const mp_obj_t *args)
mp_int_t y = mp_obj_get_int(args[2]);
mp_int_t scale = mp_obj_get_int(args[4]);
if (scale < 1 || scale > 10) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Scale has to be between 1 and 10"));
mp_raise_ValueError("Scale has to be between 1 and 10");
}
mp_buffer_info_t data;
mp_get_buffer_raise(args[3], &data, MP_BUFFER_READ);
@ -273,16 +273,16 @@ STATIC mp_obj_t mod_TrezorUi_Display_loader(size_t n_args, const mp_obj_t *args)
mp_get_buffer_raise(args[4], &icon, MP_BUFFER_READ);
const uint8_t *data = icon.buf;
if (icon.len < 8 || memcmp(data, "TOIg", 4) != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid image format"));
mp_raise_ValueError("Invalid image format");
}
mp_int_t w = *(uint16_t *)(data + 4);
mp_int_t h = *(uint16_t *)(data + 6);
mp_int_t datalen = *(uint32_t *)(data + 8);
if (w != 96 || h != 96) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid icon size"));
mp_raise_ValueError("Invalid icon size");
}
if (datalen != icon.len - 12) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Invalid size of data"));
mp_raise_ValueError("Invalid size of data");
}
uint16_t iconfgcolor;
if (n_args > 5) { // icon color provided
@ -309,7 +309,7 @@ STATIC mp_obj_t mod_TrezorUi_Display_orientation(size_t n_args, const mp_obj_t *
if (n_args > 1) {
deg = mp_obj_get_int(args[1]);
if (deg != 0 && deg != 90 && deg != 180 && deg != 270) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Value must be 0, 90, 180 or 270"));
mp_raise_ValueError("Value must be 0, 90, 180 or 270");
}
deg = display_orientation(deg);
} else {
@ -329,7 +329,7 @@ STATIC mp_obj_t mod_TrezorUi_Display_backlight(size_t n_args, const mp_obj_t *ar
if (n_args > 1) {
val = mp_obj_get_int(args[1]);
if (val < 0 || val > 255) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Value must be between 0 and 255"));
mp_raise_ValueError("Value must be between 0 and 255");
}
val = display_backlight(val);
} else {

Loading…
Cancel
Save