Esempio n. 1
0
        private static void OperationCheck()
        {
            try
            {
                var list = new List <string>();
                Console.WriteLine("CheckingOperation");
                IEthereumTransactionService coinTransactionService = ServiceProvider.GetService <IEthereumTransactionService>();
                var operationToHashMatchRepository = ServiceProvider.GetService <IOperationToHashMatchRepository>();
                operationToHashMatchRepository.ProcessAllAsync((items) =>
                {
                    foreach (var item in items)
                    {
                        if (string.IsNullOrEmpty(item.TransactionHash) || !coinTransactionService.IsTransactionExecuted(item.TransactionHash, Constants.GasForCoinTransaction).Result)
                        {
                            Console.WriteLine($"Operation is dead {item.OperationId}");
                            list.Add(item.OperationId);
                        }
                    }
                    return(Task.FromResult(0));
                }).Wait();

                File.WriteAllText("reportOperations.txt", Newtonsoft.Json.JsonConvert.SerializeObject(list));
                Console.WriteLine("Report completed");
            }
            catch (Exception e)
            {
                Console.WriteLine($"{e.Message}, {e.StackTrace}");
            }
            Console.WriteLine();
        }
 public AllotmentEventUpdateSaga(
     IEthereumTransactionService transactionService,
     IAllotmentEventService allotmentEventService)
 {
     _transactionService    = transactionService;
     _allotmentEventService = allotmentEventService;
 }
 public MonitoringCoinTransactionJob(ILog log, ICoinTransactionService coinTransactionService,
                                     IBaseSettings settings, ISlackNotifier slackNotifier, ICoinEventService coinEventService,
                                     IPendingTransactionsRepository pendingTransactionsRepository,
                                     IPendingOperationService pendingOperationService,
                                     ITransactionEventsService transactionEventsService,
                                     IEventTraceRepository eventTraceRepository,
                                     IUserTransferWalletRepository userTransferWalletRepository,
                                     IEthereumTransactionService ethereumTransactionService,
                                     IBlackListAddressesRepository blackListAddressesRepository,
                                     IWhiteListAddressesRepository whiteListAddressesRepository)
 {
     _ethereumTransactionService = ethereumTransactionService;
     _transactionEventsService   = transactionEventsService;
     _settings = settings;
     _log      = log;
     _coinTransactionService           = coinTransactionService;
     _slackNotifier                    = slackNotifier;
     _coinEventService                 = coinEventService;
     _pendingTransactionsRepository    = pendingTransactionsRepository;
     _pendingOperationService          = pendingOperationService;
     _eventTraceRepository             = eventTraceRepository;
     _userTransferWalletRepository     = userTransferWalletRepository;
     _broadcastMonitoringPeriodSeconds = TimeSpan.FromSeconds(_settings.BroadcastMonitoringPeriodSeconds);
     _blackListAddressesRepository     = blackListAddressesRepository;
     _whiteListAddressesRepository     = whiteListAddressesRepository;
 }
Esempio n. 4
0
 public ScoringApplicationService(
     IScoringApplicationRepository scoringApplicationRepository,
     IEthereumTransactionService ethereumTransactionService)
 {
     _scoringApplicationRepository = scoringApplicationRepository;
     _ethereumTransactionService   = ethereumTransactionService;
 }
 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;
 }
Esempio n. 6
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 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;
 }
Esempio n. 8
0
 public OwnerService(IOwnerRepository ownerRepository,
                     IOwnerBlockchainService ownerBlockchainService,
                     IEthereumTransactionService ethereumTransactionService)
 {
     _ownerRepository            = ownerRepository;
     _ownerBlockchainService     = ownerBlockchainService;
     _ethereumTransactionService = ethereumTransactionService;
 }
 public TransactionValidationService(IPaymentService paymentService,
                                     IEthereumTransactionService ethereumTransactionService,
                                     ISignatureChecker signatureChecker)
 {
     _ethereumTransactionService = ethereumTransactionService;
     _paymentService             = paymentService;
     _signatureChecker           = signatureChecker;
 }
 public TransactionHandlingSaga(
     EthereumClient ethereumClient,
     IEthereumTransactionService ethereumTransactionService,
     ILogger logger)
 {
     _ethereumClient             = ethereumClient;
     _ethereumTransactionService = ethereumTransactionService;
     _logger = logger;
 }
 public void Init()
 {
     _settings                = Config.Services.GetService <IBaseSettings>();
     _coinRepository          = Config.Services.GetService <ICoinRepository>();
     _exchangeService         = Config.Services.GetService <IExchangeContractService>();
     _transactionService      = Config.Services.GetService <IEthereumTransactionService>();
     _ercService              = Config.Services.GetService <IErcInterfaceService>();
     _transferContractService = Config.Services.GetService <ITransferContractService>();
     _paymentService          = Config.Services.GetService <IPaymentService>();
 }
 public CoinTransactionService(Func <string, IQueueExt> queueFactory,
                               IEthereumTransactionService transactionService,
                               IContractService contractService,
                               IBaseSettings baseSettings)
 {
     _transactionService            = transactionService;
     _contractService               = contractService;
     _baseSettings                  = baseSettings;
     _coinTransationMonitoringQueue = queueFactory(Constants.TransactionMonitoringQueue);
 }
 public CoinTransactionService(Func <string, IQueueExt> queueFactory, IEthereumTransactionService transactionService,
                               ICoinTransactionRepository coinTransactionRepository, IContractService contractService, IBaseSettings baseSettings, ILog logger,
                               IPendingTransactionsRepository pendingTransactionsRepository)
 {
     _transactionService        = transactionService;
     _coinTransactionRepository = coinTransactionRepository;
     _contractService           = contractService;
     _baseSettings = baseSettings;
     _logger       = logger;
     _coinTransationMonitoringQueue = queueFactory(Constants.TransactionMonitoringQueue);
     _pendingTransactionsRepository = pendingTransactionsRepository;
 }
 public PrivateWalletService(IWeb3 web3,
                             INonceCalculator nonceCalculator,
                             IEthereumTransactionService ethereumTransactionService,
                             IPaymentService paymentService,
                             ISignatureChecker signatureChecker,
                             ITransactionValidationService transactionValidationService,
                             IErc20PrivateWalletService erc20Service,
                             IRawTransactionSubmitter rawTransactionSubmitter)
 {
     _signatureChecker        = signatureChecker;
     _rawTransactionSubmitter = rawTransactionSubmitter;
     _nonceCalculator         = nonceCalculator;
     _web3 = web3;
     _ethereumTransactionService   = ethereumTransactionService;
     _paymentService               = paymentService;
     _transactionValidationService = transactionValidationService;
     _erc20Service = erc20Service;
 }
