/** * Dogecoin & Litecoin P2PKH Adapter * * Builds P2PKH (Pay-to-Public-Key-Hash) transactions for Dogecoin and * Litecoin, attaches secp256k1 ECDSA signatures from the FROST threshold * signing network, and broadcasts via public APIs. * * These chains do NOT support Taproot/P2TR, so we use legacy P2PKH format * with ECDSA signatures (not Schnorr). * * No external dependencies — TX serialization implemented from scratch. */ import { ChainAdapter, DogeTransaction, LtcTransaction } from '../core/types'; export declare class DogecoinLitecoinAdapter implements ChainAdapter { private chain; private network; private apiUrl; constructor(chain: 'dogecoin' | 'litecoin' | 'bitcoincash' | 'bitcoinsv', network?: 'mainnet' | 'testnet'); getRpcUrl(): string; /** * Build an unsigned P2PKH transaction. * * Returns hex-encoded JSON containing per-input sighashes. * Each sighash must be signed separately with FROST ECDSA. */ buildTransaction(tx: DogeTransaction | LtcTransaction, fromAddress: string): Promise; getSigningPayload(unsignedTx: string): string; /** * Attach secp256k1 ECDSA signature(s) to the transaction. * For multi-input, pass comma-separated signatures. */ attachSignature(unsignedTx: string, signature: string, publicKey?: string): Promise; /** * Broadcast a signed transaction */ broadcast(signedTx: string): Promise; /** * Get balance in satoshis/koinu */ getBalance(address: string): Promise; private fetchUtxos; /** * Compute P2PKH sighash for a specific input. * SIGHASH_ALL (0x01): SHA256d of the serialized TX with * the input's scriptPubKey placed in the scriptSig slot. */ private computeP2pkhSighash; /** * Serialize a fully signed P2PKH transaction */ private serializeSignedTx; } export declare function createDogecoinAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter; export declare function createLitecoinAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter; export declare function createBitcoinCashAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter; export declare function createBitcoinSVAdapter(network?: 'mainnet' | 'testnet'): DogecoinLitecoinAdapter; //# sourceMappingURL=dogecoin-litecoin.d.ts.map