english
Wordlist of valid english mnemonic words.
Wordlist.loadRawList(@embedFile("wordlists/english.txt"))
EntropyArray
The array of entropy bytes of an mnemonic passphrase Compilation will fail if the count is not 12/15/18/21/24
Signature
pub fn EntropyArray(comptime word_count: comptime_int) type
MnemonicToSeed
Converts a mnemonic passphrase into a hashed seed that can be used later for HDWallets.
Uses pbkdf2
for the hashing with HmacSha512
for the
pseudo random function to use.
Signature
pub fn mnemonicToSeed(password: []const u8) (WeakParametersError || OutputTooLongError)![64]u8
ToEntropy
Converts the mnemonic phrase into it's entropy representation.
Exampleconst seed = "test test test test test test test test test test test junk";
const entropy = try toEntropy(12, seed, null);
const bar = try fromEntropy(testing.allocator, 12, entropy, null);
defer testing.allocator.free(bar);
try testing.expectEqualStrings(seed, bar);
Signature
pub fn toEntropy(
comptime word_count: comptime_int,
password: []const u8,
wordlist: ?Wordlist,
) error{ InvalidMnemonicWord, InvalidMnemonicChecksum }!EntropyArray(word_count)
FromEntropy
Converts the mnemonic entropy into it's seed.
Exampleconst seed = "test test test test test test test test test test test junk";
const entropy = try toEntropy(12, seed, null);
const bar = try fromEntropy(testing.allocator, 12, entropy, null);
defer testing.allocator.free(bar);
try testing.expectEqualStrings(seed, bar);
Signature
pub fn fromEntropy(
allocator: Allocator,
comptime word_count: comptime_int,
entropy_bytes: EntropyArray(word_count),
word_list: ?Wordlist,
) (Allocator.Error || error{Overflow})![]const u8
Wordlist
The word lists that are valid for mnemonic passphrases.
Properties
struct {
word_list: [Wordlist.list_count][]const u8
}
LoadRawList
Loads word in it's raw format and parses it. It expects that the string is seperated by "\n"
Signature
pub fn loadRawList(raw_list: []const u8) List
GetIndex
Performs binary search on the word list as we assume that the list is alphabetically ordered.
Returns null if the word isn't on the list
Signature
pub fn getIndex(self: List, word: []const u8) ?u16