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);
 }
Beispiel #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;
 }
Beispiel #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;
 }
 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;
 }
Beispiel #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);
 }
 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;
 }
Beispiel #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;
 }
Beispiel #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;
 }
Beispiel #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);
 }
Beispiel #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;
 }
 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;
 }
Beispiel #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));
        }