public BalancePublisher(ITelegramSender telegramSender,
                         IBalanceWarningRepository balanceWarningRepository,
                         IBalancesClient balancesClient,
                         IBalanceWarningProvider balanceWarningProvider,
                         IChatPublisherSettings publisherSettings,
                         ILogFactory logFactory)
     : base(telegramSender, publisherSettings, logFactory)
 {
     _balanceWarningRepository = balanceWarningRepository;
     _balancesClient           = balancesClient;
     _balanceWarningProvider   = balanceWarningProvider;
 }
        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;
        }