コード例 #1
0
        public void Test(long minimum, long actual, bool expectedResult)
        {
            MinGasPriceTxFilter _filter = new MinGasPriceTxFilter((UInt256)minimum);
            var tx = Build.A.Transaction.WithGasPrice((UInt256)actual).TestObject;

            _filter.IsAllowed(tx, null).Should().Be(expectedResult);
        }
コード例 #2
0
        public void Test(long minimum, long actual, bool expectedResult)
        {
            ISpecProvider specProvider = Substitute.For <ISpecProvider>();

            specProvider.GetSpec(Arg.Any <long>()).Returns(new ReleaseSpec()
            {
                IsEip1559Enabled = false
            });
            MinGasPriceTxFilter _filter = new MinGasPriceTxFilter((UInt256)minimum, specProvider);
            Transaction         tx      = Build.A.Transaction.WithGasPrice((UInt256)actual).TestObject;

            _filter.IsAllowed(tx, null).Allowed.Should().Be(expectedResult);
        }
コード例 #3
0
        public void Test1559(long minimum, long actual, bool expectedResult)
        {
            ISpecProvider specProvider = Substitute.For <ISpecProvider>();

            specProvider.GetSpec(Arg.Any <long>()).Returns(new ReleaseSpec()
            {
                IsEip1559Enabled = true
            });
            MinGasPriceTxFilter _filter      = new MinGasPriceTxFilter((UInt256)minimum, specProvider);
            Transaction         tx           = Build.A.Transaction.WithGasPrice(0).WithFeeCap((UInt256)actual).WithType(TxType.EIP1559).TestObject;
            BlockBuilder        blockBuilder = Core.Test.Builders.Build.A.Block.Genesis.WithGasLimit(10000).WithBaseFee((UInt256)actual).WithGasUsed(100);

            _filter.IsAllowed(tx, blockBuilder.TestObject.Header).Allowed.Should().Be(expectedResult);
        }
コード例 #4
0
        public bool is_allowed_returns_correct(Address address, ulong gasLimit)
        {
            ITxFilter minGasPriceFilter = new MinGasPriceTxFilter(UInt256.One);
            IDictionaryContractDataStore <TxPriorityContract.Destination> dictionaryContractDataStore = Substitute.For <IDictionaryContractDataStore <TxPriorityContract.Destination> >();

            dictionaryContractDataStore.TryGetValue(
                Arg.Any <BlockHeader>(),
                Arg.Is <TxPriorityContract.Destination>(d => d.Target == TestItem.AddressA),
                out Arg.Any <TxPriorityContract.Destination>())
            .Returns(x =>
            {
                x[2] = new TxPriorityContract.Destination(TestItem.AddressA, Array.Empty <byte>(), 5);
                return(true);
            });

            var txFilter = new MinGasPriceContractTxFilter(minGasPriceFilter, dictionaryContractDataStore);
            var tx       = Build.A.Transaction.WithTo(address).WithGasPrice(gasLimit).TestObject;

            return(txFilter.IsAllowed(tx, Build.A.BlockHeader.TestObject));
        }