Example #1
0
 public Application(
     IRabbitMqNotifyService rabbitMqNotifyService,
     IConsole consoleWriter,
     MarketMakerService marketMakerService,
     ILog logger,
     MarginSettings marginSettings,
     IMaintenanceModeService maintenanceModeService,
     IRabbitMqService rabbitMqService,
     MatchingEngineRoutesManager matchingEngineRoutesManager,
     IMigrationService migrationService,
     IConvertService convertService,
     ExternalOrderBooksList externalOrderBooksList)
 {
     _rabbitMqNotifyService = rabbitMqNotifyService;
     _consoleWriter         = consoleWriter;
     _marketMakerService    = marketMakerService;
     _logger                      = logger;
     _marginSettings              = marginSettings;
     _maintenanceModeService      = maintenanceModeService;
     _rabbitMqService             = rabbitMqService;
     _matchingEngineRoutesManager = matchingEngineRoutesManager;
     _migrationService            = migrationService;
     _convertService              = convertService;
     _externalOrderBooksList      = externalOrderBooksList;
 }
Example #2
0
 public Application(
     MarketMakerService marketMakerService,
     ILog logger,
     MarginTradingSettings marginSettings,
     IMaintenanceModeService maintenanceModeService,
     IRabbitMqService rabbitMqService,
     MatchingEngineRoutesManager matchingEngineRoutesManager,
     IMigrationService migrationService,
     IConvertService convertService,
     IFxRateCacheService fxRateCacheService,
     IExternalOrderbookService externalOrderbookService,
     BrokerSettingsChangedHandler brokerSettingsChangedHandler)
 {
     _marketMakerService           = marketMakerService;
     _logger                       = logger;
     _marginSettings               = marginSettings;
     _maintenanceModeService       = maintenanceModeService;
     _rabbitMqService              = rabbitMqService;
     _matchingEngineRoutesManager  = matchingEngineRoutesManager;
     _migrationService             = migrationService;
     _convertService               = convertService;
     _fxRateCacheService           = fxRateCacheService;
     _externalOrderbookService     = externalOrderbookService;
     _brokerSettingsChangedHandler = brokerSettingsChangedHandler;
 }
Example #3
0
 public Application(
     IRabbitMqNotifyService rabbitMqNotifyService,
     IConsole consoleWriter,
     MarketMakerService marketMakerService,
     ILog logger,
     MarginTradingSettings marginSettings,
     IMaintenanceModeService maintenanceModeService,
     IRabbitMqService rabbitMqService,
     MatchingEngineRoutesManager matchingEngineRoutesManager,
     IMigrationService migrationService,
     IConvertService convertService,
     IFxRateCacheService fxRateCacheService,
     IExternalOrderbookService externalOrderbookService,
     IAssetsManager assetsManager,
     IAssetPairsManager assetPairsManager,
     ITradingInstrumentsManager tradingInstrumentsManager,
     ITradingConditionsManager tradingConditionsManager,
     IScheduleSettingsCacheService scheduleSettingsCacheService,
     IOvernightMarginService overnightMarginService,
     IThreadSwitcher threadSwitcher)
 {
     _rabbitMqNotifyService = rabbitMqNotifyService;
     _consoleWriter         = consoleWriter;
     _marketMakerService    = marketMakerService;
     _logger                       = logger;
     _marginSettings               = marginSettings;
     _maintenanceModeService       = maintenanceModeService;
     _rabbitMqService              = rabbitMqService;
     _matchingEngineRoutesManager  = matchingEngineRoutesManager;
     _migrationService             = migrationService;
     _convertService               = convertService;
     _fxRateCacheService           = fxRateCacheService;
     _externalOrderbookService     = externalOrderbookService;
     _assetsManager                = assetsManager;
     _assetPairsManager            = assetPairsManager;
     _tradingInstrumentsManager    = tradingInstrumentsManager;
     _tradingConditionsManager     = tradingConditionsManager;
     _scheduleSettingsCacheService = scheduleSettingsCacheService;
     _overnightMarginService       = overnightMarginService;
     _threadSwitcher               = threadSwitcher;
 }
Example #4
0
        public void TestInitialize()
        {
            _assets.AddRange(new[]
            {
                new Asset
                {
                    Id       = "USD",
                    Accuracy = 2
                },
                new Asset
                {
                    Id       = "BTC",
                    Accuracy = 8
                }
            });

            _assetPairs.Add(new AssetPair
            {
                Id                = "BTCUSD",
                BaseAssetId       = "BTC",
                QuotingAssetId    = "USD",
                Accuracy          = 3,
                InvertedAccuracy  = 8,
                MinVolume         = 0.0001,
                MinInvertedVolume = 1
            });

            _balances.AddRange(new[]
            {
                new Balance(ExchangeNames.Lykke, "BTC", 1000000),
                new Balance(ExchangeNames.Lykke, "USD", 1000000)
            });

            _quoteTimeoutSettings = new QuoteTimeoutSettings
            {
                Enabled = true,
                Error   = TimeSpan.FromSeconds(1)
            };

            _balanceServiceMock.Setup(o => o.GetByAssetIdAsync(It.IsAny <string>(), It.IsAny <string>()))
            .Returns((string exchange, string assetId) =>
            {
                return(Task.FromResult(_balances.Single(o => o.Exchange == exchange && o.AssetId == assetId)));
            });

            _assetsServiceWithCacheMock
            .Setup(o => o.TryGetAssetAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .Returns((string assetId, CancellationToken token) =>
            {
                return(Task.FromResult(_assets.Single(o => o.Id == assetId)));
            });

            _assetsServiceWithCacheMock
            .Setup(o => o.TryGetAssetPairAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .Returns((string assetPairId, CancellationToken token) =>
            {
                return(Task.FromResult(_assetPairs.Single(o => o.Id == assetPairId)));
            });

            _instrumentServiceMock.Setup(o => o.GetAllAsync())
            .Returns(() => Task.FromResult <IReadOnlyCollection <Instrument> >(_instruments));

            _quoteTimeoutSettingsServiceMock.Setup(o => o.GetAsync())
            .Returns(() => Task.FromResult(_quoteTimeoutSettings));

            _pnLStopLossEngineService.Setup(o => o.GetTotalMarkupByAssetPairIdAsync(It.IsAny <string>()))
            .Returns(() => Task.FromResult(0m));

            _orderBooksUpdatesReportPublisher.Setup(o => o.PublishAsync(It.IsAny <OrderBookUpdateReport>()))
            .Returns(() => Task.FromResult(0m));

            _service = new MarketMakerService(
                _instrumentServiceMock.Object,
                _lykkeExchangeServiceMock.Object,
                _orderBookServiceMock.Object,
                _balanceServiceMock.Object,
                _marketMakerStateServiceMock.Object,
                _quoteServiceMock.Object,
                _b2C2OrderBookServiceMock.Object,
                _quoteTimeoutSettingsServiceMock.Object,
                _summaryReportServiceMock.Object,
                _positionServiceMock.Object,
                _assetsServiceWithCacheMock.Object,
                _marketMakerSettingsServiceMock.Object,
                _tradeServiceMock.Object,
                _assetPairLinkServiceMock.Object,
                _pnLStopLossEngineService.Object,
                _fiatEquityStopLossService.Object,
                _noFreshQuotesStopLossService.Object,
                _orderBooksUpdatesReportPublisher.Object,
                false,
                EmptyLogFactory.Instance);
        }