diff --git a/bindings/cashu-sdk-ffi/src/cashu_sdk.udl b/bindings/cashu-sdk-ffi/src/cashu_sdk.udl index a705d487..9da8b1f8 100644 --- a/bindings/cashu-sdk-ffi/src/cashu_sdk.udl +++ b/bindings/cashu-sdk-ffi/src/cashu_sdk.udl @@ -339,8 +339,6 @@ interface Mint { PostMintResponse process_mint_request(MintRequest mint_request); [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); }; \ No newline at end of file diff --git a/bindings/cashu-sdk-ffi/src/mint.rs b/bindings/cashu-sdk-ffi/src/mint.rs index e79ebae1..a2f2c84b 100644 --- a/bindings/cashu-sdk-ffi/src/mint.rs +++ b/bindings/cashu-sdk-ffi/src/mint.rs @@ -114,14 +114,6 @@ impl Mint { )) } - pub fn verify_melt_request(&self, melt_request: Arc) -> Result<()> { - Ok(self - .inner - .write() - .unwrap() - .verify_melt_request(melt_request.as_ref().deref())?) - } - pub fn process_melt_request( &self, melt_request: Arc, diff --git a/crates/cashu-sdk/src/mint.rs b/crates/cashu-sdk/src/mint.rs index b316d719..2c8ea178 100644 --- a/crates/cashu-sdk/src/mint.rs +++ b/crates/cashu-sdk/src/mint.rs @@ -232,7 +232,7 @@ impl Mint { 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 percent_fee_reserve = Amount::from_sat( @@ -274,6 +274,8 @@ impl Mint { preimage: &str, total_spent: Amount, ) -> Result { + self.verify_melt_request(melt_request)?; + let secrets = Vec::with_capacity(melt_request.proofs.len()); for secret in secrets { self.spent_secrets.insert(secret);