示例#1
0
        private async Task InternalBalanceCheck()
        {
            try
            {
                var balance = await _paymentService.GetMainAccountBalance();

                if (balance < _settings.MainAccountMinBalance)
                {
                    string message =
                        $"Main account {_settings.EthereumMainAccount} balance is less that {_settings.MainAccountMinBalance} ETH !";
                    await _logger.WriteWarning("EthereumWebJob", "InternalBalanceCheck", "", message);

                    if (!_balanceWarningSended)
                    {
                        _emailNotifier.Warning("Ethereum worker", message);
                    }

                    _balanceWarningSended = true;
                }
                else
                {
                    // reset if balance become higher
                    _balanceWarningSended = false;
                }
            }
            catch (Exception e)
            {
                await _logger.WriteError("EthereumWebJob", "InternalBalanceCheck", "", e);
            }
        }
        public async Task <string> GetContract()
        {
            var contract = await _queue.Pop();

            if (string.IsNullOrWhiteSpace(contract))
            {
                _emailNotifier.Warning("Ethereum", "User contract pool is empty!");
                throw new BackendException(BackendExceptionType.ContractPoolEmpty);
            }

            return(contract);
        }
示例#3
0
        private async Task InternalBalanceCheck()
        {
            try
            {
                var balance = await _paymentService.GetMainAccountBalance();

                if (balance < _settings.MainAccountMinBalance)
                {
                    _emailNotifier.Warning("Ethereum worker",
                                           $"Main account {_settings.EthereumMainAccount} balance is less that {_settings.MainAccountMinBalance} ETH !");
                }
            }
            catch (Exception e)
            {
                await _logger.WriteError("EthereumWebJob", "InternalBalanceCheck", "", e);
            }
        }