public async Task FIllExtraData_TransactionPackingDisabled() { var merkleTreeRoot = HashHelper.ComputeFrom("MerkleTreeRoot"); var expected = new CrossChainExtraData { TransactionStatusMerkleTreeRoot = merkleTreeRoot }; var header = new BlockHeader { PreviousBlockHash = HashHelper.ComputeFrom("PreviousHash"), Height = 2 }; _crossChainTestHelper.AddFakeExtraData(header.PreviousBlockHash, expected); await _transactionPackingOptionProvider.SetTransactionPackingOptionAsync(new BlockIndex { BlockHash = header.PreviousBlockHash, BlockHeight = header.Height - 1 }, false); var bytes = await _crossChainBlockExtraDataProvider.GetBlockHeaderExtraDataAsync(header); Assert.Empty(bytes); }
public async Task ValidateBlockBeforeExecute_Test() { var fakeMerkleTreeRoot1 = HashHelper.ComputeFrom("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.ValidateBlockBeforeExecuteAsync(block); Assert.False(res); } { _crossChainTestHelper.AddFakeExtraData(block.Header.PreviousBlockHash, new CrossChainExtraData { TransactionStatusMerkleTreeRoot = sideChainTxMerkleTreeRoot }); var res = await _crossChainBlockValidationProvider.ValidateBlockBeforeExecuteAsync(block); Assert.True(res); } }