Package org.bitcoindevkit

Types

Link copied to clipboard
data class AddressAmount(var address: String, var amount: ULong)

A object holding an address and an amount.

Link copied to clipboard
enum AddressIndex : Enum<AddressIndex>

The address index selection strategy to use to derive an address from the wallet’s external descriptor.

Link copied to clipboard
data class AddressInfo(var index: UInt, var address: String)

A derived address and the index it was found at.

Link copied to clipboard
data class Balance(    var immature: ULong,     var trustedPending: ULong,     var untrustedPending: ULong,     var confirmed: ULong,     var spendable: ULong,     var total: ULong)

Balance differentiated in various categories

Link copied to clipboard
class Blockchain(config: BlockchainConfig)

A blockchain backend.

Link copied to clipboard
sealed class BlockchainConfig

Type that can contain any of the blockchain configurations defined by the library.

Link copied to clipboard
data class BlockTime(var height: UInt, var timestamp: ULong)

Block height and timestamp of a block.

Link copied to clipboard
class BumpFeeTxBuilder

The BumpFeeTxBuilder is used to bump the fee on a transaction that has been broadcast and has its RBF flag set to true.

Link copied to clipboard
sealed class DatabaseConfig

Type that can contain any of the database configurations defined by the library.

Link copied to clipboard
class DescriptorPublicKey(    network: Network,     mnemonic: String,     password: String?)
Link copied to clipboard
class DescriptorSecretKey(    network: Network,     mnemonic: String,     password: String?)
Link copied to clipboard
data class ElectrumConfig(    var url: String,     var socks5: String?,     var retry: UByte,     var timeout: UByte?,     var stopGap: ULong)

Configuration for an Electrum blockchain.

Link copied to clipboard
data class EsploraConfig(    var baseUrl: String,     var proxy: String?,     var concurrency: UByte?,     var stopGap: ULong,     var timeout: ULong?)

Configuration for an Esplora blockchain.

Link copied to clipboard
enum KeychainKind : Enum<KeychainKind>

Types of keychains.

Link copied to clipboard
data class LocalUtxo(    var outpoint: OutPoint,     var txout: TxOut,     var keychain: KeychainKind,     var isSpent: Boolean)

An unspent output owned by a Wallet.

Link copied to clipboard
enum Network : Enum<Network>

The cryptocurrency to act on.

Link copied to clipboard
data class OutPoint(var txid: String, var vout: UInt)

A reference to a transaction output.

Link copied to clipboard
class PartiallySignedBitcoinTransaction(psbtBase64: String)

A partially signed bitcoin transaction.

Link copied to clipboard
class Progress

Class that logs at level INFO every update received (if any).

Link copied to clipboard
data class SledDbConfiguration(var path: String, var treeName: String)

Configuration type for a SledDB database.

Link copied to clipboard
data class SqliteDbConfiguration(var path: String)

Configuration type for a SQLite database.

Link copied to clipboard
data class TransactionDetails(    var fee: ULong?,     var received: ULong,     var sent: ULong,     var txid: String,     var confirmationTime: BlockTime?)

A wallet transaction.

Link copied to clipboard
class TxBuilder

A transaction builder.

Link copied to clipboard
data class TxOut(var value: ULong, var address: String)

A transaction output, which defines new coins to be created from old ones.

Link copied to clipboard
class Wallet(    descriptor: String,     changeDescriptor: String,     network: Network,     databaseConfig: DatabaseConfig)

A Bitcoin wallet. The Wallet acts as a way of coherently interfacing with output descriptors and related transactions. Its main components are:

Link copied to clipboard
enum WordCount : Enum<WordCount>

An enum describing entropy length (aka word count) in the mnemonic.

Functions

Link copied to clipboard
fun generateMnemonic(wordCount: WordCount): String

Generates a new mnemonic using the English word list and the given number of words (12, 15, 18, 21, or 24).