3#include <eosio/crypto.hpp>
4#include <eosio/eosio.hpp>
38 const std::vector<name> &required_signers = {}) {
40 assert_recover_key(sig.signed_hash, sig.signature, sig.public_key);
42 if (!required_signers.empty()) {
43 for (
const auto &required : required_signers) {
46 if (sig.signer == required) {
52 (
"Не найдена подпись от обязательного подписанта: " + required.to_string()).c_str());
58 return doc.
hash == checksum256{};
bool is_empty_document(const document2 &doc)
Definition: document_core.hpp:57
void verify_document_or_fail(const document2 &doc, const std::vector< name > &required_signers={})
Definition: document_core.hpp:36
Definition: eosio.msig.hpp:34
Definition: document_core.hpp:27
std::vector< signature_info > signatures
Definition: document_core.hpp:33
std::string meta
Definition: document_core.hpp:32
checksum256 meta_hash
Definition: document_core.hpp:31
std::string version
Definition: document_core.hpp:28
checksum256 hash
Definition: document_core.hpp:29
checksum256 doc_hash
Definition: document_core.hpp:30
Definition: document_core.hpp:10
checksum256 hash
Definition: document_core.hpp:11
signature signature
Definition: document_core.hpp:13
std::string meta
Definition: document_core.hpp:14
public_key public_key
Definition: document_core.hpp:12
Definition: document_core.hpp:17
uint32_t id
Definition: document_core.hpp:18
checksum256 signed_hash
Definition: document_core.hpp:19
name signer
Definition: document_core.hpp:20
std::string meta
Definition: document_core.hpp:24
public_key public_key
Definition: document_core.hpp:21
signature signature
Definition: document_core.hpp:22
time_point_sec signed_at
Definition: document_core.hpp:23