EOS Permission Data Structure

   struct permission_level {
      account_name    actor;
      permission_name permission;
   };

   struct action {
      account_name               account;
      action_name                name;
      vector<permission_level>   authorization;
      bytes                      data;
      ... 
   }

   struct authority {
     uint32_t                          threshold = 0;
     vector<key_weight>                keys;
     vector<permission_level_weight>   accounts;
     vector<wait_weight>               waits;
     ...
   }

   class permission_object : public chainbase::object<permission_object_type, permission_object> {
      OBJECT_CTOR(permission_object, (auth) )

      id_type                           id;
      permission_usage_object::id_type  usage_id;
      id_type                           parent; ///< parent permission
      account_name                      owner; ///< the account this permission belongs to
      permission_name                   name; ///< human-readable name for the permission
      time_point                        last_updated; ///< the last time this authority was updated
      shared_authority                  auth; ///< authority required to execute this permission

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容