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); }
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); }
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); }
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)); }