target
This commit is contained in:
parent
38beda8007
commit
40267ea224
@ -2,8 +2,8 @@ use rand::Rng;
|
|||||||
|
|
||||||
use anyhow::Error as AnyhowError;
|
use anyhow::Error as AnyhowError;
|
||||||
use serde_json::Error as SerdeJsonError;
|
use serde_json::Error as SerdeJsonError;
|
||||||
use sp_backend::silentpayments::Error as SpError;
|
|
||||||
use sp_backend::bitcoin::secp256k1::SecretKey;
|
use sp_backend::bitcoin::secp256k1::SecretKey;
|
||||||
|
use sp_backend::silentpayments::Error as SpError;
|
||||||
|
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use sp_backend::silentpayments::sending::SilentPaymentAddress;
|
use sp_backend::silentpayments::sending::SilentPaymentAddress;
|
||||||
@ -59,9 +59,9 @@ impl Into<JsValue> for ApiError {
|
|||||||
#[derive(Tsify, Serialize, Deserialize)]
|
#[derive(Tsify, Serialize, Deserialize)]
|
||||||
#[tsify(into_wasm_abi)]
|
#[tsify(into_wasm_abi)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
pub struct generate_sp_wallet_return {
|
pub struct generate_create_user_return {
|
||||||
pub sp_client_json: String,
|
pub user: User,
|
||||||
pub sp_outputs_json: String,
|
pub output_list: OutputList
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
@ -69,7 +69,6 @@ pub fn setup() {
|
|||||||
wasm_logger::init(wasm_logger::Config::default());
|
wasm_logger::init(wasm_logger::Config::default());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
|
||||||
pub fn generate_sp_wallet(
|
pub fn generate_sp_wallet(
|
||||||
label: Option<String>,
|
label: Option<String>,
|
||||||
birthday: u32,
|
birthday: u32,
|
||||||
@ -117,32 +116,17 @@ pub fn get_receiving_address(sp_client: String) -> String {
|
|||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub fn create_user(
|
pub fn create_user(
|
||||||
recover_wallet: String,
|
|
||||||
revoke_wallet: String,
|
|
||||||
password: JsString,
|
password: JsString,
|
||||||
image_to_recover: &[u8],
|
image_to_recover: &[u8],
|
||||||
image_to_revoke: &[u8],
|
image_to_revoke: &[u8],
|
||||||
|
label: Option<String>,
|
||||||
|
birthday: u32,
|
||||||
) -> ApiResult<User> {
|
) -> ApiResult<User> {
|
||||||
let recover_sp_client: SpClient = serde_json::from_str(&recover_wallet)?;
|
|
||||||
let revoke_sp_client: SpClient = serde_json::from_str(&revoke_wallet)?;
|
|
||||||
let recover_spend_key: SecretKey = match recover_sp_client.get_spend_key() {
|
|
||||||
SpendKey::Secret(sk) => sk,
|
|
||||||
SpendKey::Public(_) => {
|
|
||||||
return Err(ApiError {
|
|
||||||
message: "Can't create user from a watch-only sp_client".to_owned(),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let revoke_spend_key: SecretKey = match revoke_sp_client.get_spend_key() {
|
|
||||||
SpendKey::Secret(sk) => sk,
|
|
||||||
SpendKey::Public(_) => {
|
|
||||||
return Err(ApiError {
|
|
||||||
message: "Can't create user from a watch-only sp_client".to_owned(),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let revoke_scan_key = revoke_sp_client.get_scan_key();
|
// todo: struct with sp_client{revoke, recover, main}
|
||||||
|
let sp_client_recover = generate_sp_wallet(label, birthday, true)?;
|
||||||
|
let sp_client_revoke = generate_sp_wallet(label, birthday, true)?;
|
||||||
|
let sp_client_main = generate_sp_wallet(label, birthday, false)?;
|
||||||
|
|
||||||
let user = User::new(
|
let user = User::new(
|
||||||
recover_spend_key,
|
recover_spend_key,
|
||||||
|
9
crates/sp_client/src/crypto.rs
Normal file
9
crates/sp_client/src/crypto.rs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
use aes_gcm;
|
||||||
|
|
||||||
|
pub enum KeyType {
|
||||||
|
Aes256GcmIv96BitKey([u8;32])
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct EncryptionKey {
|
||||||
|
sk: KeyType
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user