public ChatPublisherService(IChatPublisherSettingsRepository repo,
                                    IBalanceWarningRepository balanceWarningRepository,
                                    IExternalBalanceWarningRepository externalBalanceWarningRepository,
                                    IBalancesClient balancesClient,
                                    INettingEngineInstanceManager nettingEngineInstanceManager,
                                    IMarketMakerReportsClient marketMakerReportsClient,
                                    IMarketMakerArbitrageDetectorClient marketMakerArbitrageDetectorClient,
                                    IMarketMakerArbitragesWarningProvider marketMakerArbitragesWarningProvider,
                                    IChatPublisherStateService chatPublisherStateService,
                                    ILogFactory logFactory,
                                    ITelegramSender telegramSender,
                                    INettingEngineStateProvider neStateProvider,
                                    IBalanceWarningProvider balanceWarningProvider,
                                    IExternalBalanceWarningProvider externalBalanceWarningProvider,
                                    LiquidityEngineUrlSettings liquidityEngineUrlSettings,
                                    CryptoIndexInstancesSettings cryptoIndexInstancesSettings,
                                    IAssetsServiceWithCache assetsServiceWithCache,
                                    IMarketMakerReportsFiatClient marketMakerReportsFiatClient)
        {
            _repo       = repo ?? throw new ArgumentNullException(nameof(repo));
            _log        = logFactory.CreateLog(this);
            _logFactory = logFactory;

            _chatPublisherStateService        = chatPublisherStateService;
            _balanceWarningRepository         = balanceWarningRepository;
            _externalBalanceWarningRepository = externalBalanceWarningRepository;
            _balancesClient = balancesClient;
            _nettingEngineInstanceManager         = nettingEngineInstanceManager;
            _marketMakerReportsClient             = marketMakerReportsClient;
            _marketMakerArbitrageDetectorClient   = marketMakerArbitrageDetectorClient;
            _marketMakerArbitragesWarningProvider = marketMakerArbitragesWarningProvider;
            _neStateProvider                = neStateProvider;
            _balanceWarningProvider         = balanceWarningProvider;
            _externalBalanceWarningProvider = externalBalanceWarningProvider;
            _liquidityEngineUrlSettings     = liquidityEngineUrlSettings;
            _cryptoIndexInstancesSettings   = cryptoIndexInstancesSettings;
            _telegramSender               = telegramSender;
            _assetsServiceWithCache       = assetsServiceWithCache;
            _marketMakerReportsFiatClient = marketMakerReportsFiatClient;
        }
 public CryptoIndexWarningsPublisher(ITelegramSender telegramSender, IChatPublisherSettings publisherSettings,
                                     CryptoIndexInstancesSettings settings, ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _settings = settings;
 }