pub enum Error {
Show 45 variants
InvalidU32Bytes(Vec<u8>),
Generic(String),
ScriptDoesntHaveAddressForm,
NoRecipients,
NoUtxosSelected,
OutputBelowDustLimit(usize),
InsufficientFunds {
needed: u64,
available: u64,
},
BnBTotalTriesExceeded,
BnBNoExactMatch,
UnknownUtxo,
TransactionNotFound,
TransactionConfirmed,
IrreplaceableTransaction,
FeeRateTooLow {
required: FeeRate,
},
FeeTooLow {
required: u64,
},
FeeRateUnavailable,
MissingKeyOrigin(String),
Key(KeyError),
ChecksumMismatch,
SpendingPolicyRequired(KeychainKind),
InvalidPolicyPathError(PolicyError),
Signer(SignerError),
InvalidNetwork {
requested: Network,
found: Network,
},
HardenedIndex,
Verification(VerifyError),
InvalidProgressValue(f32),
ProgressUpdateError,
InvalidOutpoint(OutPoint),
Descriptor(Error),
Encode(Error),
Miniscript(Error),
MiniscriptPsbt(MiniscriptPsbtError),
Bip32(Error),
Secp256k1(Error),
Json(Error),
Hex(Error),
Psbt(Error),
PsbtParse(PsbtParseError),
MissingCachedScripts(MissingCachedScripts),
Electrum(Error),
Esplora(Box<EsploraError>),
CompactFilters(CompactFiltersError),
Sled(Error),
Rpc(Error),
Rusqlite(Error),
}
Expand description
Errors that can be thrown by the Wallet
Variants§
InvalidU32Bytes(Vec<u8>)
Wrong number of bytes found when trying to convert to u32
Generic(String)
Generic error
ScriptDoesntHaveAddressForm
This error is thrown when trying to convert Bare and Public key script to address
NoRecipients
Cannot build a tx without recipients
NoUtxosSelected
manually_selected_only
option is selected but no utxo has been passed
OutputBelowDustLimit(usize)
Output created is under the dust limit, 546 satoshis
InsufficientFunds
Wallet’s UTXO set is not enough to cover recipient’s requested plus fee
BnBTotalTriesExceeded
Branch and bound coin selection possible attempts with sufficiently big UTXO set could grow exponentially, thus a limit is set, and when hit, this error is thrown
BnBNoExactMatch
Branch and bound coin selection tries to avoid needing a change by finding the right inputs for the desired outputs plus fee, if there is not such combination this error is thrown
UnknownUtxo
Happens when trying to spend an UTXO that is not in the internal database
TransactionNotFound
Thrown when a tx is not found in the internal database
TransactionConfirmed
Happens when trying to bump a transaction that is already confirmed
IrreplaceableTransaction
Trying to replace a tx that has a sequence >= 0xFFFFFFFE
FeeRateTooLow
When bumping a tx the fee rate requested is lower than required
FeeTooLow
When bumping a tx the absolute fee requested is lower than replaced tx absolute fee
Node doesn’t have data to estimate a fee rate
MissingKeyOrigin(String)
In order to use the TxBuilder::add_global_xpubs
option every extended
key in the descriptor must either be a master key itself (having depth = 0) or have an
explicit origin provided
Key(KeyError)
Error while working with keys
ChecksumMismatch
Descriptor checksum mismatch
SpendingPolicyRequired(KeychainKind)
Spending policy is not compatible with this KeychainKind
InvalidPolicyPathError(PolicyError)
Error while extracting and manipulating policies
Signer(SignerError)
Signing error
InvalidNetwork
Fields
Invalid network
HardenedIndex
The address requested comes from an hardened index
Verification(VerifyError)
Transaction verification error
InvalidProgressValue(f32)
Progress value must be between 0.0
(included) and 100.0
(included)
ProgressUpdateError
Progress update error (maybe the channel has been closed)
InvalidOutpoint(OutPoint)
Requested outpoint doesn’t exist in the tx (vout greater than available outputs)
Descriptor(Error)
Error related to the parsing and usage of descriptors
Encode(Error)
Encoding error
Miniscript(Error)
Miniscript error
MiniscriptPsbt(MiniscriptPsbtError)
Miniscript PSBT error
Bip32(Error)
BIP32 error
Secp256k1(Error)
A secp256k1 error
Json(Error)
Error serializing or deserializing JSON data
Hex(Error)
Hex decoding error
Psbt(Error)
Partially signed bitcoin transaction error
PsbtParse(PsbtParseError)
Partially signed bitcoin transaction parse error
MissingCachedScripts(MissingCachedScripts)
crate::blockchain::WalletSync
sync attempt failed due to missing scripts in cache which
are needed to satisfy stop_gap
.
Electrum(Error)
Electrum client error
Esplora(Box<EsploraError>)
Esplora client error
CompactFilters(CompactFiltersError)
Compact filters client error)
Sled(Error)
Sled database error
Rpc(Error)
Rpc client error
Rusqlite(Error)
Rusqlite client error
Trait Implementations§
source§impl Error for Error
impl Error for Error
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<CompactFiltersError> for Error
impl From<CompactFiltersError> for Error
source§fn from(other: CompactFiltersError) -> Self
fn from(other: CompactFiltersError) -> Self
source§impl From<Error> for CompactFiltersError
Available on crate feature compact_filters
only.
impl From<Error> for CompactFiltersError
compact_filters
only.source§impl From<Error> for Error
impl From<Error> for Error
source§fn from(other: EsploraError) -> Self
fn from(other: EsploraError) -> Self
source§impl From<Error> for VerifyError
Available on crate feature verify
only.
impl From<Error> for VerifyError
verify
only.