1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00

Add getvalidatorsessions query to validator-engine-console

This commit is contained in:
SpyCheese 2022-07-06 15:10:54 +03:00
parent 9465fd866a
commit 849d995346
21 changed files with 181 additions and 4 deletions

View file

@ -32,6 +32,9 @@
#include "terminal/terminal.h"
#include "td/utils/filesystem.h"
#include "overlay/overlays.h"
#include "ton/ton-tl.hpp"
#include "auto/tl/ton_api_json.h"
#include "tl/tl_json.h"
#include <cctype>
#include <fstream>
@ -1005,3 +1008,23 @@ td::Status ImportShardOverlayCertificateQuery::receive(td::BufferSlice data) {
td::TerminalIO::out() << "successfully sent certificate to overlay manager\n";
return td::Status::OK();
}
td::Status GetValidatorSessionsInfoQuery::run() {
TRY_STATUS(tokenizer_.check_endl());
return td::Status::OK();
}
td::Status GetValidatorSessionsInfoQuery::send() {
auto b = ton::create_serialize_tl_object<ton::ton_api::engine_validator_getValidatorSessionsInfo>();
td::actor::send_closure(console_, &ValidatorEngineConsole::envelope_send_query, std::move(b), create_promise());
return td::Status::OK();
}
td::Status GetValidatorSessionsInfoQuery::receive(td::BufferSlice data) {
TRY_RESULT_PREFIX(
f, ton::fetch_tl_object<ton::ton_api::engine_validator_validatorSessionsInfo>(data.as_slice(), true),
"received incorrect answer: ");
std::string s = td::json_encode<std::string>(td::ToJson(*f), true);
td::TerminalIO::out() << "---------\n" << s << "--------\n";
return td::Status::OK();
}

View file

@ -1075,3 +1075,23 @@ class ImportShardOverlayCertificateQuery : public Query {
std::string in_file_;
};
class GetValidatorSessionsInfoQuery : public Query {
public:
GetValidatorSessionsInfoQuery(td::actor::ActorId<ValidatorEngineConsole> console, Tokenizer tokenizer)
: Query(console, std::move(tokenizer)) {
}
td::Status run() override;
td::Status send() override;
td::Status receive(td::BufferSlice data) override;
static std::string get_name() {
return "getvalidatorsessions";
}
static std::string get_help() {
return "getvalidatorsessions\tprint info about validator session";
}
std::string name() const override {
return get_name();
}
private:
};

View file

@ -140,6 +140,7 @@ void ValidatorEngineConsole::run() {
add_query_runner(std::make_unique<QueryRunnerImpl<GetOverlaysStatsJsonQuery>>());
add_query_runner(std::make_unique<QueryRunnerImpl<ImportShardOverlayCertificateQuery>>());
add_query_runner(std::make_unique<QueryRunnerImpl<SignShardOverlayCertificateQuery>>());
add_query_runner(std::make_unique<QueryRunnerImpl<GetValidatorSessionsInfoQuery>>());
}
bool ValidatorEngineConsole::envelope_send_query(td::BufferSlice query, td::Promise<td::BufferSlice> promise) {