From 6c615a105a29f272f0f5b6ab5c51d8b10fd54264 Mon Sep 17 00:00:00 2001 From: EmelyanenkoK Date: Thu, 28 Dec 2023 17:40:54 +0300 Subject: [PATCH] Fix generating block header proof (#841) Co-authored-by: SpyCheese --- validator/impl/liteserver.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/validator/impl/liteserver.cpp b/validator/impl/liteserver.cpp index 86fc690a..34b9f1f1 100644 --- a/validator/impl/liteserver.cpp +++ b/validator/impl/liteserver.cpp @@ -1034,7 +1034,8 @@ bool LiteQuery::make_state_root_proof(Ref& proof, Ref state_ vm::MerkleProofBuilder pb{std::move(block_root)}; block::gen::Block::Record blk; block::gen::BlockInfo::Record info; - if (!(tlb::unpack_cell(pb.root(), blk) && tlb::unpack_cell(blk.info, info))) { + if (!(tlb::unpack_cell(pb.root(), blk) && tlb::unpack_cell(blk.info, info) && + block::gen::BlkPrevInfo(info.after_merge).validate_ref(info.prev_ref))) { return fatal_error("cannot unpack block header"); } vm::CellSlice upd_cs{vm::NoVmSpec(), blk.state_update};