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
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
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.