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)); 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());