pub enum Error {
Show 134 variants
AmountKey,
KeysetUnknown(Id),
UnsupportedUnit,
PaymentFailed,
PaymentPending,
RequestAlreadyPaid,
InvalidPaymentRequest,
InvoiceAmountUndefined,
SplitValuesGreater,
AmountOverflow,
OverIssue,
SignatureMissingOrInvalid,
AmountLessNotAllowed,
InternalMultiPartMeltQuote,
MppUnitMethodNotSupported(CurrencyUnit, PaymentMethod),
ClearAuthRequired,
BlindAuthRequired,
ClearAuthFailed,
BlindAuthFailed,
AuthSettingsUndefined,
MintTimeExceedsTolerance,
InsufficientBlindAuthTokens,
AuthLocalstoreUndefined,
CatNotSet,
CouldNotGetMintInfo,
AmountlessInvoiceNotSupported(CurrencyUnit, PaymentMethod),
DuplicatePaymentId,
PubkeyRequired,
InvalidPaymentMethod,
AmountUndefined,
UnsupportedPaymentMethod,
PaymentMethodRequired,
Bolt12parse,
InvalidInvoice,
Bip353Parse(String),
Timeout,
Bip353Resolve(String),
Bip353NoLightningOffer,
LightningAddressParse(String),
LightningAddressRequest(String),
SendError(String),
RecvError(String),
MintingDisabled,
UnknownQuote,
ExpiredQuote(u64, u64),
AmountOutofLimitRange(Amount, Amount, Amount),
UnpaidQuote,
PendingQuote,
IssuedQuote,
PaidQuote,
UnknownPaymentState,
MeltingDisabled,
UnknownKeySet,
BlindedMessageAlreadySigned,
InactiveKeyset,
TransactionUnbalanced(u64, u64, u64),
DuplicateInputs,
DuplicateOutputs,
MaxInputsExceeded {
actual: usize,
max: usize,
},
MaxOutputsExceeded {
actual: usize,
max: usize,
},
ProofContentTooLarge {
actual: usize,
max: usize,
},
RequestFieldTooLarge {
field: String,
actual: usize,
max: usize,
},
MultipleUnits,
UnitMismatch,
SigAllUsedInMelt,
TokenAlreadySpent,
TokenPending,
Internal,
OidcNotSet,
P2PKConditionsNotMet(String),
DuplicateSignatureError,
LocktimeNotProvided,
InvalidSpendConditions(String),
IncorrectWallet(String),
UnknownWallet(WalletKey),
MaxFeeExceeded,
UrlPathSegments,
UnknownErrorResponse(String),
CouldNotVerifyDleq,
DleqProofNotProvided,
IncorrectMint,
MultiMintTokenNotSupported,
PreimageNotProvided,
UnknownMint {
mint_url: String,
},
TransferTimeout {
source_mint: String,
target_mint: String,
amount: Amount,
},
InsufficientFunds,
UnexpectedProofState,
NoActiveKeyset,
IncorrectQuoteAmount,
InvoiceDescriptionUnsupported,
InvalidTransactionDirection,
InvalidTransactionId,
TransactionNotFound,
InvalidOperationKind,
InvalidOperationState,
OperationNotFound,
KVStoreInvalidKey(String),
ConcurrentUpdate,
InvalidMintResponse(String),
SubscriptionError(String),
Custom(String),
Invoice(ParseOrSemanticError),
Bip32(Error),
ParseInt(ParseIntError),
UrlParseError(ParseError),
Utf8ParseError(FromUtf8Error),
SerdeJsonError(Error),
Base64Error(DecodeError),
HexError(Error),
HttpError(Option<u16>, String),
Uuid(Error),
CashuUrl(Error),
Secret(Error),
AmountError(Error),
DHKE(Error),
NUT00(Error),
NUT01(Error),
NUT02(Error),
NUT03(Error),
NUT04(Error),
NUT05(Error),
NUT11(Error),
NUT12(Error),
NUT13(Error),
NUT14(Error),
NUT18(Error),
NUT20(Error),
NUT21(Error),
NUT22(Error),
NUT23(Error),
QuoteId(QuoteIdError),
TryFromSliceError(TryFromSliceError),
Database(Error),
Payment(Error),
}Expand description
CDK Error
Variants§
AmountKey
Mint does not have a key for amount
KeysetUnknown(Id)
Keyset is not known
UnsupportedUnit
Unsupported unit
PaymentFailed
Payment failed
PaymentPending
Payment pending
RequestAlreadyPaid
Invoice already paid
InvalidPaymentRequest
Invalid payment request
InvoiceAmountUndefined
Bolt11 invoice does not have amount
SplitValuesGreater
Split Values must be less then or equal to amount
AmountOverflow
Amount overflow
OverIssue
Over issue - tried to issue more than paid
SignatureMissingOrInvalid
Witness missing or invalid
AmountLessNotAllowed
Amountless Invoice Not supported
InternalMultiPartMeltQuote
Multi-Part Internal Melt Quotes are not supported
MppUnitMethodNotSupported(CurrencyUnit, PaymentMethod)
Multi-Part Payment not supported for unit and method
ClearAuthRequired
Clear Auth Required
BlindAuthRequired
Blind Auth Required
ClearAuthFailed
Clear Auth Failed
BlindAuthFailed
Blind Auth Failed
AuthSettingsUndefined
Auth settings undefined
MintTimeExceedsTolerance
Mint time outside of tolerance
InsufficientBlindAuthTokens
Insufficient blind auth tokens
AuthLocalstoreUndefined
Auth localstore undefined
CatNotSet
Wallet cat not set
CouldNotGetMintInfo
Could not get mint info
AmountlessInvoiceNotSupported(CurrencyUnit, PaymentMethod)
Multi-Part Payment not supported for unit and method
DuplicatePaymentId
Duplicate Payment id
PubkeyRequired
Pubkey required
InvalidPaymentMethod
Invalid payment method
AmountUndefined
Amount undefined
UnsupportedPaymentMethod
Unsupported payment method
PaymentMethodRequired
Payment method required
Bolt12parse
Could not parse bolt12
InvalidInvoice
Could not parse invoice (bolt11 or bolt12)
Bip353Parse(String)
BIP353 address parsing error
Timeout
Operation timeout
Bip353Resolve(String)
BIP353 address resolution error
Bip353NoLightningOffer
BIP353 no Lightning offer found
LightningAddressParse(String)
Lightning Address parsing error
LightningAddressRequest(String)
Lightning Address request error
SendError(String)
Internal Error - Send error
RecvError(String)
Internal Error - Recv error
MintingDisabled
Minting is disabled
UnknownQuote
Quote is not known
ExpiredQuote(u64, u64)
Quote is expired
AmountOutofLimitRange(Amount, Amount, Amount)
Amount is outside of allowed range
UnpaidQuote
Quote is not paid
PendingQuote
Quote is pending
IssuedQuote
ecash already issued for quote
PaidQuote
Quote has already been paid
UnknownPaymentState
Payment state is unknown
MeltingDisabled
Melting is disabled
UnknownKeySet
Unknown Keyset
BlindedMessageAlreadySigned
BlindedMessage is already signed
InactiveKeyset
Inactive Keyset
TransactionUnbalanced(u64, u64, u64)
Transaction unbalanced
DuplicateInputs
Duplicate proofs provided
DuplicateOutputs
Duplicate output
MaxInputsExceeded
Maximum number of inputs exceeded
MaxOutputsExceeded
Maximum number of outputs exceeded
ProofContentTooLarge
Proof content too large (secret or witness exceeds max length)
RequestFieldTooLarge
Request field content too large (description or extra exceeds max length)
Fields
MultipleUnits
Multiple units provided
UnitMismatch
Unit mismatch
SigAllUsedInMelt
Sig all cannot be used in melt
TokenAlreadySpent
Token is already spent
TokenPending
Token is already pending
Internal
Internal Error
OidcNotSet
Oidc config not set
P2PKConditionsNotMet(String)
P2PK spending conditions not met
DuplicateSignatureError
Duplicate signature from same pubkey in P2PK
LocktimeNotProvided
Spending Locktime not provided
InvalidSpendConditions(String)
Invalid Spending Conditions
IncorrectWallet(String)
Incorrect Wallet
UnknownWallet(WalletKey)
Unknown Wallet
MaxFeeExceeded
Max Fee Ecxeded
UrlPathSegments
Url path segments could not be joined
UnknownErrorResponse(String)
Unknown error response
CouldNotVerifyDleq
Invalid DLEQ proof
DleqProofNotProvided
Dleq Proof not provided for signature
IncorrectMint
Incorrect Mint Token does not match wallet mint
MultiMintTokenNotSupported
Receive can only be used with tokens from single mint
PreimageNotProvided
Preimage not provided
UnknownMint
Unknown mint
TransferTimeout
Transfer between mints timed out
Fields
InsufficientFunds
Insufficient Funds
UnexpectedProofState
Unexpected proof state
NoActiveKeyset
No active keyset
IncorrectQuoteAmount
Incorrect quote amount
InvoiceDescriptionUnsupported
Invoice Description not supported
InvalidTransactionDirection
Invalid transaction direction
InvalidTransactionId
Invalid transaction id
TransactionNotFound
Transaction not found
InvalidOperationKind
Invalid operation kind
InvalidOperationState
Invalid operation state
OperationNotFound
Operation not found
KVStoreInvalidKey(String)
KV Store invalid key or namespace
ConcurrentUpdate
Concurrent update detected
InvalidMintResponse(String)
Invalid response from mint
SubscriptionError(String)
Subscription error
Custom(String)
Custom Error
Invoice(ParseOrSemanticError)
Parse invoice error
Bip32(Error)
Bip32 error
ParseInt(ParseIntError)
Parse int error
UrlParseError(ParseError)
Parse 9rl Error
Utf8ParseError(FromUtf8Error)
Utf8 parse error
SerdeJsonError(Error)
Serde Json error
Base64Error(DecodeError)
Base64 error
HexError(Error)
From hex error
HttpError(Option<u16>, String)
Http transport error
Uuid(Error)
Parse invoice error
CashuUrl(Error)
Cashu Url Error
Secret(Error)
Secret error
AmountError(Error)
Amount Error
DHKE(Error)
DHKE Error
NUT00(Error)
NUT00 Error
NUT01(Error)
Nut01 error
NUT02(Error)
NUT02 error
NUT03(Error)
NUT03 error
NUT04(Error)
NUT04 error
NUT05(Error)
NUT05 error
NUT11(Error)
NUT11 Error
NUT12(Error)
NUT12 Error
NUT13(Error)
NUT13 Error
NUT14(Error)
NUT14 Error
NUT18(Error)
NUT18 Error
NUT20(Error)
NUT20 Error
NUT21(Error)
NUT21 Error
NUT22(Error)
NUT22 Error
NUT23(Error)
NUT23 Error
QuoteId(QuoteIdError)
Quote ID Error
TryFromSliceError(TryFromSliceError)
From slice error
Database(Error)
Database Error
Payment(Error)
Payment Error
Implementations§
Source§impl Error
impl Error
Sourcepub fn is_definitive_failure(&self) -> bool
pub fn is_definitive_failure(&self) -> bool
Check if the error is a definitive failure
A definitive failure means the mint definitely rejected the request and did not update its state. In these cases, it is safe to revert the transaction locally.
If false, the failure is ambiguous (e.g. timeout, network error, 500) and the transaction state at the mint is unknown.