/** * Bitcoin Chain Adapter (Legacy — signature-only) * * Provides UTXO selection and balance queries via Mempool.space API. * Wallet creation and raw message signing work (agent node is curve-agnostic). * * NOTE: For full Bitcoin P2TR (Taproot) support with auto-broadcast, use * BitcoinTaprootAdapter instead. It provides: * - Real secp256k1 EC point arithmetic for BIP-341 key tweaking * - Full transaction serialization with Taproot witness * - Per-input BIP-341 sighash computation * - Broadcast via Mempool.space API * * This adapter is kept for Dogecoin/Litecoin compatibility (which share * Bitcoin's UTXO model but lack full P2TR support). * * @see BitcoinTaprootAdapter for full P2TR lifecycle support */ import { ChainAdapter, BtcTransaction } from '../core/types'; export declare class BitcoinAdapter implements ChainAdapter { private apiUrl; private isTestnet; constructor(network?: 'mainnet' | 'testnet', apiUrl?: string); getRpcUrl(): string; /** * Build an unsigned Bitcoin transaction * * Fetches UTXOs, selects inputs, constructs outputs, and returns * the serialized unsigned transaction for Schnorr signing. * * @returns hex-encoded sighash for FROST signing */ buildTransaction(tx: BtcTransaction, fromAddress: string): Promise; /** * Attach a Schnorr signature to the unsigned transaction */ attachSignature(unsignedTx: string, signature: string): Promise; /** * Broadcast a signed transaction to the Bitcoin network. * * NOTE: This requires a properly serialized raw Bitcoin transaction (hex). * The built-in buildTransaction() returns a signing payload, not a * wire-format TX. For full P2TR broadcast support, integrate bitcoinjs-lib * to serialize the transaction with witness data before calling this method. */ broadcast(signedTx: string): Promise; /** * Get Bitcoin address balance in satoshis */ getBalance(address: string): Promise; /** Fetch UTXOs for an address */ private fetchUtxos; /** Get recommended fee rates */ getFeeRates(): Promise<{ fastest: number; halfHour: number; hour: number; }>; } export declare function createBitcoinAdapter(network?: 'mainnet' | 'testnet'): BitcoinAdapter; //# sourceMappingURL=bitcoin.d.ts.map