|
@@ -11,6 +11,9 @@ use smol::Async;
|
|
|
use std::net::SocketAddr;
|
|
use std::net::SocketAddr;
|
|
|
use std::net::TcpListener;
|
|
use std::net::TcpListener;
|
|
|
use std::sync::Arc;
|
|
use std::sync::Arc;
|
|
|
|
|
+use ff::Field;
|
|
|
|
|
+use sapvi::serial;
|
|
|
|
|
+use rand::rngs::OsRng;
|
|
|
|
|
|
|
|
use sapvi::{net, Result};
|
|
use sapvi::{net, Result};
|
|
|
|
|
|
|
@@ -122,6 +125,19 @@ impl RpcInterface {
|
|
|
Ok(jsonrpc_core::Value::Null)
|
|
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
|
|
let response = io
|
|
|
.handle_request_sync(&request)
|
|
.handle_request_sync(&request)
|