public void AddOrUpdate(Transaction transaction, State state, MempoolError mempoolError = null) { var broadcastEntry = this.Broadcasts.FirstOrDefault(x => x.Transaction.GetHash() == transaction.GetHash()); if (broadcastEntry == null) { broadcastEntry = new TransactionBroadcastEntry(transaction, state, mempoolError); this.Broadcasts.Add(broadcastEntry); OnTransactionStateChanged(broadcastEntry); } else if (broadcastEntry.State != state) { broadcastEntry.State = state; OnTransactionStateChanged(broadcastEntry); } }
public void OnTransactionStateChanged(TransactionBroadcastEntry entry) { TransactionStateChanged?.Invoke(this, entry); }