public MonitoringTransferContracts(IBaseSettings settings,
                                    IErcInterfaceService ercInterfaceService,
                                    ITransferContractRepository transferContractsRepository,
                                    ILog logger,
                                    IPaymentService paymentService,
                                    IUserPaymentRepository userPaymentRepository,
                                    TransferContractService transferContractService,
                                    IUserTransferWalletRepository userTransferWalletRepository,
                                    ITransferContractTransactionService transferContractTransactionService,
                                    IEthereumTransactionService ethereumTransactionService,
                                    ITransferContractUserAssignmentQueueService transferContractUserAssignmentQueueService,
                                    IUserAssignmentFailRepository userAssignmentFailRepository,
                                    IQueueFactory queueFactory,
                                    ISlackNotifier slackNotifier
                                    )
 {
     _util = new AddressUtil();
     _ethereumTransactionService = ethereumTransactionService;
     _ercInterfaceService        = ercInterfaceService;
     _settings = settings;
     _transferContractsRepository = transferContractsRepository;
     _logger                                     = logger;
     _paymentService                             = paymentService;
     _userPaymentRepository                      = userPaymentRepository;
     _transferContractService                    = transferContractService;
     _userTransferWalletRepository               = userTransferWalletRepository;
     _transferContractTransactionService         = transferContractTransactionService;
     _transferContractUserAssignmentQueueService = transferContractUserAssignmentQueueService;
     _userAssignmentFailRepository               = userAssignmentFailRepository;
     _queueUserAssignment                        = queueFactory.Build(Constants.TransferContractUserAssignmentQueueName);
     _slackNotifier                              = slackNotifier;
 }
 public MonitoringTransferTransactions(IBaseSettings settings,
                                       ILog logger,
                                       ITransferContractTransactionService transferContractTransactionService
                                       )
 {
     _settings = settings;
     _logger   = logger;
     _transferContractTransactionService = transferContractTransactionService;
 }
 public TransferTransactionQueueJob(ITransferContractTransactionService contractTransferTransactionService, ILog log, IBaseSettings settings)
 {
     _contractTransferTransactionService = contractTransferTransactionService;
     _log      = log;
     _settings = settings;
 }