Beispiel #1
0
        public async Task GetExtraDataForFillingBlockHeaderAsync_Test()
        {
            var blockHeader = new BlockHeader()
            {
                Height = 1
            };
            var result = await _blockExtraDataProvider.GetExtraDataForFillingBlockHeaderAsync(blockHeader);

            result.ShouldBeNull();

            var blockHeader1 = new BlockHeader()
            {
                Height          = 10,
                BlockExtraDatas =
                {
                    ByteString.CopyFromUtf8("test1")
                }
            };
            var result1 = await _blockExtraDataProvider.GetExtraDataForFillingBlockHeaderAsync(blockHeader1);

            result1.ShouldBeNull();

            var blockHeader2 = new BlockHeader()
            {
                Height            = 2,
                PreviousBlockHash = Hash.Generate()
            };
            var result2 = await _blockExtraDataProvider.GetExtraDataForFillingBlockHeaderAsync(blockHeader2);

            result2.ShouldBe(ByteString.Empty);
        }
        public async Task GetExtraDataForFillingBlockHeaderAsync_Test()
        {
            //null situation
            var blockHeader = new BlockHeader
            {
                Height    = 1,
                ExtraData = { ByteString.Empty }
            };
            var result = await _blockExtraDataProvider.GetExtraDataForFillingBlockHeaderAsync(blockHeader);

            result.ShouldBeNull();

            //with data
            var chain = await _blockchainService.GetChainAsync();

            var height = chain.BestChainHeight;
            var hash   = chain.BestChainHash;

            var result1 = await _blockExtraDataProvider.GetExtraDataForFillingBlockHeaderAsync(new BlockHeader
            {
                PreviousBlockHash = hash,
                Height            = height
            });

            result1.ShouldNotBeNull();
        }
Beispiel #3
0
        public async Task FillExtraData_GenesisHeight_Test()
        {
            var header = new BlockHeader
            {
                PreviousBlockHash = Hash.FromString("PreviousHash"),
                Height            = 1
            };
            var bytes = await _crossChainBlockExtraDataProvider.GetExtraDataForFillingBlockHeaderAsync(header);

            Assert.Empty(bytes);
        }