Esempio n. 1
0
        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
        }
Esempio n. 2
0
        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
        }