提交 2acec365 编写于 作者: D Daniel Larimer

Add get_permission_last_used and get_account_creation_date intrinsic api #2854

上级 56d6cb58
......@@ -358,21 +358,6 @@ static const abi_serializer& get_abi_serializer() {
}
static auto get_account_creation(const apply_context& context, const account_name& account) {
auto const& accnt = context.db.get<account_object, by_name>(account);
return (time_point)accnt.creation_date;
};
static auto get_permission_last_used(const apply_context& context, const account_name& account, const permission_name& permission) {
auto const* perm = context.db.find<permission_usage_object, by_account_permission>(boost::make_tuple(account, permission));
if (perm) {
return optional<time_point>(perm->last_used);
}
return optional<time_point>();
};
void apply_eosio_canceldelay(apply_context& context) {
auto cancel = context.act.data_as<canceldelay>();
context.require_authorization(cancel.canceling_auth.actor); // only here to mark the single authority on this action as used
......
......@@ -823,6 +823,15 @@ class permission_api : public context_aware_api {
return -1;
}
int64_t get_permission_last_used( account_name account, permission_name permission) {
return context.db.get<permission_usage_object, by_account_permission>(boost::make_tuple(account, permission)).last_used.time_since_epoch().count();
};
int64_t get_account_creation_date( account_name account ) {
return time_point(context.db.get<account_object, by_name>(account).creation_date).time_since_epoch().count();
}
private:
void unpack_provided_keys( flat_set<public_key_type>& keys, const char* pubkeys_data, size_t pubkeys_size ) {
keys.clear();
......@@ -1684,6 +1693,8 @@ REGISTER_INTRINSICS(crypto_api,
REGISTER_INTRINSICS(permission_api,
(check_transaction_authorization, int64_t(int, int, int, int, int, int) )
(check_permission_authorization, int64_t(int64_t, int64_t, int, int, int, int, int64_t) )
(get_permission_last_used, int64_t(int64_t, int64_t) )
(get_account_creation_date, int64_t(int64_t) )
);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册