@iota-big3/sdk-blockchain
Version:
Comprehensive blockchain integration platform with multi-chain support, smart contracts, DeFi protocols, NFT infrastructure, Bitcoin support, and seamless SDK ecosystem integration for IOTA Big3
59 lines • 2.54 kB
TypeScript
/**
* Bitcoin Connector Implementation
* Phase 2g - Safe feature enhancement with Bitcoin support
*/
import { EventEmitter } from 'events';
import type { BlockchainHealthResult, BlockchainMetrics } from '../types';
import type { AddressType, BitcoinBlock, BitcoinConfig, FeeEstimate, IBitcoinManager, LightningChannel, LightningInvoice, MultisigAddress, PSBT, PSBTOptions, SendTransactionParams, TransactionInput, TransactionOutput, UTXO } from './types';
export declare class BitcoinConnector extends EventEmitter implements IBitcoinManager {
isEnabled: boolean;
private network;
private utxoCache;
private balanceCache;
private cacheTimeout;
constructor(config: BitcoinConfig);
initialize(): Promise<void>;
generateAddress(type: AddressType): Promise<string>;
validateAddress(address: string): Promise<boolean>;
getUTXOs(address: string): Promise<UTXO[]>;
selectUTXOs(utxos: UTXO[], amount: number): Promise<UTXO[]>;
sendTransaction(params: SendTransactionParams): Promise<string>;
createPSBT(options: PSBTOptions): Promise<PSBT>;
signPSBT(psbt: any, _privateKey: string): Promise<any>;
broadcastTransaction(_hex: string): Promise<string>;
estimateFee(params: SendTransactionParams): Promise<number>;
getFeeRates(): Promise<FeeEstimate>;
getBalance(address: string): Promise<number>;
batchGetBalances(addresses: string[]): Promise<number[]>;
createMultisig(params: {
pubkeys: string[];
m: number;
network?: string;
}): Promise<MultisigAddress>;
createMultisigPSBT(params: {
multisig: MultisigAddress;
inputs: TransactionInput[];
outputs: TransactionOutput[];
}): Promise<PSBT>;
getNetwork(): string;
getBlockHeight(): Promise<number>;
getBlock(hashOrHeight: string | number): Promise<BitcoinBlock>;
lightning: {
createInvoice(params: {
amount: number;
description: string;
expiry?: number;
}): Promise<LightningInvoice>;
decodeInvoice(_paymentRequest: string): Promise<LightningInvoice>;
payInvoice(_paymentRequest: string): Promise<{
paymentHash: string;
}>;
listChannels(): Promise<LightningChannel[]>;
} | undefined;
reinitialize(): Promise<void>;
checkHealth(): Promise<BlockchainHealthResult>;
getMetrics(): BlockchainMetrics;
shutdown(): Promise<void>;
getHealth(): Promise<BlockchainHealthResult>;
}
//# sourceMappingURL=bitcoin-connector.d.ts.map