public Erc20DepositTransactionService(IQueueFactory queueFactory,
                                       ILog logger,
                                       IExchangeContractService coinContractService,
                                       IBaseSettings baseSettings,
                                       IErc20DepositContractService erc20DepositContractService,
                                       TransferContractService transferContractService,
                                       IUserTransferWalletRepository userTransferWalletRepository,
                                       IUserPaymentHistoryRepository userPaymentHistoryRepository,
                                       ICoinTransactionService cointTransactionService,
                                       ICoinTransactionRepository coinTransactionRepository,
                                       ICoinEventService coinEventService,
                                       IEventTraceRepository eventTraceRepository,
                                       IErcInterfaceService ercInterfaceService,
                                       AppSettings settingsWrapper,
                                       IHotWalletService hotWalletService)
 {
     _eventTraceRepository = eventTraceRepository;
     _logger       = logger;
     _baseSettings = baseSettings;
     _queue        = queueFactory.Build(Constants.Erc20DepositCashinTransferQueue);
     _erc20DepositContractService  = erc20DepositContractService;
     _transferContractService      = transferContractService;
     _userTransferWalletRepository = userTransferWalletRepository;
     _userPaymentHistoryRepository = userPaymentHistoryRepository;
     _cointTransactionService      = cointTransactionService;
     _coinTransactionRepository    = coinTransactionRepository;
     _coinEventService             = coinEventService;
     _ercInterfaceService          = ercInterfaceService;
     _hotWalletAddress             = settingsWrapper.Ethereum.HotwalletAddress;
     _hotWalletService             = hotWalletService;
     _cointTransactionQueue        = queueFactory.Build(Constants.HotWalletTransactionMonitoringQueue);
 }
コード例 #2
0
 public HotWalletService(IBaseSettings baseSettings,
                         IQueueFactory queueFactory,
                         IHotWalletOperationRepository hotWalletCashoutRepository,
                         IPrivateWalletService privateWalletService,
                         IErc20PrivateWalletService erc20PrivateWalletService,
                         ISignatureService signatureService,
                         ILog log,
                         Web3 web3,
                         IHotWalletTransactionRepository hotWalletCashoutTransactionRepository,
                         [KeyFilter(Constants.DefaultKey)] IErc20DepositContractService erc20DepositContractService,
                         AppSettings settingsWrapper,
                         IUserTransferWalletRepository userTransferWalletRepository,
                         IGasPriceRepository gasPriceRepository)
 {
     _hotWalletTransactionMonitoringQueue = queueFactory.Build(Constants.HotWalletTransactionMonitoringQueue);
     _hotWalletCashoutQueue      = queueFactory.Build(Constants.HotWalletCashoutQueue);
     _baseSettings               = baseSettings;//.HotWalletAddress
     _hotWalletCashoutRepository = hotWalletCashoutRepository;
     _privateWalletService       = privateWalletService;
     _erc20PrivateWalletService  = erc20PrivateWalletService;
     _log  = log;
     _web3 = web3;
     _hotWalletCashoutTransactionRepository = hotWalletCashoutTransactionRepository;
     _signatureService             = signatureService;
     _erc20DepositContractService  = erc20DepositContractService;
     _settingsWrapper              = settingsWrapper;
     _userTransferWalletRepository = userTransferWalletRepository;
     _semaphores         = new ConcurrentDictionary <string, SemaphoreSlim>();
     _gasPriceRepository = gasPriceRepository;
 }
コード例 #3
0
 public LykkePayErc20DepositContractService(
     [KeyFilter(Constants.LykkePayKey)] IErc223DepositContractRepository contractRepository,
     [KeyFilter(Constants.LykkePayKey)] IHotWalletOperationRepository operationsRepository,
     IContractService contractService,
     IErc20DepositContractQueueServiceFactory poolFactory,
     IBaseSettings settings,
     ILog log,
     IWeb3 web3,
     AppSettings appSettings,
     IQueueFactory factory,
     IErcInterfaceService ercInterfaceService,
     IUserTransferWalletRepository userTransferWalletRepository)
 {
     _contractRepository = contractRepository;
     _contractService    = contractService;
     _poolFactory        = poolFactory;
     _settings           = settings;
     _log                          = log;
     _web3                         = web3;
     _appSettings                  = appSettings;
     _transferQueue                = factory.Build(Constants.LykkePayErc223TransferQueue);
     _ercInterfaceService          = ercInterfaceService;
     _operationsRepository         = operationsRepository;
     _userTransferWalletRepository = userTransferWalletRepository;
 }
コード例 #4
0
 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;
 }
