import Logger from '../Logger'; import FeeProvider from './FeeProvider'; import { CurrencyConfig } from '../consts/Types'; import Pair from '../db/models/Pair'; declare type Limits = { minimal: number; maximal: number; }; declare type ReverseMinerFees = { lockup: number; claim: number; }; declare type MinerFees = { normal: number; reverse: ReverseMinerFees; }; declare type PairType = { rate: number; limits: Limits; fees: { percentage: number; minerFees: { baseAsset: MinerFees; quoteAsset: MinerFees; }; }; }; declare class RateProvider { private logger; private feeProvider; private rateUpdateInterval; pairs: Map; private baseAssetsMap; private hardcodedPairs; private limits; private percentageFees; private cryptoCompare; private timer; constructor(logger: Logger, feeProvider: FeeProvider, rateUpdateInterval: number, currencies: CurrencyConfig[]); /** * Gets a map of of rates from CryptoCompare for the provided pairs */ init: (pairs: Pair[]) => Promise; disconnect: () => void; private updateRates; private getLimits; private calculateQuoteLimits; private parseCurrencies; private getMinerFees; private getFeeFromProvider; } export default RateProvider;