charms-wallet-js
Version:
Professional Bitcoin wallet library for Charms ecosystem using @scure stack
47 lines • 1.57 kB
TypeScript
import { UTXO, Mnemonic, PSBTHex, SignedTransaction, TransactionResult, Network, TaprootKeys } from '../types';
/**
* Professional transaction signer using @scure/btc-signer
* Supports Taproot key-path spending with BIP86 derivation
*/
export declare class TransactionSigner {
private readonly network;
constructor(network?: Network);
/**
* Signs a PSBT using the provided mnemonic
* Automatically derives the correct keys for Taproot signing
*/
signPSBT(psbtHex: PSBTHex, utxo: UTXO, mnemonic: Mnemonic, derivationPath?: string): Promise<TransactionResult>;
/**
* Signs a transaction and returns a SignedTransaction object
*/
signTransaction(psbtHex: PSBTHex, utxo: UTXO, mnemonic: Mnemonic, derivationPath?: string): Promise<SignedTransaction>;
/**
* Derives Taproot keys from mnemonic using BIP86 derivation
*/
deriveTaprootKeys(mnemonic: Mnemonic, derivationPath?: string, index?: number): Promise<TaprootKeys>;
/**
* Updates PSBT input with witness UTXO data
*/
private updateWitnessUtxo;
/**
* Calculates transaction ID from raw transaction bytes
*/
private calculateTxId;
/**
* Calculates virtual size of transaction
*/
private calculateVirtualSize;
/**
* Calculates transaction fee
*/
private calculateFee;
/**
* Gets network configuration for @scure
*/
private getNetworkConfig;
/**
* Validates signing inputs
*/
private validateSigningInputs;
}
//# sourceMappingURL=signer.d.ts.map