From d8eb7fcccea60f94cc9be9d1597f7c751ef855fe Mon Sep 17 00:00:00 2001 From: Marat S Date: Thu, 6 Feb 2025 01:31:22 +0000 Subject: [PATCH 1/2] Fix get_prev_blocks_info() at LS getConfigParams --- validator/impl/liteserver.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/validator/impl/liteserver.cpp b/validator/impl/liteserver.cpp index 723dbfe9..50938cd5 100644 --- a/validator/impl/liteserver.cpp +++ b/validator/impl/liteserver.cpp @@ -1905,6 +1905,9 @@ void LiteQuery::continue_getConfigParams(int mode, std::vector param_list) } cfg = res.move_as_ok(); } else { + if (mode & block::ConfigInfo::needPrevBlocks) { + mode |= block::ConfigInfo::needCapabilities; + } auto res = block::ConfigInfo::extract_config(mpb.root(), mode); if (res.is_error()) { fatal_error(res.move_as_error()); From b39e089638980422005123923b03711f4cc4ab34 Mon Sep 17 00:00:00 2001 From: Marat S Date: Thu, 6 Feb 2025 02:00:44 +0000 Subject: [PATCH 2/2] error on version == -1 --- crypto/block/mc-config.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/block/mc-config.cpp b/crypto/block/mc-config.cpp index 14881913..490ccade 100644 --- a/crypto/block/mc-config.cpp +++ b/crypto/block/mc-config.cpp @@ -2338,6 +2338,8 @@ td::Result> ConfigInfo::get_prev_blocks_info() const { seqno -= 100; } tuple.push_back(td::make_cnt_ref>(std::move(last_mc_blocks_100))); + } else if (get_global_version() == -1) { + return td::Status::Error("config version not set (needCapabilities)"); } return td::make_cnt_ref>(std::move(tuple));