public void Process(Transaction tx) { lock (ProcessedLock) { if (ProcessedTransactionHashes.Add(tx.GetHash())) { TransactionReceived?.Invoke(this, new SmartTransaction(tx, Height.Mempool)); } else { Interlocked.Increment(ref _duplicatedReceives); } Interlocked.Increment(ref _totalReceives); } }
public void Process(Transaction tx) { SmartTransaction txAdded = null; lock (ProcessedLock) { if (ProcessedTransactionHashes.Add(tx.GetHash())) { txAdded = new SmartTransaction(tx, Height.Mempool); } else { Interlocked.Increment(ref _duplicatedReceives); } Interlocked.Increment(ref _totalReceives); } if (txAdded is { })