Enum bdk::Error [−][src]
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
Wrong number of bytes found when trying to convert to u32
Generic(String)
Generic error
Tuple Fields of Generic
0: String
This error is thrown when trying to convert Bare and Public key script to address
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
Tuple Fields of OutputBelowDustLimit
0: usize
Wallet’s UTXO set is not enough to cover recipient’s requested plus fee
Fields of InsufficientFunds
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
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
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
Tuple Fields of MissingKeyOrigin
0: String
Key(KeyError)
Error while working with keys
Tuple Fields of Key
0: KeyError
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
Invalid network
Fields of InvalidNetwork
Verification(VerifyError)
verify
only.Transaction verification error
Tuple Fields of Verification
0: VerifyError
InvalidProgressValue(f32)
Progress value must be between 0.0
(included) and 100.0
(included)
Tuple Fields of InvalidProgressValue
0: f32
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
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
An ECDSA error
Json(Error)
Error serializing or deserializing JSON data
Tuple Fields of Json
0: Error
Hex decoding 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
Electrum(Error)
electrum
only.Electrum client error
Tuple Fields of Electrum
0: Error
Esplora(Box<EsploraError>)
esplora
only.Esplora client error
Tuple Fields of Esplora
0: Box<EsploraError>
CompactFilters(CompactFiltersError)
compact_filters
only.Compact filters client error)
Tuple Fields of CompactFilters
Sled(Error)
key-value-db
only.Sled database error
Tuple Fields of Sled
0: Error
Rpc(Error)
rpc
only.Rpc client error
Tuple Fields of Rpc
0: Error
Rusqlite(Error)
sqlite
only.Rusqlite client error
Tuple Fields of Rusqlite
0: 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
pub fn as_fail(&self) -> &(dyn Fail + 'static)
pub fn as_fail(&self) -> &(dyn Fail + 'static)
Converts a reference to Self
into a dynamic trait object of Fail
.
Mutably borrows from an owned value. Read more