lotus-sdk
Version:
Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem
44 lines • 1.94 kB
TypeScript
import { type Tx as ChronikTx } from 'chronik-client';
import { Script } from '../bitcore/script.js';
export interface BurnVerificationResult {
txId: string;
outputIndex: number;
burnAmount: number;
blockHeight: number;
confirmations: number;
isMatured: boolean;
script: Script;
scriptHex: string;
lokadPrefix?: Buffer;
lokadVersion?: number;
lokadPayload?: Buffer;
}
export declare class BurnVerifier {
private chronik;
constructor(chronikUrl: string | string[]);
verifyBurnTransaction(txId: string, outputIndex: number, maturationPeriod?: number): Promise<BurnVerificationResult | null>;
deriveIdentityId(txId: string, outputIndex: number): string;
verifyLokadPrefix(script: Script, expectedPrefix: Buffer): boolean;
parsePublicKeyFromLokad(lokadPayload?: Buffer): Buffer | null;
}
export declare function satoshisToXPI(satoshis: number): number;
export declare function xpiToSatoshis(xpi: number): number;
export declare function formatXPI(satoshis: number): string;
export interface TxConfirmationInfo {
txId: string;
blockHeight: number;
confirmations: number;
isConfirmed: boolean;
}
export declare class TransactionMonitor {
private chronik;
private monitoredTxs;
constructor(chronikUrl: string | string[]);
checkConfirmations(txId: string, requiredConfirmations?: number): Promise<TxConfirmationInfo | null>;
waitForConfirmations(txId: string, requiredConfirmations?: number, pollInterval?: number, timeout?: number): Promise<TxConfirmationInfo | null>;
broadcastTransaction(txHex: string): Promise<string | null>;
getTransaction(txId: string): Promise<ChronikTx | null>;
getUtxos(address: string): Promise<import("chronik-client").Utxo[]>;
batchCheckConfirmations(txIds: string[], requiredConfirmations?: number): Promise<Map<string, TxConfirmationInfo | null>>;
}
//# sourceMappingURL=blockchain-utils.d.ts.map