UNPKG

@cygnus-wealth/asset-valuator

Version:

Asset valuation library for retrieving and converting cryptocurrency prices

31 lines (30 loc) 1.01 kB
import { PriceData, PriceProvider } from '../types.js'; export interface AggregatorOptions { providers?: PriceProvider[]; cacheOptions?: { storage?: 'memory' | 'localStorage' | 'indexedDB'; ttl?: number; }; rateLimitOptions?: { maxRequests?: number; windowMs?: number; }; consensusThreshold?: number; } export declare class DecentralizedAggregator implements PriceProvider { private providers; private rateLimiter; private cache; private consensusThreshold; constructor(options?: AggregatorOptions); private selectBestStorage; fetchPrice(symbol: string, currency?: string): Promise<PriceData>; fetchMultiplePrices(symbols: string[], currency?: string): Promise<PriceData[]>; private fetchFromProviders; private calculateConsensusPrice; private groupBySymbol; addProvider(provider: PriceProvider): void; removeProvider(index: number): void; clearCache(): Promise<void>; resetRateLimiter(): void; }