caracal 0.2.0

Nostr client for Gemini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use bip39::{Language, Mnemonic};
use nostr::Keys;
use nostr::nips::nip06::FromMnemonic;

pub fn english_mnemonic() -> Mnemonic {
    Mnemonic::generate_in(Language::English, 24).unwrap()
}

pub fn genkeys_with_mnemonic() -> Option<(Keys, Mnemonic)> {
    let mnemo = english_mnemonic();
    let wlist = mnemo.words().collect::<Vec<&str>>().join(" ");

    if let Ok(keys) = Keys::from_mnemonic(wlist, None) {
        Some((keys, mnemo))
    } else {
        None
    }
}