diff --git a/crates/cdk/src/wallet/error.rs b/crates/cdk/src/wallet/error.rs index ec2a4655..aa593b0a 100644 --- a/crates/cdk/src/wallet/error.rs +++ b/crates/cdk/src/wallet/error.rs @@ -7,6 +7,8 @@ use thiserror::Error; use crate::cdk_database; use crate::error::{ErrorCode, ErrorResponse}; +use super::multi_mint_wallet::WalletKey; + /// Wallet Error #[derive(Debug, Error)] pub enum Error { @@ -76,9 +78,9 @@ pub enum Error { UnknownErrorResponse(String), /// Unknown Wallet #[error("Unknown Wallet: `{0}`")] - UnknownWallet(String), - /// Unknown Wallet - #[error("Unknown Wallet: `{0}`")] + UnknownWallet(WalletKey), + /// Incorrect Wallet + #[error("Incorrect Wallet: `{0}`")] IncorrectWallet(String), /// Max Fee Ecxeded #[error("Max fee exceeded")] diff --git a/crates/cdk/src/wallet/multi_mint_wallet.rs b/crates/cdk/src/wallet/multi_mint_wallet.rs index 75f43e85..fd5d30c8 100644 --- a/crates/cdk/src/wallet/multi_mint_wallet.rs +++ b/crates/cdk/src/wallet/multi_mint_wallet.rs @@ -129,7 +129,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; wallet .send( @@ -153,7 +153,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; wallet.mint_quote(amount).await } @@ -171,7 +171,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(&wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; let amount = wallet.check_all_mint_quotes().await?; amount_minted.insert(wallet.unit, amount); @@ -202,7 +202,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; wallet .mint(quote_id, SplitTarget::default(), conditions) .await @@ -228,14 +228,14 @@ impl MultiMintWallet { for (mint_url, proofs) in mint_proofs { let wallet_key = WalletKey::new(mint_url.clone(), unit); if !self.has(&wallet_key).await { - return Err(Error::UnknownWallet(wallet_key.to_string())); + return Err(Error::UnknownWallet(wallet_key.clone())); } let wallet_key = WalletKey::new(mint_url, unit); let wallet = self .get_wallet(&wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; let amount = wallet .receive_proofs(proofs, SplitTarget::default(), p2pk_signing_keys, preimages) @@ -258,7 +258,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; let quote = wallet.melt_quote(bolt11.to_string(), None).await?; if let Some(max_fee) = max_fee { @@ -276,7 +276,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; wallet.restore().await } @@ -292,7 +292,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; wallet.verify_token_p2pk(token, conditions) } @@ -307,7 +307,7 @@ impl MultiMintWallet { let wallet = self .get_wallet(wallet_key) .await - .ok_or(Error::UnknownWallet(wallet_key.to_string()))?; + .ok_or(Error::UnknownWallet(wallet_key.clone()))?; wallet.verify_token_dleq(token).await }