internal ServiceResponse <TransferModel> GetTransferRequestForSymbol(string symbol) { Func <TransferModel> func = delegate { string btcAddress = "17QnVor1B6oK1rWnVVBrdX9gFzVkZZbhDm"; DaemonClient coinClient = _daemonClientFactory.GetDaemonClient(CoinType.BTC); if (null != coinClient) { var daemonResponse = coinClient.ExecuteCmdSingleAsync <string>(BlockchainConstants.BitcoinCommands.GetNewAddress, null, _jsonSerializerSettings).Result; if (null == daemonResponse.Error) { btcAddress = daemonResponse.Response; } else { _logger.Error($"Daemon returned error: {daemonResponse.Error.Message} code {daemonResponse.Error.Code}"); } } TransferModel response = new TransferModel(); response.FromAddress = btcAddress; if (null != _contextHolder.ExchangeRate) { response.ExchangeRate = _contextHolder.ExchangeRate.Bid; } return(response); }; return(this.Execute(func)); }
private void InternalProcessTransferRequests(TransferRequest[] requests) { if (!_updatingThroughput) { _updatingThroughput = true; _logger.Debug("Executing Payout Manager."); if (null != requests && requests.Length > 0) { DaemonClient fromDaemonClient = _daemonClientFactory.GetDaemonClient(CoinType.BTC); DaemonClient toDaemonClient = _daemonClientFactory.GetDaemonClient(CoinType.BTP); DateTime timeStamp = DateTime.Now; foreach (TransferRequest request in requests) { UpdateTransferRequestStatus(request, fromDaemonClient, timeStamp); PayoutTransferRequest(request, fromDaemonClient, toDaemonClient, timeStamp); } } _updatingThroughput = false; } }