public IndicesFacadeService(CryptoIndexServiceClientInstancesSettings cryptoIndexServiceClientInstancesSettings,
                                    IndicesUpdatesPublisher indicesUpdatesPublisher,
                                    IndicesHistoryUpdatesPublisher indicesHistoryUpdatesPublisher,
                                    IndicesPriceUpdatesPublisher indicesPriceUpdatesPublisher,
                                    IAssetsReadModelRepository assetsReadModelRepository,
                                    ILogFactory logFactory)
        {
            _cryptoIndexServiceClientInstancesSettings = cryptoIndexServiceClientInstancesSettings;

            foreach (var instance in _cryptoIndexServiceClientInstancesSettings.Instances)
            {
                var publicApiClient = CreatePublicApiClient(instance.ServiceUrl);
                _assetIdsPublicApi[instance.AssetId] = publicApiClient;

                var assetsInfoApiClient = CreateAssetsInfoApiClient(instance.ServiceUrl);
                _assetIdsAssetsInfoApi[instance.AssetId] = assetsInfoApiClient;
            }

            _indicesUpdatesPublisher        = indicesUpdatesPublisher;
            _indicesHistoryUpdatesPublisher = indicesHistoryUpdatesPublisher;
            _indicesPriceUpdatesPublisher   = indicesPriceUpdatesPublisher;

            _assetsReadModelRepository = assetsReadModelRepository;
            InitializeAssetsDisplayIds();

            _log = logFactory.CreateLog(this);
        }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="HistoryController"/> class.
 /// </summary>
 public HistoryController(
     IHistoryClient historyClient,
     IAssetsReadModelRepository assetsReadModel,
     IAssetPairsReadModelRepository assetPairsReadModel)
 {
     _assetsReadModel     = assetsReadModel;
     _assetPairsReadModel = assetPairsReadModel;
     _historyClient       = historyClient;
 }
Example #3
0
 public LykkeAssetsService(ILogFactory logFactory,
                           IAssetPairsReadModelRepository assetPairsService,
                           IAssetsReadModelRepository assetsService,
                           IAssetLinkService assetLinkService)
 {
     _assetPairsService = assetPairsService;
     _assetsService     = assetsService;
     _assetLinkService  = assetLinkService;
     _log = logFactory.CreateLog(this);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OrdersController"/> class.
 /// </summary>
 public OrdersController(
     IMatchingEngineAdapter frequencyTradingService,
     RequestValidator requestValidator,
     IAssetPairsReadModelRepository assetPairsReadModel,
     IAssetsReadModelRepository assetsReadModel,
     [NotNull] IHistoryClient historyClient,
     ILogFactory logFactory)
 {
     _matchingEngineAdapter = frequencyTradingService ?? throw new ArgumentNullException(nameof(frequencyTradingService));
     _requestValidator      = requestValidator ?? throw new ArgumentNullException(nameof(requestValidator));
     _assetPairsReadModel   = assetPairsReadModel;
     _assetsReadModel       = assetsReadModel;
     _historyClient         = historyClient ?? throw new ArgumentNullException(nameof(historyClient));
     _log = logFactory.CreateLog(this);
 }
Example #5
0
        public RateCalculatorService(
            ILog log,
            IAssetPairsReadModelRepository assetPairsReadModelRepository,
            IAssetsReadModelRepository assetsReadModelRepository,
            IOrderBooksService orderBooksService,
            IMarketProfileServiceClient marketProfileServiceClient)
        {
            _log = log;
            _assetPairsReadModelRepository = assetPairsReadModelRepository;
            _assetsReadModelRepository     = assetsReadModelRepository;
            _orderBooksService             = orderBooksService;
            _marketProfileServiceClient    = marketProfileServiceClient;

            _assetPairsReadModelRepository.GetAll(); //warming up asset pairs cache

            _crossPairsCalculator = new CrossPairsCalculator(_assetPairsReadModelRepository);
        }
 public InstrumentService(
     IInstrumentRepository instrumentRepository,
     ILykkeExchangeService lykkeExchangeService,
     IOrderBookService orderBookService,
     IBalanceService balanceService,
     IAssetsReadModelRepository assetsReadModelRepository,
     IAssetPairsReadModelRepository assetPairsReadModelRepository,
     IQuoteService quoteService,
     ILogFactory logFactory)
 {
     _instrumentRepository          = instrumentRepository;
     _lykkeExchangeService          = lykkeExchangeService;
     _orderBookService              = orderBookService;
     _balanceService                = balanceService;
     _assetsReadModelRepository     = assetsReadModelRepository;
     _assetPairsReadModelRepository = assetPairsReadModelRepository;
     _quoteService = quoteService;
     _cache        = new InMemoryCache <Instrument>(instrument => instrument.AssetPairId, false);
     _log          = logFactory.CreateLog(this);
 }
Example #7
0
        /// <summary>
        /// Get all enabled assets.
        /// </summary>
        public static IReadOnlyCollection <Asset> GetAllEnabled(this IAssetsReadModelRepository readModelRepository)
        {
            var assets = readModelRepository.GetAll();

            return(assets.Where(x => !x.IsDisabled).ToArray());
        }
Example #8
0
        /// <summary>
        /// Get the asset if it is enabled. Returns null, if the asset is disabled.
        /// </summary>
        public static Asset TryGetIfEnabled(this IAssetsReadModelRepository readModelRepository, string id)
        {
            var asset = readModelRepository.TryGet(id);

            return(asset != null && !asset.IsDisabled ? asset : null);
        }
Example #9
0
 public AssetsProjection(IAssetsReadModelRepository assets)
 {
     _assets = assets;
 }
Example #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="WalletsController"/> class.
 /// </summary>
 public WalletsController(IBalancesClient balancesClient, IAssetsReadModelRepository assetsReadModel)
 {
     _balancesClient  = balancesClient ?? throw new ArgumentNullException(nameof(balancesClient));
     _assetsReadModel = assetsReadModel;
 }