public async Task setHead_to_unknown_block_fails() { using MergeTestBlockchain chain = await CreateBlockChain(); IEngineRpcModule rpc = CreateConsensusModule(chain); ResultWrapper <Result> setHeadResult = await rpc.engine_setHead(TestItem.KeccakF); setHeadResult.Data.Success.Should().BeFalse(); }
public async Task setHead_can_reorganize_to_any_block() { using MergeTestBlockchain chain = await CreateBlockChain(); IEngineRpcModule rpc = CreateConsensusModule(chain); async Task CanReorganizeToBlock(BlockRequestResult block, MergeTestBlockchain testChain) { ResultWrapper <Result> result = await rpc.engine_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)