/// <summary>Adds or updates a transaction from the collection of transactions to broadcast.</summary> public void AddOrUpdate(Transaction transaction, TransactionBroadcastState transactionBroadcastState, string errorMessage = null) { bool changed = false; uint256 trxHash = transaction.GetHash(); BroadcastTransactionStateChanedEntry broadcastEntry = this.Broadcasts.TryGet(trxHash); if (broadcastEntry == null) { broadcastEntry = new BroadcastTransactionStateChanedEntry(transaction, transactionBroadcastState, errorMessage); this.Broadcasts.Add(trxHash, broadcastEntry); changed = true; } else { if (broadcastEntry.TransactionBroadcastState != transactionBroadcastState) { broadcastEntry.TransactionBroadcastState = transactionBroadcastState; changed = true; } if (broadcastEntry.ErrorMessage != errorMessage) { broadcastEntry.ErrorMessage = errorMessage; changed = true; } } if (changed) { this.OnTransactionStateChanged(broadcastEntry); } }
/// <summary>Adds or updates a transaction from the collection of transactions to broadcast.</summary> public void AddOrUpdate(Transaction transaction, TransactionBroadcastState transactionBroadcastState, MempoolError mempoolError = null) { TransactionBroadcastEntry broadcastEntry = this.Broadcasts.FirstOrDefault(x => x.Transaction.GetHash() == transaction.GetHash()); if (broadcastEntry == null) { broadcastEntry = new TransactionBroadcastEntry(transaction, transactionBroadcastState, mempoolError); this.Broadcasts.Add(broadcastEntry); this.OnTransactionStateChanged(broadcastEntry); } else if (broadcastEntry.TransactionBroadcastState != transactionBroadcastState) { broadcastEntry.TransactionBroadcastState = transactionBroadcastState; this.OnTransactionStateChanged(broadcastEntry); } }
/// <summary>Adds or updates a transaction from the collection of transactions to broadcast.</summary> public void AddOrUpdate(Transaction transaction, TransactionBroadcastState transactionBroadcastState, string errorMessage = null) { BroadcastTransactionStateChanedEntry broadcastEntry = this.Broadcasts.FirstOrDefault(x => x.Transaction.GetHash() == transaction.GetHash()); if (broadcastEntry == null) { broadcastEntry = new BroadcastTransactionStateChanedEntry(transaction, transactionBroadcastState, errorMessage); this.Broadcasts.Add(broadcastEntry); this.OnTransactionStateChanged(broadcastEntry); } else if (broadcastEntry.TransactionBroadcastState != transactionBroadcastState) { broadcastEntry.TransactionBroadcastState = transactionBroadcastState; this.OnTransactionStateChanged(broadcastEntry); } }
public BroadcastTransactionStateChanedEntry(Transaction transaction, TransactionBroadcastState transactionBroadcastState, string errorMessage) { this.Transaction = transaction ?? throw new ArgumentNullException(nameof(transaction)); this.TransactionBroadcastState = transactionBroadcastState; this.ErrorMessage = (errorMessage == null) ? string.Empty : errorMessage; }
public TransactionBroadcastEntry(NBitcoin.Transaction transaction, TransactionBroadcastState transactionBroadcastState, MempoolError mempoolError) { this.Transaction = transaction ?? throw new ArgumentNullException(nameof(transaction)); this.TransactionBroadcastState = transactionBroadcastState; this.MempoolError = mempoolError; }