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, }, 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(EsploraError), CompactFilters(CompactFiltersError), Sled(Error), Rpc(Error),
Expand description
Errors that can be thrown by the Wallet
Variants
Wrong number of bytes found when trying to convert to u32
Generic(String)
Generic error
This error is thrown when trying to convert Bare and Public key script to address
Found multiple outputs when single_recipient
option has been specified
single_recipient
option is selected but neither drain_wallet
nor manually_selected_only
are
Cannot build a tx without recipients
manually_selected_only
option is selected but no utxo has been passed
OutputBelowDustLimit(usize)
Output created is under the dust limit, 546 satoshis
Wallet’s UTXO set is not enough to cover recipient’s requested plus fee
Show fields
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
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
Happens when trying to spend an UTXO that is not in the internal database
Thrown when a tx is not found in the internal database
Happens when trying to bump a transaction that is already confirmed
Trying to replace a tx that has a sequence >= 0xFFFFFFFE
When bumping a tx the fee rate requested is lower than required
Show fields
Fields of FeeRateTooLow
required: FeeRate
Required fee rate (satoshi/vbyte)
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)
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
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
Invalid network
Show fields
Verification(VerifyError)
Transaction verification error
InvalidProgressValue(f32)
Progress value must be between 0.0
(included) and 100.0
(included)
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
An ECDSA error
Json(Error)
Error serializing or deserializing JSON data
Hex decoding error
Psbt(Error)
Partially signed bitcoin transaction error
PsbtParse(PsbtParseError)
Partially signed bitcoin transaction parseerror
Electrum(Error)
Electrum client error
Esplora(EsploraError)
Esplora client error
CompactFilters(CompactFiltersError)
Compact filters client error)
Sled(Error)
Sled database error
Rpc(Error)
Rpc client error
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl !RefUnwindSafe for Error
impl !UnwindSafe for Error
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V