Răsfoiți Sursa

service: pasta port.

parazyd 4 ani în urmă
părinte
comite
ee118fb6c1

+ 8 - 8
src/service/bridge.rs

@@ -1,7 +1,7 @@
-use async_std::sync::{Arc, Mutex};
 use std::collections::HashMap;
 
 use async_executor::Executor;
+use async_std::sync::{Arc, Mutex};
 use async_trait::async_trait;
 use futures::stream::FuturesUnordered;
 use futures::stream::StreamExt;
@@ -9,7 +9,7 @@ use log::*;
 
 use crate::util::NetworkName;
 use crate::wallet::cashierdb::TokenKey;
-use crate::{Error, Result};
+use crate::{types::*, Error, Result};
 
 pub struct BridgeRequests {
     pub network: NetworkName,
@@ -55,8 +55,8 @@ pub struct TokenSubscribtion {
 #[derive(Debug)]
 pub struct TokenNotification {
     pub network: NetworkName,
-    pub token_id: jubjub::Fr,
-    pub drk_pub_key: jubjub::SubgroupPoint,
+    pub token_id: DrkTokenId,
+    pub drk_pub_key: DrkPublicKey,
     pub received_balance: u64,
     pub decimals: u16,
 }
@@ -115,7 +115,7 @@ impl Bridge {
 
     pub async fn subscribe(
         self: Arc<Self>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> BridgeSubscribtion {
@@ -134,7 +134,7 @@ impl Bridge {
         self: Arc<Self>,
         req: async_channel::Receiver<BridgeRequests>,
         rep: async_channel::Sender<BridgeResponse>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<()> {
@@ -238,7 +238,7 @@ impl Bridge {
 pub trait NetworkClient {
     async fn subscribe(
         self: Arc<Self>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<TokenSubscribtion>;
@@ -248,7 +248,7 @@ pub trait NetworkClient {
         self: Arc<Self>,
         private_key: Vec<u8>,
         public_key: Vec<u8>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<String>;

+ 5 - 6
src/service/btc.rs

@@ -1,4 +1,3 @@
-use async_std::sync::{Arc, Mutex};
 use std::cmp::max;
 use std::collections::BTreeMap;
 use std::convert::{From, TryFrom, TryInto};
@@ -9,6 +8,7 @@ use std::time::{Duration, Instant};
 
 use anyhow::Context;
 use async_executor::Executor;
+use async_std::sync::{Arc, Mutex};
 use async_trait::async_trait;
 
 use bdk::electrum_client::{
@@ -35,7 +35,7 @@ use secp256k1::{
 use super::bridge::{NetworkClient, TokenNotification, TokenSubscribtion};
 use crate::serial::{deserialize, serialize, Decodable, Encodable};
 use crate::util::{generate_id, NetworkName};
-use crate::{Error, Result};
+use crate::{types::*, Error, Result};
 
 // Swap out these types for any future non bitcoin-rs types
 pub type PubAddress = Address;
@@ -358,7 +358,7 @@ impl BtcClient {
     async fn handle_subscribe_request(
         self: Arc<Self>,
         btc_keys: Account,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
     ) -> BtcResult<()> {
         let client = self.client.clone();
 
@@ -392,7 +392,6 @@ impl BtcClient {
             match new_status {
                 ScriptStatus::Unseen => continue,
                 ScriptStatus::InMempool => {
-
                     break;
                 }
                 ScriptStatus::Confirmed(inner) => {
@@ -530,7 +529,7 @@ impl BtcClient {
 impl NetworkClient for BtcClient {
     async fn subscribe(
         self: Arc<Self>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         _mint: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<TokenSubscribtion> {
@@ -562,7 +561,7 @@ impl NetworkClient for BtcClient {
         self: Arc<Self>,
         private_key: Vec<u8>,
         _public_key: Vec<u8>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         _mint: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<String> {

+ 7 - 6
src/service/eth.rs

@@ -1,8 +1,8 @@
-use async_std::sync::{Arc, Mutex};
 use std::convert::TryInto;
 use std::time::Duration;
 
 use async_executor::Executor;
+use async_std::sync::{Arc, Mutex};
 use async_trait::async_trait;
 use hash_db::Hasher;
 use keccak_hasher::KeccakHasher;
@@ -17,6 +17,7 @@ use crate::{
     rpc::jsonrpc,
     rpc::jsonrpc::JsonResult,
     serial::{deserialize, serialize},
+    types::*,
     util::{generate_id, parse::truncate, NetworkName},
     Error, Result,
 };
@@ -202,7 +203,6 @@ impl EthClient {
     }
 
     async fn send_eth_to_main_wallet(&self, acc: &str, amount: BigUint) -> Result<()> {
-
         debug!(target: "ETH BRIDGE", "Send eth to main wallet");
 
         let tx = EthTx::new(
@@ -223,7 +223,7 @@ impl EthClient {
     async fn handle_subscribe_request(
         self: Arc<Self>,
         addr: String,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
     ) -> Result<()> {
         if self.subscriptions.lock().await.contains(&addr) {
             return Ok(());
@@ -280,7 +280,8 @@ impl EthClient {
             .await
             .map_err(Error::from)?;
 
-        self.send_eth_to_main_wallet(&addr, received_balance).await?;
+        self.send_eth_to_main_wallet(&addr, received_balance)
+            .await?;
 
         debug!(target: "ETH BRIDGE", "Received {} eth", received_balance_ui );
 
@@ -383,7 +384,7 @@ impl EthClient {
 impl NetworkClient for EthClient {
     async fn subscribe(
         self: Arc<Self>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         _mint_address: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<TokenSubscribtion> {
@@ -421,7 +422,7 @@ impl NetworkClient for EthClient {
         self: Arc<Self>,
         _private_key: Vec<u8>,
         public_key: Vec<u8>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         _mint_address: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<String> {

+ 2 - 3
src/service/gateway.rs

@@ -1,8 +1,7 @@
-use std::net::ToSocketAddrs;
-
-use async_std::sync::Arc;
 use std::convert::From;
 use std::net::SocketAddr;
+use std::net::ToSocketAddrs;
+use std::sync::Arc;
 
 use async_executor::Executor;
 use log::debug;

+ 0 - 1
src/service/mod.rs

@@ -1,4 +1,3 @@
-//pub mod cashier;
 pub mod bridge;
 pub mod gateway;
 pub mod reqrep;

+ 4 - 5
src/service/reqrep.rs

@@ -1,10 +1,9 @@
-use async_std::prelude::*;
-use async_std::sync::Arc;
-use std::convert::TryFrom;
 use std::io;
 use std::net::SocketAddr;
+use std::sync::Arc;
 
 use async_executor::Executor;
+use async_std::prelude::*;
 use bytes::Bytes;
 use futures::FutureExt;
 use log::*;
@@ -13,8 +12,8 @@ use signal_hook::consts::SIGINT;
 use signal_hook_async_std::Signals;
 use zeromq::*;
 
-use crate::serial::{deserialize, serialize};
-use crate::{Decodable, Encodable, Result};
+use crate::serial::{deserialize, serialize, Decodable, Encodable};
+use crate::Result;
 
 pub type PeerId = Vec<u8>;
 

+ 6 - 8
src/service/sol.rs

@@ -1,14 +1,12 @@
-use async_std::sync::{Arc, Mutex};
-use std::convert::TryFrom;
 use std::str::FromStr;
 use std::time::Duration;
 
 use async_executor::Executor;
 use async_native_tls::TlsConnector;
+use async_std::sync::{Arc, Mutex};
 use async_trait::async_trait;
 use futures::{SinkExt, StreamExt};
 use log::{debug, error, info, warn};
-use rand::rngs::OsRng;
 use serde::Serialize;
 use serde_json::{json, Value};
 use solana_client::{blockhash_query::BlockhashQuery, rpc_client::RpcClient};
@@ -28,7 +26,7 @@ use super::bridge::{NetworkClient, TokenNotification, TokenSubscribtion};
 use crate::rpc::{jsonrpc, jsonrpc::JsonResult, websockets, websockets::WsStream};
 use crate::serial::{deserialize, serialize, Decodable, Encodable};
 use crate::util::{generate_id, parse::truncate, NetworkName};
-use crate::{Error, Result};
+use crate::{types::*, Error, Result};
 
 pub const SOL_NATIVE_TOKEN_ID: &str = "So11111111111111111111111111111111111111112";
 
@@ -97,7 +95,7 @@ impl SolClient {
     async fn handle_subscribe_request(
         self: Arc<Self>,
         keypair: Keypair,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint: Option<Pubkey>,
     ) -> SolResult<()> {
         debug!(target: "SOL BRIDGE", "handle_subscribe_request()");
@@ -423,11 +421,11 @@ impl SolClient {
 impl NetworkClient for SolClient {
     async fn subscribe(
         self: Arc<Self>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint_address: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<TokenSubscribtion> {
-        let keypair = Keypair::generate(&mut OsRng);
+        let keypair = Keypair::new();
 
         let public_key = keypair.pubkey().to_string();
         let private_key = serialize(&keypair);
@@ -463,7 +461,7 @@ impl NetworkClient for SolClient {
         self: Arc<Self>,
         private_key: Vec<u8>,
         _public_key: Vec<u8>,
-        drk_pub_key: jubjub::SubgroupPoint,
+        drk_pub_key: DrkPublicKey,
         mint_address: Option<String>,
         executor: Arc<Executor<'_>>,
     ) -> Result<String> {