private bool CheckStakingInfo(ref CoinControlStatusReport statusReport) { string errorMessage; StakingInfoRequest stakingInfoRequest = new StakingInfoRequest(); StakingInfoResponse stakingInfoResponse; if (!m_dataConnector.TryPost <StakingInfoResponse>( stakingInfoRequest, out stakingInfoResponse, out errorMessage)) { MessageService.Error(errorMessage); return(false); } if (!stakingInfoResponse.Enabled) { MessageService.Warning(string.Format("Staking is disabled!")); } statusReport.Staking = stakingInfoResponse.Staking; if (stakingInfoResponse.Staking) { statusReport.ExpectedTimeToEarnReward = TimeSpan.FromSeconds(stakingInfoResponse.ExpectedTimeInSeconds); } if (!string.IsNullOrEmpty(stakingInfoResponse.Errors)) { MessageService.Error(string.Format("Staking errors found: {0}", stakingInfoResponse.Errors)); } return(true); }
public bool TryCheckWalletCompaitibility(ConsoleMessageHandlingService messageService, out string errorMessage) { InfoResponse info; InfoRequest requestForInfo = new InfoRequest(); messageService.Info("Connecting and reading Linda wallet info..."); if (!m_dataConnector.TryPost <InfoResponse>(requestForInfo, out info, out errorMessage)) { return(false); } messageService.Info("Linda wallet info retrieved!"); messageService.Info("Checking for wallet compatibility..."); messageService.Info(string.Format("Compatible versions: {0}", COMPATIBLE_WALLET_VERSIONS)); if (!COMPATIBLE_WALLET_VERSIONS.Contains(info.Version.ToLower())) { errorMessage = string.Format( "Linda wallet version: '{0}' is not compatible!", info.Version); return(false); } messageService.Info(string.Format("Connected wallet version: {0} is compatible!", info.Version)); return(true); }
public bool TryGetTransactions( string address, string category, int numberOfDays, out List <TransactionResponse> transactionsInCategory, out string errorMessage) { DateTimeOffset localNowDate = DateTimeOffset.Now.Date; DateTimeOffset localXDaysAgo = localNowDate.AddDays(numberOfDays * -1); transactionsInCategory = new List <TransactionResponse>(); int count = 10; int from = 0; DateTimeOffset lastTransactionTime = DateTimeOffset.UtcNow; while (lastTransactionTime.LocalDateTime.Date >= localXDaysAgo) { ListTransactionsRequest listRequest = new ListTransactionsRequest() { Account = "*", Count = count, From = from }; List <TransactionResponse> allTransactions; if (!m_dataConnector.TryPost <List <TransactionResponse> >(listRequest, out allTransactions, out errorMessage)) { return(false); } allTransactions.Reverse(); foreach (TransactionResponse trans in allTransactions) { lastTransactionTime = GetTransactionTime(trans.Time); if (trans.Address.Equals(address, StringComparison.CurrentCultureIgnoreCase) && lastTransactionTime.LocalDateTime.Date >= localXDaysAgo && trans.Category.Equals(category, StringComparison.InvariantCultureIgnoreCase)) { transactionsInCategory.Add(trans); } } if (allTransactions.Count < count) { break; } from += count; } errorMessage = null; return(true); }
public bool IsUp(LindaDataConnector dataConnector) { string errorMessage; InfoRequest request = new InfoRequest(); InfoResponse response; return(dataConnector.TryPost <InfoResponse>(request, out response, out errorMessage)); }
public bool TryStopLindaWallet(LindaDataConnector dataConnector, out string errorMessage) { StopRequest request = new StopRequest(); string responseStr; if (!dataConnector.TryPost <string>(request, out responseStr, out errorMessage)) { return(false); } if (!WaitForWalletToGoDown(dataConnector)) { errorMessage = "Wallet won't stop!"; return(false); } return(true); }