Does this mean listing all roles an account has? This could be useful, though it would require additional storage (and therefore increase gas costs). I created an issue for this, thanks!
Interesting! I fear this may lead to too much complexity though, since we'd have to keep track of 'banned' accounts, and these would be in a strange intermediate state where they have a role, but are unable to use it. It also creates issues regarding permission, who is allowed to ban an account? It'd be equivalent to calling revoke
on all roles, which only the role admins can do.
If the goal is to remove all roles from an account, I think this can be better achieved with the enumeration suggested above, and then calling revokeRole
for each role.
Thanks! We've had some discussion on what revert reasons should look like, and consensus was the human-readable strings were important. Note you can still split on the :
to separate contract and message, as shown on your snippet above!
The bit about linking to the documentation is very interesting though, I'll think some more on it. Thanks!