bdk_flutter library

A Flutter library for the Bitcoin Development Kit.

Classes

Address
A Bitcoin address.
AddressIndex
AddressInfo
A derived address and the index it was found at For convenience this automatically derefs to Address
Balance
Local Wallet's Balance
Blockchain
Blockchain backends module provides the implementation of a few commonly-used backends like Electrum, and Esplora.
BlockchainConfig
BlockTime
Block height and timestamp of a block
BumpFeeTxBuilder
The BumpFeeTxBuilder is used to bump the fee on a transaction that has been broadcast and has its RBF flag set to true.
DatabaseConfig
DerivationPath
A BIP-32 derivation path
Descriptor
Script descriptor
DescriptorPublicKey
An extended public key.
DescriptorSecretKey
ElectrumConfig
Configuration for an ElectrumBlockchain
EsploraConfig
Configuration for an EsploraBlockchain
FeeRate
Input
A key-value map for an input of the corresponding index in the unsigned transaction.
LocalUtxo
Unspent outputs of this wallet
Mnemonic
Mnemonic phrases are a human-readable version of the private keys. Supported number of words are 12, 18, and 24.
OutPoint
A reference to a transaction output.
PartiallySignedTransaction
A Partially Signed Transaction
Payload
PsbtSigHashType
RpcConfig
RpcSyncParams
Sync parameters for Bitcoin Core RPC.
Script
Bitcoin script.
ScriptAmount
A output script and an amount of satoshis.
SignOptions
Options for a software signer
SledDbConfiguration
Configuration type for a sled Tree database
SqliteDbConfiguration
Configuration type for a SqliteDatabase database
Transaction
A bitcoin transaction.
TransactionDetails
A wallet transaction
TxBuilder
A transaction builder
TxBuilderResult
The value returned from calling the .finish() method on the TxBuilder or BumpFeeTxBuilder.
TxIn
TxOut
A transaction output, which defines new coins to be created from old ones.
UserPass
RpcBlockchain configuration options
Wallet
A Bitcoin wallet.

Enums

ChangeSpendPolicy
KeychainKind
Types of keychains
Network
The cryptocurrency to act on
WitnessVersion
WordCount
Type describing entropy length (aka word count) in the mnemonic

Extensions

Tx on TransactionDetails

Functions

setCurrentDirectory() Future<void>

Exceptions / Errors

Bip32Exception
BnBNoExactMatchException
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 exception is thrown
BnBTotalTriesExceededException
Branch and bound coin selection possible attempts with sufficiently big UTXO set could grow exponentially, thus a limit is set, and when hit, this exception is thrown
ChecksumMismatchException
Exception thrown when the descriptor checksum mismatch
DescriptorException
Exception thrown when there is an error in parsing and usage of descriptors
ElectrumException
EncodeException
EsploraException
Esplora Client exception
FeeRateTooLowException
Exception thrown when bumping a tx, the fee rate requested is lower than required
FeeRateUnavailableException
Exception thrown when node doesn’t have data to estimate a fee rate
FeeTooLowException
Exception thrown when bumping a tx, the absolute fee requested is lower than replaced tx absolute fee
GenericException
HexException
InsufficientFundsException
Exception thrown when wallet’s UTXO set is not enough to cover recipient’s requested plus fee
InvalidByteException
Exception thrown when trying to add an invalid byte value, or empty list to txBuilder.addData
InvalidNetworkException
InvalidOutpointException
Exception thrown when the requested outpoint doesn’t exist in the tx (vout greater than available outputs)
InvalidPolicyPathException
Exception thrown when there is an error while extracting and manipulating policies
InvalidProgressValueException
Exception thrown when progress value is not between 0.0 (included) and 100.0 (included)
IrreplaceableTransactionException
Exception thrown when trying to replace a tx that has a sequence >= 0xFFFFFFFE
JsonException
KeyException
Exception thrown when the keys are invalid
MiniscriptException
Miniscript exception
MiniscriptPsbtException
MissingCachedScriptsException
Exception thrown when sync attempt failed due to missing scripts in cache which are needed to satisfy stopGap.
MissingKeyOriginException
Exception thrown when extended key in the descriptor is neither be a master key itself (having depth = 0) or have an explicit origin provided
NoRecipientsException
Exception thrown when a tx is build without recipients
NoUtxosSelectedException
Exception thrown when manuallySelectedOnly() is called but no utxos has been passed
OutputBelowDustLimitException
Exception thrown when output created is under the dust limit, 546 sats
ProgressUpdateException
Progress update error (maybe the channel has been closed)
PsbtException
Exception thrown when a there is an error in Partially signed bitcoin transaction
PsbtParseException
Exception thrown when a there is an error in Partially signed bitcoin transaction
RpcException
RusqliteException
ScriptDoesntHaveAddressFormException
Exception thrown when trying to convert Bare and Public key script to address
Secp256k1Exception
SignerException
SledException
Sled database error
SpendingPolicyRequiredException
Exception thrown when spending policy is not compatible with this KeychainKind
TransactionConfirmedException
Exception thrown when trying to bump a transaction that is already confirmed
TransactionNotFoundException
Exception thrown when trying to bump a transaction that is already confirmed
UnknownUtxoException
Exception thrown when trying to spend an UTXO that is not in the internal database
VerificationException
Transaction verification Exception