fix: adding key generation test

This commit is contained in:
Oleksandr Pravdyvyi 2024-10-25 14:15:00 +03:00
parent 480dbc4f07
commit 48b3891c7f
4 changed files with 42 additions and 0 deletions

1
Cargo.lock generated
View File

@ -9,6 +9,7 @@ dependencies = [
"anyhow",
"elliptic-curve",
"env_logger",
"hex",
"k256",
"log",
"rand 0.8.5",

View File

@ -35,6 +35,7 @@ thiserror = "1.0"
rs_merkle = "1.4"
sha2 = "0.10.8"
monotree = "0.1.5"
hex = "0.4.3"
rocksdb = { version = "0.21.0", default-features = false, features = ["snappy"] }

View File

@ -13,6 +13,7 @@ k256.workspace = true
sha2.workspace = true
rand.workspace = true
elliptic-curve.workspace = true
hex.workspace = true
[dependencies.storage]
path = "../storage"

View File

@ -194,3 +194,42 @@ impl AddressKeyHolder {
EphemeralKeyHolder::new_os_random()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn key_generation_test() {
let seed_holder = SeedHolder::new_os_random();
let top_secret_key_holder = seed_holder.produce_top_secret_key_holder();
let utxo_secret_key_holder = top_secret_key_holder.produce_utxo_secret_holder();
let address = utxo_secret_key_holder.generate_address();
let nullifer_public_key = utxo_secret_key_holder.generate_nullifier_public_key();
let viewing_public_key = utxo_secret_key_holder.generate_viewing_public_key();
println!("======Prerequisites======");
println!();
println!("Group generator {:?}", hex::encode(AffinePoint::GENERATOR.to_bytes()));
println!("Nullifier constant {:?}", hex::encode(NULLIFIER_SECRET_CONST));
println!("Viewing constatnt {:?}", hex::encode(VIEVING_SECRET_CONST));
println!();
println!("======Holders======");
println!();
println!("{seed_holder:?}");
println!("{top_secret_key_holder:?}");
println!("{utxo_secret_key_holder:?}");
println!();
println!("======Public data======");
println!();
println!("Address{:?}", hex::encode(address));
println!("Nulifier public key {:?}", hex::encode(nullifer_public_key.to_bytes()));
println!("Viewing public key {:?}", hex::encode(viewing_public_key.to_bytes()));
}
}