UNPKG

@bsv/sdk

Version:

BSV Blockchain Software Development Kit

37 lines 1.2 kB
interface HostReputationEntry { host: string; totalSuccesses: number; totalFailures: number; consecutiveFailures: number; avgLatencyMs: number | null; lastLatencyMs: number | null; backoffUntil: number; lastUpdatedAt: number; lastError?: string; } export interface RankedHost extends HostReputationEntry { score: number; } interface KeyValueStore { get: (key: string) => string | null | undefined; set: (key: string, value: string) => void; } export declare class HostReputationTracker { private readonly stats; private readonly store; constructor(store?: KeyValueStore); reset(): void; recordSuccess(host: string, latencyMs: number): void; recordFailure(host: string, reason?: unknown): void; rankHosts(hosts: string[], now?: number): RankedHost[]; snapshot(host: string): HostReputationEntry | undefined; private getStorage; private getLocalStorageAdapter; private loadFromStorage; private saveToStorage; private computeScore; private getOrCreate; } export declare const getOverlayHostReputationTracker: () => HostReputationTracker; export {}; //# sourceMappingURL=HostReputationTracker.d.ts.map