Enum bdk::Error[][src]

pub enum Error {
Show 41 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, }, 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), 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

Tuple Fields of InvalidU32Bytes

0: Vec<u8>
Generic(String)

Generic error

Tuple Fields of Generic

0: String
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

Tuple Fields of OutputBelowDustLimit

0: usize
InsufficientFunds

Wallet’s UTXO set is not enough to cover recipient’s requested plus fee

Fields of InsufficientFunds

needed: u64

Sats needed for some transaction

available: u64

Sats available for spending

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

Fields of FeeRateTooLow

required: FeeRate

Required fee rate (satoshi/vbyte)

FeeTooLow

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

Fields of FeeTooLow

required: u64

Required fee absolute value (satoshi)

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

Tuple Fields of MissingKeyOrigin

0: String
Key(KeyError)

Error while working with keys

Tuple Fields of Key

0: KeyError
ChecksumMismatch

Descriptor checksum mismatch

SpendingPolicyRequired(KeychainKind)

Spending policy is not compatible with this KeychainKind

Tuple Fields of SpendingPolicyRequired

0: KeychainKind
InvalidPolicyPathError(PolicyError)

Error while extracting and manipulating policies

Tuple Fields of InvalidPolicyPathError

0: PolicyError
Signer(SignerError)

Signing error

Tuple Fields of Signer

0: SignerError
InvalidNetwork

Invalid network

Fields of InvalidNetwork

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

InvalidProgressValue(f32)

Progress value must be between 0.0 (included) and 100.0 (included)

Tuple Fields of InvalidProgressValue

0: f32
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)

Tuple Fields of InvalidOutpoint

0: OutPoint
Descriptor(Error)

Error related to the parsing and usage of descriptors

Tuple Fields of Descriptor

0: Error
AddressValidator(AddressValidatorError)

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

Tuple Fields of AddressValidator

0: AddressValidatorError
Encode(Error)

Encoding error

Tuple Fields of Encode

0: Error
Miniscript(Error)

Miniscript error

Tuple Fields of Miniscript

0: Error
Bip32(Error)

BIP32 error

Tuple Fields of Bip32

0: Error
Secp256k1(Error)

An ECDSA error

Tuple Fields of Secp256k1

0: Error
Json(Error)

Error serializing or deserializing JSON data

Tuple Fields of Json

0: Error
Hex(Error)

Hex decoding error

Tuple Fields of Hex

0: Error
Psbt(Error)

Partially signed bitcoin transaction error

Tuple Fields of Psbt

0: Error
PsbtParse(PsbtParseError)

Partially signed bitcoin transaction parseerror

Tuple Fields of PsbtParse

0: PsbtParseError
Electrum(Error)

Electrum client error

Tuple Fields of Electrum

0: Error
Esplora(Box<EsploraError>)

Esplora client error

Tuple Fields of Esplora

0: Box<EsploraError>
CompactFilters(CompactFiltersError)

Compact filters client error)

Tuple Fields of CompactFilters

0: CompactFiltersError
Sled(Error)

Sled database error

Tuple Fields of Sled

0: Error
Rusqlite(Error)

Rusqlite client error

Tuple Fields of Rusqlite

0: 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.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Converts a reference to Self into a dynamic trait object of Fail.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the “name” of the error. Read more

Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more

Returns a reference to the Backtrace carried by this failure, if it carries one. Read more

Provides context for this failure. Read more

Wraps this failure in a compatibility wrapper that implements std::error::Error. 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

Should always be Self

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.