Skip to content
Snippets Groups Projects

[feat] conf: new option for create a key WITH seed added

Closed Ghost User requested to merge counter/122-keys-subcommand-create-keypair-from-seed into dev
Files
2
+ 52
0
@@ -24,6 +24,58 @@
@@ -24,6 +24,58 @@
use crate::*;
use crate::*;
use std::io;
use std::io;
 
/// Generate a member key from a seed
 
pub fn generate_member_key_from_seed(
 
seed_input: String,
 
mut old_keypairs: DuniterKeyPairs,
 
) -> DuniterKeyPairs {
 
if seed_input.chars().count() != 32 {
 
panic!("wrong seed size");
 
} else {
 
let mut seed: [u8; 32] = [
 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
0, 0, 0,
 
];
 
 
let bytes = seed_input.as_bytes();
 
for (i, b) in bytes.iter().enumerate() {
 
seed[i] = *b;
 
}
 
 
let k = ed25519::KeyPairFromSeedGenerator::generate(&seed);
 
let ke_member: KeyPairEnum = KeyPairEnum::Ed25519(k);
 
 
old_keypairs.member_keypair = Some(ke_member);
 
old_keypairs
 
}
 
}
 
 
/// Generate a network key from a seed
 
pub fn generate_network_key_from_seed(
 
seed_input: String,
 
mut old_keypairs: DuniterKeyPairs,
 
) -> DuniterKeyPairs {
 
if seed_input.chars().count() != 32 {
 
panic!("wrong seed size");
 
} else {
 
let mut seed: [u8; 32] = [
 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
0, 0, 0,
 
];
 
 
let bytes = seed_input.as_bytes();
 
for (i, b) in bytes.iter().enumerate() {
 
seed[i] = *b;
 
}
 
 
let k = ed25519::KeyPairFromSeedGenerator::generate(&seed);
 
let ke_network: KeyPairEnum = KeyPairEnum::Ed25519(k);
 
 
old_keypairs.network_keypair = ke_network;
 
old_keypairs
 
}
 
}
 
#[derive(Debug, Copy, Clone)]
#[derive(Debug, Copy, Clone)]
/// Errors encountered by the wizard
/// Errors encountered by the wizard
pub enum WizardError {
pub enum WizardError {
Loading