public void UpdateTransaction(BuildTransactionResult transactionResult, TransactionInfo info) { _transaction = transactionResult; ConfirmationTimeText = $"Approximately {TextHelpers.TimeSpanToFriendlyString(info.ConfirmationTimeSpan)} "; var destinationAmount = _transaction.CalculateDestinationAmount(); var btcAmountText = $"{destinationAmount.ToFormattedString()} BTC"; var fiatAmountText = destinationAmount.ToDecimal(MoneyUnit.BTC).GenerateFiatText(_wallet.Synchronizer.UsdExchangeRate, "USD"); AmountText = $"{btcAmountText} {fiatAmountText}"; var fee = _transaction.Fee; var feeText = fee.ToFeeDisplayUnitString(); var fiatFeeText = fee.ToDecimal(MoneyUnit.BTC).GenerateFiatText(_wallet.Synchronizer.UsdExchangeRate, "USD"); FeeText = $"{feeText} {fiatFeeText}"; TransactionHasChange = _transaction.InnerWalletOutputs.Any(x => x.ScriptPubKey != _address.ScriptPubKey); TransactionHasPockets = !info.IsPrivate; Labels = SmartLabel.Merge(transactionResult.SpentCoins.Select(x => x.GetLabels(info.PrivateCoinThreshold))); var exactPocketUsed = Labels.Count() == info.UserLabels.Count() && Labels.All(label => info.UserLabels.Contains(label, StringComparer.OrdinalIgnoreCase)); TransactionHasPockets = Labels.Any() && !exactPocketUsed; IsCustomFeeUsed = info.IsCustomFeeUsed; IsOtherPocketSelectionPossible = info.IsOtherPocketSelectionPossible; }