From 59ba5a227650c4eae0137c19a0916c866e83b588 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Mon, 15 Jul 2024 13:28:45 +0100 Subject: [PATCH] feat: sig all cannot be used in melt --- CHANGELOG.md | 14 ++++++++++++++ crates/cdk/src/mint/error.rs | 3 +++ crates/cdk/src/mint/mod.rs | 7 ++----- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c94b056..e8206190 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,20 @@ --> + +## [Unreleased] + +### Summary + +### Changed + +### Added + +### Fixed +- cdk(mint): `SIG_ALL` is not allowed in `melt` ([thesimplekid]). + +### Removed + ## [v0.2.0] ### Summary diff --git a/crates/cdk/src/mint/error.rs b/crates/cdk/src/mint/error.rs index dee98670..619d24ae 100644 --- a/crates/cdk/src/mint/error.rs +++ b/crates/cdk/src/mint/error.rs @@ -59,6 +59,9 @@ pub enum Error { /// BlindMessage is already signed #[error("Blinded Message is already signed")] BlindedMessageAlreadySigned, + /// Sig all cannot be used in melt + #[error("Sig all cannot be used in melt")] + SigAllUsedInMelt, /// Cashu Error #[error(transparent)] Cashu(#[from] crate::error::Error), diff --git a/crates/cdk/src/mint/mod.rs b/crates/cdk/src/mint/mod.rs index 9f07e753..1f1346d1 100644 --- a/crates/cdk/src/mint/mod.rs +++ b/crates/cdk/src/mint/mod.rs @@ -819,13 +819,10 @@ impl Mint { } if let Some(outputs) = &melt_request.outputs { - let (sig_flag, pubkeys) = enforce_sig_flag(melt_request.inputs.clone()); + let (sig_flag, _pubkeys) = enforce_sig_flag(melt_request.inputs.clone()); if sig_flag.eq(&SigFlag::SigAll) { - let pubkeys = pubkeys.into_iter().collect(); - for blinded_messaage in outputs { - blinded_messaage.verify_p2pk(&pubkeys, 1)?; - } + return Err(Error::SigAllUsedInMelt); } let output_keysets_ids: HashSet = outputs.iter().map(|b| b.keyset_id).collect();