UNPKG

caravan-x

Version:

A terminal-based utility for managing Caravan multisig wallets in regtest mode. This tool simplifies development and testing with Caravan by providing an easy-to-use interface

81 lines (80 loc) 2.29 kB
import { BitcoinRpcClient } from "./rpc"; import { UTXO } from "../types/bitcoin"; /** * Service for Bitcoin wallet operations */ export declare class BitcoinService { readonly rpc: BitcoinRpcClient; private readonly network; constructor(rpc: BitcoinRpcClient, isRegtest?: boolean); /** * Create a new wallet */ createWallet(name: string, options?: { disablePrivateKeys?: boolean; blank?: boolean; descriptorWallet?: boolean; }): Promise<any>; /** * Get info about a wallet */ getWalletInfo(wallet: string): Promise<any>; /** * Generate a new address from a wallet */ getNewAddress(wallet: string, label?: string): Promise<string>; /** * Get detailed info about an address */ getAddressInfo(wallet: string, address: string): Promise<any>; /** * List wallets on the node */ listWallets(): Promise<string[]>; /** * List unspent outputs for an address or wallet */ listUnspent(wallet: string, addresses?: string[]): Promise<UTXO[]>; /** * Get transaction details */ getTransaction(wallet: string, txid: string): Promise<any>; /** * Send to address */ sendToAddress(wallet: string, address: string, amount: number): Promise<string>; /** * Create a wallet with a known private key (for testing) */ createPrivateKeyWallet(name: string, wif?: string): Promise<{ wallet: string; wif: string; address: string; }>; /** * Generate an extended public key from wallet */ getExtendedPubKey(wallet: string, path?: string): Promise<{ xpub: string; path: string; rootFingerprint?: string; }>; /** * Create a software wallet for use in Caravan multisig */ createCaravanKeyWallet(name: string, path?: string): Promise<{ wallet: string; xpub: string; path: string; rootFingerprint: string; wif?: string; }>; /** * Extract private key for address */ dumpPrivateKey(wallet: string, address: string): Promise<string>; /** * Generate blocks to a specific address */ generateToAddress(numBlocks: number, address: string): Promise<string[]>; }