コード例 #5
0
 public AirlinesHotWalletMonitoringTransactionJob(ILog log,
                                                  ICoinTransactionService coinTransactionService,
                                                  AppSettings settings,
                                                  ISlackNotifier slackNotifier,
                                                  IEthereumTransactionService ethereumTransactionService,
                                                  [KeyFilter(Constants.AirLinesKey)] IHotWalletTransactionRepository hotWalletCashoutTransactionRepository,
                                                  [KeyFilter(Constants.AirLinesKey)] IHotWalletOperationRepository hotWalletCashoutRepository,
                                                  IRabbitQueuePublisher rabbitQueuePublisher,
                                                  ILykkePayEventsService transactionEventsService,
                                                  IUserTransferWalletRepository userTransferWalletRepository,
                                                  [KeyFilter(Constants.AirLinesKey)] IAirlinesErc20DepositContractService erc20DepositContractService,
                                                  IQueueFactory queueFactory)
 {
     _transactionEventsService   = transactionEventsService;
     _ethereumTransactionService = ethereumTransactionService;
     _settings = settings;
     _log      = log;
     _coinTransactionService = coinTransactionService;
     _slackNotifier          = slackNotifier;
     _hotWalletCashoutTransactionRepository = hotWalletCashoutTransactionRepository;
     _hotWalletCashoutRepository            = hotWalletCashoutRepository;
     _rabbitQueuePublisher         = rabbitQueuePublisher;
     _userTransferWalletRepository = userTransferWalletRepository;
     _erc20DepositContractService  = erc20DepositContractService;
     _transferStartQueue           = queueFactory.Build(Constants.AirlinesErc223TransferQueue);
 }
コード例 #6
0
 public CoinEventResubmittJob(
     ILog log,
     IBaseSettings settings,
     IPendingOperationService pendingOperationService,
     IExchangeContractService exchangeContractService,
     ICoinEventService coinEventService,
     ITransferContractService transferContractService,
     IEventTraceRepository eventTraceRepository,
     IEthereumTransactionService ethereumTransactionService,
     IQueueFactory queueFactory,
     ISlackNotifier slackNotifier,
     IOperationResubmittRepository operationResubmittRepository)
 {
     _eventTraceRepository    = eventTraceRepository;
     _exchangeContractService = exchangeContractService;
     _pendingOperationService = pendingOperationService;
     _settings                     = settings;
     _log                          = log;
     _coinEventService             = coinEventService;
     _transferContractService      = transferContractService;
     _ethereumTransactionService   = ethereumTransactionService;
     _transactionMonitoringQueue   = queueFactory.Build(Constants.TransactionMonitoringQueue);
     _slackNotifier                = slackNotifier;
     _operationResubmittRepository = operationResubmittRepository;
 }
コード例 #7
0
 public IErc20DepositContractQueueService Get(string queueName)
 {
     return(new Erc20DepositContractQueueService
            (
                _queueFactory.Build(queueName),
                _slackNotifier
            ));
 }
 public Erc20DepositTransactionService(IQueueFactory queueFactory,
                                       ILog logger,
                                       IUserTransferWalletRepository userTransferWalletRepository,
                                       IUserPaymentHistoryRepository userPaymentHistoryRepository,
                                       IErcInterfaceService ercInterfaceService,
                                       AppSettings settingsWrapper,
                                       IHotWalletService hotWalletService,
                                       ISlackNotifier slackNotifier)
 {
     _logger = logger;
     _queue  = queueFactory.Build(Constants.Erc20DepositCashinTransferQueue);
     _userTransferWalletRepository = userTransferWalletRepository;
     _userPaymentHistoryRepository = userPaymentHistoryRepository;
     _ercInterfaceService          = ercInterfaceService;
     _hotWalletAddress             = settingsWrapper.Ethereum.HotwalletAddress;
     _hotWalletService             = hotWalletService;
     _cointTransactionQueue        = queueFactory.Build(Constants.HotWalletTransactionMonitoringQueue);
     _slackNotifier = slackNotifier;
 }
コード例 #9
0
 public Erc20DepositTransferStarterJob(AppSettings settings,
                                       ILog logger,
                                       IWeb3 web3,
                                       IQueueFactory queueFactory,
                                       [KeyFilter(Constants.AirLinesKey)] IHotWalletOperationRepository operationsRepository,
                                       [KeyFilter(Constants.AirLinesKey)] IHotWalletTransactionRepository hotWalletTransactionRepository,
                                       IRabbitQueuePublisher rabbitQueuePublisher,
                                       IErcInterfaceService ercInterfaceService
                                       )
 {
     _settings                            = settings;
     _logger                              = logger.CreateComponentScope(nameof(Erc20DepositTransferStarterJob));
     _web3                                = web3;
     _operationsRepository                = operationsRepository;
     _transactionMonitoringQueue          = queueFactory.Build(Constants.AirlinesTransactionMonitoringQueue);
     _transactionStartedNotificationQueue = queueFactory.Build(Constants.AirlinesErc223TransferNotificationsQueue);
     _hotWalletTransactionRepository      = hotWalletTransactionRepository;
     _rabbitQueuePublisher                = rabbitQueuePublisher;
     _ercInterfaceService                 = ercInterfaceService;
 }
