CDT  v4.2.0
инструменты разработчика
privileged.hpp
См. документацию.
1#pragma once
3#include "system.hpp"
4#include "../../core/eosio/crypto.hpp"
5#include "../../core/eosio/name.hpp"
6#include "../../core/eosio/serialize.hpp"
7
8namespace eosio {
9
10 namespace internal_use_do_not_use {
11 extern "C" {
12 __attribute__((eosio_wasm_import))
13 bool is_privileged( uint64_t account );
14
15 __attribute__((eosio_wasm_import))
17
18 __attribute__((eosio_wasm_import))
19 void get_resource_limits( uint64_t account, int64_t* ram_bytes, int64_t* net_weight, int64_t* cpu_weight );
20
21 __attribute__((eosio_wasm_import))
22 void set_resource_limits( uint64_t account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight );
23
24 __attribute__((eosio_wasm_import))
25 void set_privileged( uint64_t account, bool is_priv );
26
27 __attribute__((eosio_wasm_import))
28 void set_blockchain_parameters_packed( char* data, uint32_t datalen );
29
30 __attribute__((eosio_wasm_import))
31 uint32_t get_blockchain_parameters_packed( char* data, uint32_t datalen );
32
33 __attribute((eosio_wasm_import))
34 int64_t set_proposed_producers( char*, uint32_t );
35
36 __attribute__((eosio_wasm_import))
37 void preactivate_feature( const capi_checksum256* feature_digest );
38
39 __attribute__((eosio_wasm_import))
40 int64_t set_proposed_producers_ex( uint64_t producer_data_format, char *producer_data, uint32_t producer_data_size );
41 }
42 }
43
55
61
67
73
78
84
90
96
102
108
114
120
126
132
133
139
145
151
157
158
160 (max_block_net_usage)(target_block_net_usage_pct)
161 (max_transaction_net_usage)(base_per_transaction_net_usage)(net_usage_leeway)
162 (context_free_discount_net_usage_num)(context_free_discount_net_usage_den)
163
164 (max_block_cpu_usage)(target_block_cpu_usage_pct)
165 (max_transaction_cpu_usage)(min_transaction_cpu_usage)
166
167 (max_transaction_lifetime)(deferred_trx_expiration_window)(max_transaction_delay)
168 (max_inline_action_size)(max_inline_action_depth)(max_authority_depth)
169 )
170 };
171
179
187
188
196 inline void get_account_ram_usage( name account, int64_t& used_ram_bytes ) {
198 }
199
200
210 inline void get_resource_limits( name account, int64_t& ram_bytes, int64_t& net_weight, int64_t& cpu_weight ) {
212 }
213
223 inline void set_resource_limits( name account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight ) {
225 }
226
236 std::optional<uint64_t> set_proposed_producers( const std::vector<producer_key>& prods );
237
247 inline std::optional<uint64_t> set_proposed_producers( const std::vector<producer_authority>& prods ) {
248 auto packed_prods = eosio::pack( prods );
249 int64_t ret = internal_use_do_not_use::set_proposed_producers_ex(1, (char*)packed_prods.data(), packed_prods.size());
250 if (ret >= 0)
251 return static_cast<uint64_t>(ret);
252 return {};
253 }
254
263 inline bool is_privileged( name account ) {
265 }
266
274 inline void set_privileged( name account, bool is_priv ) {
276 }
277
284 inline void preactivate_feature( const checksum256& feature_digest ) {
285 auto feature_digest_data = feature_digest.extract_as_byte_array();
287 reinterpret_cast<const internal_use_do_not_use::capi_checksum256*>( feature_digest_data.data() )
288 );
289 }
290
291}