Beispiel #1
0
        public ResultWrapper <TxPoolStatus> txpool_status()
        {
            var poolInfo   = _txPoolInfoProvider.GetInfo();
            var poolStatus = new TxPoolStatus(poolInfo);

            return(ResultWrapper <TxPoolStatus> .Success(poolStatus));
        }
Beispiel #2
0
        public void should_return_valid_pending_and_queued_transactions()
        {
            var nonce = 3;

            _stateProvider.GetNonce(_address).Returns(new UInt256(nonce));
            var transactions = GetTransactions();
            var info         = _infoProvider.GetInfo(transactions);

            info.Pending.Count.Should().Be(1);
            info.Queued.Count.Should().Be(1);

            var pending = info.Pending.First();

            pending.Key.Should().Be(_address);
            pending.Value.Count.Should().Be(3);
            pending.Value.Sum(v => v.Value.Length).Should().Be(4);
            VerifyNonceAndTransactions(pending.Value.ElementAt(0), 3, 2);
            VerifyNonceAndTransactions(pending.Value.ElementAt(1), 4, 1);
            VerifyNonceAndTransactions(pending.Value.ElementAt(2), 5, 1);

            var queued = info.Queued.First();

            queued.Key.Should().Be(_address);
            queued.Value.Count.Should().Be(4);
            queued.Value.Sum(v => v.Value.Length).Should().Be(4);
            VerifyNonceAndTransactions(queued.Value.ElementAt(0), 1, 1);
            VerifyNonceAndTransactions(queued.Value.ElementAt(1), 2, 1);
            VerifyNonceAndTransactions(queued.Value.ElementAt(2), 8, 1);
            VerifyNonceAndTransactions(queued.Value.ElementAt(3), 9, 1);
        }
Beispiel #3
0
        public void should_return_valid_pending_and_queued_transactions()
        {
            uint nonce = 3;

            _stateReader.GetAccount(_address).Returns(Account.TotallyEmpty.WithChangedNonce(nonce));
            var transactions = GetTransactions();

            _txPool.GetPendingTransactionsBySender()
            .Returns(new Dictionary <Address, Transaction[]> {
                { _address, transactions }
            });
            var info = _infoProvider.GetInfo();

            info.Pending.Count.Should().Be(1);
            info.Queued.Count.Should().Be(1);

            var pending = info.Pending.First();

            pending.Key.Should().Be(_address);
            pending.Value.Count.Should().Be(3);
            VerifyNonceAndTransactions(pending.Value, 3);
            VerifyNonceAndTransactions(pending.Value, 4);
            VerifyNonceAndTransactions(pending.Value, 5);

            var queued = info.Queued.First();

            queued.Key.Should().Be(_address);
            queued.Value.Count.Should().Be(4);
            VerifyNonceAndTransactions(queued.Value, 1);
            VerifyNonceAndTransactions(queued.Value, 2);
            VerifyNonceAndTransactions(queued.Value, 8);
            VerifyNonceAndTransactions(queued.Value, 9);
        }
        public void should_return_valid_pending_and_queued_transactions()
        {
            var nonce = 3;

            _stateProvider.GetNonce(_address).Returns(new UInt256(nonce));
            var transactions = GetTransactions();

            _txPool.GetPendingTransactions().Returns(transactions);
            var info = _infoProvider.GetInfo();

            info.Pending.Count.Should().Be(1);
            info.Queued.Count.Should().Be(1);

            var pending = info.Pending.First();

            pending.Key.Should().Be(_address);
            pending.Value.Count.Should().Be(3);
            VerifyNonceAndTransactions(pending.Value, 3);
            VerifyNonceAndTransactions(pending.Value, 4);
            VerifyNonceAndTransactions(pending.Value, 5);

            var queued = info.Queued.First();

            queued.Key.Should().Be(_address);
            queued.Value.Count.Should().Be(4);
            VerifyNonceAndTransactions(queued.Value, 1);
            VerifyNonceAndTransactions(queued.Value, 2);
            VerifyNonceAndTransactions(queued.Value, 8);
            VerifyNonceAndTransactions(queued.Value, 9);
        }
Beispiel #5
0
        public void should_return_valid_pending_and_queued_transactions()
        {
            uint nonce = 3;

            _stateReader.GetNonce(Arg.Any <Keccak>(), _address).Returns(new UInt256(nonce));
            var transactions = GetTransactions();

            _txPool.GetPendingTransactionsBySender()
            .Returns(new Dictionary <Address, Transaction[]> {
                { _address, transactions }
            });
            var info = _infoProvider.GetInfo(Build.A.BlockHeader.TestObject);

            info.Pending.Count.Should().Be(1);
            info.Queued.Count.Should().Be(1);

            var pending = info.Pending.First();

            pending.Key.Should().Be(_address);
            pending.Value.Count.Should().Be(3);
            VerifyNonceAndTransactions(pending.Value, 3);
            VerifyNonceAndTransactions(pending.Value, 4);
            VerifyNonceAndTransactions(pending.Value, 5);

            var queued = info.Queued.First();

            queued.Key.Should().Be(_address);
            queued.Value.Count.Should().Be(4);
            VerifyNonceAndTransactions(queued.Value, 1);
            VerifyNonceAndTransactions(queued.Value, 2);
            VerifyNonceAndTransactions(queued.Value, 8);
            VerifyNonceAndTransactions(queued.Value, 9);
        }
Beispiel #6
0
 public TxPoolInfo GetTxPoolInfo()
 => _transactionPoolInfoProvider.GetInfo(_txPool.GetPendingTransactions());