From 2726522e99ccdc90342d501b02b590465e54c5b4 Mon Sep 17 00:00:00 2001 From: Yousra Assouhaji Date: Tue, 2 Apr 2024 07:26:48 +0000 Subject: [PATCH] Replace Prd_list.rs --- crates/sp_client/src/Prd_list.rs | 44 +++++++++++++++----------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/crates/sp_client/src/Prd_list.rs b/crates/sp_client/src/Prd_list.rs index fea1218..2a3923b 100644 --- a/crates/sp_client/src/Prd_list.rs +++ b/crates/sp_client/src/Prd_list.rs @@ -1,26 +1,34 @@ +use bitcoin::PublicKey; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; +//use sp_backend::silentpayments::sending::SilentPaymentAddress; use tsify::Tsify; use wasm_bindgen::prelude::*; use std::marker::Copy; #[wasm_bindgen] -#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq)] + +#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq, Copy)] pub enum Role { Manager, #[default] User, } +#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] +pub struct SilentPaymentAddress { + version : u8, + scan_pubkey : PublicKey, + m_pubkey : PublicKey, + is_testnet : bool, +} -#[derive(Serialize, Deserialize, Debug, Copy, Clone)] -//use std :: marker; -//strings can't implement copy -#[wasm_bindgen] + +#[derive(Debug, Copy, Clone)] pub struct ItemMember { pub role : Role, - pub sp_address: u32, + pub sp_address: SilentPaymentAddress, //pre_id: hash(password, part1) //shard, //priv_key_mainnet_spend, (enc) @@ -29,40 +37,29 @@ pub struct ItemMember { } impl ItemMember { - pub fn new(role: Role, sp_address: u32) -> Self { + pub fn new(role: Role, sp_address: SilentPaymentAddress) -> Self { ItemMember {role, sp_address} } } -#[derive(Debug, Serialize)] -#[wasm_bindgen] +#[derive(Debug, Clone)] pub struct Prdlist { //pub id: String, //pub version: String, pub gestionnaires: Vec, + // pub gestionnaires: Box>, } -//auto inscription in the list (not included) -/* -fn auto_enroll(prdlist: &mut Prdlist, role: Role, sp_address: u32) { - let item_member = ItemMember { - role, //just as a user - sp_address, - }; - prdlist.gestionnaires.push(item_member); //not gestionnaires but users - -}*/ -//fn send_transaction(prdlist: &Prdlist){} -//fn send_PrdMessage (prdlist: &Prdlist){} + #[derive(Serialize)] +#[wasm_bindgen] struct RequestBody { message: String, } -#[wasm_bindgen] -pub async fn send_PrdRequest(prdlist: &Prdlist) -> Result<(), JsValue> { +pub fn send_PrdRequest(prdlist: &Prdlist) -> Result<(), JsValue> { let managers: Vec<&ItemMember> = prdlist.gestionnaires.iter().filter(|m| m.role == Role::Manager).collect(); for manager in managers { let request_body = RequestBody { @@ -83,3 +80,4 @@ pub async fn send_PrdRequest(prdlist: &Prdlist) -> Result<(), JsValue> { +