Просмотр исходного кода

Start zkpubkey -> btc addr exchange

Janus 5 лет назад
Родитель
Сommit
14e8a5a940
5 измененных файлов с 17 добавлено и 11 удалено
  1. 6 3
      src/bin/cashierd.rs
  2. 1 1
      src/rpc/adapter.rs
  3. 8 5
      src/service/bitcoin_bridge.rs
  4. 1 1
      src/service/mod.rs
  5. 1 1
      src/wallet/walletdb.rs

+ 6 - 3
src/bin/cashierd.rs

@@ -3,7 +3,8 @@ use std::sync::Arc;
 
 use drk::cli::ServiceCli;
 use drk::service::CashierService;
-use drk::service::BitcoinAddress;
+// Testing only
+use drk::service::CashierKeys;
 use drk::Result;
 
 use async_executor::Executor;
@@ -24,8 +25,10 @@ async fn start(executor: Arc<Executor<'_>>, options: ServiceCli) -> Result<()> {
     //let database_path = join_config_path(&(*database_path))?;
     //let rocks = Rocks::new(&database_path)?;
     //let rocks_slabstore_column = RocksColumn::<columns::Slabs>::new(rocks);
+    // Use pw: PASSWORD for now
+    let cashier_wallet = Arc::new(WalletDB::new("cashier.db", "PASSWORD")?);
 
-    let cashier = CashierService::new(accept_addr)?;
+    let cashier = CashierService::new(accept_addr, cashier_wallet)?;
 
     cashier.start(executor.clone()).await?;
     Ok(())
@@ -34,7 +37,7 @@ async fn start(executor: Arc<Executor<'_>>, options: ServiceCli) -> Result<()> {
 
 fn main() -> Result<()> {
 
-    let btc = BitcoinAddress::new().unwrap();
+    let btc = CashierKeys::new().unwrap();
     let deposit = btc.get_deposit_address();
     println!("{:?}", deposit);
 

+ 1 - 1
src/rpc/adapter.rs

@@ -39,7 +39,7 @@ impl RpcAdapter {
 
     pub fn cash_key_gen(&self) -> Result<()> {
         debug!(target: "adapter", "key_gen() [START]");
-        let (public, private) = self.wallet.key_gen();
+        let (public, private) = self.wallet.cash_key_gen();
         self.wallet.put_keypair(public, private)?;
         Ok(())
     }

+ 8 - 5
src/service/bitcoin_bridge.rs

@@ -12,17 +12,19 @@ use std::net::SocketAddr;
 use async_std::sync::Arc;
 use async_executor::Executor;
 
+
 // Struct still needs to attach to drk key stored in db
-pub struct BitcoinAddress {
+pub struct CashierKeys {
+    zk_pubkey: jubjub::SubgroupPoint,
     secret_key: SecretKey,
     bitcoin_private_key: PrivateKey,
     pub bitcoin_public_key: BitcoinPubKey,
     pub pub_address: Address,
 }
-impl BitcoinAddress {
+impl CashierKeys {
     pub fn new(
 
-    ) -> Result<BitcoinAddress> {
+    ) -> Result<CashierKeys> {
 
         let context = secp256k1::Secp256k1::new();
 
@@ -35,7 +37,7 @@ impl BitcoinAddress {
 
         let rand_hex = hex::encode(rand);
 
-        //Generate simple byte array from rand
+        // Generate simple byte array from rand
         let data_slice: &[u8] = rand_hex.as_bytes();
 
         let secret_key = SecretKey::from_slice(&hex::decode(data_slice).unwrap()).unwrap();
@@ -49,7 +51,7 @@ impl BitcoinAddress {
 
         let pub_address = Address::p2pkh(&bitcoin_public_key, Network::Bitcoin);
 
-        Ok(BitcoinAddress {
+        Ok(Self {
             secret_key,
             bitcoin_private_key,
             bitcoin_public_key,
@@ -63,6 +65,7 @@ impl BitcoinAddress {
 
 pub struct CashierService {
     addr: SocketAddr,
+    cashierstore: Arc<CashierStore>,
 }
 
 impl CashierService {

+ 1 - 1
src/service/mod.rs

@@ -4,4 +4,4 @@ pub mod bitcoin_bridge;
 
 pub use gateway::{GatewayClient, GatewayService, GatewaySlabsSubscriber};
 
-pub use bitcoin_bridge::{BitcoinAddress, CashierService};
+pub use bitcoin_bridge::{CashierKeys, CashierService};

+ 1 - 1
src/wallet/walletdb.rs

@@ -68,7 +68,7 @@ impl WalletDb {
 
     pub fn init_cashier_db(&self) -> Result<()> {
         let conn = Connection::open(&self.path)?;
-        debug!(target: "walletdb", "OPENED CONNECTION AT PATH {:?}", self.path);
+        debug!(target: "cashierdb", "OPENED CONNECTION AT PATH {:?}", self.path);
         let contents = include_str!("../../res/schema.sql");
         conn.execute_batch(&contents)?;
         Ok(())