chore: rename BIP39_WORDS to BIP39_WORD_COUNT

pull/2314/head
matejcik 2 years ago committed by matejcik
parent dfa4b1d9a1
commit 38a36a131f

@ -2,12 +2,12 @@ use core::cmp::Ordering;
use cstr_core::CStr;
// TODO: expose from trezor-crypto via build.rs
const BIP39_WORDS: usize = 2048;
const BIP39_WORD_COUNT: usize = 2048;
extern "C" {
// trezor-crypto/bip39.h
fn mnemonic_word_completion_mask(prefix: *const cty::c_char, len: cty::c_int) -> u32;
pub static BIP39_WORDLIST_ENGLISH: [*const cty::c_char; BIP39_WORDS];
pub static BIP39_WORDLIST_ENGLISH: [*const cty::c_char; BIP39_WORD_COUNT];
}
unsafe fn from_utf8_unchecked<'a>(word: *const cty::c_char) -> &'a str {
@ -136,9 +136,9 @@ mod tests {
#[test]
fn test_filter_prefix_empty() {
let words = Wordlist::all().filter_prefix("");
assert_eq!(words.len(), BIP39_WORDS);
assert_eq!(words.len(), BIP39_WORD_COUNT);
let iter = words.iter();
assert_eq!(iter.size_hint(), (BIP39_WORDS, Some(BIP39_WORDS)));
assert_eq!(iter.size_hint(), (BIP39_WORD_COUNT, Some(BIP39_WORD_COUNT)));
}
#[test]
@ -171,9 +171,9 @@ mod tests {
fn test_wordlist_get() {
let words = Wordlist::all();
assert_eq!(words.get(0), Some("abandon"));
assert_eq!(words.get(BIP39_WORDS - 1), Some("zoo"));
assert_eq!(words.get(BIP39_WORDS), None);
assert_eq!(words.get(BIP39_WORDS + 1), None);
assert_eq!(words.get(BIP39_WORD_COUNT - 1), Some("zoo"));
assert_eq!(words.get(BIP39_WORD_COUNT), None);
assert_eq!(words.get(BIP39_WORD_COUNT + 1), None);
let filtered = words.filter_prefix("str");
assert_eq!(filtered.get(0), Some("strategy"));

@ -242,7 +242,7 @@ void mnemonic_to_seed(const char *mnemonic, const char *passphrase,
// binary search for finding the word in the wordlist
int mnemonic_find_word(const char *word) {
int lo = 0, hi = BIP39_WORDS - 1;
int lo = 0, hi = BIP39_WORD_COUNT - 1;
while (lo <= hi) {
int mid = lo + (hi - lo) / 2;
int cmp = strcmp(word, BIP39_WORDLIST_ENGLISH[mid]);
@ -261,7 +261,7 @@ int mnemonic_find_word(const char *word) {
const char *mnemonic_complete_word(const char *prefix, int len) {
// we need to perform linear search,
// because we want to return the first match
for (int i = 0; i < BIP39_WORDS; i++) {
for (int i = 0; i < BIP39_WORD_COUNT; i++) {
if (strncmp(BIP39_WORDLIST_ENGLISH[i], prefix, len) == 0) {
return BIP39_WORDLIST_ENGLISH[i];
}
@ -270,7 +270,7 @@ const char *mnemonic_complete_word(const char *prefix, int len) {
}
const char *mnemonic_get_word(int index) {
if (index >= 0 && index < BIP39_WORDS) {
if (index >= 0 && index < BIP39_WORD_COUNT) {
return BIP39_WORDLIST_ENGLISH[index];
} else {
return NULL;
@ -282,7 +282,7 @@ uint32_t mnemonic_word_completion_mask(const char *prefix, int len) {
return 0x3ffffff; // all letters (bits 1-26 set)
}
uint32_t res = 0;
for (int i = 0; i < BIP39_WORDS; i++) {
for (int i = 0; i < BIP39_WORD_COUNT; i++) {
const char *word = BIP39_WORDLIST_ENGLISH[i];
if (strncmp(word, prefix, len) == 0 && word[len] >= 'a' &&
word[len] <= 'z') {

@ -29,14 +29,14 @@
#include "options.h"
#define BIP39_WORDS 2048
#define BIP39_WORD_COUNT 2048
#define BIP39_PBKDF2_ROUNDS 2048
#if USE_BIP39_CACHE
void bip39_cache_clear(void);
#endif
extern const char *const BIP39_WORDLIST_ENGLISH[BIP39_WORDS];
extern const char *const BIP39_WORDLIST_ENGLISH[BIP39_WORD_COUNT];
const char *mnemonic_generate(int strength); // strength in bits
const char *mnemonic_from_data(const uint8_t *data, int len);

@ -23,7 +23,7 @@
#include "bip39.h"
const char* const BIP39_WORDLIST_ENGLISH[BIP39_WORDS] = {
const char* const BIP39_WORDLIST_ENGLISH[BIP39_WORD_COUNT] = {
"abandon", "ability", "able", "about", "above", "absent",
"absorb", "abstract", "absurd", "abuse", "access", "accident",
"account", "accuse", "achieve", "acid", "acoustic", "acquire",

@ -5603,7 +5603,7 @@ END_TEST
START_TEST(test_mnemonic_find_word) {
ck_assert_int_eq(-1, mnemonic_find_word("aaaa"));
ck_assert_int_eq(-1, mnemonic_find_word("zzzz"));
for (int i = 0; i < BIP39_WORDS; i++) {
for (int i = 0; i < BIP39_WORD_COUNT; i++) {
const char *word = mnemonic_get_word(i);
int index = mnemonic_find_word(word);
ck_assert_int_eq(i, index);

@ -451,7 +451,7 @@ void next_word(void) {
oledDrawStringCenter(OLED_WIDTH / 2, 8, _("Please enter"), FONT_STANDARD);
word_pos = word_order[word_index];
if (word_pos == 0) {
strlcpy(fake_word, mnemonic_get_word(random_uniform(BIP39_WORDS)),
strlcpy(fake_word, mnemonic_get_word(random_uniform(BIP39_WORD_COUNT)),
sizeof(fake_word));
oledDrawStringCenter(OLED_WIDTH / 2, 24, fake_word,
FONT_FIXED | FONT_DOUBLE);

Loading…
Cancel
Save