CDT  v4.2.0
инструменты разработчика
security_group.hpp
См. документацию.
1#pragma once
2#include <set>
3#include "../../core/eosio/name.hpp"
4#include "../../core/eosio/serialize.hpp"
5
6namespace eosio {
7
8namespace internal_use_do_not_use {
9extern "C" {
10__attribute__((eosio_wasm_import)) int64_t add_security_group_participants(const char* data, uint32_t datalen);
11
12__attribute__((eosio_wasm_import)) int64_t remove_security_group_participants(const char* data, uint32_t datalen);
13
14__attribute__((eosio_wasm_import)) bool in_active_security_group(const char* data, uint32_t datalen);
15
16__attribute__((eosio_wasm_import)) uint32_t get_active_security_group(char* data, uint32_t datalen);
17}
18} // namespace internal_use_do_not_use
19
28 std::set<name> participants;
30};
31
40inline int64_t add_security_group_participants(const std::set<name>& participants) {
41 auto packed_participants = eosio::pack( participants );
42 return internal_use_do_not_use::add_security_group_participants( packed_participants.data(), packed_participants.size() );
43}
44
53inline int64_t remove_security_group_participants(const std::set<name>& participants){
54 auto packed_participants = eosio::pack( participants );
55 return internal_use_do_not_use::remove_security_group_participants( packed_participants.data(), packed_participants.size() );
56}
57
66inline bool in_active_security_group(const std::set<name>& participants){
67 auto packed_participants = eosio::pack( participants );
68 return internal_use_do_not_use::in_active_security_group( packed_participants.data(), packed_participants.size() );
69}
70
79 std::vector<char> buffer(buffer_size);
81 return eosio::unpack<security_group>(buffer);
82}
83} // namespace eosio