コード例 #10
0
 public TransactionEventsService(Web3 web3,
                                 IBaseSettings baseSettings,
                                 ICoinRepository coinRepository,
                                 ICashinEventRepository cashinEventRepository,
                                 IBlockSyncedRepository blockSyncedRepository,
                                 IQueueFactory queueFactory,
                                 SettingsWrapper settingsWrapper,
                                 IEthereumSamuraiApi indexerApi,
                                 IErc20DepositContractRepository depositContractRepository)
 {
     _cashinEventRepository = cashinEventRepository;
     _coinRepository        = coinRepository;
     _web3 = web3;
     _blockSyncedRepository     = blockSyncedRepository;
     _baseSettings              = baseSettings;
     _queueFactory              = queueFactory;
     _settingsWrapper           = settingsWrapper;
     _indexerApi                = indexerApi;
     _depositContractRepository = depositContractRepository;
     _cashinQueue               = _queueFactory.Build(Constants.CashinCompletedEventsQueue);
     _cointTransactionQueue     = _queueFactory.Build(Constants.HotWalletTransactionMonitoringQueue);
 }
コード例 #11
0
 public TransactionEventsService(Web3 web3,
                                 IBaseSettings baseSettings,
                                 ICoinRepository coinRepository,
                                 ICashinEventRepository cashinEventRepository,
                                 IBlockSyncedRepository blockSyncedRepository,
                                 IQueueFactory queueFactory,
                                 AppSettings settingsWrapper,
                                 IEthereumSamuraiAPI indexerApi,
                                 [KeyFilter(Constants.DefaultKey)] IErc20DepositContractService depositContractService,
                                 IEthereumIndexerService ethereumIndexerService)
 {
     _cashinEventRepository = cashinEventRepository;
     _coinRepository        = coinRepository;
     _web3 = web3;
     _blockSyncedRepository  = blockSyncedRepository;
     _baseSettings           = baseSettings;
     _queueFactory           = queueFactory;
     _settingsWrapper        = settingsWrapper;
     _indexerApi             = indexerApi;
     _depositContractService = depositContractService;
     _cashinQueue            = _queueFactory.Build(Constants.CashinCompletedEventsQueue);
     _cointTransactionQueue  = _queueFactory.Build(Constants.HotWalletTransactionMonitoringQueue);
     _ethereumIndexerService = ethereumIndexerService;
 }
コード例 #12
0
 public PendingOperationService(IBaseSettings settings, IOperationToHashMatchRepository operationToHashMatchRepository,
                                IPendingOperationRepository pendingOperationRepository, IQueueFactory queueFactory, Web3 web3, IHashCalculator hashCalculator,
                                ICoinRepository coinRepository, ILykkeSigningAPI lykkeSigningAPI, ILog log,
                                ISlackNotifier slackNotifier, IEventTraceRepository eventTraceRepository)
 {
     _eventTraceRepository = eventTraceRepository;
     _slackNotifier        = slackNotifier;
     _web3     = web3;
     _settings = settings;
     _pendingOperationRepository     = pendingOperationRepository;
     _operationToHashMatchRepository = operationToHashMatchRepository;
     _queue           = queueFactory.Build(Constants.PendingOperationsQueue);
     _util            = new AddressUtil();
     _hashCalculator  = hashCalculator;
     _coinRepository  = coinRepository;
     _lykkeSigningAPI = lykkeSigningAPI;
     _log             = log;
 }
コード例 #13
0
 public MonitoringOperationJob(
     ILog log,
     IBaseSettings settings,
     IPendingOperationService pendingOperationService,
     IExchangeContractService exchangeContractService,
     ICoinEventService coinEventService,
     ITransferContractService transferContractService,
     IEventTraceRepository eventTraceRepository,
     IQueueFactory queueFactory,
     SettingsWrapper settingsWrapper)
 {
     _eventTraceRepository    = eventTraceRepository;
     _exchangeContractService = exchangeContractService;
     _pendingOperationService = pendingOperationService;
     _settings                = settings;
     _log                     = log;
     _coinEventService        = coinEventService;
     _transferContractService = transferContractService;
     _coinEventResubmittQueue = queueFactory.Build(Constants.CoinEventResubmittQueue);
     _settingsWrapper         = settingsWrapper;
     _hotWalletAddress        = _settingsWrapper.Ethereum.HotwalletAddress.ToLower();
 }
        public ITransferContractQueueService Get(string queueName)
        {
            IQueueExt queue = _queueFactory.Build(queueName);

            return(new TransferContractQueueService(queue, _transferContractRepository, _slackNotifier, _coinRepository));
        }