MCPcopy Create free account
hub / github.com/TelegramMessenger/cocoon / get_from_db

Method get_from_db

runners/proxy/ProxyRunner.cpp:770–787  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

768}
769
770td::UniqueSlice ProxyRunner::get_from_db(td::Slice key) {
771 std::string config_value;
772 auto k = kv_->get(key, config_value);
773 k.ensure();
774
775 if (k.move_as_ok() == td::KeyValue::GetStatus::Ok) {
776 auto value = td::Slice(config_value);
777 CHECK(value.size() >= 64);
778 auto signature = value.copy().remove_prefix(value.size() - 64);
779 value.remove_suffix(64);
780
781 public_key_obj_->verify_signature(value, signature).ensure();
782
783 return td::UniqueSlice(value);
784 } else {
785 return td::UniqueSlice();
786 }
787}
788
789void ProxyRunner::on_receive_saved_state_seqno(td::int32 seqno, const td::Bits256 &unique_hash) {
790 LOG(INFO) << "received saved state from blockchain: seqno=" << seqno << " unique_hash=" << unique_hash.to_hex()

Callers 2

message_sent_successMethod · 0.45
send_next_messageMethod · 0.45

Calls 3

verify_signatureMethod · 0.80
getMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected