6namespace sysio {
namespace chain {
namespace webassembly {
9 if( pubkeys_size == 0 )
return;
16 if( perms_size == 0 )
return;
26 flat_set<public_key_type> provided_keys;
29 flat_set<permission_level> provided_permissions;
34 .get_authorization_manager()
35 .check_authorization( trx.
actions,
43 }
catch(
const authorization_exception& e ) {}
55 flat_set<public_key_type> provided_keys;
58 flat_set<permission_level> provided_permissions;
63 .get_authorization_manager()
64 .check_authorization( account,
73 }
catch(
const authorization_exception& e ) {}
79 const auto& am =
context.control.get_authorization_manager();
80 return am.get_permission_last_used( am.get_permission({account, permission}) ).time_since_epoch().count();
86 "account '${account}' does not exist", (
"account", account) );
#define SYS_ASSERT(expr, exc_type, FORMAT,...)
constexpr int64_t count() const
constexpr const microseconds & time_since_epoch() const
bool check_permission_authorization(account_name account, permission_name permission, legacy_span< const char > pubkeys_data, legacy_span< const char > perms_data, uint64_t delay_us) const
int64_t get_account_creation_time(account_name account) const
int64_t get_permission_last_used(account_name account, permission_name permission) const
bool check_transaction_authorization(legacy_span< const char > trx_data, legacy_span< const char > pubkeys_data, legacy_span< const char > perms_data) const
void unpack(Stream &s, std::deque< T > &value)
constexpr microseconds seconds(int64_t s)
void unpack_provided_permissions(flat_set< permission_level > &permissions, const char *perms_data, uint32_t perms_size)
void unpack_provided_keys(flat_set< public_key_type > &keys, const char *pubkeys_data, uint32_t pubkeys_size)
key Invalid authority Invalid transaction Invalid block ID Invalid packed transaction Invalid chain ID Invalid symbol Signature type is not a currently activated type Block can not be found Unlinkable block Block does not guarantee concurrent execution without conflicts Block exhausted allowed resources Block is from the future Block is not signed by expected producer Block includes an ill formed protocol feature activation extension Block includes an ill formed additional block signature extension Error decompressing transaction Transaction should have at least one required authority Expired Transaction Invalid Reference Block Duplicate deferred transaction The transaction can not be found Transaction is too big Invalid transaction extension Transaction includes disallowed Transaction exceeded transient resource limit action_validate_exception
unsigned __int64 uint64_t
Immutable except for fc::from_variant.