EOS Permission Data Structure

2018-05-18  本文已影响0人  CharlesJu
   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

}

上一篇下一篇

猜你喜欢

热点阅读