@@ -283,11 +283,12 @@ async function makeAllViewsPublic(acMgr, contract) {
283283 * @param {methods } list of methods to enable for this role
284284 */
285285async function setupAMRole ( acMgr , contract , roles , role , methods ) {
286- await acMgr . labelRole ( roles [ role ] , role ) ;
286+ const roleId = roles === undefined ? getAccessManagerRole ( role ) : roles [ role ] ;
287+ await acMgr . labelRole ( roleId , role ) ;
287288 const selectors = methods . map ( ( method ) =>
288289 method . startsWith ( "0x" ) ? method : contract . interface . getFunction ( method ) . selector
289290 ) ;
290- await acMgr . setTargetFunctionRole ( contract , selectors , roles [ role ] ) ;
291+ await acMgr . setTargetFunctionRole ( contract , selectors , roleId ) ;
291292}
292293
293294/**
@@ -300,7 +301,11 @@ async function setupAMRole(acMgr, contract, roles, role, methods) {
300301 * @return The id of the created role (roleId)
301302 */
302303async function setupAMSuperAdminRole ( acMgr , contract , roleId = 1111 , roleName = "SUPERADMIN" ) {
303- await acMgr . labelRole ( roleId , roleName ) ;
304+ roleId = roleId === undefined ? getAccessManagerRole ( roleName ) : roleId ;
305+ if ( AM_ROLES [ roleName ] === undefined ) {
306+ // Don't label PUBLIC_ROLE or ADMIN_ROLE
307+ await acMgr . labelRole ( roleId , roleName ) ;
308+ }
304309 const selectors = contract . interface . fragments
305310 . filter (
306311 ( fragment ) =>
@@ -375,4 +380,5 @@ module.exports = {
375380 setupAMSuperAdminRole,
376381 captureAny,
377382 newCaptureAny,
383+ AM_ROLES ,
378384} ;
0 commit comments