コード例 #1
0
        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);
            }
        }