public LimitTradeQueue(
     AppSettings.RabbitMqSettings config,
     ILog log,
     IWalletCredentialsRepository walletCredentialsRepository,
     IOffchainRequestService offchainRequestService,
     IEthereumTransactionRequestRepository ethereumTransactionRequestRepository,
     ISrvEthereumHelper srvEthereumHelper,
     ICachedAssetsService assetsService,
     IBcnClientCredentialsRepository bcnClientCredentialsRepository,
     AppSettings.EthereumSettings settings,
     IEthClientEventLogs ethClientEventLogs,
     ILimitOrdersRepository limitOrdersRepository, IClientTradesRepository clientTradesRepository, ILimitTradeEventsRepository limitTradeEventsRepository, IClientSettingsRepository clientSettingsRepository, IAppNotifications appNotifications, IClientAccountsRepository clientAccountsRepository, IOffchainOrdersRepository offchainOrdersRepository, IClientCacheRepository clientCacheRepository, IBitcoinTransactionService bitcoinTransactionService)
 {
     _rabbitConfig = config;
     _walletCredentialsRepository          = walletCredentialsRepository;
     _offchainRequestService               = offchainRequestService;
     _ethereumTransactionRequestRepository = ethereumTransactionRequestRepository;
     _srvEthereumHelper = srvEthereumHelper;
     _assetsService     = assetsService;
     _bcnClientCredentialsRepository = bcnClientCredentialsRepository;
     _settings           = settings;
     _ethClientEventLogs = ethClientEventLogs;
     _log = log;
     _limitOrdersRepository      = limitOrdersRepository;
     _clientTradesRepository     = clientTradesRepository;
     _limitTradeEventsRepository = limitTradeEventsRepository;
     _clientSettingsRepository   = clientSettingsRepository;
     _appNotifications           = appNotifications;
     _clientAccountsRepository   = clientAccountsRepository;
     _offchainOrdersRepository   = offchainOrdersRepository;
     _clientCacheRepository      = clientCacheRepository;
     _bitcoinTransactionService  = bitcoinTransactionService;
 }
 public OperationsHistoryRepoReader(
     ICashOperationsRepository cashOperationsRepository,
     IClientTradesRepository clientTradesRepository,
     ITransferEventsRepository transferEventsRepository,
     ICashOutAttemptRepository cashOutAttemptRepository,
     ILimitTradeEventsRepository limitTradeEventsRepository,
     IMarketOrdersRepository marketOrdersRepository,
     CachedDataDictionary <string, AssetPair> assetPairs,
     CachedAssetsDictionary assets,
     ILog log)
 {
     _cashOperationsRepository   = cashOperationsRepository ?? throw new ArgumentNullException(nameof(cashOperationsRepository));
     _clientTradesRepository     = clientTradesRepository ?? throw new ArgumentNullException(nameof(clientTradesRepository));
     _transferEventsRepository   = transferEventsRepository ?? throw new ArgumentNullException(nameof(transferEventsRepository));
     _cashOutAttemptRepository   = cashOutAttemptRepository ?? throw new ArgumentNullException(nameof(cashOutAttemptRepository));
     _limitTradeEventsRepository = limitTradeEventsRepository ?? throw new ArgumentNullException(nameof(limitTradeEventsRepository));
     _marketOrdersRepository     = marketOrdersRepository ?? throw new ArgumentNullException(nameof(marketOrdersRepository));
     _assetPairs = assetPairs ?? throw new ArgumentNullException(nameof(assetPairs));
     _assets     = assets ?? throw new ArgumentNullException(nameof(assets));
     _log        = log ?? throw new ArgumentNullException(nameof(log));
 }