Пример #1
0
 public HashController(IHashCalculator hashCalculator, ILog logger, IExchangeContractService exchangeContractService)
 {
     _addressUtil             = new AddressUtil();
     _exchangeContractService = exchangeContractService;
     _hashCalculator          = hashCalculator;
     _logger = logger;
 }
 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,
                                       SettingsWrapper 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;
 }
Пример #3
0
 public TransferContractTransactionService(Func <string, IQueueExt> queueFactory,
                                           ILog logger,
                                           IExchangeContractService coinContractService,
                                           IBaseSettings baseSettings,
                                           ITransferContractRepository transferContractRepository,
                                           TransferContractService transferContractService,
                                           IUserTransferWalletRepository userTransferWalletRepository,
                                           IUserPaymentHistoryRepository userPaymentHistoryRepository,
                                           ICoinTransactionService cointTransactionService,
                                           ICoinTransactionRepository coinTransactionRepository,
                                           ICoinEventService coinEventService,
                                           IEventTraceRepository eventTraceRepository)
 {
     _eventTraceRepository = eventTraceRepository;
     _logger       = logger;
     _baseSettings = baseSettings;
     _queue        = queueFactory(Constants.ContractTransferQueue);
     _transferContractRepository   = transferContractRepository;
     _transferContractService      = transferContractService;
     _userTransferWalletRepository = userTransferWalletRepository;
     _userPaymentHistoryRepository = userPaymentHistoryRepository;
     _cointTransactionService      = cointTransactionService;
     _coinTransactionRepository    = coinTransactionRepository;
     _coinEventService             = coinEventService;
 }
 public ExchangeController(IExchangeContractService exchangeContractService, ILog logger, IPendingOperationService pendingOperationService)
 {
     _addressUtil             = new AddressUtil();
     _exchangeContractService = exchangeContractService;
     _logger = logger;
     _pendingOperationService = pendingOperationService;
 }
Пример #5
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            string address = value as string;

            if (address == null)
            {
                if (!_allowsEmpty)
                {
                    return(new ValidationResult($"Address should not be null ({validationContext.DisplayName})"));
                }
                else
                {
                    return(null);
                }
            }

            IExchangeContractService exchangeContractService = (IExchangeContractService)validationContext.GetService(typeof(IExchangeContractService));

            if (!exchangeContractService.IsValidAddress(address))
            {
                return(new ValidationResult($"Given value for ({validationContext.DisplayName}) is not a valid ethereum address"));
            }

            return(null);
        }
 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;
 }
 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>();
 }
Пример #8
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();
 }
Пример #9
0
        static async Task SendTransactionFromMainExchange()
        {
            string operationId = "";
            IPendingOperationService pendingOperationService = ServiceProvider.GetService <IPendingOperationService>();

            try
            {
                MonitoringOperationJob   job = ServiceProvider.GetService <MonitoringOperationJob>();
                IExchangeContractService exchangeContractService = ServiceProvider.GetService <IExchangeContractService>();
                string        filePath    = Path.Combine(AppContext.BaseDirectory, "transferTransaction.txt");
                var           content     = File.ReadAllText(filePath);
                TransferModel model       = Newtonsoft.Json.JsonConvert.DeserializeObject <TransferModel>(content);
                var           addressUtil = new AddressUtil();
                BigInteger    amount      = BigInteger.Parse(model.Amount);
                operationId = await pendingOperationService.TransferWithNoChecks(model.Id, model.CoinAdapterAddress,
                                                                                 addressUtil.ConvertToChecksumAddress(model.FromAddress), addressUtil.ConvertToChecksumAddress(model.ToAddress), amount, model.Sign);

                Console.WriteLine($"OperationId - {operationId}");
                await job.ProcessOperation(new Services.New.Models.OperationHashMatchMessage()
                {
                    OperationId = operationId,
                }, null, exchangeContractService.TransferWithoutSignCheck);

                Console.WriteLine("Start removing from processing queue");
                await pendingOperationService.RemoveFromPendingOperationQueue(operationId);

                Console.WriteLine("Stop removing from processing queue");
            }
            catch (Exception e)
            {
                Console.WriteLine($"{e.Message} - {e.StackTrace}");
                Console.WriteLine("Start removing from processing queue");
                await pendingOperationService.RemoveFromPendingOperationQueue(operationId);

                Console.WriteLine("Stop removing from processing queue");
            }
        }
 public PingContractsJob(IExchangeContractService exchangeContractService, ILog log, ISlackNotifier slackNotifier)
 {
     _log = log;
     _exchangeContractService = exchangeContractService;
     _slackNotifier           = slackNotifier;
 }
 public ValidationController(IExchangeContractService exchangeContractService, ILog log)
 {
     _exchangeContractService = exchangeContractService;
     _log = log;
 }