public void Should_count_invalid_bundles() { TestBundlePool bundlePool = CreateTestBundlePool(); int beforeBundlesReceived = Metrics.BundlesReceived; int beforeValidBundlesReceived = Metrics.ValidBundlesReceived; int beforeBundlesSimulated = Metrics.BundlesSimulated; MevBundle[] bundles = new[] { new MevBundle(1, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 5, 0), // invalid new MevBundle(2, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 0, 0), new MevBundle(3, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 0, long.MaxValue), // invalid new MevBundle(4, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 0, 0) }; foreach (MevBundle mevBundle in bundles) { bundlePool.AddBundle(mevBundle); } int deltaBundlesReceived = Metrics.BundlesReceived - beforeBundlesReceived; int deltaValidBundlesReceived = Metrics.ValidBundlesReceived - beforeValidBundlesReceived; int deltaBundlesSimulated = Metrics.BundlesSimulated - beforeBundlesSimulated; deltaBundlesReceived.Should().Be(4); deltaValidBundlesReceived.Should().Be(2); deltaBundlesSimulated.Should().Be(0); // should not simulate invalid bundle }
public void Should_count_valid_bundles() { TestBundlePool bundlePool = CreateTestBundlePool(); int beforeBundlesReceived = Metrics.BundlesReceived; int beforeValidBundlesReceived = Metrics.ValidBundlesReceived; int beforeBundlesSimulated = Metrics.BundlesSimulated; bundlePool.AddBundle(new MevBundle(1, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject, Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).WithNonce(1).TestObject }, 0, 0)); bundlePool.AddBundle(new MevBundle(1, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 0, 0)); bundlePool.AddBundle(new MevBundle(3, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 0, 0)); bundlePool.AddBundle(new MevBundle(4, new [] { Build.A.TypedTransaction <BundleTransaction>().SignedAndResolved(TestItem.PrivateKeyA).TestObject }, 0, 0)); int deltaBundlesReceived = Metrics.BundlesReceived - beforeBundlesReceived; int deltaValidBundlesReceived = Metrics.ValidBundlesReceived - beforeValidBundlesReceived; int deltaBundlesSimulated = Metrics.BundlesSimulated - beforeBundlesSimulated; deltaBundlesReceived.Should().Be(4); deltaValidBundlesReceived.Should().Be(4); deltaBundlesSimulated.Should().Be(2); // only first two bundles are at current head }