diff --git a/src/silentpayments.rs b/src/silentpayments.rs index 935b2c5..00de65c 100644 --- a/src/silentpayments.rs +++ b/src/silentpayments.rs @@ -1,11 +1,31 @@ use std::collections::{HashMap, HashSet}; use anyhow::{Error, Result}; +use serde::{Deserialize, Serialize}; +use tsify::Tsify; use rand::{thread_rng, Rng}; use sp_client::bitcoin::{Amount, OutPoint, Transaction}; use sp_client::{OwnedOutput, Recipient, SilentPaymentUnsignedTransaction, SpClient}; +#[derive(Debug, Serialize, Deserialize, PartialEq, Tsify)] +#[tsify(from_wasm_abi)] +pub struct TsUnsignedTransaction(SilentPaymentUnsignedTransaction); + +impl TsUnsignedTransaction { + pub fn new(unsigned_tx: SilentPaymentUnsignedTransaction) -> Self { + Self(unsigned_tx) + } + + pub fn as_inner(&self) -> &SilentPaymentUnsignedTransaction { + &self.0 + } + + pub fn to_inner(self) -> SilentPaymentUnsignedTransaction { + self.0 + } +} + pub fn create_transaction( mandatory_inputs: Vec, mut available_outpoints: HashMap,