Enum bdk::Error[][src]

pub enum Error {
Show variants InvalidU32Bytes(Vec<u8>), Generic(String), ScriptDoesntHaveAddressForm, SingleRecipientMultipleOutputs, SingleRecipientNoInputs, NoRecipients, NoUtxosSelected, OutputBelowDustLimit(usize), InsufficientFunds { needed: u64, available: u64, }, BnBTotalTriesExceeded, BnBNoExactMatch, UnknownUtxo, TransactionNotFound, TransactionConfirmed, IrreplaceableTransaction, FeeRateTooLow { required: FeeRate, }, FeeTooLow { required: u64, }, MissingKeyOrigin(String), Key(KeyError), ChecksumMismatch, SpendingPolicyRequired(KeychainKind), InvalidPolicyPathError(PolicyError), Signer(SignerError), InvalidProgressValue(f32), ProgressUpdateError, InvalidOutpoint(OutPoint), Descriptor(Error), AddressValidator(AddressValidatorError), Encode(Error), Miniscript(Error), Bip32(Error), Secp256k1(Error), Json(Error), Hex(Error), Psbt(Error), Electrum(Error), Esplora(EsploraError), CompactFilters(CompactFiltersError), Sled(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

SingleRecipientMultipleOutputs

Found multiple outputs when single_recipient option has been specified

SingleRecipientNoInputs

single_recipient option is selected but neither drain_wallet nor manually_selected_only are

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

Show fields

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

Show fields

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

Show fields

Fields of FeeTooLow

required: u64

Required fee absolute value (satoshi)

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

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

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

Electrum(Error)

Electrum client error

Esplora(EsploraError)

Esplora client error

CompactFilters(CompactFiltersError)

Compact filters client error)

Sled(Error)

Sled database 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.

This is supported on crate feature compact_filters only.

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.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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.