Browse Source

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

This reverts commit 4a9101443f691f53e4a2781b7111ab428899203c.

Verify needs to be public as clients will need to verify the request before paying
and procesing the request
thesimplekid 1 year ago
parent
commit
b9f56c61c1

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

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

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

@@ -114,6 +114,14 @@ 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(
         &self,
         melt_request: Arc<MeltRequest>,

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

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