What is linked permission? The following is from authorization_manager.cpp.
optional<permission_name> authorization_manager::lookup_linked_permission( account_name authorizer_account,
account_name scope,
action_name act_name
)const
{
try {
// First look up a specific link for this message act_name
auto key = boost::make_tuple(authorizer_account, scope, act_name);
auto link = _db.find<permission_link_object, by_action_name>(key);
// If no specific link found, check for a contract-wide default
if (link == nullptr) {
boost::get<2>(key) = "";
link = _db.find<permission_link_object, by_action_name>(key);
}
// If no specific or default link found, use active permission
if (link != nullptr) {
return link->required_permission;
}
return optional<permission_name>();
// return optional<permission_name>();
} FC_CAPTURE_AND_RETHROW((authorizer_account)(scope)(act_name))
}