Esempio n. 15
0
        private static void OperationResubmit()
        {
            try
            {
                Console.WriteLine("Are you sure?: Y/N");
                var input = Console.ReadLine();
                if (input.ToLower() != "y")
                {
                    Console.WriteLine("Cancel Resubmit");
                    return;
                }

                var queueFactory = ServiceProvider.GetService <IQueueFactory>();
                IEthereumTransactionService coinTransactionService = ServiceProvider.GetService <IEthereumTransactionService>();
                var queue = queueFactory.Build(Constants.PendingOperationsQueue);
                var operationToHashMatchRepository = ServiceProvider.GetService <IOperationToHashMatchRepository>();
                operationToHashMatchRepository.ProcessAllAsync((items) =>
                {
                    foreach (var item in items)
                    {
                        if (string.IsNullOrEmpty(item.TransactionHash) || !coinTransactionService.IsTransactionExecuted(item.TransactionHash, Constants.GasForCoinTransaction).Result)
                        {
                            Console.WriteLine($"Resubmitting {item.OperationId}");
                            queue.PutRawMessageAsync(Newtonsoft.Json.JsonConvert.SerializeObject(new OperationHashMatchMessage()
                            {
                                OperationId = item.OperationId
                            })).Wait();
                        }
                    }
                    return(Task.FromResult(0));
                }).Wait();

                Console.WriteLine("Resubmitted");
            }
            catch (Exception e)
            {
                Console.WriteLine($"{e.Message}, {e.StackTrace}");
            }
            Console.WriteLine();
        }
Esempio n. 16
0
 public HotWalletMonitoringTransactionJob(ILog log,
                                          ICoinTransactionService coinTransactionService,
                                          IBaseSettings settings,
                                          ISlackNotifier slackNotifier,
                                          IEthereumTransactionService ethereumTransactionService,
                                          IHotWalletTransactionRepository hotWalletCashoutTransactionRepository,
                                          IHotWalletOperationRepository hotWalletCashoutRepository,
                                          IHotWalletService hotWalletService,
                                          IRabbitQueuePublisher rabbitQueuePublisher,
                                          ICashinEventRepository cashinEventRepository)
 {
     _ethereumTransactionService = ethereumTransactionService;
     _settings = settings;
     _log      = log;
     _coinTransactionService = coinTransactionService;
     _slackNotifier          = slackNotifier;
     _hotWalletCashoutTransactionRepository = hotWalletCashoutTransactionRepository;
     _hotWalletCashoutRepository            = hotWalletCashoutRepository;
     _hotWalletService      = hotWalletService;
     _rabbitQueuePublisher  = rabbitQueuePublisher;
     _cashinEventRepository = cashinEventRepository;
 }
Esempio n. 17
0
 public AllotmentEventPublishSaga(IAllotmentEventService allotmentEventService, IEthereumTransactionService ethereumTransactionService)
 {
     _allotmentEventService      = allotmentEventService;
     _ethereumTransactionService = ethereumTransactionService;
 }
Esempio n. 18
0
 public ExpertAreasUpdatingSaga(IExpertService expertService, IEthereumTransactionService transactionService)
 {
     _expertService      = expertService;
     _transactionService = transactionService;
 }
Esempio n. 19
0
 public EtheriumTransactionsController(IEthereumTransactionService ethereumTransactionService)
 {
     _ethereumTransactionService = ethereumTransactionService;
 }
 public void Init()
 {
     _transactionService = Config.Services.GetService <IEthereumTransactionService>();
 }