コード例 #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;
 }
コード例 #4
0
 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);
        }
コード例 #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 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");
            }
        }
コード例 #10
0
 public PingContractsJob(IExchangeContractService exchangeContractService, ILog log, ISlackNotifier slackNotifier)
 {
     _log = log;
     _exchangeContractService = exchangeContractService;
     _slackNotifier           = slackNotifier;
 }
コード例 #11
0
 public ValidationController(IExchangeContractService exchangeContractService, ILog log)
 {
     _exchangeContractService = exchangeContractService;
     _log = log;
 }