public bool TryRemove(TransactionReceipt receipt) { var hash = receipt.Hash; var nonce = receipt.Transaction.Nonce; var from = receipt.Transaction.From; var kv = new KeyValuePair <ulong, UInt256>(nonce, hash); if (_noncePerAddress.TryGetValue(from, out var nonces)) { bool canRemove = nonces.Remove(kv); if (nonces.Count == 0) { _noncePerAddress.TryRemove(from, out var _); } if (canRemove) { _count--; _transactionHashTracker.TryRemove(receipt); } return(canRemove); } else { return(false); } }