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>)
Expand description

Wrong number of bytes found when trying to convert to u32

Generic(String)
Expand description

Generic error

ScriptDoesntHaveAddressForm
Expand description

This error is thrown when trying to convert Bare and Public key script to address

SingleRecipientMultipleOutputs
Expand description

Found multiple outputs when single_recipient option has been specified

SingleRecipientNoInputs
Expand description

single_recipient option is selected but neither drain_wallet nor manually_selected_only are

NoRecipients
Expand description

Cannot build a tx without recipients

NoUtxosSelected
Expand description

manually_selected_only option is selected but no utxo has been passed

OutputBelowDustLimit(usize)
Expand description

Output created is under the dust limit, 546 satoshis

InsufficientFunds
Expand description

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

Show fields

Fields of InsufficientFunds

needed: u64
Expand description

Sats needed for some transaction

available: u64
Expand description

Sats available for spending

BnBTotalTriesExceeded
Expand description

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
Expand description

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
Expand description

Happens when trying to spend an UTXO that is not in the internal database

TransactionNotFound
Expand description

Thrown when a tx is not found in the internal database

TransactionConfirmed
Expand description

Happens when trying to bump a transaction that is already confirmed

IrreplaceableTransaction
Expand description

Trying to replace a tx that has a sequence >= 0xFFFFFFFE

FeeRateTooLow
Expand description

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

Show fields

Fields of FeeRateTooLow

required: FeeRate
Expand description

Required fee rate (satoshi/vbyte)

FeeTooLow
Expand description

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

Show fields

Fields of FeeTooLow

required: u64
Expand description

Required fee absolute value (satoshi)

MissingKeyOrigin(String)
Expand description

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

Expand description

Error while working with keys

ChecksumMismatch
Expand description

Descriptor checksum mismatch

SpendingPolicyRequired(KeychainKind)
Expand description

Spending policy is not compatible with this KeychainKind

InvalidPolicyPathError(PolicyError)
Expand description

Error while extracting and manipulating policies

Signer(SignerError)
Expand description

Signing error

InvalidProgressValue(f32)
Expand description

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

ProgressUpdateError
Expand description

Progress update error (maybe the channel has been closed)

InvalidOutpoint(OutPoint)
Expand description

Requested outpoint doesn’t exist in the tx (vout greater than available outputs)

Descriptor(Error)
Expand description

Error related to the parsing and usage of descriptors

AddressValidator(AddressValidatorError)
Expand description

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

Encode(Error)
Expand description

Encoding error

Miniscript(Error)
Expand description

Miniscript error

Bip32(Error)
Expand description

BIP32 error

Secp256k1(Error)
Expand description

An ECDSA error

Json(Error)
Expand description

Error serializing or deserializing JSON data

Hex(Error)
Expand description

Hex decoding error

Psbt(Error)
Expand description

Partially signed bitcoin transaction error

Electrum(Error)
Expand description

Electrum client error

Esplora(EsploraError)
Expand description

Esplora client error

CompactFilters(CompactFiltersError)
Expand description

Compact filters client error)

Sled(Error)
Expand description

Sled database error

Trait Implementations

impl Debug for Error[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Display for Error[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Error for Error[src]

fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]

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

fn backtrace(&self) -> Option<&Backtrace>[src]

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

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

fn description(&self) -> &str1.0.0[src]

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

fn cause(&self) -> Option<&dyn Error>1.0.0[src]

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

impl From<AddressValidatorError> for Error[src]

fn from(err: AddressValidatorError) -> Self[src]

Performs the conversion.

impl From<CompactFiltersError> for Error[src]

fn from(other: CompactFiltersError) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for CompactFiltersError[src]

This is supported on crate feature compact_filters only.

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<Error> for Error[src]

fn from(err: Error) -> Self[src]

Performs the conversion.

impl From<EsploraError> for Error[src]

fn from(err: EsploraError) -> Self[src]

Performs the conversion.

impl From<KeyError> for Error[src]

fn from(key_error: KeyError) -> Error[src]

Performs the conversion.

impl From<PolicyError> for Error[src]

fn from(err: PolicyError) -> Self[src]

Performs the conversion.

impl From<SignerError> for Error[src]

fn from(err: SignerError) -> Self[src]

Performs the conversion.

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

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

fn in_current_span(self) -> Instrumented<Self>[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V