() {
- @Override
- public SecretKeyFactory run() throws Exception {
- return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA512");
- }
- });
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/MnemonicGenerator.java b/app/src/main/java/io/github/novacrypto/bip39/MnemonicGenerator.java
deleted file mode 100644
index 0ecc54db7b..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/MnemonicGenerator.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import java.util.Arrays;
-
-import static io.github.novacrypto.bip39.ByteUtils.next11Bits;
-import static io.github.novacrypto.hashing.Sha256.sha256;
-
-/**
- * Generates mnemonics from entropy.
- */
-public final class MnemonicGenerator {
-
- private final WordList wordList;
-
- /**
- * Create a generator using the given word list.
- *
- * @param wordList A known ordered list of 2048 words to select from.
- */
- public MnemonicGenerator(final WordList wordList) {
- this.wordList = wordList;
- }
-
- public interface Target {
- void append(final CharSequence string);
- }
-
- /**
- * Create a mnemonic from the word list given the entropy.
- *
- * @param entropyHex 128-256 bits of hex entropy, number of bits must also be divisible by 32
- * @param target Where to write the mnemonic to
- */
- public void createMnemonic(
- final CharSequence entropyHex,
- final Target target) {
- final int length = entropyHex.length();
- if (length % 2 != 0)
- throw new RuntimeException("Length of hex chars must be divisible by 2");
- final byte[] entropy = new byte[length / 2];
- try {
- for (int i = 0, j = 0; i < length; i += 2, j++) {
- entropy[j] = (byte) (parseHex(entropyHex.charAt(i)) << 4 | parseHex(entropyHex.charAt(i + 1)));
- }
- createMnemonic(entropy, target);
- } finally {
- Arrays.fill(entropy, (byte) 0);
- }
- }
-
- /**
- * Create a mnemonic from the word list given the entropy.
- *
- * @param entropy 128-256 bits of entropy, number of bits must also be divisible by 32
- * @param target Where to write the mnemonic to
- */
- public void createMnemonic(
- final byte[] entropy,
- final Target target) {
- final int[] wordIndexes = wordIndexes(entropy);
- try {
- createMnemonic(wordIndexes, target);
- } finally {
- Arrays.fill(wordIndexes, 0);
- }
- }
-
- private void createMnemonic(
- final int[] wordIndexes,
- final Target target) {
- final String space = String.valueOf(wordList.getSpace());
- for (int i = 0; i < wordIndexes.length; i++) {
- if (i > 0) target.append(space);
- target.append(wordList.getWord(wordIndexes[i]));
- }
- }
-
- private static int[] wordIndexes(byte[] entropy) {
- final int ent = entropy.length * 8;
- entropyLengthPreChecks(ent);
-
- final byte[] entropyWithChecksum = Arrays.copyOf(entropy, entropy.length + 1);
- entropyWithChecksum[entropy.length] = firstByteOfSha256(entropy);
-
- //checksum length
- final int cs = ent / 32;
- //mnemonic length
- final int ms = (ent + cs) / 11;
-
- //get the indexes into the word list
- final int[] wordIndexes = new int[ms];
- for (int i = 0, wi = 0; wi < ms; i += 11, wi++) {
- wordIndexes[wi] = next11Bits(entropyWithChecksum, i);
- }
- return wordIndexes;
- }
-
- static byte firstByteOfSha256(final byte[] entropy) {
- final byte[] hash = sha256(entropy);
- final byte firstByte = hash[0];
- Arrays.fill(hash, (byte) 0);
- return firstByte;
- }
-
- private static void entropyLengthPreChecks(final int ent) {
- if (ent < 128)
- throw new RuntimeException("Entropy too low, 128-256 bits allowed");
- if (ent > 256)
- throw new RuntimeException("Entropy too high, 128-256 bits allowed");
- if (ent % 32 > 0)
- throw new RuntimeException("Number of entropy bits must be divisible by 32");
- }
-
- private static int parseHex(char c) {
- if (c >= '0' && c <= '9') return c - '0';
- if (c >= 'a' && c <= 'f') return (c - 'a') + 10;
- if (c >= 'A' && c <= 'F') return (c - 'A') + 10;
- throw new RuntimeException("Invalid hex char '" + c + '\'');
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/MnemonicValidator.java b/app/src/main/java/io/github/novacrypto/bip39/MnemonicValidator.java
deleted file mode 100644
index d015a89226..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/MnemonicValidator.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import io.github.novacrypto.bip39.Validation.InvalidChecksumException;
-import io.github.novacrypto.bip39.Validation.InvalidWordCountException;
-import io.github.novacrypto.bip39.Validation.UnexpectedWhiteSpaceException;
-import io.github.novacrypto.bip39.Validation.WordNotFoundException;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-
-import static io.github.novacrypto.bip39.MnemonicGenerator.firstByteOfSha256;
-import static io.github.novacrypto.bip39.Normalization.normalizeNFKD;
-
-/**
- * Contains function for validating Mnemonics against the BIP0039 spec.
- */
-public final class MnemonicValidator {
- private final WordAndIndex[] words;
- private final CharSequenceSplitter charSequenceSplitter;
- private final NFKDNormalizer normalizer;
-
- private MnemonicValidator(final WordList wordList) {
- normalizer = new WordListMapNormalization(wordList);
- words = new WordAndIndex[1 << 11];
- for (int i = 0; i < 1 << 11; i++) {
- words[i] = new WordAndIndex(i, wordList.getWord(i));
- }
- charSequenceSplitter = new CharSequenceSplitter(wordList.getSpace(), normalizeNFKD(wordList.getSpace()));
- Arrays.sort(words, wordListSortOrder);
- }
-
- /**
- * Get a Mnemonic validator for the given word list.
- * No normalization is currently performed, this is an open issue: https://github.com/NovaCrypto/BIP39/issues/13
- *
- * @param wordList A WordList implementation
- * @return A validator
- */
- public static MnemonicValidator ofWordList(final WordList wordList) {
- return new MnemonicValidator(wordList);
- }
-
- /**
- * Check that the supplied mnemonic fits the BIP0039 spec.
- *
- * @param mnemonic The memorable list of words
- * @throws InvalidChecksumException If the last bytes don't match the expected last bytes
- * @throws InvalidWordCountException If the number of words is not a multiple of 3, 24 or fewer
- * @throws WordNotFoundException If a word in the mnemonic is not present in the word list
- * @throws UnexpectedWhiteSpaceException Occurs if one of the supplied words is empty, e.g. a double space
- */
- public void validate(final CharSequence mnemonic) throws
- InvalidChecksumException,
- InvalidWordCountException,
- WordNotFoundException,
- UnexpectedWhiteSpaceException {
- validate(charSequenceSplitter.split(mnemonic));
- }
-
- /**
- * Check that the supplied mnemonic fits the BIP0039 spec.
- *
- * The purpose of this method overload is to avoid constructing a mnemonic String if you have gathered a list of
- * words from the user.
- *
- * @param mnemonic The memorable list of words
- * @throws InvalidChecksumException If the last bytes don't match the expected last bytes
- * @throws InvalidWordCountException If the number of words is not a multiple of 3, 24 or fewer
- * @throws WordNotFoundException If a word in the mnemonic is not present in the word list
- * @throws UnexpectedWhiteSpaceException Occurs if one of the supplied words is empty
- */
- public void validate(final Collection extends CharSequence> mnemonic) throws
- InvalidChecksumException,
- InvalidWordCountException,
- WordNotFoundException,
- UnexpectedWhiteSpaceException {
- final int[] wordIndexes = findWordIndexes(mnemonic);
- try {
- validate(wordIndexes);
- } finally {
- Arrays.fill(wordIndexes, 0);
- }
- }
-
- private static void validate(final int[] wordIndexes) throws
- InvalidWordCountException,
- InvalidChecksumException {
- final int ms = wordIndexes.length;
-
- final int entPlusCs = ms * 11;
- final int ent = (entPlusCs * 32) / 33;
- final int cs = ent / 32;
- if (entPlusCs != ent + cs)
- throw new InvalidWordCountException();
- final byte[] entropyWithChecksum = new byte[(entPlusCs + 7) / 8];
-
- wordIndexesToEntropyWithCheckSum(wordIndexes, entropyWithChecksum);
- Arrays.fill(wordIndexes, 0);
-
- final byte[] entropy = Arrays.copyOf(entropyWithChecksum, entropyWithChecksum.length - 1);
- final byte lastByte = entropyWithChecksum[entropyWithChecksum.length - 1];
- Arrays.fill(entropyWithChecksum, (byte) 0);
-
- final byte sha = firstByteOfSha256(entropy);
-
- final byte mask = maskOfFirstNBits(cs);
-
- if (((sha ^ lastByte) & mask) != 0)
- throw new InvalidChecksumException();
- }
-
- private int[] findWordIndexes(final Collection extends CharSequence> split) throws
- UnexpectedWhiteSpaceException,
- WordNotFoundException {
- final int ms = split.size();
- final int[] result = new int[ms];
- int i = 0;
- for (final CharSequence buffer : split) {
- if (buffer.length() == 0) {
- throw new UnexpectedWhiteSpaceException();
- }
- result[i++] = findWordIndex(buffer);
- }
- return result;
- }
-
- private int findWordIndex(final CharSequence buffer) throws WordNotFoundException {
- final WordAndIndex key = new WordAndIndex(-1, buffer);
- final int index = Arrays.binarySearch(words, key, wordListSortOrder);
- if (index < 0) {
- final int insertionPoint = -index - 1;
- int suggestion = insertionPoint == 0 ? insertionPoint : insertionPoint - 1;
- if (suggestion + 1 == words.length) suggestion--;
- throw new WordNotFoundException(buffer, words[suggestion].word, words[suggestion + 1].word);
-
- }
- return words[index].index;
- }
-
- private static void wordIndexesToEntropyWithCheckSum(final int[] wordIndexes, final byte[] entropyWithChecksum) {
- for (int i = 0, bi = 0; i < wordIndexes.length; i++, bi += 11) {
- ByteUtils.writeNext11(entropyWithChecksum, wordIndexes[i], bi);
- }
- }
-
- private static byte maskOfFirstNBits(final int n) {
- return (byte) ~((1 << (8 - n)) - 1);
- }
-
- private static final Comparator wordListSortOrder = new Comparator() {
- @Override
- public int compare(final WordAndIndex o1, final WordAndIndex o2) {
- return CharSequenceComparators.ALPHABETICAL.compare(o1.normalized, o2.normalized);
- }
- };
-
- private class WordAndIndex {
- final CharSequence word;
- final String normalized;
- final int index;
-
- WordAndIndex(final int i, final CharSequence word) {
- this.word = word;
- normalized = normalizer.normalize(word);
- index = i;
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/NFKDNormalizer.java b/app/src/main/java/io/github/novacrypto/bip39/NFKDNormalizer.java
deleted file mode 100644
index 7fc6be32a4..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/NFKDNormalizer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-public interface NFKDNormalizer {
-
- String normalize(CharSequence charSequence);
-}
diff --git a/app/src/main/java/io/github/novacrypto/bip39/Normalization.java b/app/src/main/java/io/github/novacrypto/bip39/Normalization.java
deleted file mode 100644
index 2b19485587..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/Normalization.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import java.text.Normalizer;
-
-final class Normalization {
- static String normalizeNFKD(final String string) {
- return Normalizer.normalize(string, Normalizer.Form.NFKD);
- }
-
- static char normalizeNFKD(final char c) {
- return normalizeNFKD("" + c).charAt(0);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/PBKDF2WithHmacSHA512.java b/app/src/main/java/io/github/novacrypto/bip39/PBKDF2WithHmacSHA512.java
deleted file mode 100644
index 74c2302a99..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/PBKDF2WithHmacSHA512.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-public interface PBKDF2WithHmacSHA512 {
-
- byte[] hash(final char[] chars, final byte[] salt);
-}
diff --git a/app/src/main/java/io/github/novacrypto/bip39/SeedCalculator.java b/app/src/main/java/io/github/novacrypto/bip39/SeedCalculator.java
deleted file mode 100644
index a54ecbab41..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/SeedCalculator.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import io.github.novacrypto.toruntime.CheckedExceptionToRuntime;
-
-import java.util.Arrays;
-
-import static io.github.novacrypto.bip39.Normalization.normalizeNFKD;
-import static io.github.novacrypto.toruntime.CheckedExceptionToRuntime.toRuntime;
-
-/**
- * Contains function for generating seeds from a Mnemonic and Passphrase.
- */
-public final class SeedCalculator {
-
- private final byte[] fixedSalt = getUtf8Bytes("mnemonic");
- private final PBKDF2WithHmacSHA512 hashAlgorithm;
-
- public SeedCalculator(final PBKDF2WithHmacSHA512 hashAlgorithm) {
- this.hashAlgorithm = hashAlgorithm;
- }
-
- /**
- * Creates a seed calculator using {@link SpongyCastlePBKDF2WithHmacSHA512} which is the most compatible.
- * Use {@link SeedCalculator#SeedCalculator(PBKDF2WithHmacSHA512)} to supply another.
- */
- public SeedCalculator() {
- this(SpongyCastlePBKDF2WithHmacSHA512.INSTANCE);
- }
-
- /**
- * Calculate the seed given a mnemonic and corresponding passphrase.
- * The phrase is not checked for validity here, for that use a {@link MnemonicValidator}.
- *
- * Due to normalization, these need to be {@link String}, and not {@link CharSequence}, this is an open issue:
- * https://github.com/NovaCrypto/BIP39/issues/7
- *
- * If you have a list of words selected from a word list, you can use {@link #withWordsFromWordList} then
- * {@link SeedCalculatorByWordListLookUp#calculateSeed}
- *
- * @param mnemonic The memorable list of words
- * @param passphrase An optional passphrase, use "" if not required
- * @return a seed for HD wallet generation
- */
- public byte[] calculateSeed(final String mnemonic, final String passphrase) {
- final char[] chars = normalizeNFKD(mnemonic).toCharArray();
- try {
- return calculateSeed(chars, passphrase);
- } finally {
- Arrays.fill(chars, '\0');
- }
- }
-
- byte[] calculateSeed(final char[] mnemonicChars, final String passphrase) {
- final String normalizedPassphrase = normalizeNFKD(passphrase);
- final byte[] salt2 = getUtf8Bytes(normalizedPassphrase);
- final byte[] salt = combine(fixedSalt, salt2);
- clear(salt2);
- final byte[] encoded = hash(mnemonicChars, salt);
- clear(salt);
- return encoded;
- }
-
- public SeedCalculatorByWordListLookUp withWordsFromWordList(final WordList wordList) {
- return new SeedCalculatorByWordListLookUp(this, wordList);
- }
-
- private static byte[] combine(final byte[] array1, final byte[] array2) {
- final byte[] bytes = new byte[array1.length + array2.length];
- System.arraycopy(array1, 0, bytes, 0, array1.length);
- System.arraycopy(array2, 0, bytes, array1.length, bytes.length - array1.length);
- return bytes;
- }
-
- private static void clear(final byte[] salt) {
- Arrays.fill(salt, (byte) 0);
- }
-
- private byte[] hash(final char[] chars, final byte[] salt) {
- return hashAlgorithm.hash(chars, salt);
- }
-
- private static byte[] getUtf8Bytes(final String string) {
- return toRuntime(new CheckedExceptionToRuntime.Func() {
- @Override
- public byte[] run() throws Exception {
- return string.getBytes("UTF-8");
- }
- });
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/SeedCalculatorByWordListLookUp.java b/app/src/main/java/io/github/novacrypto/bip39/SeedCalculatorByWordListLookUp.java
deleted file mode 100644
index 4a26c899a8..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/SeedCalculatorByWordListLookUp.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import java.util.*;
-
-public final class SeedCalculatorByWordListLookUp {
- private final SeedCalculator seedCalculator;
- private final Map map = new HashMap<>();
- private final NFKDNormalizer normalizer;
-
- SeedCalculatorByWordListLookUp(final SeedCalculator seedCalculator, final WordList wordList) {
- this.seedCalculator = seedCalculator;
- normalizer = new WordListMapNormalization(wordList);
- for (int i = 0; i < 1 << 11; i++) {
- final String word = normalizer.normalize(wordList.getWord(i));
- map.put(word, word.toCharArray());
- }
- }
-
- /**
- * Calculate the seed given a mnemonic and corresponding passphrase.
- * The phrase is not checked for validity here, for that use a {@link MnemonicValidator}.
- *
- * The purpose of this method is to avoid constructing a mnemonic String if you have gathered a list of
- * words from the user and also to avoid having to normalize it, all words in the {@link WordList} are normalized
- * instead.
- *
- * Due to normalization, the passphrase still needs to be {@link String}, and not {@link CharSequence}, this is an
- * open issue: https://github.com/NovaCrypto/BIP39/issues/7
- *
- * @param mnemonic The memorable list of words, ideally selected from the word list that was supplied while creating this object.
- * @param passphrase An optional passphrase, use "" if not required
- * @return a seed for HD wallet generation
- */
- public byte[] calculateSeed(final Collection extends CharSequence> mnemonic, final String passphrase) {
- final int words = mnemonic.size();
- final char[][] chars = new char[words][];
- final List toClear = new LinkedList<>();
- int count = 0;
- int wordIndex = 0;
- for (final CharSequence word : mnemonic) {
- char[] wordChars = map.get(normalizer.normalize(word));
- if (wordChars == null) {
- wordChars = normalizer.normalize(word).toCharArray();
- toClear.add(wordChars);
- }
- chars[wordIndex++] = wordChars;
- count += wordChars.length;
- }
- count += words - 1;
- final char[] mnemonicChars = new char[count];
- try {
- int index = 0;
- for (int i = 0; i < chars.length; i++) {
- System.arraycopy(chars[i], 0, mnemonicChars, index, chars[i].length);
- index += chars[i].length;
- if (i < chars.length - 1) {
- mnemonicChars[index++] = ' ';
- }
- }
- return seedCalculator.calculateSeed(mnemonicChars, passphrase);
- } finally {
- Arrays.fill(mnemonicChars, '\0');
- Arrays.fill(chars, null);
- for (final char[] charsToClear : toClear)
- Arrays.fill(charsToClear, '\0');
- }
- }
-}
diff --git a/app/src/main/java/io/github/novacrypto/bip39/SpongyCastlePBKDF2WithHmacSHA512.java b/app/src/main/java/io/github/novacrypto/bip39/SpongyCastlePBKDF2WithHmacSHA512.java
deleted file mode 100644
index 4a9b34a591..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/SpongyCastlePBKDF2WithHmacSHA512.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import org.bouncycastle.crypto.PBEParametersGenerator;
-import org.bouncycastle.crypto.digests.SHA512Digest;
-import org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator;
-import org.bouncycastle.crypto.params.KeyParameter;
-
-/**
- * This implementation is useful for older Java implementations, for example it is suitable for all Android API levels.
- */
-public enum SpongyCastlePBKDF2WithHmacSHA512 implements PBKDF2WithHmacSHA512 {
- INSTANCE;
-
- @Override
- public byte[] hash(char[] chars, byte[] salt) {
- PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(new SHA512Digest());
- generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(chars), salt, 2048);
- KeyParameter key = (KeyParameter) generator.generateDerivedMacParameters(512);
- return key.getKey();
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/Validation/InvalidChecksumException.java b/app/src/main/java/io/github/novacrypto/bip39/Validation/InvalidChecksumException.java
deleted file mode 100644
index 314c58e5c9..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/Validation/InvalidChecksumException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.Validation;
-
-public final class InvalidChecksumException extends Exception {
- public InvalidChecksumException() {
- super("Invalid checksum");
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/Validation/InvalidWordCountException.java b/app/src/main/java/io/github/novacrypto/bip39/Validation/InvalidWordCountException.java
deleted file mode 100644
index c706124ceb..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/Validation/InvalidWordCountException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.Validation;
-
-public final class InvalidWordCountException extends Exception {
- public InvalidWordCountException() {
- super("Not a correct number of words");
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/Validation/UnexpectedWhiteSpaceException.java b/app/src/main/java/io/github/novacrypto/bip39/Validation/UnexpectedWhiteSpaceException.java
deleted file mode 100644
index 16f5b16e8f..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/Validation/UnexpectedWhiteSpaceException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.Validation;
-
-public final class UnexpectedWhiteSpaceException extends Exception {
- public UnexpectedWhiteSpaceException() {
- super("Unexpected whitespace");
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/Validation/WordNotFoundException.java b/app/src/main/java/io/github/novacrypto/bip39/Validation/WordNotFoundException.java
deleted file mode 100644
index eb92eb830a..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/Validation/WordNotFoundException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.Validation;
-
-public final class WordNotFoundException extends Exception {
- private final CharSequence word;
- private final CharSequence suggestion1;
- private final CharSequence suggestion2;
-
- public WordNotFoundException(
- final CharSequence word,
- final CharSequence suggestion1,
- final CharSequence suggestion2) {
- super(String.format(
- "Word not found in word list \"%s\", suggestions \"%s\", \"%s\"",
- word,
- suggestion1,
- suggestion2));
- this.word = word;
- this.suggestion1 = suggestion1;
- this.suggestion2 = suggestion2;
- }
-
- public CharSequence getWord() {
- return word;
- }
-
- public CharSequence getSuggestion1() {
- return suggestion1;
- }
-
- public CharSequence getSuggestion2() {
- return suggestion2;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/WordList.java b/app/src/main/java/io/github/novacrypto/bip39/WordList.java
deleted file mode 100644
index bc30a05151..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/WordList.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-public interface WordList {
-
- /**
- * Get a word in the word list.
- *
- * @param index Index of word in the word list [0..2047] inclusive.
- * @return the word from the list.
- */
- String getWord(final int index);
-
- /**
- * Get the space character for this language.
- *
- * @return a whitespace character.
- */
- char getSpace();
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/WordListMapNormalization.java b/app/src/main/java/io/github/novacrypto/bip39/WordListMapNormalization.java
deleted file mode 100644
index 75b68148a9..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/WordListMapNormalization.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-import java.text.Normalizer;
-import java.util.HashMap;
-import java.util.Map;
-
-class WordListMapNormalization implements NFKDNormalizer {
- private final Map normalizedMap = new HashMap<>();
-
- WordListMapNormalization(final WordList wordList) {
- for (int i = 0; i < 1 << 11; i++) {
- final String word = wordList.getWord(i);
- final String normalized = Normalizer.normalize(word, Normalizer.Form.NFKD);
- normalizedMap.put(word, normalized);
- normalizedMap.put(normalized, normalized);
- normalizedMap.put(Normalizer.normalize(word, Normalizer.Form.NFC), normalized);
- }
- }
-
- @Override
- public String normalize(final CharSequence charSequence) {
- final String normalized = normalizedMap.get(charSequence);
- if (normalized != null)
- return normalized;
- return Normalizer.normalize(charSequence, Normalizer.Form.NFKD);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/Words.java b/app/src/main/java/io/github/novacrypto/bip39/Words.java
deleted file mode 100644
index d77c97c3c2..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/Words.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39;
-
-public enum Words {
- TWELVE(128),
- FIFTEEN(160),
- EIGHTEEN(192),
- TWENTY_ONE(224),
- TWENTY_FOUR(256);
-
- private final int bitLength;
-
- Words(int bitLength) {
- this.bitLength = bitLength;
- }
-
- public int bitLength() {
- return bitLength;
- }
-
- public int byteLength() {
- return bitLength / 8;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/wordlists/French.java b/app/src/main/java/io/github/novacrypto/bip39/wordlists/French.java
deleted file mode 100644
index 0eafe0be28..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/wordlists/French.java
+++ /dev/null
@@ -1,2092 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.wordlists;
-
-import io.github.novacrypto.bip39.WordList;
-
-/**
- * Source: https://github.com/bitcoin/bips/blob/master/bip-0039/french.txt
- */
-public enum French implements WordList {
- INSTANCE;
-
- @Override
- public String getWord(final int index) {
- return words[index];
- }
-
- @Override
- public char getSpace() {
- return ' ';
- }
-
- private final static String[] words = new String[]{
- "abaisser",
- "abandon",
- "abdiquer",
- "abeille",
- "abolir",
- "aborder",
- "aboutir",
- "aboyer",
- "abrasif",
- "abreuver",
- "abriter",
- "abroger",
- "abrupt",
- "absence",
- "absolu",
- "absurde",
- "abusif",
- "abyssal",
- "académie",
- "acajou",
- "acarien",
- "accabler",
- "accepter",
- "acclamer",
- "accolade",
- "accroche",
- "accuser",
- "acerbe",
- "achat",
- "acheter",
- "aciduler",
- "acier",
- "acompte",
- "acquérir",
- "acronyme",
- "acteur",
- "actif",
- "actuel",
- "adepte",
- "adéquat",
- "adhésif",
- "adjectif",
- "adjuger",
- "admettre",
- "admirer",
- "adopter",
- "adorer",
- "adoucir",
- "adresse",
- "adroit",
- "adulte",
- "adverbe",
- "aérer",
- "aéronef",
- "affaire",
- "affecter",
- "affiche",
- "affreux",
- "affubler",
- "agacer",
- "agencer",
- "agile",
- "agiter",
- "agrafer",
- "agréable",
- "agrume",
- "aider",
- "aiguille",
- "ailier",
- "aimable",
- "aisance",
- "ajouter",
- "ajuster",
- "alarmer",
- "alchimie",
- "alerte",
- "algèbre",
- "algue",
- "aliéner",
- "aliment",
- "alléger",
- "alliage",
- "allouer",
- "allumer",
- "alourdir",
- "alpaga",
- "altesse",
- "alvéole",
- "amateur",
- "ambigu",
- "ambre",
- "aménager",
- "amertume",
- "amidon",
- "amiral",
- "amorcer",
- "amour",
- "amovible",
- "amphibie",
- "ampleur",
- "amusant",
- "analyse",
- "anaphore",
- "anarchie",
- "anatomie",
- "ancien",
- "anéantir",
- "angle",
- "angoisse",
- "anguleux",
- "animal",
- "annexer",
- "annonce",
- "annuel",
- "anodin",
- "anomalie",
- "anonyme",
- "anormal",
- "antenne",
- "antidote",
- "anxieux",
- "apaiser",
- "apéritif",
- "aplanir",
- "apologie",
- "appareil",
- "appeler",
- "apporter",
- "appuyer",
- "aquarium",
- "aqueduc",
- "arbitre",
- "arbuste",
- "ardeur",
- "ardoise",
- "argent",
- "arlequin",
- "armature",
- "armement",
- "armoire",
- "armure",
- "arpenter",
- "arracher",
- "arriver",
- "arroser",
- "arsenic",
- "artériel",
- "article",
- "aspect",
- "asphalte",
- "aspirer",
- "assaut",
- "asservir",
- "assiette",
- "associer",
- "assurer",
- "asticot",
- "astre",
- "astuce",
- "atelier",
- "atome",
- "atrium",
- "atroce",
- "attaque",
- "attentif",
- "attirer",
- "attraper",
- "aubaine",
- "auberge",
- "audace",
- "audible",
- "augurer",
- "aurore",
- "automne",
- "autruche",
- "avaler",
- "avancer",
- "avarice",
- "avenir",
- "averse",
- "aveugle",
- "aviateur",
- "avide",
- "avion",
- "aviser",
- "avoine",
- "avouer",
- "avril",
- "axial",
- "axiome",
- "badge",
- "bafouer",
- "bagage",
- "baguette",
- "baignade",
- "balancer",
- "balcon",
- "baleine",
- "balisage",
- "bambin",
- "bancaire",
- "bandage",
- "banlieue",
- "bannière",
- "banquier",
- "barbier",
- "baril",
- "baron",
- "barque",
- "barrage",
- "bassin",
- "bastion",
- "bataille",
- "bateau",
- "batterie",
- "baudrier",
- "bavarder",
- "belette",
- "bélier",
- "belote",
- "bénéfice",
- "berceau",
- "berger",
- "berline",
- "bermuda",
- "besace",
- "besogne",
- "bétail",
- "beurre",
- "biberon",
- "bicycle",
- "bidule",
- "bijou",
- "bilan",
- "bilingue",
- "billard",
- "binaire",
- "biologie",
- "biopsie",
- "biotype",
- "biscuit",
- "bison",
- "bistouri",
- "bitume",
- "bizarre",
- "blafard",
- "blague",
- "blanchir",
- "blessant",
- "blinder",
- "blond",
- "bloquer",
- "blouson",
- "bobard",
- "bobine",
- "boire",
- "boiser",
- "bolide",
- "bonbon",
- "bondir",
- "bonheur",
- "bonifier",
- "bonus",
- "bordure",
- "borne",
- "botte",
- "boucle",
- "boueux",
- "bougie",
- "boulon",
- "bouquin",
- "bourse",
- "boussole",
- "boutique",
- "boxeur",
- "branche",
- "brasier",
- "brave",
- "brebis",
- "brèche",
- "breuvage",
- "bricoler",
- "brigade",
- "brillant",
- "brioche",
- "brique",
- "brochure",
- "broder",
- "bronzer",
- "brousse",
- "broyeur",
- "brume",
- "brusque",
- "brutal",
- "bruyant",
- "buffle",
- "buisson",
- "bulletin",
- "bureau",
- "burin",
- "bustier",
- "butiner",
- "butoir",
- "buvable",
- "buvette",
- "cabanon",
- "cabine",
- "cachette",
- "cadeau",
- "cadre",
- "caféine",
- "caillou",
- "caisson",
- "calculer",
- "calepin",
- "calibre",
- "calmer",
- "calomnie",
- "calvaire",
- "camarade",
- "caméra",
- "camion",
- "campagne",
- "canal",
- "caneton",
- "canon",
- "cantine",
- "canular",
- "capable",
- "caporal",
- "caprice",
- "capsule",
- "capter",
- "capuche",
- "carabine",
- "carbone",
- "caresser",
- "caribou",
- "carnage",
- "carotte",
- "carreau",
- "carton",
- "cascade",
- "casier",
- "casque",
- "cassure",
- "causer",
- "caution",
- "cavalier",
- "caverne",
- "caviar",
- "cédille",
- "ceinture",
- "céleste",
- "cellule",
- "cendrier",
- "censurer",
- "central",
- "cercle",
- "cérébral",
- "cerise",
- "cerner",
- "cerveau",
- "cesser",
- "chagrin",
- "chaise",
- "chaleur",
- "chambre",
- "chance",
- "chapitre",
- "charbon",
- "chasseur",
- "chaton",
- "chausson",
- "chavirer",
- "chemise",
- "chenille",
- "chéquier",
- "chercher",
- "cheval",
- "chien",
- "chiffre",
- "chignon",
- "chimère",
- "chiot",
- "chlorure",
- "chocolat",
- "choisir",
- "chose",
- "chouette",
- "chrome",
- "chute",
- "cigare",
- "cigogne",
- "cimenter",
- "cinéma",
- "cintrer",
- "circuler",
- "cirer",
- "cirque",
- "citerne",
- "citoyen",
- "citron",
- "civil",
- "clairon",
- "clameur",
- "claquer",
- "classe",
- "clavier",
- "client",
- "cligner",
- "climat",
- "clivage",
- "cloche",
- "clonage",
- "cloporte",
- "cobalt",
- "cobra",
- "cocasse",
- "cocotier",
- "coder",
- "codifier",
- "coffre",
- "cogner",
- "cohésion",
- "coiffer",
- "coincer",
- "colère",
- "colibri",
- "colline",
- "colmater",
- "colonel",
- "combat",
- "comédie",
- "commande",
- "compact",
- "concert",
- "conduire",
- "confier",
- "congeler",
- "connoter",
- "consonne",
- "contact",
- "convexe",
- "copain",
- "copie",
- "corail",
- "corbeau",
- "cordage",
- "corniche",
- "corpus",
- "correct",
- "cortège",
- "cosmique",
- "costume",
- "coton",
- "coude",
- "coupure",
- "courage",
- "couteau",
- "couvrir",
- "coyote",
- "crabe",
- "crainte",
- "cravate",
- "crayon",
- "créature",
- "créditer",
- "crémeux",
- "creuser",
- "crevette",
- "cribler",
- "crier",
- "cristal",
- "critère",
- "croire",
- "croquer",
- "crotale",
- "crucial",
- "cruel",
- "crypter",
- "cubique",
- "cueillir",
- "cuillère",
- "cuisine",
- "cuivre",
- "culminer",
- "cultiver",
- "cumuler",
- "cupide",
- "curatif",
- "curseur",
- "cyanure",
- "cycle",
- "cylindre",
- "cynique",
- "daigner",
- "damier",
- "danger",
- "danseur",
- "dauphin",
- "débattre",
- "débiter",
- "déborder",
- "débrider",
- "débutant",
- "décaler",
- "décembre",
- "déchirer",
- "décider",
- "déclarer",
- "décorer",
- "décrire",
- "décupler",
- "dédale",
- "déductif",
- "déesse",
- "défensif",
- "défiler",
- "défrayer",
- "dégager",
- "dégivrer",
- "déglutir",
- "dégrafer",
- "déjeuner",
- "délice",
- "déloger",
- "demander",
- "demeurer",
- "démolir",
- "dénicher",
- "dénouer",
- "dentelle",
- "dénuder",
- "départ",
- "dépenser",
- "déphaser",
- "déplacer",
- "déposer",
- "déranger",
- "dérober",
- "désastre",
- "descente",
- "désert",
- "désigner",
- "désobéir",
- "dessiner",
- "destrier",
- "détacher",
- "détester",
- "détourer",
- "détresse",
- "devancer",
- "devenir",
- "deviner",
- "devoir",
- "diable",
- "dialogue",
- "diamant",
- "dicter",
- "différer",
- "digérer",
- "digital",
- "digne",
- "diluer",
- "dimanche",
- "diminuer",
- "dioxyde",
- "directif",
- "diriger",
- "discuter",
- "disposer",
- "dissiper",
- "distance",
- "divertir",
- "diviser",
- "docile",
- "docteur",
- "dogme",
- "doigt",
- "domaine",
- "domicile",
- "dompter",
- "donateur",
- "donjon",
- "donner",
- "dopamine",
- "dortoir",
- "dorure",
- "dosage",
- "doseur",
- "dossier",
- "dotation",
- "douanier",
- "double",
- "douceur",
- "douter",
- "doyen",
- "dragon",
- "draper",
- "dresser",
- "dribbler",
- "droiture",
- "duperie",
- "duplexe",
- "durable",
- "durcir",
- "dynastie",
- "éblouir",
- "écarter",
- "écharpe",
- "échelle",
- "éclairer",
- "éclipse",
- "éclore",
- "écluse",
- "école",
- "économie",
- "écorce",
- "écouter",
- "écraser",
- "écrémer",
- "écrivain",
- "écrou",
- "écume",
- "écureuil",
- "édifier",
- "éduquer",
- "effacer",
- "effectif",
- "effigie",
- "effort",
- "effrayer",
- "effusion",
- "égaliser",
- "égarer",
- "éjecter",
- "élaborer",
- "élargir",
- "électron",
- "élégant",
- "éléphant",
- "élève",
- "éligible",
- "élitisme",
- "éloge",
- "élucider",
- "éluder",
- "emballer",
- "embellir",
- "embryon",
- "émeraude",
- "émission",
- "emmener",
- "émotion",
- "émouvoir",
- "empereur",
- "employer",
- "emporter",
- "emprise",
- "émulsion",
- "encadrer",
- "enchère",
- "enclave",
- "encoche",
- "endiguer",
- "endosser",
- "endroit",
- "enduire",
- "énergie",
- "enfance",
- "enfermer",
- "enfouir",
- "engager",
- "engin",
- "englober",
- "énigme",
- "enjamber",
- "enjeu",
- "enlever",
- "ennemi",
- "ennuyeux",
- "enrichir",
- "enrobage",
- "enseigne",
- "entasser",
- "entendre",
- "entier",
- "entourer",
- "entraver",
- "énumérer",
- "envahir",
- "enviable",
- "envoyer",
- "enzyme",
- "éolien",
- "épaissir",
- "épargne",
- "épatant",
- "épaule",
- "épicerie",
- "épidémie",
- "épier",
- "épilogue",
- "épine",
- "épisode",
- "épitaphe",
- "époque",
- "épreuve",
- "éprouver",
- "épuisant",
- "équerre",
- "équipe",
- "ériger",
- "érosion",
- "erreur",
- "éruption",
- "escalier",
- "espadon",
- "espèce",
- "espiègle",
- "espoir",
- "esprit",
- "esquiver",
- "essayer",
- "essence",
- "essieu",
- "essorer",
- "estime",
- "estomac",
- "estrade",
- "étagère",
- "étaler",
- "étanche",
- "étatique",
- "éteindre",
- "étendoir",
- "éternel",
- "éthanol",
- "éthique",
- "ethnie",
- "étirer",
- "étoffer",
- "étoile",
- "étonnant",
- "étourdir",
- "étrange",
- "étroit",
- "étude",
- "euphorie",
- "évaluer",
- "évasion",
- "éventail",
- "évidence",
- "éviter",
- "évolutif",
- "évoquer",
- "exact",
- "exagérer",
- "exaucer",
- "exceller",
- "excitant",
- "exclusif",
- "excuse",
- "exécuter",
- "exemple",
- "exercer",
- "exhaler",
- "exhorter",
- "exigence",
- "exiler",
- "exister",
- "exotique",
- "expédier",
- "explorer",
- "exposer",
- "exprimer",
- "exquis",
- "extensif",
- "extraire",
- "exulter",
- "fable",
- "fabuleux",
- "facette",
- "facile",
- "facture",
- "faiblir",
- "falaise",
- "fameux",
- "famille",
- "farceur",
- "farfelu",
- "farine",
- "farouche",
- "fasciner",
- "fatal",
- "fatigue",
- "faucon",
- "fautif",
- "faveur",
- "favori",
- "fébrile",
- "féconder",
- "fédérer",
- "félin",
- "femme",
- "fémur",
- "fendoir",
- "féodal",
- "fermer",
- "féroce",
- "ferveur",
- "festival",
- "feuille",
- "feutre",
- "février",
- "fiasco",
- "ficeler",
- "fictif",
- "fidèle",
- "figure",
- "filature",
- "filetage",
- "filière",
- "filleul",
- "filmer",
- "filou",
- "filtrer",
- "financer",
- "finir",
- "fiole",
- "firme",
- "fissure",
- "fixer",
- "flairer",
- "flamme",
- "flasque",
- "flatteur",
- "fléau",
- "flèche",
- "fleur",
- "flexion",
- "flocon",
- "flore",
- "fluctuer",
- "fluide",
- "fluvial",
- "folie",
- "fonderie",
- "fongible",
- "fontaine",
- "forcer",
- "forgeron",
- "formuler",
- "fortune",
- "fossile",
- "foudre",
- "fougère",
- "fouiller",
- "foulure",
- "fourmi",
- "fragile",
- "fraise",
- "franchir",
- "frapper",
- "frayeur",
- "frégate",
- "freiner",
- "frelon",
- "frémir",
- "frénésie",
- "frère",
- "friable",
- "friction",
- "frisson",
- "frivole",
- "froid",
- "fromage",
- "frontal",
- "frotter",
- "fruit",
- "fugitif",
- "fuite",
- "fureur",
- "furieux",
- "furtif",
- "fusion",
- "futur",
- "gagner",
- "galaxie",
- "galerie",
- "gambader",
- "garantir",
- "gardien",
- "garnir",
- "garrigue",
- "gazelle",
- "gazon",
- "géant",
- "gélatine",
- "gélule",
- "gendarme",
- "général",
- "génie",
- "genou",
- "gentil",
- "géologie",
- "géomètre",
- "géranium",
- "germe",
- "gestuel",
- "geyser",
- "gibier",
- "gicler",
- "girafe",
- "givre",
- "glace",
- "glaive",
- "glisser",
- "globe",
- "gloire",
- "glorieux",
- "golfeur",
- "gomme",
- "gonfler",
- "gorge",
- "gorille",
- "goudron",
- "gouffre",
- "goulot",
- "goupille",
- "gourmand",
- "goutte",
- "graduel",
- "graffiti",
- "graine",
- "grand",
- "grappin",
- "gratuit",
- "gravir",
- "grenat",
- "griffure",
- "griller",
- "grimper",
- "grogner",
- "gronder",
- "grotte",
- "groupe",
- "gruger",
- "grutier",
- "gruyère",
- "guépard",
- "guerrier",
- "guide",
- "guimauve",
- "guitare",
- "gustatif",
- "gymnaste",
- "gyrostat",
- "habitude",
- "hachoir",
- "halte",
- "hameau",
- "hangar",
- "hanneton",
- "haricot",
- "harmonie",
- "harpon",
- "hasard",
- "hélium",
- "hématome",
- "herbe",
- "hérisson",
- "hermine",
- "héron",
- "hésiter",
- "heureux",
- "hiberner",
- "hibou",
- "hilarant",
- "histoire",
- "hiver",
- "homard",
- "hommage",
- "homogène",
- "honneur",
- "honorer",
- "honteux",
- "horde",
- "horizon",
- "horloge",
- "hormone",
- "horrible",
- "houleux",
- "housse",
- "hublot",
- "huileux",
- "humain",
- "humble",
- "humide",
- "humour",
- "hurler",
- "hydromel",
- "hygiène",
- "hymne",
- "hypnose",
- "idylle",
- "ignorer",
- "iguane",
- "illicite",
- "illusion",
- "image",
- "imbiber",
- "imiter",
- "immense",
- "immobile",
- "immuable",
- "impact",
- "impérial",
- "implorer",
- "imposer",
- "imprimer",
- "imputer",
- "incarner",
- "incendie",
- "incident",
- "incliner",
- "incolore",
- "indexer",
- "indice",
- "inductif",
- "inédit",
- "ineptie",
- "inexact",
- "infini",
- "infliger",
- "informer",
- "infusion",
- "ingérer",
- "inhaler",
- "inhiber",
- "injecter",
- "injure",
- "innocent",
- "inoculer",
- "inonder",
- "inscrire",
- "insecte",
- "insigne",
- "insolite",
- "inspirer",
- "instinct",
- "insulter",
- "intact",
- "intense",
- "intime",
- "intrigue",
- "intuitif",
- "inutile",
- "invasion",
- "inventer",
- "inviter",
- "invoquer",
- "ironique",
- "irradier",
- "irréel",
- "irriter",
- "isoler",
- "ivoire",
- "ivresse",
- "jaguar",
- "jaillir",
- "jambe",
- "janvier",
- "jardin",
- "jauger",
- "jaune",
- "javelot",
- "jetable",
- "jeton",
- "jeudi",
- "jeunesse",
- "joindre",
- "joncher",
- "jongler",
- "joueur",
- "jouissif",
- "journal",
- "jovial",
- "joyau",
- "joyeux",
- "jubiler",
- "jugement",
- "junior",
- "jupon",
- "juriste",
- "justice",
- "juteux",
- "juvénile",
- "kayak",
- "kimono",
- "kiosque",
- "label",
- "labial",
- "labourer",
- "lacérer",
- "lactose",
- "lagune",
- "laine",
- "laisser",
- "laitier",
- "lambeau",
- "lamelle",
- "lampe",
- "lanceur",
- "langage",
- "lanterne",
- "lapin",
- "largeur",
- "larme",
- "laurier",
- "lavabo",
- "lavoir",
- "lecture",
- "légal",
- "léger",
- "légume",
- "lessive",
- "lettre",
- "levier",
- "lexique",
- "lézard",
- "liasse",
- "libérer",
- "libre",
- "licence",
- "licorne",
- "liège",
- "lièvre",
- "ligature",
- "ligoter",
- "ligue",
- "limer",
- "limite",
- "limonade",
- "limpide",
- "linéaire",
- "lingot",
- "lionceau",
- "liquide",
- "lisière",
- "lister",
- "lithium",
- "litige",
- "littoral",
- "livreur",
- "logique",
- "lointain",
- "loisir",
- "lombric",
- "loterie",
- "louer",
- "lourd",
- "loutre",
- "louve",
- "loyal",
- "lubie",
- "lucide",
- "lucratif",
- "lueur",
- "lugubre",
- "luisant",
- "lumière",
- "lunaire",
- "lundi",
- "luron",
- "lutter",
- "luxueux",
- "machine",
- "magasin",
- "magenta",
- "magique",
- "maigre",
- "maillon",
- "maintien",
- "mairie",
- "maison",
- "majorer",
- "malaxer",
- "maléfice",
- "malheur",
- "malice",
- "mallette",
- "mammouth",
- "mandater",
- "maniable",
- "manquant",
- "manteau",
- "manuel",
- "marathon",
- "marbre",
- "marchand",
- "mardi",
- "maritime",
- "marqueur",
- "marron",
- "marteler",
- "mascotte",
- "massif",
- "matériel",
- "matière",
- "matraque",
- "maudire",
- "maussade",
- "mauve",
- "maximal",
- "méchant",
- "méconnu",
- "médaille",
- "médecin",
- "méditer",
- "méduse",
- "meilleur",
- "mélange",
- "mélodie",
- "membre",
- "mémoire",
- "menacer",
- "mener",
- "menhir",
- "mensonge",
- "mentor",
- "mercredi",
- "mérite",
- "merle",
- "messager",
- "mesure",
- "métal",
- "météore",
- "méthode",
- "métier",
- "meuble",
- "miauler",
- "microbe",
- "miette",
- "mignon",
- "migrer",
- "milieu",
- "million",
- "mimique",
- "mince",
- "minéral",
- "minimal",
- "minorer",
- "minute",
- "miracle",
- "miroiter",
- "missile",
- "mixte",
- "mobile",
- "moderne",
- "moelleux",
- "mondial",
- "moniteur",
- "monnaie",
- "monotone",
- "monstre",
- "montagne",
- "monument",
- "moqueur",
- "morceau",
- "morsure",
- "mortier",
- "moteur",
- "motif",
- "mouche",
- "moufle",
- "moulin",
- "mousson",
- "mouton",
- "mouvant",
- "multiple",
- "munition",
- "muraille",
- "murène",
- "murmure",
- "muscle",
- "muséum",
- "musicien",
- "mutation",
- "muter",
- "mutuel",
- "myriade",
- "myrtille",
- "mystère",
- "mythique",
- "nageur",
- "nappe",
- "narquois",
- "narrer",
- "natation",
- "nation",
- "nature",
- "naufrage",
- "nautique",
- "navire",
- "nébuleux",
- "nectar",
- "néfaste",
- "négation",
- "négliger",
- "négocier",
- "neige",
- "nerveux",
- "nettoyer",
- "neurone",
- "neutron",
- "neveu",
- "niche",
- "nickel",
- "nitrate",
- "niveau",
- "noble",
- "nocif",
- "nocturne",
- "noirceur",
- "noisette",
- "nomade",
- "nombreux",
- "nommer",
- "normatif",
- "notable",
- "notifier",
- "notoire",
- "nourrir",
- "nouveau",
- "novateur",
- "novembre",
- "novice",
- "nuage",
- "nuancer",
- "nuire",
- "nuisible",
- "numéro",
- "nuptial",
- "nuque",
- "nutritif",
- "obéir",
- "objectif",
- "obliger",
- "obscur",
- "observer",
- "obstacle",
- "obtenir",
- "obturer",
- "occasion",
- "occuper",
- "océan",
- "octobre",
- "octroyer",
- "octupler",
- "oculaire",
- "odeur",
- "odorant",
- "offenser",
- "officier",
- "offrir",
- "ogive",
- "oiseau",
- "oisillon",
- "olfactif",
- "olivier",
- "ombrage",
- "omettre",
- "onctueux",
- "onduler",
- "onéreux",
- "onirique",
- "opale",
- "opaque",
- "opérer",
- "opinion",
- "opportun",
- "opprimer",
- "opter",
- "optique",
- "orageux",
- "orange",
- "orbite",
- "ordonner",
- "oreille",
- "organe",
- "orgueil",
- "orifice",
- "ornement",
- "orque",
- "ortie",
- "osciller",
- "osmose",
- "ossature",
- "otarie",
- "ouragan",
- "ourson",
- "outil",
- "outrager",
- "ouvrage",
- "ovation",
- "oxyde",
- "oxygène",
- "ozone",
- "paisible",
- "palace",
- "palmarès",
- "palourde",
- "palper",
- "panache",
- "panda",
- "pangolin",
- "paniquer",
- "panneau",
- "panorama",
- "pantalon",
- "papaye",
- "papier",
- "papoter",
- "papyrus",
- "paradoxe",
- "parcelle",
- "paresse",
- "parfumer",
- "parler",
- "parole",
- "parrain",
- "parsemer",
- "partager",
- "parure",
- "parvenir",
- "passion",
- "pastèque",
- "paternel",
- "patience",
- "patron",
- "pavillon",
- "pavoiser",
- "payer",
- "paysage",
- "peigne",
- "peintre",
- "pelage",
- "pélican",
- "pelle",
- "pelouse",
- "peluche",
- "pendule",
- "pénétrer",
- "pénible",
- "pensif",
- "pénurie",
- "pépite",
- "péplum",
- "perdrix",
- "perforer",
- "période",
- "permuter",
- "perplexe",
- "persil",
- "perte",
- "peser",
- "pétale",
- "petit",
- "pétrir",
- "peuple",
- "pharaon",
- "phobie",
- "phoque",
- "photon",
- "phrase",
- "physique",
- "piano",
- "pictural",
- "pièce",
- "pierre",
- "pieuvre",
- "pilote",
- "pinceau",
- "pipette",
- "piquer",
- "pirogue",
- "piscine",
- "piston",
- "pivoter",
- "pixel",
- "pizza",
- "placard",
- "plafond",
- "plaisir",
- "planer",
- "plaque",
- "plastron",
- "plateau",
- "pleurer",
- "plexus",
- "pliage",
- "plomb",
- "plonger",
- "pluie",
- "plumage",
- "pochette",
- "poésie",
- "poète",
- "pointe",
- "poirier",
- "poisson",
- "poivre",
- "polaire",
- "policier",
- "pollen",
- "polygone",
- "pommade",
- "pompier",
- "ponctuel",
- "pondérer",
- "poney",
- "portique",
- "position",
- "posséder",
- "posture",
- "potager",
- "poteau",
- "potion",
- "pouce",
- "poulain",
- "poumon",
- "pourpre",
- "poussin",
- "pouvoir",
- "prairie",
- "pratique",
- "précieux",
- "prédire",
- "préfixe",
- "prélude",
- "prénom",
- "présence",
- "prétexte",
- "prévoir",
- "primitif",
- "prince",
- "prison",
- "priver",
- "problème",
- "procéder",
- "prodige",
- "profond",
- "progrès",
- "proie",
- "projeter",
- "prologue",
- "promener",
- "propre",
- "prospère",
- "protéger",
- "prouesse",
- "proverbe",
- "prudence",
- "pruneau",
- "psychose",
- "public",
- "puceron",
- "puiser",
- "pulpe",
- "pulsar",
- "punaise",
- "punitif",
- "pupitre",
- "purifier",
- "puzzle",
- "pyramide",
- "quasar",
- "querelle",
- "question",
- "quiétude",
- "quitter",
- "quotient",
- "racine",
- "raconter",
- "radieux",
- "ragondin",
- "raideur",
- "raisin",
- "ralentir",
- "rallonge",
- "ramasser",
- "rapide",
- "rasage",
- "ratisser",
- "ravager",
- "ravin",
- "rayonner",
- "réactif",
- "réagir",
- "réaliser",
- "réanimer",
- "recevoir",
- "réciter",
- "réclamer",
- "récolter",
- "recruter",
- "reculer",
- "recycler",
- "rédiger",
- "redouter",
- "refaire",
- "réflexe",
- "réformer",
- "refrain",
- "refuge",
- "régalien",
- "région",
- "réglage",
- "régulier",
- "réitérer",
- "rejeter",
- "rejouer",
- "relatif",
- "relever",
- "relief",
- "remarque",
- "remède",
- "remise",
- "remonter",
- "remplir",
- "remuer",
- "renard",
- "renfort",
- "renifler",
- "renoncer",
- "rentrer",
- "renvoi",
- "replier",
- "reporter",
- "reprise",
- "reptile",
- "requin",
- "réserve",
- "résineux",
- "résoudre",
- "respect",
- "rester",
- "résultat",
- "rétablir",
- "retenir",
- "réticule",
- "retomber",
- "retracer",
- "réunion",
- "réussir",
- "revanche",
- "revivre",
- "révolte",
- "révulsif",
- "richesse",
- "rideau",
- "rieur",
- "rigide",
- "rigoler",
- "rincer",
- "riposter",
- "risible",
- "risque",
- "rituel",
- "rival",
- "rivière",
- "rocheux",
- "romance",
- "rompre",
- "ronce",
- "rondin",
- "roseau",
- "rosier",
- "rotatif",
- "rotor",
- "rotule",
- "rouge",
- "rouille",
- "rouleau",
- "routine",
- "royaume",
- "ruban",
- "rubis",
- "ruche",
- "ruelle",
- "rugueux",
- "ruiner",
- "ruisseau",
- "ruser",
- "rustique",
- "rythme",
- "sabler",
- "saboter",
- "sabre",
- "sacoche",
- "safari",
- "sagesse",
- "saisir",
- "salade",
- "salive",
- "salon",
- "saluer",
- "samedi",
- "sanction",
- "sanglier",
- "sarcasme",
- "sardine",
- "saturer",
- "saugrenu",
- "saumon",
- "sauter",
- "sauvage",
- "savant",
- "savonner",
- "scalpel",
- "scandale",
- "scélérat",
- "scénario",
- "sceptre",
- "schéma",
- "science",
- "scinder",
- "score",
- "scrutin",
- "sculpter",
- "séance",
- "sécable",
- "sécher",
- "secouer",
- "sécréter",
- "sédatif",
- "séduire",
- "seigneur",
- "séjour",
- "sélectif",
- "semaine",
- "sembler",
- "semence",
- "séminal",
- "sénateur",
- "sensible",
- "sentence",
- "séparer",
- "séquence",
- "serein",
- "sergent",
- "sérieux",
- "serrure",
- "sérum",
- "service",
- "sésame",
- "sévir",
- "sevrage",
- "sextuple",
- "sidéral",
- "siècle",
- "siéger",
- "siffler",
- "sigle",
- "signal",
- "silence",
- "silicium",
- "simple",
- "sincère",
- "sinistre",
- "siphon",
- "sirop",
- "sismique",
- "situer",
- "skier",
- "social",
- "socle",
- "sodium",
- "soigneux",
- "soldat",
- "soleil",
- "solitude",
- "soluble",
- "sombre",
- "sommeil",
- "somnoler",
- "sonde",
- "songeur",
- "sonnette",
- "sonore",
- "sorcier",
- "sortir",
- "sosie",
- "sottise",
- "soucieux",
- "soudure",
- "souffle",
- "soulever",
- "soupape",
- "source",
- "soutirer",
- "souvenir",
- "spacieux",
- "spatial",
- "spécial",
- "sphère",
- "spiral",
- "stable",
- "station",
- "sternum",
- "stimulus",
- "stipuler",
- "strict",
- "studieux",
- "stupeur",
- "styliste",
- "sublime",
- "substrat",
- "subtil",
- "subvenir",
- "succès",
- "sucre",
- "suffixe",
- "suggérer",
- "suiveur",
- "sulfate",
- "superbe",
- "supplier",
- "surface",
- "suricate",
- "surmener",
- "surprise",
- "sursaut",
- "survie",
- "suspect",
- "syllabe",
- "symbole",
- "symétrie",
- "synapse",
- "syntaxe",
- "système",
- "tabac",
- "tablier",
- "tactile",
- "tailler",
- "talent",
- "talisman",
- "talonner",
- "tambour",
- "tamiser",
- "tangible",
- "tapis",
- "taquiner",
- "tarder",
- "tarif",
- "tartine",
- "tasse",
- "tatami",
- "tatouage",
- "taupe",
- "taureau",
- "taxer",
- "témoin",
- "temporel",
- "tenaille",
- "tendre",
- "teneur",
- "tenir",
- "tension",
- "terminer",
- "terne",
- "terrible",
- "tétine",
- "texte",
- "thème",
- "théorie",
- "thérapie",
- "thorax",
- "tibia",
- "tiède",
- "timide",
- "tirelire",
- "tiroir",
- "tissu",
- "titane",
- "titre",
- "tituber",
- "toboggan",
- "tolérant",
- "tomate",
- "tonique",
- "tonneau",
- "toponyme",
- "torche",
- "tordre",
- "tornade",
- "torpille",
- "torrent",
- "torse",
- "tortue",
- "totem",
- "toucher",
- "tournage",
- "tousser",
- "toxine",
- "traction",
- "trafic",
- "tragique",
- "trahir",
- "train",
- "trancher",
- "travail",
- "trèfle",
- "tremper",
- "trésor",
- "treuil",
- "triage",
- "tribunal",
- "tricoter",
- "trilogie",
- "triomphe",
- "tripler",
- "triturer",
- "trivial",
- "trombone",
- "tronc",
- "tropical",
- "troupeau",
- "tuile",
- "tulipe",
- "tumulte",
- "tunnel",
- "turbine",
- "tuteur",
- "tutoyer",
- "tuyau",
- "tympan",
- "typhon",
- "typique",
- "tyran",
- "ubuesque",
- "ultime",
- "ultrason",
- "unanime",
- "unifier",
- "union",
- "unique",
- "unitaire",
- "univers",
- "uranium",
- "urbain",
- "urticant",
- "usage",
- "usine",
- "usuel",
- "usure",
- "utile",
- "utopie",
- "vacarme",
- "vaccin",
- "vagabond",
- "vague",
- "vaillant",
- "vaincre",
- "vaisseau",
- "valable",
- "valise",
- "vallon",
- "valve",
- "vampire",
- "vanille",
- "vapeur",
- "varier",
- "vaseux",
- "vassal",
- "vaste",
- "vecteur",
- "vedette",
- "végétal",
- "véhicule",
- "veinard",
- "véloce",
- "vendredi",
- "vénérer",
- "venger",
- "venimeux",
- "ventouse",
- "verdure",
- "vérin",
- "vernir",
- "verrou",
- "verser",
- "vertu",
- "veston",
- "vétéran",
- "vétuste",
- "vexant",
- "vexer",
- "viaduc",
- "viande",
- "victoire",
- "vidange",
- "vidéo",
- "vignette",
- "vigueur",
- "vilain",
- "village",
- "vinaigre",
- "violon",
- "vipère",
- "virement",
- "virtuose",
- "virus",
- "visage",
- "viseur",
- "vision",
- "visqueux",
- "visuel",
- "vital",
- "vitesse",
- "viticole",
- "vitrine",
- "vivace",
- "vivipare",
- "vocation",
- "voguer",
- "voile",
- "voisin",
- "voiture",
- "volaille",
- "volcan",
- "voltiger",
- "volume",
- "vorace",
- "vortex",
- "voter",
- "vouloir",
- "voyage",
- "voyelle",
- "wagon",
- "xénon",
- "yacht",
- "zèbre",
- "zénith",
- "zeste",
- "zoologie"
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/wordlists/Japanese.java b/app/src/main/java/io/github/novacrypto/bip39/wordlists/Japanese.java
deleted file mode 100644
index d6e75ac47a..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/wordlists/Japanese.java
+++ /dev/null
@@ -1,2092 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.wordlists;
-
-import io.github.novacrypto.bip39.WordList;
-
-/**
- * Source: https://github.com/bitcoin/bips/blob/master/bip-0039/japanese.txt
- */
-public enum Japanese implements WordList {
- INSTANCE;
-
- @Override
- public String getWord(final int index) {
- return words[index];
- }
-
- @Override
- public char getSpace() {
- return '\u3000'; //IDEOGRAPHIC SPACE
- }
-
- private final static String[] words = new String[]{
- "あいこくしん",
- "あいさつ",
- "あいだ",
- "あおぞら",
- "あかちゃん",
- "あきる",
- "あけがた",
- "あける",
- "あこがれる",
- "あさい",
- "あさひ",
- "あしあと",
- "あじわう",
- "あずかる",
- "あずき",
- "あそぶ",
- "あたえる",
- "あたためる",
- "あたりまえ",
- "あたる",
- "あつい",
- "あつかう",
- "あっしゅく",
- "あつまり",
- "あつめる",
- "あてな",
- "あてはまる",
- "あひる",
- "あぶら",
- "あぶる",
- "あふれる",
- "あまい",
- "あまど",
- "あまやかす",
- "あまり",
- "あみもの",
- "あめりか",
- "あやまる",
- "あゆむ",
- "あらいぐま",
- "あらし",
- "あらすじ",
- "あらためる",
- "あらゆる",
- "あらわす",
- "ありがとう",
- "あわせる",
- "あわてる",
- "あんい",
- "あんがい",
- "あんこ",
- "あんぜん",
- "あんてい",
- "あんない",
- "あんまり",
- "いいだす",
- "いおん",
- "いがい",
- "いがく",
- "いきおい",
- "いきなり",
- "いきもの",
- "いきる",
- "いくじ",
- "いくぶん",
- "いけばな",
- "いけん",
- "いこう",
- "いこく",
- "いこつ",
- "いさましい",
- "いさん",
- "いしき",
- "いじゅう",
- "いじょう",
- "いじわる",
- "いずみ",
- "いずれ",
- "いせい",
- "いせえび",
- "いせかい",
- "いせき",
- "いぜん",
- "いそうろう",
- "いそがしい",
- "いだい",
- "いだく",
- "いたずら",
- "いたみ",
- "いたりあ",
- "いちおう",
- "いちじ",
- "いちど",
- "いちば",
- "いちぶ",
- "いちりゅう",
- "いつか",
- "いっしゅん",
- "いっせい",
- "いっそう",
- "いったん",
- "いっち",
- "いってい",
- "いっぽう",
- "いてざ",
- "いてん",
- "いどう",
- "いとこ",
- "いない",
- "いなか",
- "いねむり",
- "いのち",
- "いのる",
- "いはつ",
- "いばる",
- "いはん",
- "いびき",
- "いひん",
- "いふく",
- "いへん",
- "いほう",
- "いみん",
- "いもうと",
- "いもたれ",
- "いもり",
- "いやがる",
- "いやす",
- "いよかん",
- "いよく",
- "いらい",
- "いらすと",
- "いりぐち",
- "いりょう",
- "いれい",
- "いれもの",
- "いれる",
- "いろえんぴつ",
- "いわい",
- "いわう",
- "いわかん",
- "いわば",
- "いわゆる",
- "いんげんまめ",
- "いんさつ",
- "いんしょう",
- "いんよう",
- "うえき",
- "うえる",
- "うおざ",
- "うがい",
- "うかぶ",
- "うかべる",
- "うきわ",
- "うくらいな",
- "うくれれ",
- "うけたまわる",
- "うけつけ",
- "うけとる",
- "うけもつ",
- "うける",
- "うごかす",
- "うごく",
- "うこん",
- "うさぎ",
- "うしなう",
- "うしろがみ",
- "うすい",
- "うすぎ",
- "うすぐらい",
- "うすめる",
- "うせつ",
- "うちあわせ",
- "うちがわ",
- "うちき",
- "うちゅう",
- "うっかり",
- "うつくしい",
- "うったえる",
- "うつる",
- "うどん",
- "うなぎ",
- "うなじ",
- "うなずく",
- "うなる",
- "うねる",
- "うのう",
- "うぶげ",
- "うぶごえ",
- "うまれる",
- "うめる",
- "うもう",
- "うやまう",
- "うよく",
- "うらがえす",
- "うらぐち",
- "うらない",
- "うりあげ",
- "うりきれ",
- "うるさい",
- "うれしい",
- "うれゆき",
- "うれる",
- "うろこ",
- "うわき",
- "うわさ",
- "うんこう",
- "うんちん",
- "うんてん",
- "うんどう",
- "えいえん",
- "えいが",
- "えいきょう",
- "えいご",
- "えいせい",
- "えいぶん",
- "えいよう",
- "えいわ",
- "えおり",
- "えがお",
- "えがく",
- "えきたい",
- "えくせる",
- "えしゃく",
- "えすて",
- "えつらん",
- "えのぐ",
- "えほうまき",
- "えほん",
- "えまき",
- "えもじ",
- "えもの",
- "えらい",
- "えらぶ",
- "えりあ",
- "えんえん",
- "えんかい",
- "えんぎ",
- "えんげき",
- "えんしゅう",
- "えんぜつ",
- "えんそく",
- "えんちょう",
- "えんとつ",
- "おいかける",
- "おいこす",
- "おいしい",
- "おいつく",
- "おうえん",
- "おうさま",
- "おうじ",
- "おうせつ",
- "おうたい",
- "おうふく",
- "おうべい",
- "おうよう",
- "おえる",
- "おおい",
- "おおう",
- "おおどおり",
- "おおや",
- "おおよそ",
- "おかえり",
- "おかず",
- "おがむ",
- "おかわり",
- "おぎなう",
- "おきる",
- "おくさま",
- "おくじょう",
- "おくりがな",
- "おくる",
- "おくれる",
- "おこす",
- "おこなう",
- "おこる",
- "おさえる",
- "おさない",
- "おさめる",
- "おしいれ",
- "おしえる",
- "おじぎ",
- "おじさん",
- "おしゃれ",
- "おそらく",
- "おそわる",
- "おたがい",
- "おたく",
- "おだやか",
- "おちつく",
- "おっと",
- "おつり",
- "おでかけ",
- "おとしもの",
- "おとなしい",
- "おどり",
- "おどろかす",
- "おばさん",
- "おまいり",
- "おめでとう",
- "おもいで",
- "おもう",
- "おもたい",
- "おもちゃ",
- "おやつ",
- "おやゆび",
- "およぼす",
- "おらんだ",
- "おろす",
- "おんがく",
- "おんけい",
- "おんしゃ",
- "おんせん",
- "おんだん",
- "おんちゅう",
- "おんどけい",
- "かあつ",
- "かいが",
- "がいき",
- "がいけん",
- "がいこう",
- "かいさつ",
- "かいしゃ",
- "かいすいよく",
- "かいぜん",
- "かいぞうど",
- "かいつう",
- "かいてん",
- "かいとう",
- "かいふく",
- "がいへき",
- "かいほう",
- "かいよう",
- "がいらい",
- "かいわ",
- "かえる",
- "かおり",
- "かかえる",
- "かがく",
- "かがし",
- "かがみ",
- "かくご",
- "かくとく",
- "かざる",
- "がぞう",
- "かたい",
- "かたち",
- "がちょう",
- "がっきゅう",
- "がっこう",
- "がっさん",
- "がっしょう",
- "かなざわし",
- "かのう",
- "がはく",
- "かぶか",
- "かほう",
- "かほご",
- "かまう",
- "かまぼこ",
- "かめれおん",
- "かゆい",
- "かようび",
- "からい",
- "かるい",
- "かろう",
- "かわく",
- "かわら",
- "がんか",
- "かんけい",
- "かんこう",
- "かんしゃ",
- "かんそう",
- "かんたん",
- "かんち",
- "がんばる",
- "きあい",
- "きあつ",
- "きいろ",
- "ぎいん",
- "きうい",
- "きうん",
- "きえる",
- "きおう",
- "きおく",
- "きおち",
- "きおん",
- "きかい",
- "きかく",
- "きかんしゃ",
- "ききて",
- "きくばり",
- "きくらげ",
- "きけんせい",
- "きこう",
- "きこえる",
- "きこく",
- "きさい",
- "きさく",
- "きさま",
- "きさらぎ",
- "ぎじかがく",
- "ぎしき",
- "ぎじたいけん",
- "ぎじにってい",
- "ぎじゅつしゃ",
- "きすう",
- "きせい",
- "きせき",
- "きせつ",
- "きそう",
- "きぞく",
- "きぞん",
- "きたえる",
- "きちょう",
- "きつえん",
- "ぎっちり",
- "きつつき",
- "きつね",
- "きてい",
- "きどう",
- "きどく",
- "きない",
- "きなが",
- "きなこ",
- "きぬごし",
- "きねん",
- "きのう",
- "きのした",
- "きはく",
- "きびしい",
- "きひん",
- "きふく",
- "きぶん",
- "きぼう",
- "きほん",
- "きまる",
- "きみつ",
- "きむずかしい",
- "きめる",
- "きもだめし",
- "きもち",
- "きもの",
- "きゃく",
- "きやく",
- "ぎゅうにく",
- "きよう",
- "きょうりゅう",
- "きらい",
- "きらく",
- "きりん",
- "きれい",
- "きれつ",
- "きろく",
- "ぎろん",
- "きわめる",
- "ぎんいろ",
- "きんかくじ",
- "きんじょ",
- "きんようび",
- "ぐあい",
- "くいず",
- "くうかん",
- "くうき",
- "くうぐん",
- "くうこう",
- "ぐうせい",
- "くうそう",
- "ぐうたら",
- "くうふく",
- "くうぼ",
- "くかん",
- "くきょう",
- "くげん",
- "ぐこう",
- "くさい",
- "くさき",
- "くさばな",
- "くさる",
- "くしゃみ",
- "くしょう",
- "くすのき",
- "くすりゆび",
- "くせげ",
- "くせん",
- "ぐたいてき",
- "くださる",
- "くたびれる",
- "くちこみ",
- "くちさき",
- "くつした",
- "ぐっすり",
- "くつろぐ",
- "くとうてん",
- "くどく",
- "くなん",
- "くねくね",
- "くのう",
- "くふう",
- "くみあわせ",
- "くみたてる",
- "くめる",
- "くやくしょ",
- "くらす",
- "くらべる",
- "くるま",
- "くれる",
- "くろう",
- "くわしい",
- "ぐんかん",
- "ぐんしょく",
- "ぐんたい",
- "ぐんて",
- "けあな",
- "けいかく",
- "けいけん",
- "けいこ",
- "けいさつ",
- "げいじゅつ",
- "けいたい",
- "げいのうじん",
- "けいれき",
- "けいろ",
- "けおとす",
- "けおりもの",
- "げきか",
- "げきげん",
- "げきだん",
- "げきちん",
- "げきとつ",
- "げきは",
- "げきやく",
- "げこう",
- "げこくじょう",
- "げざい",
- "けさき",
- "げざん",
- "けしき",
- "けしごむ",
- "けしょう",
- "げすと",
- "けたば",
- "けちゃっぷ",
- "けちらす",
- "けつあつ",
- "けつい",
- "けつえき",
- "けっこん",
- "けつじょ",
- "けっせき",
- "けってい",
- "けつまつ",
- "げつようび",
- "げつれい",
- "けつろん",
- "げどく",
- "けとばす",
- "けとる",
- "けなげ",
- "けなす",
- "けなみ",
- "けぬき",
- "げねつ",
- "けねん",
- "けはい",
- "げひん",
- "けぶかい",
- "げぼく",
- "けまり",
- "けみかる",
- "けむし",
- "けむり",
- "けもの",
- "けらい",
- "けろけろ",
- "けわしい",
- "けんい",
- "けんえつ",
- "けんお",
- "けんか",
- "げんき",
- "けんげん",
- "けんこう",
- "けんさく",
- "けんしゅう",
- "けんすう",
- "げんそう",
- "けんちく",
- "けんてい",
- "けんとう",
- "けんない",
- "けんにん",
- "げんぶつ",
- "けんま",
- "けんみん",
- "けんめい",
- "けんらん",
- "けんり",
- "こあくま",
- "こいぬ",
- "こいびと",
- "ごうい",
- "こうえん",
- "こうおん",
- "こうかん",
- "ごうきゅう",
- "ごうけい",
- "こうこう",
- "こうさい",
- "こうじ",
- "こうすい",
- "ごうせい",
- "こうそく",
- "こうたい",
- "こうちゃ",
- "こうつう",
- "こうてい",
- "こうどう",
- "こうない",
- "こうはい",
- "ごうほう",
- "ごうまん",
- "こうもく",
- "こうりつ",
- "こえる",
- "こおり",
- "ごかい",
- "ごがつ",
- "ごかん",
- "こくご",
- "こくさい",
- "こくとう",
- "こくない",
- "こくはく",
- "こぐま",
- "こけい",
- "こける",
- "ここのか",
- "こころ",
- "こさめ",
- "こしつ",
- "こすう",
- "こせい",
- "こせき",
- "こぜん",
- "こそだて",
- "こたい",
- "こたえる",
- "こたつ",
- "こちょう",
- "こっか",
- "こつこつ",
- "こつばん",
- "こつぶ",
- "こてい",
- "こてん",
- "ことがら",
- "ことし",
- "ことば",
- "ことり",
- "こなごな",
- "こねこね",
- "このまま",
- "このみ",
- "このよ",
- "ごはん",
- "こひつじ",
- "こふう",
- "こふん",
- "こぼれる",
- "ごまあぶら",
- "こまかい",
- "ごますり",
- "こまつな",
- "こまる",
- "こむぎこ",
- "こもじ",
- "こもち",
- "こもの",
- "こもん",
- "こやく",
- "こやま",
- "こゆう",
- "こゆび",
- "こよい",
- "こよう",
- "こりる",
- "これくしょん",
- "ころっけ",
- "こわもて",
- "こわれる",
- "こんいん",
- "こんかい",
- "こんき",
- "こんしゅう",
- "こんすい",
- "こんだて",
- "こんとん",
- "こんなん",
- "こんびに",
- "こんぽん",
- "こんまけ",
- "こんや",
- "こんれい",
- "こんわく",
- "ざいえき",
- "さいかい",
- "さいきん",
- "ざいげん",
- "ざいこ",
- "さいしょ",
- "さいせい",
- "ざいたく",
- "ざいちゅう",
- "さいてき",
- "ざいりょう",
- "さうな",
- "さかいし",
- "さがす",
- "さかな",
- "さかみち",
- "さがる",
- "さぎょう",
- "さくし",
- "さくひん",
- "さくら",
- "さこく",
- "さこつ",
- "さずかる",
- "ざせき",
- "さたん",
- "さつえい",
- "ざつおん",
- "ざっか",
- "ざつがく",
- "さっきょく",
- "ざっし",
- "さつじん",
- "ざっそう",
- "さつたば",
- "さつまいも",
- "さてい",
- "さといも",
- "さとう",
- "さとおや",
- "さとし",
- "さとる",
- "さのう",
- "さばく",
- "さびしい",
- "さべつ",
- "さほう",
- "さほど",
- "さます",
- "さみしい",
- "さみだれ",
- "さむけ",
- "さめる",
- "さやえんどう",
- "さゆう",
- "さよう",
- "さよく",
- "さらだ",
- "ざるそば",
- "さわやか",
- "さわる",
- "さんいん",
- "さんか",
- "さんきゃく",
- "さんこう",
- "さんさい",
- "ざんしょ",
- "さんすう",
- "さんせい",
- "さんそ",
- "さんち",
- "さんま",
- "さんみ",
- "さんらん",
- "しあい",
- "しあげ",
- "しあさって",
- "しあわせ",
- "しいく",
- "しいん",
- "しうち",
- "しえい",
- "しおけ",
- "しかい",
- "しかく",
- "じかん",
- "しごと",
- "しすう",
- "じだい",
- "したうけ",
- "したぎ",
- "したて",
- "したみ",
- "しちょう",
- "しちりん",
- "しっかり",
- "しつじ",
- "しつもん",
- "してい",
- "してき",
- "してつ",
- "じてん",
- "じどう",
- "しなぎれ",
- "しなもの",
- "しなん",
- "しねま",
- "しねん",
- "しのぐ",
- "しのぶ",
- "しはい",
- "しばかり",
- "しはつ",
- "しはらい",
- "しはん",
- "しひょう",
- "しふく",
- "じぶん",
- "しへい",
- "しほう",
- "しほん",
- "しまう",
- "しまる",
- "しみん",
- "しむける",
- "じむしょ",
- "しめい",
- "しめる",
- "しもん",
- "しゃいん",
- "しゃうん",
- "しゃおん",
- "じゃがいも",
- "しやくしょ",
- "しゃくほう",
- "しゃけん",
- "しゃこ",
- "しゃざい",
- "しゃしん",
- "しゃせん",
- "しゃそう",
- "しゃたい",
- "しゃちょう",
- "しゃっきん",
- "じゃま",
- "しゃりん",
- "しゃれい",
- "じゆう",
- "じゅうしょ",
- "しゅくはく",
- "じゅしん",
- "しゅっせき",
- "しゅみ",
- "しゅらば",
- "じゅんばん",
- "しょうかい",
- "しょくたく",
- "しょっけん",
- "しょどう",
- "しょもつ",
- "しらせる",
- "しらべる",
- "しんか",
- "しんこう",
- "じんじゃ",
- "しんせいじ",
- "しんちく",
- "しんりん",
- "すあげ",
- "すあし",
- "すあな",
- "ずあん",
- "すいえい",
- "すいか",
- "すいとう",
- "ずいぶん",
- "すいようび",
- "すうがく",
- "すうじつ",
- "すうせん",
- "すおどり",
- "すきま",
- "すくう",
- "すくない",
- "すける",
- "すごい",
- "すこし",
- "ずさん",
- "すずしい",
- "すすむ",
- "すすめる",
- "すっかり",
- "ずっしり",
- "ずっと",
- "すてき",
- "すてる",
- "すねる",
- "すのこ",
- "すはだ",
- "すばらしい",
- "ずひょう",
- "ずぶぬれ",
- "すぶり",
- "すふれ",
- "すべて",
- "すべる",
- "ずほう",
- "すぼん",
- "すまい",
- "すめし",
- "すもう",
- "すやき",
- "すらすら",
- "するめ",
- "すれちがう",
- "すろっと",
- "すわる",
- "すんぜん",
- "すんぽう",
- "せあぶら",
- "せいかつ",
- "せいげん",
- "せいじ",
- "せいよう",
- "せおう",
- "せかいかん",
- "せきにん",
- "せきむ",
- "せきゆ",
- "せきらんうん",
- "せけん",
- "せこう",
- "せすじ",
- "せたい",
- "せたけ",
- "せっかく",
- "せっきゃく",
- "ぜっく",
- "せっけん",
- "せっこつ",
- "せっさたくま",
- "せつぞく",
- "せつだん",
- "せつでん",
- "せっぱん",
- "せつび",
- "せつぶん",
- "せつめい",
- "せつりつ",
- "せなか",
- "せのび",
- "せはば",
- "せびろ",
- "せぼね",
- "せまい",
- "せまる",
- "せめる",
- "せもたれ",
- "せりふ",
- "ぜんあく",
- "せんい",
- "せんえい",
- "せんか",
- "せんきょ",
- "せんく",
- "せんげん",
- "ぜんご",
- "せんさい",
- "せんしゅ",
- "せんすい",
- "せんせい",
- "せんぞ",
- "せんたく",
- "せんちょう",
- "せんてい",
- "せんとう",
- "せんぬき",
- "せんねん",
- "せんぱい",
- "ぜんぶ",
- "ぜんぽう",
- "せんむ",
- "せんめんじょ",
- "せんもん",
- "せんやく",
- "せんゆう",
- "せんよう",
- "ぜんら",
- "ぜんりゃく",
- "せんれい",
- "せんろ",
- "そあく",
- "そいとげる",
- "そいね",
- "そうがんきょう",
- "そうき",
- "そうご",
- "そうしん",
- "そうだん",
- "そうなん",
- "そうび",
- "そうめん",
- "そうり",
- "そえもの",
- "そえん",
- "そがい",
- "そげき",
- "そこう",
- "そこそこ",
- "そざい",
- "そしな",
- "そせい",
- "そせん",
- "そそぐ",
- "そだてる",
- "そつう",
- "そつえん",
- "そっかん",
- "そつぎょう",
- "そっけつ",
- "そっこう",
- "そっせん",
- "そっと",
- "そとがわ",
- "そとづら",
- "そなえる",
- "そなた",
- "そふぼ",
- "そぼく",
- "そぼろ",
- "そまつ",
- "そまる",
- "そむく",
- "そむりえ",
- "そめる",
- "そもそも",
- "そよかぜ",
- "そらまめ",
- "そろう",
- "そんかい",
- "そんけい",
- "そんざい",
- "そんしつ",
- "そんぞく",
- "そんちょう",
- "ぞんび",
- "ぞんぶん",
- "そんみん",
- "たあい",
- "たいいん",
- "たいうん",
- "たいえき",
- "たいおう",
- "だいがく",
- "たいき",
- "たいぐう",
- "たいけん",
- "たいこ",
- "たいざい",
- "だいじょうぶ",
- "だいすき",
- "たいせつ",
- "たいそう",
- "だいたい",
- "たいちょう",
- "たいてい",
- "だいどころ",
- "たいない",
- "たいねつ",
- "たいのう",
- "たいはん",
- "だいひょう",
- "たいふう",
- "たいへん",
- "たいほ",
- "たいまつばな",
- "たいみんぐ",
- "たいむ",
- "たいめん",
- "たいやき",
- "たいよう",
- "たいら",
- "たいりょく",
- "たいる",
- "たいわん",
- "たうえ",
- "たえる",
- "たおす",
- "たおる",
- "たおれる",
- "たかい",
- "たかね",
- "たきび",
- "たくさん",
- "たこく",
- "たこやき",
- "たさい",
- "たしざん",
- "だじゃれ",
- "たすける",
- "たずさわる",
- "たそがれ",
- "たたかう",
- "たたく",
- "ただしい",
- "たたみ",
- "たちばな",
- "だっかい",
- "だっきゃく",
- "だっこ",
- "だっしゅつ",
- "だったい",
- "たてる",
- "たとえる",
- "たなばた",
- "たにん",
- "たぬき",
- "たのしみ",
- "たはつ",
- "たぶん",
- "たべる",
- "たぼう",
- "たまご",
- "たまる",
- "だむる",
- "ためいき",
- "ためす",
- "ためる",
- "たもつ",
- "たやすい",
- "たよる",
- "たらす",
- "たりきほんがん",
- "たりょう",
- "たりる",
- "たると",
- "たれる",
- "たれんと",
- "たろっと",
- "たわむれる",
- "だんあつ",
- "たんい",
- "たんおん",
- "たんか",
- "たんき",
- "たんけん",
- "たんご",
- "たんさん",
- "たんじょうび",
- "だんせい",
- "たんそく",
- "たんたい",
- "だんち",
- "たんてい",
- "たんとう",
- "だんな",
- "たんにん",
- "だんねつ",
- "たんのう",
- "たんぴん",
- "だんぼう",
- "たんまつ",
- "たんめい",
- "だんれつ",
- "だんろ",
- "だんわ",
- "ちあい",
- "ちあん",
- "ちいき",
- "ちいさい",
- "ちえん",
- "ちかい",
- "ちから",
- "ちきゅう",
- "ちきん",
- "ちけいず",
- "ちけん",
- "ちこく",
- "ちさい",
- "ちしき",
- "ちしりょう",
- "ちせい",
- "ちそう",
- "ちたい",
- "ちたん",
- "ちちおや",
- "ちつじょ",
- "ちてき",
- "ちてん",
- "ちぬき",
- "ちぬり",
- "ちのう",
- "ちひょう",
- "ちへいせん",
- "ちほう",
- "ちまた",
- "ちみつ",
- "ちみどろ",
- "ちめいど",
- "ちゃんこなべ",
- "ちゅうい",
- "ちゆりょく",
- "ちょうし",
- "ちょさくけん",
- "ちらし",
- "ちらみ",
- "ちりがみ",
- "ちりょう",
- "ちるど",
- "ちわわ",
- "ちんたい",
- "ちんもく",
- "ついか",
- "ついたち",
- "つうか",
- "つうじょう",
- "つうはん",
- "つうわ",
- "つかう",
- "つかれる",
- "つくね",
- "つくる",
- "つけね",
- "つける",
- "つごう",
- "つたえる",
- "つづく",
- "つつじ",
- "つつむ",
- "つとめる",
- "つながる",
- "つなみ",
- "つねづね",
- "つのる",
- "つぶす",
- "つまらない",
- "つまる",
- "つみき",
- "つめたい",
- "つもり",
- "つもる",
- "つよい",
- "つるぼ",
- "つるみく",
- "つわもの",
- "つわり",
- "てあし",
- "てあて",
- "てあみ",
- "ていおん",
- "ていか",
- "ていき",
- "ていけい",
- "ていこく",
- "ていさつ",
- "ていし",
- "ていせい",
- "ていたい",
- "ていど",
- "ていねい",
- "ていひょう",
- "ていへん",
- "ていぼう",
- "てうち",
- "ておくれ",
- "てきとう",
- "てくび",
- "でこぼこ",
- "てさぎょう",
- "てさげ",
- "てすり",
- "てそう",
- "てちがい",
- "てちょう",
- "てつがく",
- "てつづき",
- "でっぱ",
- "てつぼう",
- "てつや",
- "でぬかえ",
- "てぬき",
- "てぬぐい",
- "てのひら",
- "てはい",
- "てぶくろ",
- "てふだ",
- "てほどき",
- "てほん",
- "てまえ",
- "てまきずし",
- "てみじか",
- "てみやげ",
- "てらす",
- "てれび",
- "てわけ",
- "てわたし",
- "でんあつ",
- "てんいん",
- "てんかい",
- "てんき",
- "てんぐ",
- "てんけん",
- "てんごく",
- "てんさい",
- "てんし",
- "てんすう",
- "でんち",
- "てんてき",
- "てんとう",
- "てんない",
- "てんぷら",
- "てんぼうだい",
- "てんめつ",
- "てんらんかい",
- "でんりょく",
- "でんわ",
- "どあい",
- "といれ",
- "どうかん",
- "とうきゅう",
- "どうぐ",
- "とうし",
- "とうむぎ",
- "とおい",
- "とおか",
- "とおく",
- "とおす",
- "とおる",
- "とかい",
- "とかす",
- "ときおり",
- "ときどき",
- "とくい",
- "とくしゅう",
- "とくてん",
- "とくに",
- "とくべつ",
- "とけい",
- "とける",
- "とこや",
- "とさか",
- "としょかん",
- "とそう",
- "とたん",
- "とちゅう",
- "とっきゅう",
- "とっくん",
- "とつぜん",
- "とつにゅう",
- "とどける",
- "ととのえる",
- "とない",
- "となえる",
- "となり",
- "とのさま",
- "とばす",
- "どぶがわ",
- "とほう",
- "とまる",
- "とめる",
- "ともだち",
- "ともる",
- "どようび",
- "とらえる",
- "とんかつ",
- "どんぶり",
- "ないかく",
- "ないこう",
- "ないしょ",
- "ないす",
- "ないせん",
- "ないそう",
- "なおす",
- "ながい",
- "なくす",
- "なげる",
- "なこうど",
- "なさけ",
- "なたでここ",
- "なっとう",
- "なつやすみ",
- "ななおし",
- "なにごと",
- "なにもの",
- "なにわ",
- "なのか",
- "なふだ",
- "なまいき",
- "なまえ",
- "なまみ",
- "なみだ",
- "なめらか",
- "なめる",
- "なやむ",
- "ならう",
- "ならび",
- "ならぶ",
- "なれる",
- "なわとび",
- "なわばり",
- "にあう",
- "にいがた",
- "にうけ",
- "におい",
- "にかい",
- "にがて",
- "にきび",
- "にくしみ",
- "にくまん",
- "にげる",
- "にさんかたんそ",
- "にしき",
- "にせもの",
- "にちじょう",
- "にちようび",
- "にっか",
- "にっき",
- "にっけい",
- "にっこう",
- "にっさん",
- "にっしょく",
- "にっすう",
- "にっせき",
- "にってい",
- "になう",
- "にほん",
- "にまめ",
- "にもつ",
- "にやり",
- "にゅういん",
- "にりんしゃ",
- "にわとり",
- "にんい",
- "にんか",
- "にんき",
- "にんげん",
- "にんしき",
- "にんずう",
- "にんそう",
- "にんたい",
- "にんち",
- "にんてい",
- "にんにく",
- "にんぷ",
- "にんまり",
- "にんむ",
- "にんめい",
- "にんよう",
- "ぬいくぎ",
- "ぬかす",
- "ぬぐいとる",
- "ぬぐう",
- "ぬくもり",
- "ぬすむ",
- "ぬまえび",
- "ぬめり",
- "ぬらす",
- "ぬんちゃく",
- "ねあげ",
- "ねいき",
- "ねいる",
- "ねいろ",
- "ねぐせ",
- "ねくたい",
- "ねくら",
- "ねこぜ",
- "ねこむ",
- "ねさげ",
- "ねすごす",
- "ねそべる",
- "ねだん",
- "ねつい",
- "ねっしん",
- "ねつぞう",
- "ねったいぎょ",
- "ねぶそく",
- "ねふだ",
- "ねぼう",
- "ねほりはほり",
- "ねまき",
- "ねまわし",
- "ねみみ",
- "ねむい",
- "ねむたい",
- "ねもと",
- "ねらう",
- "ねわざ",
- "ねんいり",
- "ねんおし",
- "ねんかん",
- "ねんきん",
- "ねんぐ",
- "ねんざ",
- "ねんし",
- "ねんちゃく",
- "ねんど",
- "ねんぴ",
- "ねんぶつ",
- "ねんまつ",
- "ねんりょう",
- "ねんれい",
- "のいず",
- "のおづま",
- "のがす",
- "のきなみ",
- "のこぎり",
- "のこす",
- "のこる",
- "のせる",
- "のぞく",
- "のぞむ",
- "のたまう",
- "のちほど",
- "のっく",
- "のばす",
- "のはら",
- "のべる",
- "のぼる",
- "のみもの",
- "のやま",
- "のらいぬ",
- "のらねこ",
- "のりもの",
- "のりゆき",
- "のれん",
- "のんき",
- "ばあい",
- "はあく",
- "ばあさん",
- "ばいか",
- "ばいく",
- "はいけん",
- "はいご",
- "はいしん",
- "はいすい",
- "はいせん",
- "はいそう",
- "はいち",
- "ばいばい",
- "はいれつ",
- "はえる",
- "はおる",
- "はかい",
- "ばかり",
- "はかる",
- "はくしゅ",
- "はけん",
- "はこぶ",
- "はさみ",
- "はさん",
- "はしご",
- "ばしょ",
- "はしる",
- "はせる",
- "ぱそこん",
- "はそん",
- "はたん",
- "はちみつ",
- "はつおん",
- "はっかく",
- "はづき",
- "はっきり",
- "はっくつ",
- "はっけん",
- "はっこう",
- "はっさん",
- "はっしん",
- "はったつ",
- "はっちゅう",
- "はってん",
- "はっぴょう",
- "はっぽう",
- "はなす",
- "はなび",
- "はにかむ",
- "はぶらし",
- "はみがき",
- "はむかう",
- "はめつ",
- "はやい",
- "はやし",
- "はらう",
- "はろうぃん",
- "はわい",
- "はんい",
- "はんえい",
- "はんおん",
- "はんかく",
- "はんきょう",
- "ばんぐみ",
- "はんこ",
- "はんしゃ",
- "はんすう",
- "はんだん",
- "ぱんち",
- "ぱんつ",
- "はんてい",
- "はんとし",
- "はんのう",
- "はんぱ",
- "はんぶん",
- "はんぺん",
- "はんぼうき",
- "はんめい",
- "はんらん",
- "はんろん",
- "ひいき",
- "ひうん",
- "ひえる",
- "ひかく",
- "ひかり",
- "ひかる",
- "ひかん",
- "ひくい",
- "ひけつ",
- "ひこうき",
- "ひこく",
- "ひさい",
- "ひさしぶり",
- "ひさん",
- "びじゅつかん",
- "ひしょ",
- "ひそか",
- "ひそむ",
- "ひたむき",
- "ひだり",
- "ひたる",
- "ひつぎ",
- "ひっこし",
- "ひっし",
- "ひつじゅひん",
- "ひっす",
- "ひつぜん",
- "ぴったり",
- "ぴっちり",
- "ひつよう",
- "ひてい",
- "ひとごみ",
- "ひなまつり",
- "ひなん",
- "ひねる",
- "ひはん",
- "ひびく",
- "ひひょう",
- "ひほう",
- "ひまわり",
- "ひまん",
- "ひみつ",
- "ひめい",
- "ひめじし",
- "ひやけ",
- "ひやす",
- "ひよう",
- "びょうき",
- "ひらがな",
- "ひらく",
- "ひりつ",
- "ひりょう",
- "ひるま",
- "ひるやすみ",
- "ひれい",
- "ひろい",
- "ひろう",
- "ひろき",
- "ひろゆき",
- "ひんかく",
- "ひんけつ",
- "ひんこん",
- "ひんしゅ",
- "ひんそう",
- "ぴんち",
- "ひんぱん",
- "びんぼう",
- "ふあん",
- "ふいうち",
- "ふうけい",
- "ふうせん",
- "ぷうたろう",
- "ふうとう",
- "ふうふ",
- "ふえる",
- "ふおん",
- "ふかい",
- "ふきん",
- "ふくざつ",
- "ふくぶくろ",
- "ふこう",
- "ふさい",
- "ふしぎ",
- "ふじみ",
- "ふすま",
- "ふせい",
- "ふせぐ",
- "ふそく",
- "ぶたにく",
- "ふたん",
- "ふちょう",
- "ふつう",
- "ふつか",
- "ふっかつ",
- "ふっき",
- "ふっこく",
- "ぶどう",
- "ふとる",
- "ふとん",
- "ふのう",
- "ふはい",
- "ふひょう",
- "ふへん",
- "ふまん",
- "ふみん",
- "ふめつ",
- "ふめん",
- "ふよう",
- "ふりこ",
- "ふりる",
- "ふるい",
- "ふんいき",
- "ぶんがく",
- "ぶんぐ",
- "ふんしつ",
- "ぶんせき",
- "ふんそう",
- "ぶんぽう",
- "へいあん",
- "へいおん",
- "へいがい",
- "へいき",
- "へいげん",
- "へいこう",
- "へいさ",
- "へいしゃ",
- "へいせつ",
- "へいそ",
- "へいたく",
- "へいてん",
- "へいねつ",
- "へいわ",
- "へきが",
- "へこむ",
- "べにいろ",
- "べにしょうが",
- "へらす",
- "へんかん",
- "べんきょう",
- "べんごし",
- "へんさい",
- "へんたい",
- "べんり",
- "ほあん",
- "ほいく",
- "ぼうぎょ",
- "ほうこく",
- "ほうそう",
- "ほうほう",
- "ほうもん",
- "ほうりつ",
- "ほえる",
- "ほおん",
- "ほかん",
- "ほきょう",
- "ぼきん",
- "ほくろ",
- "ほけつ",
- "ほけん",
- "ほこう",
- "ほこる",
- "ほしい",
- "ほしつ",
- "ほしゅ",
- "ほしょう",
- "ほせい",
- "ほそい",
- "ほそく",
- "ほたて",
- "ほたる",
- "ぽちぶくろ",
- "ほっきょく",
- "ほっさ",
- "ほったん",
- "ほとんど",
- "ほめる",
- "ほんい",
- "ほんき",
- "ほんけ",
- "ほんしつ",
- "ほんやく",
- "まいにち",
- "まかい",
- "まかせる",
- "まがる",
- "まける",
- "まこと",
- "まさつ",
- "まじめ",
- "ますく",
- "まぜる",
- "まつり",
- "まとめ",
- "まなぶ",
- "まぬけ",
- "まねく",
- "まほう",
- "まもる",
- "まゆげ",
- "まよう",
- "まろやか",
- "まわす",
- "まわり",
- "まわる",
- "まんが",
- "まんきつ",
- "まんぞく",
- "まんなか",
- "みいら",
- "みうち",
- "みえる",
- "みがく",
- "みかた",
- "みかん",
- "みけん",
- "みこん",
- "みじかい",
- "みすい",
- "みすえる",
- "みせる",
- "みっか",
- "みつかる",
- "みつける",
- "みてい",
- "みとめる",
- "みなと",
- "みなみかさい",
- "みねらる",
- "みのう",
- "みのがす",
- "みほん",
- "みもと",
- "みやげ",
- "みらい",
- "みりょく",
- "みわく",
- "みんか",
- "みんぞく",
- "むいか",
- "むえき",
- "むえん",
- "むかい",
- "むかう",
- "むかえ",
- "むかし",
- "むぎちゃ",
- "むける",
- "むげん",
- "むさぼる",
- "むしあつい",
- "むしば",
- "むじゅん",
- "むしろ",
- "むすう",
- "むすこ",
- "むすぶ",
- "むすめ",
- "むせる",
- "むせん",
- "むちゅう",
- "むなしい",
- "むのう",
- "むやみ",
- "むよう",
- "むらさき",
- "むりょう",
- "むろん",
- "めいあん",
- "めいうん",
- "めいえん",
- "めいかく",
- "めいきょく",
- "めいさい",
- "めいし",
- "めいそう",
- "めいぶつ",
- "めいれい",
- "めいわく",
- "めぐまれる",
- "めざす",
- "めした",
- "めずらしい",
- "めだつ",
- "めまい",
- "めやす",
- "めんきょ",
- "めんせき",
- "めんどう",
- "もうしあげる",
- "もうどうけん",
- "もえる",
- "もくし",
- "もくてき",
- "もくようび",
- "もちろん",
- "もどる",
- "もらう",
- "もんく",
- "もんだい",
- "やおや",
- "やける",
- "やさい",
- "やさしい",
- "やすい",
- "やすたろう",
- "やすみ",
- "やせる",
- "やそう",
- "やたい",
- "やちん",
- "やっと",
- "やっぱり",
- "やぶる",
- "やめる",
- "ややこしい",
- "やよい",
- "やわらかい",
- "ゆうき",
- "ゆうびんきょく",
- "ゆうべ",
- "ゆうめい",
- "ゆけつ",
- "ゆしゅつ",
- "ゆせん",
- "ゆそう",
- "ゆたか",
- "ゆちゃく",
- "ゆでる",
- "ゆにゅう",
- "ゆびわ",
- "ゆらい",
- "ゆれる",
- "ようい",
- "ようか",
- "ようきゅう",
- "ようじ",
- "ようす",
- "ようちえん",
- "よかぜ",
- "よかん",
- "よきん",
- "よくせい",
- "よくぼう",
- "よけい",
- "よごれる",
- "よさん",
- "よしゅう",
- "よそう",
- "よそく",
- "よっか",
- "よてい",
- "よどがわく",
- "よねつ",
- "よやく",
- "よゆう",
- "よろこぶ",
- "よろしい",
- "らいう",
- "らくがき",
- "らくご",
- "らくさつ",
- "らくだ",
- "らしんばん",
- "らせん",
- "らぞく",
- "らたい",
- "らっか",
- "られつ",
- "りえき",
- "りかい",
- "りきさく",
- "りきせつ",
- "りくぐん",
- "りくつ",
- "りけん",
- "りこう",
- "りせい",
- "りそう",
- "りそく",
- "りてん",
- "りねん",
- "りゆう",
- "りゅうがく",
- "りよう",
- "りょうり",
- "りょかん",
- "りょくちゃ",
- "りょこう",
- "りりく",
- "りれき",
- "りろん",
- "りんご",
- "るいけい",
- "るいさい",
- "るいじ",
- "るいせき",
- "るすばん",
- "るりがわら",
- "れいかん",
- "れいぎ",
- "れいせい",
- "れいぞうこ",
- "れいとう",
- "れいぼう",
- "れきし",
- "れきだい",
- "れんあい",
- "れんけい",
- "れんこん",
- "れんさい",
- "れんしゅう",
- "れんぞく",
- "れんらく",
- "ろうか",
- "ろうご",
- "ろうじん",
- "ろうそく",
- "ろくが",
- "ろこつ",
- "ろじうら",
- "ろしゅつ",
- "ろせん",
- "ろてん",
- "ろめん",
- "ろれつ",
- "ろんぎ",
- "ろんぱ",
- "ろんぶん",
- "ろんり",
- "わかす",
- "わかめ",
- "わかやま",
- "わかれる",
- "わしつ",
- "わじまし",
- "わすれもの",
- "わらう",
- "われる"
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/bip39/wordlists/Spanish.java b/app/src/main/java/io/github/novacrypto/bip39/wordlists/Spanish.java
deleted file mode 100644
index 2e84ebd9d4..0000000000
--- a/app/src/main/java/io/github/novacrypto/bip39/wordlists/Spanish.java
+++ /dev/null
@@ -1,2092 +0,0 @@
-/*
- * BIP39 library, a Java implementation of BIP39
- * Copyright (C) 2017-2019 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/BIP39
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.bip39.wordlists;
-
-import io.github.novacrypto.bip39.WordList;
-
-/**
- * Source: https://github.com/bitcoin/bips/blob/master/bip-0039/spanish.txt
- */
-public enum Spanish implements WordList {
- INSTANCE;
-
- @Override
- public String getWord(final int index) {
- return words[index];
- }
-
- @Override
- public char getSpace() {
- return ' ';
- }
-
- private final static String[] words = new String[]{
- "ábaco",
- "abdomen",
- "abeja",
- "abierto",
- "abogado",
- "abono",
- "aborto",
- "abrazo",
- "abrir",
- "abuelo",
- "abuso",
- "acabar",
- "academia",
- "acceso",
- "acción",
- "aceite",
- "acelga",
- "acento",
- "aceptar",
- "ácido",
- "aclarar",
- "acné",
- "acoger",
- "acoso",
- "activo",
- "acto",
- "actriz",
- "actuar",
- "acudir",
- "acuerdo",
- "acusar",
- "adicto",
- "admitir",
- "adoptar",
- "adorno",
- "aduana",
- "adulto",
- "aéreo",
- "afectar",
- "afición",
- "afinar",
- "afirmar",
- "ágil",
- "agitar",
- "agonía",
- "agosto",
- "agotar",
- "agregar",
- "agrio",
- "agua",
- "agudo",
- "águila",
- "aguja",
- "ahogo",
- "ahorro",
- "aire",
- "aislar",
- "ajedrez",
- "ajeno",
- "ajuste",
- "alacrán",
- "alambre",
- "alarma",
- "alba",
- "álbum",
- "alcalde",
- "aldea",
- "alegre",
- "alejar",
- "alerta",
- "aleta",
- "alfiler",
- "alga",
- "algodón",
- "aliado",
- "aliento",
- "alivio",
- "alma",
- "almeja",
- "almíbar",
- "altar",
- "alteza",
- "altivo",
- "alto",
- "altura",
- "alumno",
- "alzar",
- "amable",
- "amante",
- "amapola",
- "amargo",
- "amasar",
- "ámbar",
- "ámbito",
- "ameno",
- "amigo",
- "amistad",
- "amor",
- "amparo",
- "amplio",
- "ancho",
- "anciano",
- "ancla",
- "andar",
- "andén",
- "anemia",
- "ángulo",
- "anillo",
- "ánimo",
- "anís",
- "anotar",
- "antena",
- "antiguo",
- "antojo",
- "anual",
- "anular",
- "anuncio",
- "añadir",
- "añejo",
- "año",
- "apagar",
- "aparato",
- "apetito",
- "apio",
- "aplicar",
- "apodo",
- "aporte",
- "apoyo",
- "aprender",
- "aprobar",
- "apuesta",
- "apuro",
- "arado",
- "araña",
- "arar",
- "árbitro",
- "árbol",
- "arbusto",
- "archivo",
- "arco",
- "arder",
- "ardilla",
- "arduo",
- "área",
- "árido",
- "aries",
- "armonía",
- "arnés",
- "aroma",
- "arpa",
- "arpón",
- "arreglo",
- "arroz",
- "arruga",
- "arte",
- "artista",
- "asa",
- "asado",
- "asalto",
- "ascenso",
- "asegurar",
- "aseo",
- "asesor",
- "asiento",
- "asilo",
- "asistir",
- "asno",
- "asombro",
- "áspero",
- "astilla",
- "astro",
- "astuto",
- "asumir",
- "asunto",
- "atajo",
- "ataque",
- "atar",
- "atento",
- "ateo",
- "ático",
- "atleta",
- "átomo",
- "atraer",
- "atroz",
- "atún",
- "audaz",
- "audio",
- "auge",
- "aula",
- "aumento",
- "ausente",
- "autor",
- "aval",
- "avance",
- "avaro",
- "ave",
- "avellana",
- "avena",
- "avestruz",
- "avión",
- "aviso",
- "ayer",
- "ayuda",
- "ayuno",
- "azafrán",
- "azar",
- "azote",
- "azúcar",
- "azufre",
- "azul",
- "baba",
- "babor",
- "bache",
- "bahía",
- "baile",
- "bajar",
- "balanza",
- "balcón",
- "balde",
- "bambú",
- "banco",
- "banda",
- "baño",
- "barba",
- "barco",
- "barniz",
- "barro",
- "báscula",
- "bastón",
- "basura",
- "batalla",
- "batería",
- "batir",
- "batuta",
- "baúl",
- "bazar",
- "bebé",
- "bebida",
- "bello",
- "besar",
- "beso",
- "bestia",
- "bicho",
- "bien",
- "bingo",
- "blanco",
- "bloque",
- "blusa",
- "boa",
- "bobina",
- "bobo",
- "boca",
- "bocina",
- "boda",
- "bodega",
- "boina",
- "bola",
- "bolero",
- "bolsa",
- "bomba",
- "bondad",
- "bonito",
- "bono",
- "bonsái",
- "borde",
- "borrar",
- "bosque",
- "bote",
- "botín",
- "bóveda",
- "bozal",
- "bravo",
- "brazo",
- "brecha",
- "breve",
- "brillo",
- "brinco",
- "brisa",
- "broca",
- "broma",
- "bronce",
- "brote",
- "bruja",
- "brusco",
- "bruto",
- "buceo",
- "bucle",
- "bueno",
- "buey",
- "bufanda",
- "bufón",
- "búho",
- "buitre",
- "bulto",
- "burbuja",
- "burla",
- "burro",
- "buscar",
- "butaca",
- "buzón",
- "caballo",
- "cabeza",
- "cabina",
- "cabra",
- "cacao",
- "cadáver",
- "cadena",
- "caer",
- "café",
- "caída",
- "caimán",
- "caja",
- "cajón",
- "cal",
- "calamar",
- "calcio",
- "caldo",
- "calidad",
- "calle",
- "calma",
- "calor",
- "calvo",
- "cama",
- "cambio",
- "camello",
- "camino",
- "campo",
- "cáncer",
- "candil",
- "canela",
- "canguro",
- "canica",
- "canto",
- "caña",
- "cañón",
- "caoba",
- "caos",
- "capaz",
- "capitán",
- "capote",
- "captar",
- "capucha",
- "cara",
- "carbón",
- "cárcel",
- "careta",
- "carga",
- "cariño",
- "carne",
- "carpeta",
- "carro",
- "carta",
- "casa",
- "casco",
- "casero",
- "caspa",
- "castor",
- "catorce",
- "catre",
- "caudal",
- "causa",
- "cazo",
- "cebolla",
- "ceder",
- "cedro",
- "celda",
- "célebre",
- "celoso",
- "célula",
- "cemento",
- "ceniza",
- "centro",
- "cerca",
- "cerdo",
- "cereza",
- "cero",
- "cerrar",
- "certeza",
- "césped",
- "cetro",
- "chacal",
- "chaleco",
- "champú",
- "chancla",
- "chapa",
- "charla",
- "chico",
- "chiste",
- "chivo",
- "choque",
- "choza",
- "chuleta",
- "chupar",
- "ciclón",
- "ciego",
- "cielo",
- "cien",
- "cierto",
- "cifra",
- "cigarro",
- "cima",
- "cinco",
- "cine",
- "cinta",
- "ciprés",
- "circo",
- "ciruela",
- "cisne",
- "cita",
- "ciudad",
- "clamor",
- "clan",
- "claro",
- "clase",
- "clave",
- "cliente",
- "clima",
- "clínica",
- "cobre",
- "cocción",
- "cochino",
- "cocina",
- "coco",
- "código",
- "codo",
- "cofre",
- "coger",
- "cohete",
- "cojín",
- "cojo",
- "cola",
- "colcha",
- "colegio",
- "colgar",
- "colina",
- "collar",
- "colmo",
- "columna",
- "combate",
- "comer",
- "comida",
- "cómodo",
- "compra",
- "conde",
- "conejo",
- "conga",
- "conocer",
- "consejo",
- "contar",
- "copa",
- "copia",
- "corazón",
- "corbata",
- "corcho",
- "cordón",
- "corona",
- "correr",
- "coser",
- "cosmos",
- "costa",
- "cráneo",
- "cráter",
- "crear",
- "crecer",
- "creído",
- "crema",
- "cría",
- "crimen",
- "cripta",
- "crisis",
- "cromo",
- "crónica",
- "croqueta",
- "crudo",
- "cruz",
- "cuadro",
- "cuarto",
- "cuatro",
- "cubo",
- "cubrir",
- "cuchara",
- "cuello",
- "cuento",
- "cuerda",
- "cuesta",
- "cueva",
- "cuidar",
- "culebra",
- "culpa",
- "culto",
- "cumbre",
- "cumplir",
- "cuna",
- "cuneta",
- "cuota",
- "cupón",
- "cúpula",
- "curar",
- "curioso",
- "curso",
- "curva",
- "cutis",
- "dama",
- "danza",
- "dar",
- "dardo",
- "dátil",
- "deber",
- "débil",
- "década",
- "decir",
- "dedo",
- "defensa",
- "definir",
- "dejar",
- "delfín",
- "delgado",
- "delito",
- "demora",
- "denso",
- "dental",
- "deporte",
- "derecho",
- "derrota",
- "desayuno",
- "deseo",
- "desfile",
- "desnudo",
- "destino",
- "desvío",
- "detalle",
- "detener",
- "deuda",
- "día",
- "diablo",
- "diadema",
- "diamante",
- "diana",
- "diario",
- "dibujo",
- "dictar",
- "diente",
- "dieta",
- "diez",
- "difícil",
- "digno",
- "dilema",
- "diluir",
- "dinero",
- "directo",
- "dirigir",
- "disco",
- "diseño",
- "disfraz",
- "diva",
- "divino",
- "doble",
- "doce",
- "dolor",
- "domingo",
- "don",
- "donar",
- "dorado",
- "dormir",
- "dorso",
- "dos",
- "dosis",
- "dragón",
- "droga",
- "ducha",
- "duda",
- "duelo",
- "dueño",
- "dulce",
- "dúo",
- "duque",
- "durar",
- "dureza",
- "duro",
- "ébano",
- "ebrio",
- "echar",
- "eco",
- "ecuador",
- "edad",
- "edición",
- "edificio",
- "editor",
- "educar",
- "efecto",
- "eficaz",
- "eje",
- "ejemplo",
- "elefante",
- "elegir",
- "elemento",
- "elevar",
- "elipse",
- "élite",
- "elixir",
- "elogio",
- "eludir",
- "embudo",
- "emitir",
- "emoción",
- "empate",
- "empeño",
- "empleo",
- "empresa",
- "enano",
- "encargo",
- "enchufe",
- "encía",
- "enemigo",
- "enero",
- "enfado",
- "enfermo",
- "engaño",
- "enigma",
- "enlace",
- "enorme",
- "enredo",
- "ensayo",
- "enseñar",
- "entero",
- "entrar",
- "envase",
- "envío",
- "época",
- "equipo",
- "erizo",
- "escala",
- "escena",
- "escolar",
- "escribir",
- "escudo",
- "esencia",
- "esfera",
- "esfuerzo",
- "espada",
- "espejo",
- "espía",
- "esposa",
- "espuma",
- "esquí",
- "estar",
- "este",
- "estilo",
- "estufa",
- "etapa",
- "eterno",
- "ética",
- "etnia",
- "evadir",
- "evaluar",
- "evento",
- "evitar",
- "exacto",
- "examen",
- "exceso",
- "excusa",
- "exento",
- "exigir",
- "exilio",
- "existir",
- "éxito",
- "experto",
- "explicar",
- "exponer",
- "extremo",
- "fábrica",
- "fábula",
- "fachada",
- "fácil",
- "factor",
- "faena",
- "faja",
- "falda",
- "fallo",
- "falso",
- "faltar",
- "fama",
- "familia",
- "famoso",
- "faraón",
- "farmacia",
- "farol",
- "farsa",
- "fase",
- "fatiga",
- "fauna",
- "favor",
- "fax",
- "febrero",
- "fecha",
- "feliz",
- "feo",
- "feria",
- "feroz",
- "fértil",
- "fervor",
- "festín",
- "fiable",
- "fianza",
- "fiar",
- "fibra",
- "ficción",
- "ficha",
- "fideo",
- "fiebre",
- "fiel",
- "fiera",
- "fiesta",
- "figura",
- "fijar",
- "fijo",
- "fila",
- "filete",
- "filial",
- "filtro",
- "fin",
- "finca",
- "fingir",
- "finito",
- "firma",
- "flaco",
- "flauta",
- "flecha",
- "flor",
- "flota",
- "fluir",
- "flujo",
- "flúor",
- "fobia",
- "foca",
- "fogata",
- "fogón",
- "folio",
- "folleto",
- "fondo",
- "forma",
- "forro",
- "fortuna",
- "forzar",
- "fosa",
- "foto",
- "fracaso",
- "frágil",
- "franja",
- "frase",
- "fraude",
- "freír",
- "freno",
- "fresa",
- "frío",
- "frito",
- "fruta",
- "fuego",
- "fuente",
- "fuerza",
- "fuga",
- "fumar",
- "función",
- "funda",
- "furgón",
- "furia",
- "fusil",
- "fútbol",
- "futuro",
- "gacela",
- "gafas",
- "gaita",
- "gajo",
- "gala",
- "galería",
- "gallo",
- "gamba",
- "ganar",
- "gancho",
- "ganga",
- "ganso",
- "garaje",
- "garza",
- "gasolina",
- "gastar",
- "gato",
- "gavilán",
- "gemelo",
- "gemir",
- "gen",
- "género",
- "genio",
- "gente",
- "geranio",
- "gerente",
- "germen",
- "gesto",
- "gigante",
- "gimnasio",
- "girar",
- "giro",
- "glaciar",
- "globo",
- "gloria",
- "gol",
- "golfo",
- "goloso",
- "golpe",
- "goma",
- "gordo",
- "gorila",
- "gorra",
- "gota",
- "goteo",
- "gozar",
- "grada",
- "gráfico",
- "grano",
- "grasa",
- "gratis",
- "grave",
- "grieta",
- "grillo",
- "gripe",
- "gris",
- "grito",
- "grosor",
- "grúa",
- "grueso",
- "grumo",
- "grupo",
- "guante",
- "guapo",
- "guardia",
- "guerra",
- "guía",
- "guiño",
- "guion",
- "guiso",
- "guitarra",
- "gusano",
- "gustar",
- "haber",
- "hábil",
- "hablar",
- "hacer",
- "hacha",
- "hada",
- "hallar",
- "hamaca",
- "harina",
- "haz",
- "hazaña",
- "hebilla",
- "hebra",
- "hecho",
- "helado",
- "helio",
- "hembra",
- "herir",
- "hermano",
- "héroe",
- "hervir",
- "hielo",
- "hierro",
- "hígado",
- "higiene",
- "hijo",
- "himno",
- "historia",
- "hocico",
- "hogar",
- "hoguera",
- "hoja",
- "hombre",
- "hongo",
- "honor",
- "honra",
- "hora",
- "hormiga",
- "horno",
- "hostil",
- "hoyo",
- "hueco",
- "huelga",
- "huerta",
- "hueso",
- "huevo",
- "huida",
- "huir",
- "humano",
- "húmedo",
- "humilde",
- "humo",
- "hundir",
- "huracán",
- "hurto",
- "icono",
- "ideal",
- "idioma",
- "ídolo",
- "iglesia",
- "iglú",
- "igual",
- "ilegal",
- "ilusión",
- "imagen",
- "imán",
- "imitar",
- "impar",
- "imperio",
- "imponer",
- "impulso",
- "incapaz",
- "índice",
- "inerte",
- "infiel",
- "informe",
- "ingenio",
- "inicio",
- "inmenso",
- "inmune",
- "innato",
- "insecto",
- "instante",
- "interés",
- "íntimo",
- "intuir",
- "inútil",
- "invierno",
- "ira",
- "iris",
- "ironía",
- "isla",
- "islote",
- "jabalí",
- "jabón",
- "jamón",
- "jarabe",
- "jardín",
- "jarra",
- "jaula",
- "jazmín",
- "jefe",
- "jeringa",
- "jinete",
- "jornada",
- "joroba",
- "joven",
- "joya",
- "juerga",
- "jueves",
- "juez",
- "jugador",
- "jugo",
- "juguete",
- "juicio",
- "junco",
- "jungla",
- "junio",
- "juntar",
- "júpiter",
- "jurar",
- "justo",
- "juvenil",
- "juzgar",
- "kilo",
- "koala",
- "labio",
- "lacio",
- "lacra",
- "lado",
- "ladrón",
- "lagarto",
- "lágrima",
- "laguna",
- "laico",
- "lamer",
- "lámina",
- "lámpara",
- "lana",
- "lancha",
- "langosta",
- "lanza",
- "lápiz",
- "largo",
- "larva",
- "lástima",
- "lata",
- "látex",
- "latir",
- "laurel",
- "lavar",
- "lazo",
- "leal",
- "lección",
- "leche",
- "lector",
- "leer",
- "legión",
- "legumbre",
- "lejano",
- "lengua",
- "lento",
- "leña",
- "león",
- "leopardo",
- "lesión",
- "letal",
- "letra",
- "leve",
- "leyenda",
- "libertad",
- "libro",
- "licor",
- "líder",
- "lidiar",
- "lienzo",
- "liga",
- "ligero",
- "lima",
- "límite",
- "limón",
- "limpio",
- "lince",
- "lindo",
- "línea",
- "lingote",
- "lino",
- "linterna",
- "líquido",
- "liso",
- "lista",
- "litera",
- "litio",
- "litro",
- "llaga",
- "llama",
- "llanto",
- "llave",
- "llegar",
- "llenar",
- "llevar",
- "llorar",
- "llover",
- "lluvia",
- "lobo",
- "loción",
- "loco",
- "locura",
- "lógica",
- "logro",
- "lombriz",
- "lomo",
- "lonja",
- "lote",
- "lucha",
- "lucir",
- "lugar",
- "lujo",
- "luna",
- "lunes",
- "lupa",
- "lustro",
- "luto",
- "luz",
- "maceta",
- "macho",
- "madera",
- "madre",
- "maduro",
- "maestro",
- "mafia",
- "magia",
- "mago",
- "maíz",
- "maldad",
- "maleta",
- "malla",
- "malo",
- "mamá",
- "mambo",
- "mamut",
- "manco",
- "mando",
- "manejar",
- "manga",
- "maniquí",
- "manjar",
- "mano",
- "manso",
- "manta",
- "mañana",
- "mapa",
- "máquina",
- "mar",
- "marco",
- "marea",
- "marfil",
- "margen",
- "marido",
- "mármol",
- "marrón",
- "martes",
- "marzo",
- "masa",
- "máscara",
- "masivo",
- "matar",
- "materia",
- "matiz",
- "matriz",
- "máximo",
- "mayor",
- "mazorca",
- "mecha",
- "medalla",
- "medio",
- "médula",
- "mejilla",
- "mejor",
- "melena",
- "melón",
- "memoria",
- "menor",
- "mensaje",
- "mente",
- "menú",
- "mercado",
- "merengue",
- "mérito",
- "mes",
- "mesón",
- "meta",
- "meter",
- "método",
- "metro",
- "mezcla",
- "miedo",
- "miel",
- "miembro",
- "miga",
- "mil",
- "milagro",
- "militar",
- "millón",
- "mimo",
- "mina",
- "minero",
- "mínimo",
- "minuto",
- "miope",
- "mirar",
- "misa",
- "miseria",
- "misil",
- "mismo",
- "mitad",
- "mito",
- "mochila",
- "moción",
- "moda",
- "modelo",
- "moho",
- "mojar",
- "molde",
- "moler",
- "molino",
- "momento",
- "momia",
- "monarca",
- "moneda",
- "monja",
- "monto",
- "moño",
- "morada",
- "morder",
- "moreno",
- "morir",
- "morro",
- "morsa",
- "mortal",
- "mosca",
- "mostrar",
- "motivo",
- "mover",
- "móvil",
- "mozo",
- "mucho",
- "mudar",
- "mueble",
- "muela",
- "muerte",
- "muestra",
- "mugre",
- "mujer",
- "mula",
- "muleta",
- "multa",
- "mundo",
- "muñeca",
- "mural",
- "muro",
- "músculo",
- "museo",
- "musgo",
- "música",
- "muslo",
- "nácar",
- "nación",
- "nadar",
- "naipe",
- "naranja",
- "nariz",
- "narrar",
- "nasal",
- "natal",
- "nativo",
- "natural",
- "náusea",
- "naval",
- "nave",
- "navidad",
- "necio",
- "néctar",
- "negar",
- "negocio",
- "negro",
- "neón",
- "nervio",
- "neto",
- "neutro",
- "nevar",
- "nevera",
- "nicho",
- "nido",
- "niebla",
- "nieto",
- "niñez",
- "niño",
- "nítido",
- "nivel",
- "nobleza",
- "noche",
- "nómina",
- "noria",
- "norma",
- "norte",
- "nota",
- "noticia",
- "novato",
- "novela",
- "novio",
- "nube",
- "nuca",
- "núcleo",
- "nudillo",
- "nudo",
- "nuera",
- "nueve",
- "nuez",
- "nulo",
- "número",
- "nutria",
- "oasis",
- "obeso",
- "obispo",
- "objeto",
- "obra",
- "obrero",
- "observar",
- "obtener",
- "obvio",
- "oca",
- "ocaso",
- "océano",
- "ochenta",
- "ocho",
- "ocio",
- "ocre",
- "octavo",
- "octubre",
- "oculto",
- "ocupar",
- "ocurrir",
- "odiar",
- "odio",
- "odisea",
- "oeste",
- "ofensa",
- "oferta",
- "oficio",
- "ofrecer",
- "ogro",
- "oído",
- "oír",
- "ojo",
- "ola",
- "oleada",
- "olfato",
- "olivo",
- "olla",
- "olmo",
- "olor",
- "olvido",
- "ombligo",
- "onda",
- "onza",
- "opaco",
- "opción",
- "ópera",
- "opinar",
- "oponer",
- "optar",
- "óptica",
- "opuesto",
- "oración",
- "orador",
- "oral",
- "órbita",
- "orca",
- "orden",
- "oreja",
- "órgano",
- "orgía",
- "orgullo",
- "oriente",
- "origen",
- "orilla",
- "oro",
- "orquesta",
- "oruga",
- "osadía",
- "oscuro",
- "osezno",
- "oso",
- "ostra",
- "otoño",
- "otro",
- "oveja",
- "óvulo",
- "óxido",
- "oxígeno",
- "oyente",
- "ozono",
- "pacto",
- "padre",
- "paella",
- "página",
- "pago",
- "país",
- "pájaro",
- "palabra",
- "palco",
- "paleta",
- "pálido",
- "palma",
- "paloma",
- "palpar",
- "pan",
- "panal",
- "pánico",
- "pantera",
- "pañuelo",
- "papá",
- "papel",
- "papilla",
- "paquete",
- "parar",
- "parcela",
- "pared",
- "parir",
- "paro",
- "párpado",
- "parque",
- "párrafo",
- "parte",
- "pasar",
- "paseo",
- "pasión",
- "paso",
- "pasta",
- "pata",
- "patio",
- "patria",
- "pausa",
- "pauta",
- "pavo",
- "payaso",
- "peatón",
- "pecado",
- "pecera",
- "pecho",
- "pedal",
- "pedir",
- "pegar",
- "peine",
- "pelar",
- "peldaño",
- "pelea",
- "peligro",
- "pellejo",
- "pelo",
- "peluca",
- "pena",
- "pensar",
- "peñón",
- "peón",
- "peor",
- "pepino",
- "pequeño",
- "pera",
- "percha",
- "perder",
- "pereza",
- "perfil",
- "perico",
- "perla",
- "permiso",
- "perro",
- "persona",
- "pesa",
- "pesca",
- "pésimo",
- "pestaña",
- "pétalo",
- "petróleo",
- "pez",
- "pezuña",
- "picar",
- "pichón",
- "pie",
- "piedra",
- "pierna",
- "pieza",
- "pijama",
- "pilar",
- "piloto",
- "pimienta",
- "pino",
- "pintor",
- "pinza",
- "piña",
- "piojo",
- "pipa",
- "pirata",
- "pisar",
- "piscina",
- "piso",
- "pista",
- "pitón",
- "pizca",
- "placa",
- "plan",
- "plata",
- "playa",
- "plaza",
- "pleito",
- "pleno",
- "plomo",
- "pluma",
- "plural",
- "pobre",
- "poco",
- "poder",
- "podio",
- "poema",
- "poesía",
- "poeta",
- "polen",
- "policía",
- "pollo",
- "polvo",
- "pomada",
- "pomelo",
- "pomo",
- "pompa",
- "poner",
- "porción",
- "portal",
- "posada",
- "poseer",
- "posible",
- "poste",
- "potencia",
- "potro",
- "pozo",
- "prado",
- "precoz",
- "pregunta",
- "premio",
- "prensa",
- "preso",
- "previo",
- "primo",
- "príncipe",
- "prisión",
- "privar",
- "proa",
- "probar",
- "proceso",
- "producto",
- "proeza",
- "profesor",
- "programa",
- "prole",
- "promesa",
- "pronto",
- "propio",
- "próximo",
- "prueba",
- "público",
- "puchero",
- "pudor",
- "pueblo",
- "puerta",
- "puesto",
- "pulga",
- "pulir",
- "pulmón",
- "pulpo",
- "pulso",
- "puma",
- "punto",
- "puñal",
- "puño",
- "pupa",
- "pupila",
- "puré",
- "quedar",
- "queja",
- "quemar",
- "querer",
- "queso",
- "quieto",
- "química",
- "quince",
- "quitar",
- "rábano",
- "rabia",
- "rabo",
- "ración",
- "radical",
- "raíz",
- "rama",
- "rampa",
- "rancho",
- "rango",
- "rapaz",
- "rápido",
- "rapto",
- "rasgo",
- "raspa",
- "rato",
- "rayo",
- "raza",
- "razón",
- "reacción",
- "realidad",
- "rebaño",
- "rebote",
- "recaer",
- "receta",
- "rechazo",
- "recoger",
- "recreo",
- "recto",
- "recurso",
- "red",
- "redondo",
- "reducir",
- "reflejo",
- "reforma",
- "refrán",
- "refugio",
- "regalo",
- "regir",
- "regla",
- "regreso",
- "rehén",
- "reino",
- "reír",
- "reja",
- "relato",
- "relevo",
- "relieve",
- "relleno",
- "reloj",
- "remar",
- "remedio",
- "remo",
- "rencor",
- "rendir",
- "renta",
- "reparto",
- "repetir",
- "reposo",
- "reptil",
- "res",
- "rescate",
- "resina",
- "respeto",
- "resto",
- "resumen",
- "retiro",
- "retorno",
- "retrato",
- "reunir",
- "revés",
- "revista",
- "rey",
- "rezar",
- "rico",
- "riego",
- "rienda",
- "riesgo",
- "rifa",
- "rígido",
- "rigor",
- "rincón",
- "riñón",
- "río",
- "riqueza",
- "risa",
- "ritmo",
- "rito",
- "rizo",
- "roble",
- "roce",
- "rociar",
- "rodar",
- "rodeo",
- "rodilla",
- "roer",
- "rojizo",
- "rojo",
- "romero",
- "romper",
- "ron",
- "ronco",
- "ronda",
- "ropa",
- "ropero",
- "rosa",
- "rosca",
- "rostro",
- "rotar",
- "rubí",
- "rubor",
- "rudo",
- "rueda",
- "rugir",
- "ruido",
- "ruina",
- "ruleta",
- "rulo",
- "rumbo",
- "rumor",
- "ruptura",
- "ruta",
- "rutina",
- "sábado",
- "saber",
- "sabio",
- "sable",
- "sacar",
- "sagaz",
- "sagrado",
- "sala",
- "saldo",
- "salero",
- "salir",
- "salmón",
- "salón",
- "salsa",
- "salto",
- "salud",
- "salvar",
- "samba",
- "sanción",
- "sandía",
- "sanear",
- "sangre",
- "sanidad",
- "sano",
- "santo",
- "sapo",
- "saque",
- "sardina",
- "sartén",
- "sastre",
- "satán",
- "sauna",
- "saxofón",
- "sección",
- "seco",
- "secreto",
- "secta",
- "sed",
- "seguir",
- "seis",
- "sello",
- "selva",
- "semana",
- "semilla",
- "senda",
- "sensor",
- "señal",
- "señor",
- "separar",
- "sepia",
- "sequía",
- "ser",
- "serie",
- "sermón",
- "servir",
- "sesenta",
- "sesión",
- "seta",
- "setenta",
- "severo",
- "sexo",
- "sexto",
- "sidra",
- "siesta",
- "siete",
- "siglo",
- "signo",
- "sílaba",
- "silbar",
- "silencio",
- "silla",
- "símbolo",
- "simio",
- "sirena",
- "sistema",
- "sitio",
- "situar",
- "sobre",
- "socio",
- "sodio",
- "sol",
- "solapa",
- "soldado",
- "soledad",
- "sólido",
- "soltar",
- "solución",
- "sombra",
- "sondeo",
- "sonido",
- "sonoro",
- "sonrisa",
- "sopa",
- "soplar",
- "soporte",
- "sordo",
- "sorpresa",
- "sorteo",
- "sostén",
- "sótano",
- "suave",
- "subir",
- "suceso",
- "sudor",
- "suegra",
- "suelo",
- "sueño",
- "suerte",
- "sufrir",
- "sujeto",
- "sultán",
- "sumar",
- "superar",
- "suplir",
- "suponer",
- "supremo",
- "sur",
- "surco",
- "sureño",
- "surgir",
- "susto",
- "sutil",
- "tabaco",
- "tabique",
- "tabla",
- "tabú",
- "taco",
- "tacto",
- "tajo",
- "talar",
- "talco",
- "talento",
- "talla",
- "talón",
- "tamaño",
- "tambor",
- "tango",
- "tanque",
- "tapa",
- "tapete",
- "tapia",
- "tapón",
- "taquilla",
- "tarde",
- "tarea",
- "tarifa",
- "tarjeta",
- "tarot",
- "tarro",
- "tarta",
- "tatuaje",
- "tauro",
- "taza",
- "tazón",
- "teatro",
- "techo",
- "tecla",
- "técnica",
- "tejado",
- "tejer",
- "tejido",
- "tela",
- "teléfono",
- "tema",
- "temor",
- "templo",
- "tenaz",
- "tender",
- "tener",
- "tenis",
- "tenso",
- "teoría",
- "terapia",
- "terco",
- "término",
- "ternura",
- "terror",
- "tesis",
- "tesoro",
- "testigo",
- "tetera",
- "texto",
- "tez",
- "tibio",
- "tiburón",
- "tiempo",
- "tienda",
- "tierra",
- "tieso",
- "tigre",
- "tijera",
- "tilde",
- "timbre",
- "tímido",
- "timo",
- "tinta",
- "tío",
- "típico",
- "tipo",
- "tira",
- "tirón",
- "titán",
- "títere",
- "título",
- "tiza",
- "toalla",
- "tobillo",
- "tocar",
- "tocino",
- "todo",
- "toga",
- "toldo",
- "tomar",
- "tono",
- "tonto",
- "topar",
- "tope",
- "toque",
- "tórax",
- "torero",
- "tormenta",
- "torneo",
- "toro",
- "torpedo",
- "torre",
- "torso",
- "tortuga",
- "tos",
- "tosco",
- "toser",
- "tóxico",
- "trabajo",
- "tractor",
- "traer",
- "tráfico",
- "trago",
- "traje",
- "tramo",
- "trance",
- "trato",
- "trauma",
- "trazar",
- "trébol",
- "tregua",
- "treinta",
- "tren",
- "trepar",
- "tres",
- "tribu",
- "trigo",
- "tripa",
- "triste",
- "triunfo",
- "trofeo",
- "trompa",
- "tronco",
- "tropa",
- "trote",
- "trozo",
- "truco",
- "trueno",
- "trufa",
- "tubería",
- "tubo",
- "tuerto",
- "tumba",
- "tumor",
- "túnel",
- "túnica",
- "turbina",
- "turismo",
- "turno",
- "tutor",
- "ubicar",
- "úlcera",
- "umbral",
- "unidad",
- "unir",
- "universo",
- "uno",
- "untar",
- "uña",
- "urbano",
- "urbe",
- "urgente",
- "urna",
- "usar",
- "usuario",
- "útil",
- "utopía",
- "uva",
- "vaca",
- "vacío",
- "vacuna",
- "vagar",
- "vago",
- "vaina",
- "vajilla",
- "vale",
- "válido",
- "valle",
- "valor",
- "válvula",
- "vampiro",
- "vara",
- "variar",
- "varón",
- "vaso",
- "vecino",
- "vector",
- "vehículo",
- "veinte",
- "vejez",
- "vela",
- "velero",
- "veloz",
- "vena",
- "vencer",
- "venda",
- "veneno",
- "vengar",
- "venir",
- "venta",
- "venus",
- "ver",
- "verano",
- "verbo",
- "verde",
- "vereda",
- "verja",
- "verso",
- "verter",
- "vía",
- "viaje",
- "vibrar",
- "vicio",
- "víctima",
- "vida",
- "vídeo",
- "vidrio",
- "viejo",
- "viernes",
- "vigor",
- "vil",
- "villa",
- "vinagre",
- "vino",
- "viñedo",
- "violín",
- "viral",
- "virgo",
- "virtud",
- "visor",
- "víspera",
- "vista",
- "vitamina",
- "viudo",
- "vivaz",
- "vivero",
- "vivir",
- "vivo",
- "volcán",
- "volumen",
- "volver",
- "voraz",
- "votar",
- "voto",
- "voz",
- "vuelo",
- "vulgar",
- "yacer",
- "yate",
- "yegua",
- "yema",
- "yerno",
- "yeso",
- "yodo",
- "yoga",
- "yogur",
- "zafiro",
- "zanja",
- "zapato",
- "zarza",
- "zona",
- "zorro",
- "zumo",
- "zurdo"
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/hashing/Sha256.java b/app/src/main/java/io/github/novacrypto/hashing/Sha256.java
deleted file mode 100644
index ca582773b1..0000000000
--- a/app/src/main/java/io/github/novacrypto/hashing/Sha256.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * SHA-256 library
- *
- * Copyright (C) 2017-2022 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/SHA256
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.hashing;
-
-import io.github.novacrypto.toruntime.CheckedExceptionToRuntime;
-
-import java.security.MessageDigest;
-
-import static io.github.novacrypto.toruntime.CheckedExceptionToRuntime.toRuntime;
-
-public final class Sha256 {
-
- Sha256() {
- }
-
- public static byte[] sha256(final byte[] bytes) {
- return sha256(bytes, 0, bytes.length);
- }
-
- public static byte[] sha256(final byte[] bytes, final int offset, final int length) {
- final MessageDigest digest = sha256();
- digest.update(bytes, offset, length);
- return digest.digest();
- }
-
- public static byte[] sha256Twice(final byte[] bytes) {
- return sha256Twice(bytes, 0, bytes.length);
- }
-
- public static byte[] sha256Twice(final byte[] bytes, final int offset, final int length) {
- final MessageDigest digest = sha256();
- digest.update(bytes, offset, length);
- digest.update(digest.digest());
- return digest.digest();
- }
-
- private static MessageDigest sha256() {
- return toRuntime(new CheckedExceptionToRuntime.Func() {
- @Override
- public MessageDigest run() throws Exception {
- return MessageDigest.getInstance("SHA-256");
- }
- });
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/novacrypto/toruntime/CheckedExceptionToRuntime.java b/app/src/main/java/io/github/novacrypto/toruntime/CheckedExceptionToRuntime.java
deleted file mode 100644
index 0d9fb4d55e..0000000000
--- a/app/src/main/java/io/github/novacrypto/toruntime/CheckedExceptionToRuntime.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * ToRuntime library, Java promotions of checked exceptions to runtime exceptions
- * Copyright (C) 2017-2022 Alan Evans, NovaCrypto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Original source: https://github.com/NovaCrypto/ToRuntime
- * You can contact the authors via github issues.
- */
-
-package io.github.novacrypto.toruntime;
-
-/**
- * Promotes any exceptions thrown to {@link RuntimeException}
- */
-public final class CheckedExceptionToRuntime {
-
- public interface Func {
- T run() throws Exception;
- }
-
- public interface Action {
- void run() throws Exception;
- }
-
- /**
- * Promotes any exceptions thrown to {@link RuntimeException}
- *
- * @param function Function to run
- * @param Return type
- * @return returns the result of the function
- */
- public static T toRuntime(final Func function) {
- try {
- return function.run();
- } catch (final Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Promotes any exceptions thrown to {@link RuntimeException}
- *
- * @param function Function to run
- */
- public static void toRuntime(final Action function) {
- try {
- function.run();
- } catch (final Exception e) {
- throw new RuntimeException(e);
- }
- }
-}
\ No newline at end of file