diff --git a/src/bin/wallet/darkd.rs b/src/bin/wallet/darkd.rs index b12bb06b0..eb96204b6 100644 --- a/src/bin/wallet/darkd.rs +++ b/src/bin/wallet/darkd.rs @@ -11,6 +11,9 @@ use smol::Async; use std::net::SocketAddr; use std::net::TcpListener; use std::sync::Arc; +use ff::Field; +use sapvi::serial; +use rand::rngs::OsRng; use sapvi::{net, Result}; @@ -122,6 +125,19 @@ impl RpcInterface { Ok(jsonrpc_core::Value::Null) } }); + io.add_method("key_gen", move |_| { + //let stop_send = stop_send.clone(); + async move { + //let _ = stop_send.send(()).await; + let secret: jubjub::Fr = jubjub::Fr::random(&mut OsRng); + let public = zcash_primitives::constants::SPENDING_KEY_GENERATOR * secret; + let pubkey = serial::serialize(&public); + let privkey = serial::serialize(&secret); + //println!("{:?}", pubkey); + //println!("{:?}", privkey); + Ok(jsonrpc_core::Value::Null) + } + }); let response = io .handle_request_sync(&request)