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
InvalidU32Bytes(Vec<u8>)
Wrong number of bytes found when trying to convert to u32
Generic(String)
Tuple Fields
0: 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)
Tuple Fields
0: 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)
Tuple Fields
0: 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)
Tuple Fields
0: KeyError
Error while working with keys
ChecksumMismatch
Descriptor checksum mismatch
SpendingPolicyRequired(KeychainKind)
Tuple Fields
0: KeychainKind
Spending policy is not compatible with this KeychainKind
InvalidPolicyPathError(PolicyError)
Tuple Fields
0: PolicyError
Error while extracting and manipulating policies
Signer(SignerError)
Tuple Fields
0: 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)
Tuple Fields
0: VerifyError
Transaction verification error
InvalidProgressValue(f32)
Tuple Fields
0: 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)
Tuple Fields
0: OutPoint
Requested outpoint doesn’t exist in the tx (vout greater than available outputs)
Descriptor(Error)
Tuple Fields
0: Error
Error related to the parsing and usage of descriptors
AddressValidator(AddressValidatorError)
Tuple Fields
Error that can be returned to fail the validation of an address
Encode(Error)
Tuple Fields
0: Error
Encoding error
Miniscript(Error)
Tuple Fields
0: Error
Miniscript error
Bip32(Error)
Tuple Fields
0: Error
BIP32 error
Secp256k1(Error)
An ECDSA error
Json(Error)
Tuple Fields
0: Error
Error serializing or deserializing JSON data
Hex(Error)
Hex decoding error
Psbt(Error)
Tuple Fields
0: Error
Partially signed bitcoin transaction error
PsbtParse(PsbtParseError)
Tuple Fields
Partially signed bitcoin transaction parse error
Electrum(Error)
Tuple Fields
0: Error
Electrum client error
Esplora(Box<EsploraError>)
Tuple Fields
0: Box<EsploraError>
Esplora client error
CompactFilters(CompactFiltersError)
Tuple Fields
Compact filters client error)
Sled(Error)
Tuple Fields
0: Error
Sled database error
Rpc(Error)
Tuple Fields
0: Error
Rpc client error
Rusqlite(Error)
Tuple Fields
0: 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.