diff --git a/micropython/extmod/modtrezorcrypto/modtrezorcrypto-random.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-random.h index bde50872..c8853105 100644 --- a/micropython/extmod/modtrezorcrypto/modtrezorcrypto-random.h +++ b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-random.h @@ -56,11 +56,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_TrezorCrypto_Random_bytes_obj, mod_TrezorCr STATIC mp_obj_t mod_TrezorCrypto_Random_shuffle(mp_obj_t self, mp_obj_t data) { mp_uint_t item_cnt; mp_obj_t *items; - if (MP_OBJ_IS_TYPE(data, &mp_type_list)) { - mp_obj_list_get(data, &item_cnt, &items); - } else { - mp_raise_TypeError("List expected"); - } + mp_obj_get_array(data, &item_cnt, &items); if (item_cnt > 256) { mp_raise_ValueError("Maximum list size is 256 items"); } diff --git a/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h index b39cf95f..5d38ee0b 100644 --- a/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h +++ b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h @@ -60,14 +60,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_TrezorCrypto_SSSS_split_obj, 4, 4 STATIC mp_obj_t mod_TrezorCrypto_SSSS_combine(mp_obj_t self, mp_obj_t shares) { mp_uint_t n; mp_obj_t *share; - if (MP_OBJ_IS_TYPE(shares, &mp_type_tuple)) { - mp_obj_tuple_get(shares, &n, &share); - } else - if (MP_OBJ_IS_TYPE(shares, &mp_type_list)) { - mp_obj_list_get(shares, &n, &share); - } else { - mp_raise_TypeError("List or tuple expected"); - } + mp_obj_get_array(shares, &n, &share); if (n < 1 || n > 15) { mp_raise_ValueError("Invalid number of shares"); } diff --git a/micropython/extmod/modtrezormsg/modtrezormsg.c b/micropython/extmod/modtrezormsg/modtrezormsg.c index ddc86cce..4ec71a6f 100644 --- a/micropython/extmod/modtrezormsg/modtrezormsg.c +++ b/micropython/extmod/modtrezormsg/modtrezormsg.c @@ -47,14 +47,7 @@ STATIC mp_obj_t mod_TrezorMsg_Msg_make_new(const mp_obj_type_t *type, size_t n_a STATIC mp_obj_t mod_TrezorMsg_Msg_set_interfaces(mp_obj_t self, mp_obj_t ifaces) { mp_uint_t iface_cnt; mp_obj_t *usage_pages; - if (MP_OBJ_IS_TYPE(ifaces, &mp_type_tuple)) { - mp_obj_tuple_get(ifaces, &iface_cnt, &usage_pages); - } else - if (MP_OBJ_IS_TYPE(ifaces, &mp_type_list)) { - mp_obj_list_get(ifaces, &iface_cnt, &usage_pages); - } else { - mp_raise_TypeError("List or tuple expected"); - } + mp_obj_get_array(ifaces, &iface_cnt, &usage_pages); if (iface_cnt > MAX_INTERFACES) { mp_raise_ValueError("Maximum number of interfaces exceeded"); }