Package org.bitcoindevkit

Types

Link copied to clipboard
class Address(address: String)

A bitcoin address.

Link copied to clipboard
sealed class 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: Address,     var keychain: KeychainKind)

A derived address and the index it was found at.

Link copied to clipboard
sealed class Auth

Authentication mechanism for RPC connection to full node.

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 DerivationPath(path: String)

A BIP-32 derivation path.

Link copied to clipboard
class Descriptor(descriptor: String, network: Network)

A output descriptor.

Link copied to clipboard
class DescriptorPublicKey(    network: Network,     mnemonic: String,     password: String?)

An extended public key.

Link copied to clipboard
class DescriptorSecretKey(    network: Network,     mnemonic: Mnemonic,     password: String?)

An extended secret key.

Link copied to clipboard
data class ElectrumConfig(    var url: String,     var socks5: String?,     var retry: UByte,     var timeout: UByte?,     var stopGap: ULong,     var validateDomain: Boolean)

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
class Mnemonic(mnemonic: String)

Mnemonic phrases are a human-readable version of the private keys. Supported number of words are 12, 15, 18, 21 and 24.

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 PartiallySignedTransaction(psbtBase64: String)

A partially signed bitcoin transaction.

Link copied to clipboard
sealed class Payload

The method used to produce an address.

Link copied to clipboard
class Progress

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

Link copied to clipboard
data class RcpSyncParams(    val startScriptCount: ULong,     val startTime: <Error class: unknown class>,     val forceStartTime: Boolean,     val pollRateSec: ULong)

Sync parameters for Bitcoin Core RPC.

Link copied to clipboard
data class RpcConfig(    val url: String,     val auth: Auth,     val network: Network,     val walletName: String,     val syncParams: RcpSyncParams?)

RpcBlockchain configuration options

Link copied to clipboard
class Script(rawOutputScript: List<UByte>)

A bitcoin script.

Link copied to clipboard
data class ScriptAmount(var script: Script, var amount: ULong)

A object holding a ScriptPubKey and an amount.

Link copied to clipboard
data class SignOptions(    var trustWitnessUtxo: Boolean,     var assumeHeight: UInt?,     var allowAllSighashes: Boolean,     var removePartialSigs: Boolean,     var tryFinalize: Boolean,     var signWithTapInternalKey: Boolean,     var allowGrinding: Boolean)

Options for a software signer.

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
class Transaction(transactionBytes: List<UByte>)

A bitcoin transaction.

Link copied to clipboard
data class TransactionDetails(    var transaction: <Error class: unknown class>,     Transaction: <Error class: unknown class>,     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 TxBuilderResult(var psbt: PartiallySignedTransaction, var transactionDetails: TransactionDetails)

The value returned from calling the .finish() method on the TxBuilder or BumpFeeTxBuilder.

Link copied to clipboard
data class TxIn(    var previousOutput: OutPoint,     var scriptSig: Script,     var sequence: UInt,     var witness: List<List<UByte>>)

Bitcoin transaction input.

Link copied to clipboard
data class TxOut(var value: ULong, var scriptPubkey: Script)

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

Link copied to clipboard
class Wallet(    descriptor: Descriptor,     changeDescriptor: Descriptor?,     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 WitnessVersion : Enum<WitnessVersion>

Version of the witness program.

Link copied to clipboard
enum WordCount : Enum<WordCount>

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