/** * `PermissionedResolver` role constants (contracts-v2 `post-audit-2`, * `PermissionedResolverLib`). * * Same nybble-packed layout as registry roles but with resolver meanings, so * never mix the two sets. A role is held either on the root resource (every * name on the resolver) or on the resource of a single setter argument; there * is no per-name scope, because a resolver is already per account. * * These bit positions are verified against the deployed implementation via * `decodeSetter`, which returns the role bitmap each setter requires. */ /** Nybble 0 — set address records. Root, or scoped to one coin type. */ export declare const RESOLVER_ROLE_SET_ADDRESS: bigint; /** Nybble 1 — set text records. Root, or scoped to one text key. */ export declare const RESOLVER_ROLE_SET_TEXT: bigint; /** Nybble 2 — set the contenthash record. Root only. */ export declare const RESOLVER_ROLE_SET_CONTENTHASH: bigint; /** Nybble 3 — set ABI records. Root, or scoped to one content type. */ export declare const RESOLVER_ROLE_SET_ABI: bigint; /** Nybble 4 — set interface implementer records. Root, or scoped to one interface id. */ export declare const RESOLVER_ROLE_SET_INTERFACE: bigint; /** Nybble 5 — set the reverse name record. Root only. */ export declare const RESOLVER_ROLE_SET_NAME: bigint; /** Nybble 6 — set data records. Root, or scoped to one data key. */ export declare const RESOLVER_ROLE_SET_DATA: bigint; /** Nybble 7 — link names to records. Root only. Replaced `ROLE_SET_ALIAS`. */ export declare const RESOLVER_ROLE_LINK: bigint; /** Nybble 30 — name the resolver contract itself. Root only. */ export declare const RESOLVER_ROLE_CAN_NAME: bigint; /** Nybble 31 — UUPS proxy upgrades. Root only. */ export declare const RESOLVER_ROLE_UPGRADE: bigint; export declare const RESOLVER_ROLE_SET_ADDRESS_ADMIN: bigint; export declare const RESOLVER_ROLE_SET_TEXT_ADMIN: bigint; export declare const RESOLVER_ROLE_SET_CONTENTHASH_ADMIN: bigint; export declare const RESOLVER_ROLE_SET_ABI_ADMIN: bigint; export declare const RESOLVER_ROLE_SET_INTERFACE_ADMIN: bigint; export declare const RESOLVER_ROLE_SET_NAME_ADMIN: bigint; export declare const RESOLVER_ROLE_SET_DATA_ADMIN: bigint; export declare const RESOLVER_ROLE_LINK_ADMIN: bigint; export declare const RESOLVER_ROLE_CAN_NAME_ADMIN: bigint; export declare const RESOLVER_ROLE_UPGRADE_ADMIN: bigint; /** Every resolver role and every admin role. */ export declare const RESOLVER_ALL_ROLES = 7719472615821079694904732333912527190217998977709370935963838933860875309329n; declare const resolverRoleMap: { readonly ROLE_SET_ADDRESS: bigint; readonly ROLE_SET_TEXT: bigint; readonly ROLE_SET_CONTENTHASH: bigint; readonly ROLE_SET_ABI: bigint; readonly ROLE_SET_INTERFACE: bigint; readonly ROLE_SET_NAME: bigint; readonly ROLE_SET_DATA: bigint; readonly ROLE_LINK: bigint; readonly ROLE_CAN_NAME: bigint; readonly ROLE_UPGRADE: bigint; readonly ROLE_SET_ADDRESS_ADMIN: bigint; readonly ROLE_SET_TEXT_ADMIN: bigint; readonly ROLE_SET_CONTENTHASH_ADMIN: bigint; readonly ROLE_SET_ABI_ADMIN: bigint; readonly ROLE_SET_INTERFACE_ADMIN: bigint; readonly ROLE_SET_NAME_ADMIN: bigint; readonly ROLE_SET_DATA_ADMIN: bigint; readonly ROLE_LINK_ADMIN: bigint; readonly ROLE_CAN_NAME_ADMIN: bigint; readonly ROLE_UPGRADE_ADMIN: bigint; }; export type ResolverRole = keyof typeof resolverRoleMap; /** Roles that can be narrowed to a single setter argument. */ export type ResolverSetterRole = 'ROLE_SET_ADDRESS' | 'ROLE_SET_TEXT' | 'ROLE_SET_DATA' | 'ROLE_SET_ABI' | 'ROLE_SET_INTERFACE'; /** * Encode an array of resolver role names into a single bitmap. */ export declare function encodeResolverRoleBitmap(roles: readonly ResolverRole[]): bigint; /** * Decode a resolver role bitmap into the role names it holds. */ export declare function decodeResolverRoleBitmap(bitmap: bigint): ResolverRole[]; export {}; //# sourceMappingURL=resolverRoles.d.ts.map