pub async fn grant_role<T: Transport + ?Sized>(
transport: &T,
community: &Community,
member: PublicKey,
role_id: &str,
) -> Result<(), String>Expand description
Grant member a role (requires the MANAGE_ROLES permission). Publishes the per-member Grant
event. The member already holds read keys from membership; the roster entry adds write authority,
exercised by signing their own control actions, which peers verify against the roster.