39 lines
1.0 KiB
Rust
39 lines
1.0 KiB
Rust
//!
|
|
|
|
use std::io::{stdin, stdout};
|
|
|
|
use keyfork_prompt::{
|
|
validators::{mnemonic, Validator},
|
|
Terminal, PromptHandler,
|
|
};
|
|
|
|
use keyfork_mnemonic::English;
|
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
let mut mgr = Terminal::new(stdin(), stdout())?;
|
|
let transport_validator = mnemonic::MnemonicSetValidator {
|
|
word_lengths: [9, 24],
|
|
};
|
|
let combine_validator = mnemonic::MnemonicSetValidator {
|
|
word_lengths: [24, 48],
|
|
};
|
|
|
|
let mnemonics = mgr.prompt_validated_wordlist::<English, _>(
|
|
"Enter a 9-word and 24-word mnemonic: ",
|
|
3,
|
|
transport_validator.to_fn(),
|
|
)?;
|
|
assert_eq!(mnemonics[0].as_bytes().len(), 12);
|
|
assert_eq!(mnemonics[1].as_bytes().len(), 32);
|
|
|
|
let mnemonics = mgr.prompt_validated_wordlist::<English, _>(
|
|
"Enter a 24 and 48-word mnemonic: ",
|
|
3,
|
|
combine_validator.to_fn(),
|
|
)?;
|
|
assert_eq!(mnemonics[0].as_bytes().len(), 32);
|
|
assert_eq!(mnemonics[1].as_bytes().len(), 64);
|
|
|
|
Ok(())
|
|
}
|