Skip to content

Commit 9d46fce

Browse files
authored
extensions(permissions): add support for initial permissions (#2757)
1 parent a18fc8e commit 9d46fce

35 files changed

+771
-147
lines changed

.changeset/stupid-parrots-pretend.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": minor
3+
---
4+
5+
add extensions for contract roles in the `thirdweb/extensions/permissions` namespace

biome.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,20 @@
2121
"packages/thirdweb/src/utils/bytecode/cbor-decode.ts",
2222
"packages/thirdweb/src/**/__generated__/**"
2323
]
24-
}
24+
},
25+
"overrides": [
26+
{
27+
"include": ["packages/thirdweb/src/**"],
28+
"linter": {
29+
"rules": {
30+
"style": {
31+
"noRestrictedGlobals": {
32+
"options": { "deniedGlobals": ["Buffer"] },
33+
"level": "error"
34+
}
35+
}
36+
}
37+
}
38+
}
39+
]
2540
}

packages/thirdweb/biome.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
{
22
"$schema": "https://biomejs.dev/schemas/1.6.4/schema.json",
33
"extends": ["../../biome.json"],
4+
"linter": {
5+
"rules": {
6+
"style": {
7+
"noRestrictedGlobals": {
8+
"options": { "deniedGlobals": ["Buffer"] },
9+
"level": "error"
10+
}
11+
}
12+
}
13+
},
414
"files": {
515
"ignore": [
616
"src/crypto/aes/lib/md5.ts",
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
//--------------------------------------------------
2+
// Permissions
3+
// --------------------------------------------------------
4+
5+
// READ
6+
export {
7+
hasRole,
8+
type HasRoleParams,
9+
} from "../../extensions/permissions/read/hasRole.js";
10+
export {
11+
getRoleAdmin,
12+
type GetRoleAdminParams,
13+
} from "../../extensions/permissions/read/getRoleAdmin.js";
14+
15+
// WRITE
16+
export {
17+
grantRole,
18+
type GrantRoleParams,
19+
} from "../../extensions/permissions/write/grant.js";
20+
export {
21+
revokeRole,
22+
type RevokeRoleParams,
23+
} from "../../extensions/permissions/write/revokeRole.js";
24+
export {
25+
renounceRole,
26+
type RenounceRoleParams,
27+
} from "../../extensions/permissions/write/renounceRole.js";
28+
29+
// EVENTS
30+
export {
31+
roleGrantedEvent,
32+
type RoleGrantedEventFilters,
33+
} from "../../extensions/permissions/__generated__/IPermissions/events/RoleGranted.js";
34+
export {
35+
roleRevokedEvent,
36+
type RoleRevokedEventFilters,
37+
} from "../../extensions/permissions/__generated__/IPermissions/events/RoleRevoked.js";
38+
export {
39+
roleAdminChangedEvent,
40+
type RoleAdminChangedEventFilters,
41+
} from "../../extensions/permissions/__generated__/IPermissions/events/RoleAdminChanged.js";
42+
43+
// --------------------------------------------------------
44+
// PermissionsEnumerable
45+
// --------------------------------------------------------
46+
47+
// READ
48+
export {
49+
getRoleMember,
50+
type GetRoleMemberParams,
51+
} from "../../extensions/permissions/read/getRoleMember.js";
52+
export {
53+
getRoleMemberCount,
54+
type GetRoleMemberCountParams,
55+
} from "../../extensions/permissions/read/getRoleMemberCount.js";
56+
export {
57+
getAllRoleMembers,
58+
type GetAllRoleMembersParams,
59+
} from "../../extensions/permissions/read/getAllMembers.js";

packages/thirdweb/src/extensions/common/__generated__/IPermissions/events/RoleAdminChanged.ts renamed to packages/thirdweb/src/extensions/permissions/__generated__/IPermissions/events/RoleAdminChanged.ts

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/thirdweb/src/extensions/common/__generated__/IPermissions/events/RoleRevoked.ts renamed to packages/thirdweb/src/extensions/permissions/__generated__/IPermissions/events/RoleRevoked.ts

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)