import { Block } from "../block"; import { DogeNetworkId, IDogeNetwork } from "../networks/types"; import { Transaction } from "../transaction"; import { ITXConfirmedStatus } from "./electrsTypes"; interface ITransactionWithStatus { transaction: Transaction; status: ITXConfirmedStatus; } interface IDogeLinkRPC { getNetwork(): IDogeNetwork; getBlockCount(): Promise; getRawTransaction(txid: string): Promise; getTransaction(txid: string): Promise; getTransactionWithStatus(txid: string): Promise; getBlockHash(height: number): Promise; mineBlocks(count: number, address?: string): Promise; isDoge(): boolean; sendRawTransaction(txHex: string): Promise; getBlock(blockHashOrNumber: string | number): Promise; getBlocks(start: number, count: number): Promise; resolveBlockHash(blockHashOrNumber: string | number): Promise; resolveBlockNumber(blockHashOrNumber: string | number): Promise; getFeeEstimateMap(): Promise; estimateSmartFee(target: number): Promise; estimateSmartFeeOrFallback(target: number, fallbackFeeRate: number): Promise; getFeeEstimateMapOrFallback(fallbackFeeRate: number): Promise; waitForTransaction(txid: string, waitUntilConfirmed?: boolean, pollInterval?: number, maxAttempts?: number): Promise; } interface IFeeEstimateMap { "1": number; "2": number; "3": number; "4": number; "5": number; "6": number; "7": number; "8": number; "9": number; "10": number; "11": number; "12": number; "13": number; "14": number; "15": number; "16": number; "17": number; "18": number; "19": number; "20": number; "21": number; "22": number; "23": number; "24": number; "25": number; } interface IDogeLinkRPCInfo { network: DogeNetworkId; url: string; fullUrl: string; user?: string; password?: string; } interface IBaseUTXO { txid: string; vout: number; value: number; } interface IUTXO extends IBaseUTXO { status: { confirmed: boolean; block_height: number; block_hash: string; block_time: number; }; } interface IUTXOWithRawTransaction extends IUTXO { rawTransaction: Uint8Array; } export type { IUTXOWithRawTransaction, IUTXO, IBaseUTXO, IDogeLinkRPCInfo, IDogeLinkRPC, IFeeEstimateMap, ITransactionWithStatus, };