public async Task setHead_to_unknown_block_fails() { using MergeTestBlockchain chain = await CreateBlockChain(); IConsensusRpcModule rpc = CreateConsensusModule(chain); ResultWrapper <Result> setHeadResult = await rpc.consensus_setHead(TestItem.KeccakF); setHeadResult.Data.success.Should().BeFalse(); }
public async Task setHead_can_reorganize_to_any_block() { using MergeTestBlockchain chain = await CreateBlockChain(); IConsensusRpcModule rpc = CreateConsensusModule(chain); async Task CanReorganizeToBlock(BlockRequestResult block, MergeTestBlockchain testChain) { ResultWrapper <Result> result = await rpc.consensus_setHead(block.BlockHash); result.Data.Should().Be(Result.OK); testChain.BlockTree.HeadHash.Should().Be(block.BlockHash); testChain.BlockTree.Head !.Number.Should().Be(block.Number); testChain.State.StateRoot.Should().Be(testChain.BlockTree.Head !.StateRoot !); } async Task CanReorganizeToAnyBlock(MergeTestBlockchain testChain, params IReadOnlyList <BlockRequestResult>[] branches)