logo
pub enum Error {
Show 43 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, }, Verification(VerifyError), InvalidProgressValue(f32), ProgressUpdateError, InvalidOutpoint(OutPoint), Descriptor(Error), AddressValidator(AddressValidatorError), Encode(Error), Miniscript(Error), Bip32(Error), Secp256k1(Error), Json(Error), Hex(Error), Psbt(Error), PsbtParse(PsbtParseError), 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

Fields

needed: u64

Sats needed for some transaction

available: u64

Sats available for spending

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

Fields

required: FeeRate

Required fee rate (satoshi/vbyte)

When bumping a tx the fee rate requested is lower than required

FeeTooLow

Fields

required: u64

Required fee absolute value (satoshi)

When bumping a tx the absolute fee requested is lower than replaced tx absolute fee

FeeRateUnavailable

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

requested: Network

requested network, for example what is given as bdk-cli option

found: Network

found network, for example the network of the bitcoin node

Invalid network

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

AddressValidator(AddressValidatorError)

Error that can be returned to fail the validation of an address

Encode(Error)

Encoding error

Miniscript(Error)

Miniscript error

Bip32(Error)

BIP32 error

Secp256k1(Error)

An ECDSA 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

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

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.