Browse Source

`cashu-sdk/mint` improve: `verify_melt` called by `proccess_melt_request`

This simplfies the api as the client does not have to call verify themselfs.
Brings the api in line with `split`
thesimplekid 1 year ago
parent
commit
4a9101443f

+ 0 - 2
bindings/cashu-sdk-ffi/src/cashu_sdk.udl

@@ -340,7 +340,5 @@ interface Mint {
     [Throws=CashuSdkError]
     [Throws=CashuSdkError]
 	SplitResponse process_split_request(SplitRequest split_request);
 	SplitResponse process_split_request(SplitRequest split_request);
     [Throws=CashuSdkError]
     [Throws=CashuSdkError]
-	void verify_melt_request(MeltRequest melt_request);
-    [Throws=CashuSdkError]
 	MeltResponse process_melt_request(MeltRequest melt_request, string preimage, Amount totoal_spent);
 	MeltResponse process_melt_request(MeltRequest melt_request, string preimage, Amount totoal_spent);
 };
 };

+ 0 - 8
bindings/cashu-sdk-ffi/src/mint.rs

@@ -114,14 +114,6 @@ impl Mint {
         ))
         ))
     }
     }
 
 
-    pub fn verify_melt_request(&self, melt_request: Arc<MeltRequest>) -> Result<()> {
-        Ok(self
-            .inner
-            .write()
-            .unwrap()
-            .verify_melt_request(melt_request.as_ref().deref())?)
-    }
-
     pub fn process_melt_request(
     pub fn process_melt_request(
         &self,
         &self,
         melt_request: Arc<MeltRequest>,
         melt_request: Arc<MeltRequest>,

+ 3 - 1
crates/cashu-sdk/src/mint.rs

@@ -232,7 +232,7 @@ impl Mint {
         Ok(CheckSpendableResponse { spendable, pending })
         Ok(CheckSpendableResponse { spendable, pending })
     }
     }
 
 
-    pub fn verify_melt_request(&mut self, melt_request: &MeltRequest) -> Result<(), Error> {
+    fn verify_melt_request(&mut self, melt_request: &MeltRequest) -> Result<(), Error> {
         let proofs_total = melt_request.proofs_amount();
         let proofs_total = melt_request.proofs_amount();
 
 
         let percent_fee_reserve = Amount::from_sat(
         let percent_fee_reserve = Amount::from_sat(
@@ -274,6 +274,8 @@ impl Mint {
         preimage: &str,
         preimage: &str,
         total_spent: Amount,
         total_spent: Amount,
     ) -> Result<MeltResponse, Error> {
     ) -> Result<MeltResponse, Error> {
+        self.verify_melt_request(melt_request)?;
+
         let secrets = Vec::with_capacity(melt_request.proofs.len());
         let secrets = Vec::with_capacity(melt_request.proofs.len());
         for secret in secrets {
         for secret in secrets {
             self.spent_secrets.insert(secret);
             self.spent_secrets.insert(secret);