feat: return WalletKey for UnknownWallet error (#278)

This commit is contained in:
David Caseria
2024-08-08 09:15:03 -04:00
committed by GitHub
parent 0945b3540a
commit bba1d92aec
2 changed files with 15 additions and 13 deletions

View File

@@ -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")]

View File

@@ -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
}