|
@@ -7,11 +7,9 @@ use crate::crypto::{
|
|
|
nullifier::Nullifier,
|
|
nullifier::Nullifier,
|
|
|
save_params, setup_mint_prover, setup_spend_prover, OwnCoin,
|
|
save_params, setup_mint_prover, setup_spend_prover, OwnCoin,
|
|
|
};
|
|
};
|
|
|
-use crate::rpc::adapter::{RpcClient, RpcClientAdapter};
|
|
|
|
|
-use crate::rpc::jsonserver;
|
|
|
|
|
use crate::serial::Decodable;
|
|
use crate::serial::Decodable;
|
|
|
use crate::serial::Encodable;
|
|
use crate::serial::Encodable;
|
|
|
-use crate::service::{CashierClient, GatewayClient, GatewaySlabsSubscriber};
|
|
|
|
|
|
|
+use crate::service::{GatewayClient, GatewaySlabsSubscriber};
|
|
|
use crate::state::{state_transition, ProgramState, StateUpdate};
|
|
use crate::state::{state_transition, ProgramState, StateUpdate};
|
|
|
use crate::wallet::{CashierDbPtr, WalletPtr};
|
|
use crate::wallet::{CashierDbPtr, WalletPtr};
|
|
|
use crate::{tx, Result};
|
|
use crate::{tx, Result};
|
|
@@ -22,8 +20,6 @@ use async_executor::Executor;
|
|
|
use bellman::groth16;
|
|
use bellman::groth16;
|
|
|
use bls12_381::Bls12;
|
|
use bls12_381::Bls12;
|
|
|
|
|
|
|
|
-use jsonrpc_core::IoHandler;
|
|
|
|
|
-
|
|
|
|
|
use async_std::sync::{Arc, Mutex};
|
|
use async_std::sync::{Arc, Mutex};
|
|
|
use log::*;
|
|
use log::*;
|
|
|
use std::net::SocketAddr;
|
|
use std::net::SocketAddr;
|
|
@@ -93,30 +89,8 @@ impl Client {
|
|
|
pub async fn connect_to_cashier(
|
|
pub async fn connect_to_cashier(
|
|
|
client: Client,
|
|
client: Client,
|
|
|
executor: Arc<Executor<'_>>,
|
|
executor: Arc<Executor<'_>>,
|
|
|
- cashier_addr: SocketAddr,
|
|
|
|
|
- rpc_url: SocketAddr,
|
|
|
|
|
) -> Result<()> {
|
|
) -> Result<()> {
|
|
|
- // create cashier client
|
|
|
|
|
- debug!(target: "CLIENT", "Creating cashier client");
|
|
|
|
|
- let mut cashier_client = CashierClient::new(cashier_addr)?;
|
|
|
|
|
-
|
|
|
|
|
- // start cashier_client
|
|
|
|
|
- cashier_client.start().await?;
|
|
|
|
|
-
|
|
|
|
|
let client_mutex = Arc::new(Mutex::new(client));
|
|
let client_mutex = Arc::new(Mutex::new(client));
|
|
|
- let cashier_mutex = Arc::new(Mutex::new(cashier_client));
|
|
|
|
|
-
|
|
|
|
|
- let mut io = IoHandler::new();
|
|
|
|
|
-
|
|
|
|
|
- let rpc_client_adapter = RpcClientAdapter::new(client_mutex.clone(), cashier_mutex.clone());
|
|
|
|
|
-
|
|
|
|
|
- io.extend_with(rpc_client_adapter.to_delegate());
|
|
|
|
|
-
|
|
|
|
|
- let io = Arc::new(io);
|
|
|
|
|
-
|
|
|
|
|
- // start the rpc server
|
|
|
|
|
- debug!(target: "CLIENT", "Start RPC server");
|
|
|
|
|
- let _ = jsonserver::start(executor.clone(), rpc_url, io).await?;
|
|
|
|
|
|
|
|
|
|
// start subscriber
|
|
// start subscriber
|
|
|
Client::connect_to_subscriber(client_mutex.clone(), executor.clone()).await?;
|
|
Client::connect_to_subscriber(client_mutex.clone(), executor.clone()).await?;
|