extern crate rust_sodium as sodium;
pub use self::sodium::crypto::sign::ed25519::{PublicKey, SecretKey, Seed,
Signature};
use self::sodium::crypto::sign::ed25519::{gen_keypair, keypair_from_seed};
#[derive(Debug, PartialEq)]
pub struct KeyPair {
pub public_key: PublicKey,
pub secret_key: SecretKey,
}
impl KeyPair {
pub fn with_seed(seed: &Seed) -> Self {
let (public_key, secret_key) = keypair_from_seed(seed);
KeyPair {
public_key,
secret_key,
}
}
}
impl Default for KeyPair {
fn default() -> Self {
let (public_key, secret_key) = gen_keypair();
KeyPair {
public_key,
secret_key,
}
}
}