From 7749cbfa1ffb0de45f853cb39c744e061d3bf13e Mon Sep 17 00:00:00 2001 From: SpyCheese Date: Tue, 9 Aug 2022 17:37:01 +0300 Subject: [PATCH] Change config serialization for compatibility --- validator-engine/validator-engine.cpp | 18 +++++++++++++----- validator-engine/validator-engine.hpp | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/validator-engine/validator-engine.cpp b/validator-engine/validator-engine.cpp index 26c485bd..65fb0e8f 100644 --- a/validator-engine/validator-engine.cpp +++ b/validator-engine/validator-engine.cpp @@ -177,7 +177,7 @@ Config::Config(const ton::ton_api::engine_validator_config_v2 &config) { } } -ton::tl_object_ptr Config::tl() const { +ton::tl_object_ptr Config::tl() const { std::vector> addrs_vec; for (auto &x : addrs) { if (x.second.proxy) { @@ -256,10 +256,18 @@ ton::tl_object_ptr Config::tl() const for (auto &id : gc) { gc_vec->ids_.push_back(id.tl()); } - return ton::create_tl_object( - out_port, std::move(addrs_vec), std::move(adnl_vec), std::move(dht_vec), std::move(val_vec), std::move(col_vec), - full_node.tl(), std::move(full_node_slaves_vec), std::move(full_node_masters_vec), std::move(liteserver_vec), - std::move(control_vec), std::move(shards_vec), std::move(gc_vec)); + + if (col_vec.empty() && shards_vec.empty()) { + return ton::create_tl_object( + out_port, std::move(addrs_vec), std::move(adnl_vec), std::move(dht_vec), std::move(val_vec), + full_node.tl(), std::move(full_node_slaves_vec), std::move(full_node_masters_vec), std::move(liteserver_vec), + std::move(control_vec), std::move(gc_vec)); + } else { + return ton::create_tl_object( + out_port, std::move(addrs_vec), std::move(adnl_vec), std::move(dht_vec), std::move(val_vec), std::move(col_vec), + full_node.tl(), std::move(full_node_slaves_vec), std::move(full_node_masters_vec), std::move(liteserver_vec), + std::move(control_vec), std::move(shards_vec), std::move(gc_vec)); + } } td::Result Config::config_add_network_addr(td::IPAddress in_ip, td::IPAddress out_ip, diff --git a/validator-engine/validator-engine.hpp b/validator-engine/validator-engine.hpp index 8e333791..47d612b7 100644 --- a/validator-engine/validator-engine.hpp +++ b/validator-engine/validator-engine.hpp @@ -137,7 +137,7 @@ struct Config { td::Result config_del_control_process(td::int32 port, ton::PublicKeyHash id); td::Result config_del_gc(ton::PublicKeyHash key); - ton::tl_object_ptr tl() const; + ton::tl_object_ptr tl() const; Config(); Config(const ton::ton_api::engine_validator_config_v2 &config);