コード例 #1
0
        public async Task ValidateBeforeAttachAsync_Test()
        {
            var block = _kernelTestHelper.GenerateBlock(9, Hash.FromString("test"));

            block.Header = new BlockHeader
            {
                Height    = 1,
                ExtraData = { }
            };
            var result = await _blockValidationProvider.ValidateBeforeAttachAsync(block);

            result.ShouldBeTrue();

            block  = _kernelTestHelper.GenerateBlock(9, Hash.FromString("test"));
            result = await _blockValidationProvider.ValidateBeforeAttachAsync(block);

            result.ShouldBeFalse();

            block.Header = new BlockHeader
            {
                Height    = 10,
                ExtraData = { ByteString.CopyFromUtf8("test") }
            };
            result = await _blockValidationProvider.ValidateBeforeAttachAsync(block);

            result.ShouldBeTrue();
        }
コード例 #2
0
        public async Task ValidateBeforeAttachAsync_Test()
        {
            var block = _kernelTestHelper.GenerateBlock(9, HashHelper.ComputeFrom("test"));

            block.Header = new BlockHeader
            {
                Height    = 1,
                ExtraData = { }
            };
            var result = await _blockValidationProvider.ValidateBeforeAttachAsync(block);

            result.ShouldBeTrue();

            block  = _kernelTestHelper.GenerateBlock(8, HashHelper.ComputeFrom("test"));
            result = await _blockValidationProvider.ValidateBeforeAttachAsync(block);

            result.ShouldBeFalse();

            block.Header = new BlockHeader
            {
                Height            = 10,
                ExtraData         = { { ConsensusConstants.ConsensusExtraDataKey, ByteString.CopyFromUtf8("test") } },
                PreviousBlockHash = HashHelper.ComputeFrom("PreviousBlockHash")
            };
            result = await _blockValidationProvider.ValidateBeforeAttachAsync(block);

            result.ShouldBeTrue();
        }
コード例 #3
0
        public async Task ValidateBlockBeforeAttach_Test()
        {
            var fakeMerkleTreeRoot1       = Hash.FromString("fakeMerkleTreeRoot1");
            var fakeSideChainId           = ChainHelper.ConvertBase58ToChainId("2112");
            var fakeSideChainBlockData    = CreateSideChainBlockData(fakeSideChainId, 1, fakeMerkleTreeRoot1);
            var sideChainTxMerkleTreeRoot = ComputeRootHash(new[] { fakeSideChainBlockData });
            var block = CreateFilledBlock(sideChainTxMerkleTreeRoot);
            var res   = await _crossChainBlockValidationProvider.ValidateBeforeAttachAsync(block);

            Assert.True(res);
        }