2024-01-07 04:23:41 +00:00
|
|
|
use std::{
|
|
|
|
io::{stdin, stdout},
|
|
|
|
str::FromStr,
|
|
|
|
};
|
2023-12-21 17:04:35 +00:00
|
|
|
|
2023-12-22 19:39:25 +00:00
|
|
|
use keyfork_mnemonic_util::Mnemonic;
|
2024-01-07 04:23:41 +00:00
|
|
|
use keyfork_prompt::{qrencode, Message, PromptManager};
|
2023-12-21 17:04:35 +00:00
|
|
|
|
2024-01-07 04:23:41 +00:00
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
2023-12-21 17:04:35 +00:00
|
|
|
let mut mgr = PromptManager::new(stdin(), stdout())?;
|
2023-12-21 19:02:42 +00:00
|
|
|
mgr.prompt_passphrase("Passphrase: ")?;
|
2023-12-22 19:39:25 +00:00
|
|
|
let string = mgr.prompt_wordlist("Mnemonic: ", &Default::default())?;
|
|
|
|
let mnemonic = Mnemonic::from_str(&string).unwrap();
|
|
|
|
let entropy = mnemonic.entropy();
|
2024-01-07 04:23:41 +00:00
|
|
|
mgr.prompt_message(&Message::Text(format!("Your entropy is: {entropy:X?}")))?;
|
2024-01-06 05:58:18 +00:00
|
|
|
let qrcode = qrencode::qrencode(&string)?;
|
2024-01-07 04:23:41 +00:00
|
|
|
mgr.prompt_message(&Message::Data(qrcode))?;
|
2023-12-21 17:04:35 +00:00
|
|
|
Ok(())
|
|
|
|
}
|