@dstoken-solana/rwa-rbac 0.0.1-rc0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/client/AssetController.d.ts +98 -0
  2. package/dist/client/AssetController.d.ts.map +1 -0
  3. package/dist/client/AssetController.js +535 -0
  4. package/dist/client/AssetController.js.map +1 -0
  5. package/dist/client/IdentityMetadataRegistry.d.ts +64 -0
  6. package/dist/client/IdentityMetadataRegistry.d.ts.map +1 -0
  7. package/dist/client/IdentityMetadataRegistry.js +399 -0
  8. package/dist/client/IdentityMetadataRegistry.js.map +1 -0
  9. package/dist/client/IdentityRegistry.d.ts +65 -0
  10. package/dist/client/IdentityRegistry.d.ts.map +1 -0
  11. package/dist/client/IdentityRegistry.js +328 -0
  12. package/dist/client/IdentityRegistry.js.map +1 -0
  13. package/dist/client/PolicyEngine.d.ts +74 -0
  14. package/dist/client/PolicyEngine.d.ts.map +1 -0
  15. package/dist/client/PolicyEngine.js +286 -0
  16. package/dist/client/PolicyEngine.js.map +1 -0
  17. package/dist/client/RwaRbacClient.d.ts +70 -0
  18. package/dist/client/RwaRbacClient.d.ts.map +1 -0
  19. package/dist/client/RwaRbacClient.js +269 -0
  20. package/dist/client/RwaRbacClient.js.map +1 -0
  21. package/dist/client/TokenLocks.d.ts +55 -0
  22. package/dist/client/TokenLocks.d.ts.map +1 -0
  23. package/dist/client/TokenLocks.js +320 -0
  24. package/dist/client/TokenLocks.js.map +1 -0
  25. package/dist/client/index.d.ts +7 -0
  26. package/dist/client/index.d.ts.map +1 -0
  27. package/dist/client/index.js +23 -0
  28. package/dist/client/index.js.map +1 -0
  29. package/dist/constants.d.ts +5 -0
  30. package/dist/constants.d.ts.map +1 -0
  31. package/dist/constants.js +8 -0
  32. package/dist/constants.js.map +1 -0
  33. package/dist/index.d.ts +6 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +22 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/pdas.d.ts +9 -0
  38. package/dist/pdas.d.ts.map +1 -0
  39. package/dist/pdas.js +52 -0
  40. package/dist/pdas.js.map +1 -0
  41. package/dist/types/flags.d.ts +43 -0
  42. package/dist/types/flags.d.ts.map +1 -0
  43. package/dist/types/flags.js +48 -0
  44. package/dist/types/flags.js.map +1 -0
  45. package/dist/types/generated/index.d.ts +8 -0
  46. package/dist/types/generated/index.d.ts.map +1 -0
  47. package/dist/types/generated/index.js +13 -0
  48. package/dist/types/generated/index.js.map +1 -0
  49. package/dist/types/generated/rwa_imr.d.ts +592 -0
  50. package/dist/types/generated/rwa_imr.d.ts.map +1 -0
  51. package/dist/types/generated/rwa_imr.js +3 -0
  52. package/dist/types/generated/rwa_imr.js.map +1 -0
  53. package/dist/types/generated/rwa_imr.json +585 -0
  54. package/dist/types/generated/rwa_rbac.d.ts +2671 -0
  55. package/dist/types/generated/rwa_rbac.d.ts.map +1 -0
  56. package/dist/types/generated/rwa_rbac.js +3 -0
  57. package/dist/types/generated/rwa_rbac.js.map +1 -0
  58. package/dist/types/generated/rwa_rbac.json +2664 -0
  59. package/dist/types/generated/token_locks.d.ts +649 -0
  60. package/dist/types/generated/token_locks.d.ts.map +1 -0
  61. package/dist/types/generated/token_locks.js +3 -0
  62. package/dist/types/generated/token_locks.js.map +1 -0
  63. package/dist/types/generated/token_locks.json +642 -0
  64. package/dist/types/index.d.ts +4 -0
  65. package/dist/types/index.d.ts.map +1 -0
  66. package/dist/types/index.js +20 -0
  67. package/dist/types/index.js.map +1 -0
  68. package/dist/types/instructions.d.ts +213 -0
  69. package/dist/types/instructions.d.ts.map +1 -0
  70. package/dist/types/instructions.js +3 -0
  71. package/dist/types/instructions.js.map +1 -0
  72. package/dist/utils.d.ts +7 -0
  73. package/dist/utils.d.ts.map +1 -0
  74. package/dist/utils.js +16 -0
  75. package/dist/utils.js.map +1 -0
  76. package/package.json +38 -0
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PolicyEngine = void 0;
40
+ var web3_js_1 = require("@solana/web3.js");
41
+ var rwa_token_sdk_1 = require("@dstoken-solana/rwa-token-sdk");
42
+ /**
43
+ * Represents the role-based access client for Policy Engine for an RWA.
44
+ */
45
+ var PolicyEngine = /** @class */ (function () {
46
+ function PolicyEngine(rwaClient, rbacProgram) {
47
+ this.rwaClient = rwaClient;
48
+ this.rbacProgram = rbacProgram;
49
+ }
50
+ /**
51
+ * Asynchronously attaches a policy to the policy account.
52
+ * @param args - {@link AttachPolicyArgs}
53
+ * @param signer - User signer public key.
54
+ * @param assetAccessController - RBAC AssetAccessController account.
55
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
56
+ * @returns A Promise that resolves to the instructions to attach a policy.
57
+ * */
58
+ PolicyEngine.prototype.attachPolicy = function (args, signer, assetAccessController, authorizedUserRole) {
59
+ return __awaiter(this, void 0, void 0, function () {
60
+ var policyIx, ixData;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.attachPolicy(args)];
64
+ case 1:
65
+ policyIx = _a.sent();
66
+ ixData = policyIx.ixs[0].data;
67
+ return [2 /*return*/, this.rbacProgram.methods
68
+ .attachToPolicyEngine(ixData)
69
+ .accountsStrict({
70
+ payer: args.payer,
71
+ user: signer,
72
+ controllerAuthority: args.authority,
73
+ assetAccessController: assetAccessController,
74
+ authorizedUserRole: authorizedUserRole || null,
75
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
76
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
77
+ systemProgram: web3_js_1.SystemProgram.programId,
78
+ })
79
+ .instruction()];
80
+ }
81
+ });
82
+ });
83
+ };
84
+ /**
85
+ * Asynchronously detaches a policy to the policy account.
86
+ * @param args - {@link DetachPolicyArgs}
87
+ * @param signer - User signer public key.
88
+ * @param assetAccessController - RBAC AssetAccessController account.
89
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
90
+ * @returns A Promise that resolves to the instructions to detach a policy.
91
+ * */
92
+ PolicyEngine.prototype.detachPolicy = function (args, signer, assetAccessController, authorizedUserRole) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ var policyIx, ixData;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.detachPolicy(args)];
98
+ case 1:
99
+ policyIx = _a.sent();
100
+ ixData = policyIx.ixs[0].data;
101
+ return [2 /*return*/, this.rbacProgram.methods
102
+ .detachFromPolicyEngine(ixData)
103
+ .accountsStrict({
104
+ payer: args.payer,
105
+ user: signer,
106
+ controllerAuthority: args.authority,
107
+ assetAccessController: assetAccessController,
108
+ authorizedUserRole: authorizedUserRole || null,
109
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
110
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
111
+ systemProgram: web3_js_1.SystemProgram.programId,
112
+ })
113
+ .instruction()];
114
+ }
115
+ });
116
+ });
117
+ };
118
+ /**
119
+ * Asynchronously changes counters on the policy account.
120
+ * @param args - {@link ChangeCountersArgs}
121
+ * @param signer - User signer public key.
122
+ * @param assetAccessController - RBAC AssetAccessController account.
123
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
124
+ * @returns A Promise that resolves to the instructions to change the counters.
125
+ * */
126
+ PolicyEngine.prototype.changeCounters = function (args, signer, assetAccessController, authorizedUserRole) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var policyIx, ixData;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.changeCounters(args)];
132
+ case 1:
133
+ policyIx = _a.sent();
134
+ ixData = policyIx.ixs[0].data;
135
+ return [2 /*return*/, this.rbacProgram.methods
136
+ .changeCounters(ixData)
137
+ .accountsStrict({
138
+ payer: args.payer,
139
+ user: signer,
140
+ controllerAuthority: args.authority,
141
+ assetAccessController: assetAccessController,
142
+ authorizedUserRole: authorizedUserRole || null,
143
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
144
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
145
+ systemProgram: web3_js_1.SystemProgram.programId,
146
+ })
147
+ .instruction()];
148
+ }
149
+ });
150
+ });
151
+ };
152
+ /**
153
+ * Asynchronously sets counter values on the policy account.
154
+ * @param args - {@link SetCountersArgs}
155
+ * @param signer - User signer public key.
156
+ * @param assetAccessController - RBAC AssetAccessController account.
157
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
158
+ * @returns A Promise that resolves to the instructions to set the counter values.
159
+ * */
160
+ PolicyEngine.prototype.setCounters = function (args, signer, assetAccessController, authorizedUserRole) {
161
+ return __awaiter(this, void 0, void 0, function () {
162
+ var policyIx, ixData;
163
+ return __generator(this, function (_a) {
164
+ switch (_a.label) {
165
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.setCounters(args)];
166
+ case 1:
167
+ policyIx = _a.sent();
168
+ ixData = policyIx.ixs[0].data;
169
+ return [2 /*return*/, this.rbacProgram.methods
170
+ .setCounters(ixData)
171
+ .accountsStrict({
172
+ payer: args.payer,
173
+ user: signer,
174
+ controllerAuthority: args.authority,
175
+ assetAccessController: assetAccessController,
176
+ authorizedUserRole: authorizedUserRole || null,
177
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
178
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
179
+ })
180
+ .instruction()];
181
+ }
182
+ });
183
+ });
184
+ };
185
+ /**
186
+ * Asynchronously changes counters limits on the policy account.
187
+ * @param args - {@link ChangeCounterLimitsArgs}
188
+ * @param signer - User signer public key.
189
+ * @param assetAccessController - RBAC AssetAccessController account.
190
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
191
+ * @returns A Promise that resolves to the instructions to change the counters limits.
192
+ * */
193
+ PolicyEngine.prototype.changeCounterLimits = function (args, signer, assetAccessController, authorizedUserRole) {
194
+ return __awaiter(this, void 0, void 0, function () {
195
+ var policyIx, ixData;
196
+ return __generator(this, function (_a) {
197
+ switch (_a.label) {
198
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.changeCounterLimits(args)];
199
+ case 1:
200
+ policyIx = _a.sent();
201
+ ixData = policyIx.ixs[0].data;
202
+ return [2 /*return*/, this.rbacProgram.methods
203
+ .changeCounterLimits(ixData)
204
+ .accountsStrict({
205
+ payer: args.payer,
206
+ user: signer,
207
+ controllerAuthority: args.authority,
208
+ assetAccessController: assetAccessController,
209
+ authorizedUserRole: authorizedUserRole || null,
210
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
211
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
212
+ systemProgram: web3_js_1.SystemProgram.programId,
213
+ })
214
+ .instruction()];
215
+ }
216
+ });
217
+ });
218
+ };
219
+ /**
220
+ * Asynchronously changes the levels mapping used in Policy Engine.
221
+ * @param args - {@link ChangeMappingArgs}
222
+ * @param signer - User signer public key.
223
+ * @param assetAccessController - RBAC AssetAccessController account.
224
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
225
+ * */
226
+ PolicyEngine.prototype.changeMapping = function (args, signer, assetAccessController, authorizedUserRole) {
227
+ return __awaiter(this, void 0, void 0, function () {
228
+ var policyIx, ixData;
229
+ return __generator(this, function (_a) {
230
+ switch (_a.label) {
231
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.changeMapping(args)];
232
+ case 1:
233
+ policyIx = _a.sent();
234
+ ixData = policyIx.ixs[0].data;
235
+ return [2 /*return*/, this.rbacProgram.methods
236
+ .changeMapping(ixData)
237
+ .accountsStrict({
238
+ payer: args.payer,
239
+ user: signer,
240
+ controllerAuthority: args.authority,
241
+ assetAccessController: assetAccessController,
242
+ authorizedUserRole: authorizedUserRole || null,
243
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
244
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
245
+ })
246
+ .instruction()];
247
+ }
248
+ });
249
+ });
250
+ };
251
+ /**
252
+ * Asynchronously changes the issuance policies enforced by Policy Engine.
253
+ * @param args - {@link ChangeIssuancePoliciesArgs}
254
+ * @param signer - User signer public key.
255
+ * @param assetAccessController - RBAC AssetAccessController account.
256
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
257
+ * */
258
+ PolicyEngine.prototype.changeIssuancePolicies = function (args, signer, assetAccessController, authorizedUserRole) {
259
+ return __awaiter(this, void 0, void 0, function () {
260
+ var policyIx, ixData;
261
+ return __generator(this, function (_a) {
262
+ switch (_a.label) {
263
+ case 0: return [4 /*yield*/, this.rwaClient.policyEngine.changeIssuancePolicies(args)];
264
+ case 1:
265
+ policyIx = _a.sent();
266
+ ixData = policyIx.ixs[0].data;
267
+ return [2 /*return*/, this.rbacProgram.methods
268
+ .changeIssuancePolicies(ixData)
269
+ .accountsStrict({
270
+ payer: args.payer,
271
+ user: signer,
272
+ controllerAuthority: args.authority,
273
+ assetAccessController: assetAccessController,
274
+ authorizedUserRole: authorizedUserRole || null,
275
+ policyEngineProgram: rwa_token_sdk_1.policyEngineProgramId,
276
+ policyEngine: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
277
+ })
278
+ .instruction()];
279
+ }
280
+ });
281
+ });
282
+ };
283
+ return PolicyEngine;
284
+ }());
285
+ exports.PolicyEngine = PolicyEngine;
286
+ //# sourceMappingURL=PolicyEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolicyEngine.js","sourceRoot":"","sources":["../../src/client/PolicyEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { Program, Provider } from "@coral-xyz/anchor";
2
+ import { RwaRbac } from "../types/generated/rwa_rbac";
3
+ import { AssetController } from "./AssetController";
4
+ import { PolicyEngine } from "./PolicyEngine";
5
+ import { IdentityRegistry } from "./IdentityRegistry";
6
+ import { AssignUserRoleArgs, CreateControllerArgs, DeleteUserRoleArgs, ModifyUserRoleArgs, RemoveUserRoleArgs, SetupUserRoleArgs, UpdateControllerAdminArgs, WithdrawExcessRentArgs } from "../types/instructions";
7
+ import { RwaClient } from "@dstoken-solana/rwa-token-sdk";
8
+ import { Config } from "@dstoken-solana/rwa-token-sdk";
9
+ import { IdentityMetadataRegistry } from "./IdentityMetadataRegistry";
10
+ import { TokenLocks } from "./TokenLocks";
11
+ export declare class RwaRbacClient {
12
+ rbacProgram: Program<RwaRbac>;
13
+ rwaClient: RwaClient;
14
+ assetController: AssetController;
15
+ policyEngine: PolicyEngine;
16
+ identityRegistry: IdentityRegistry;
17
+ identityMetadataRegistry: IdentityMetadataRegistry;
18
+ tokenLocks: TokenLocks;
19
+ provider: Provider;
20
+ constructor(config: Config, provider: Provider);
21
+ /**
22
+ * Asynchronously generates instruction to create AssetAccessController for an organization.
23
+ * @param args - {@link CreateControllerArgs}
24
+ * @returns A Promise that resolves to the instruction to create AssetAccessController.
25
+ */
26
+ createAssetAccessControllerIxn(args: CreateControllerArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
27
+ /**
28
+ * Asynchronously generates instruction to update admin key on AssetAccessController.
29
+ * @param args - {@link UpdateControllerAdminArgs}
30
+ * @returns A Promise that resolves to the instruction to update admin on AssetAccessController.
31
+ */
32
+ updateControllerAdminIxn(args: UpdateControllerAdminArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
33
+ /**
34
+ * Asynchronously generates instruction to create a UserRole for an AssetAccessController.
35
+ * @param args - {@link SetupUserRoleArgs}
36
+ * @returns A Promise that resolves to the instruction to create UserRole.
37
+ */
38
+ createUserRoleIxn(args: SetupUserRoleArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
39
+ /**
40
+ * Asynchronously generates instruction to modify UserRole.
41
+ * @param args - {@link ModifyUserRoleArgs}
42
+ * @returns A Promise that resolves to the instruction to modify UserRole.
43
+ */
44
+ modifyUserRoleIxn(args: ModifyUserRoleArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
45
+ /**
46
+ * Asynchronously generates instruction to delete UserRole.
47
+ * @param args - {@link DeleteUserRoleArgs}
48
+ * @returns A Promise that resolves to the instruction to delete UserRole.
49
+ */
50
+ deleteUserRoleIxn(args: DeleteUserRoleArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
51
+ /**
52
+ * Asynchronously generates instruction to assign users to a UserRole.
53
+ * @param args - {@link AssignUserRoleArgs}
54
+ * @returns A Promise that resolves to the instruction to assign UserRole.
55
+ */
56
+ assignUserRoleIxn(args: AssignUserRoleArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
57
+ /**
58
+ * Asynchronously generates instruction to remove users from a UserRole.
59
+ * @param args - {@link RemoveUserRoleArgs}
60
+ * @returns A Promise that resolves to the instruction to remove users from a UserRole.
61
+ */
62
+ removeUserRoleIxn(args: RemoveUserRoleArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
63
+ /**
64
+ * Asynchronously generates instruction to withdraw excess rent from ControllerAuthority.
65
+ * @param args - {@link WithdrawExcessRentArgs}
66
+ * @returns A Promise that resolves to the instruction to withdraw excess rent from ControllerAuthority.
67
+ */
68
+ withdrawExcessRentIxn(args: WithdrawExcessRentArgs): Promise<import("@solana/web3.js").TransactionInstruction>;
69
+ }
70
+ //# sourceMappingURL=RwaRbacClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RwaRbacClient.d.ts","sourceRoot":"","sources":["../../src/client/RwaRbacClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAMtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,aAAa;IACxB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;gBAEP,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAyB9C;;;;OAIG;IACG,8BAA8B,CAAC,IAAI,EAAE,oBAAoB;IAY/D;;;;OAIG;IACG,wBAAwB,CAAC,IAAI,EAAE,yBAAyB;IAU9D;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,iBAAiB;IA2B/C;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAgBhD;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAahD;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAchD;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,kBAAkB;IAYhD;;;;OAIG;IACG,qBAAqB,CAAC,IAAI,EAAE,sBAAsB;CAYzD"}
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __generator = (this && this.__generator) || function (thisArg, body) {
45
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
46
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
+ function verb(n) { return function (v) { return step([n, v]); }; }
48
+ function step(op) {
49
+ if (f) throw new TypeError("Generator is already executing.");
50
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
52
+ if (y = 0, t) op = [op[0] & 2, t.value];
53
+ switch (op[0]) {
54
+ case 0: case 1: t = op; break;
55
+ case 4: _.label++; return { value: op[1], done: false };
56
+ case 5: _.label++; y = op[1]; op = [0]; continue;
57
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
+ default:
59
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
+ if (t[2]) _.ops.pop();
64
+ _.trys.pop(); continue;
65
+ }
66
+ op = body.call(thisArg, _);
67
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
+ }
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ exports.RwaRbacClient = void 0;
73
+ var anchor_1 = require("@coral-xyz/anchor");
74
+ var web3_js_1 = require("@solana/web3.js");
75
+ var rbacIDL = __importStar(require("../types/generated/rwa_rbac.json"));
76
+ var imrIDL = __importStar(require("../types/generated/rwa_imr.json"));
77
+ var tokenLocksIdl = __importStar(require("../types/generated/token_locks.json"));
78
+ var AssetController_1 = require("./AssetController");
79
+ var PolicyEngine_1 = require("./PolicyEngine");
80
+ var IdentityRegistry_1 = require("./IdentityRegistry");
81
+ var pdas_1 = require("../pdas");
82
+ var rwa_token_sdk_1 = require("@dstoken-solana/rwa-token-sdk");
83
+ var IdentityMetadataRegistry_1 = require("./IdentityMetadataRegistry");
84
+ var TokenLocks_1 = require("./TokenLocks");
85
+ var RwaRbacClient = /** @class */ (function () {
86
+ function RwaRbacClient(config, provider) {
87
+ this.rwaClient = new rwa_token_sdk_1.RwaClient(config, provider);
88
+ this.provider = this.rwaClient.provider;
89
+ this.rbacProgram = new anchor_1.Program(rbacIDL, this.provider);
90
+ this.assetController = new AssetController_1.AssetController(this.rwaClient, this.rbacProgram);
91
+ this.policyEngine = new PolicyEngine_1.PolicyEngine(this.rwaClient, this.rbacProgram);
92
+ this.identityRegistry = new IdentityRegistry_1.IdentityRegistry(this.rwaClient, this.rbacProgram);
93
+ this.identityMetadataRegistry = new IdentityMetadataRegistry_1.IdentityMetadataRegistry(this.rwaClient, this.rbacProgram, new anchor_1.Program(imrIDL, this.provider));
94
+ this.tokenLocks = new TokenLocks_1.TokenLocks(this.rwaClient, this.rbacProgram, new anchor_1.Program(tokenLocksIdl, this.provider));
95
+ }
96
+ /**
97
+ * Asynchronously generates instruction to create AssetAccessController for an organization.
98
+ * @param args - {@link CreateControllerArgs}
99
+ * @returns A Promise that resolves to the instruction to create AssetAccessController.
100
+ */
101
+ RwaRbacClient.prototype.createAssetAccessControllerIxn = function (args) {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ return __generator(this, function (_a) {
104
+ return [2 /*return*/, this.rbacProgram.methods
105
+ .createController(args.uniqueSeed)
106
+ .accountsStrict({
107
+ payer: args.payer,
108
+ admin: args.admin,
109
+ assetAccessController: (0, pdas_1.deriveAssetAccessControllerPda)(args.uniqueSeed),
110
+ systemProgram: web3_js_1.SystemProgram.programId,
111
+ })
112
+ .instruction()];
113
+ });
114
+ });
115
+ };
116
+ /**
117
+ * Asynchronously generates instruction to update admin key on AssetAccessController.
118
+ * @param args - {@link UpdateControllerAdminArgs}
119
+ * @returns A Promise that resolves to the instruction to update admin on AssetAccessController.
120
+ */
121
+ RwaRbacClient.prototype.updateControllerAdminIxn = function (args) {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ return __generator(this, function (_a) {
124
+ return [2 /*return*/, this.rbacProgram.methods
125
+ .updateControllerAdmin(args.newAdmin)
126
+ .accountsStrict({
127
+ admin: args.admin,
128
+ assetAccessController: args.assetAccessController,
129
+ })
130
+ .instruction()];
131
+ });
132
+ });
133
+ };
134
+ /**
135
+ * Asynchronously generates instruction to create a UserRole for an AssetAccessController.
136
+ * @param args - {@link SetupUserRoleArgs}
137
+ * @returns A Promise that resolves to the instruction to create UserRole.
138
+ */
139
+ RwaRbacClient.prototype.createUserRoleIxn = function (args) {
140
+ return __awaiter(this, void 0, void 0, function () {
141
+ var controller;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0: return [4 /*yield*/, this.rbacProgram.account.assetAccessController.fetch(args.assetAccessController)];
145
+ case 1:
146
+ controller = _a.sent();
147
+ return [2 /*return*/, this.rbacProgram.methods
148
+ .createUserRole(args.name, new anchor_1.BN(args.allowedAdminIxs), new anchor_1.BN(args.allowedMediciIxs))
149
+ .accountsStrict({
150
+ payer: args.payer,
151
+ user: args.user,
152
+ newUserRole: (0, pdas_1.deriveUserRolePda)(controller.userRolesCount.addn(1), args.assetAccessController),
153
+ authorizedUserRole: args.authorizedUserRole || null,
154
+ assetAccessController: args.assetAccessController,
155
+ systemProgram: web3_js_1.SystemProgram.programId,
156
+ })
157
+ .instruction()];
158
+ }
159
+ });
160
+ });
161
+ };
162
+ /**
163
+ * Asynchronously generates instruction to modify UserRole.
164
+ * @param args - {@link ModifyUserRoleArgs}
165
+ * @returns A Promise that resolves to the instruction to modify UserRole.
166
+ */
167
+ RwaRbacClient.prototype.modifyUserRoleIxn = function (args) {
168
+ return __awaiter(this, void 0, void 0, function () {
169
+ return __generator(this, function (_a) {
170
+ return [2 /*return*/, this.rbacProgram.methods
171
+ .modifyUserRole(args.name, new anchor_1.BN(args.allowedAdminIxs), new anchor_1.BN(args.allowedMediciIxs))
172
+ .accountsStrict({
173
+ user: args.user,
174
+ userRole: args.userRole,
175
+ assetAccessController: args.assetAccessController,
176
+ authorizedUserRole: args.authorizedUserRole || null,
177
+ })
178
+ .instruction()];
179
+ });
180
+ });
181
+ };
182
+ /**
183
+ * Asynchronously generates instruction to delete UserRole.
184
+ * @param args - {@link DeleteUserRoleArgs}
185
+ * @returns A Promise that resolves to the instruction to delete UserRole.
186
+ */
187
+ RwaRbacClient.prototype.deleteUserRoleIxn = function (args) {
188
+ return __awaiter(this, void 0, void 0, function () {
189
+ return __generator(this, function (_a) {
190
+ return [2 /*return*/, this.rbacProgram.methods
191
+ .deleteUserRole()
192
+ .accountsStrict({
193
+ receiver: args.receiver,
194
+ user: args.user,
195
+ userRole: args.userRole,
196
+ assetAccessController: args.assetAccessController,
197
+ authorizedUserRole: args.authorizedUserRole || null,
198
+ })
199
+ .instruction()];
200
+ });
201
+ });
202
+ };
203
+ /**
204
+ * Asynchronously generates instruction to assign users to a UserRole.
205
+ * @param args - {@link AssignUserRoleArgs}
206
+ * @returns A Promise that resolves to the instruction to assign UserRole.
207
+ */
208
+ RwaRbacClient.prototype.assignUserRoleIxn = function (args) {
209
+ return __awaiter(this, void 0, void 0, function () {
210
+ return __generator(this, function (_a) {
211
+ return [2 /*return*/, this.rbacProgram.methods
212
+ .assignUserRole(args.usersToAssign)
213
+ .accountsStrict({
214
+ payer: args.payer,
215
+ user: args.user,
216
+ userRole: args.userRole,
217
+ authorizedUserRole: args.authorizedUserRole || null,
218
+ assetAccessController: args.assetAccessController,
219
+ systemProgram: web3_js_1.SystemProgram.programId,
220
+ })
221
+ .instruction()];
222
+ });
223
+ });
224
+ };
225
+ /**
226
+ * Asynchronously generates instruction to remove users from a UserRole.
227
+ * @param args - {@link RemoveUserRoleArgs}
228
+ * @returns A Promise that resolves to the instruction to remove users from a UserRole.
229
+ */
230
+ RwaRbacClient.prototype.removeUserRoleIxn = function (args) {
231
+ return __awaiter(this, void 0, void 0, function () {
232
+ return __generator(this, function (_a) {
233
+ return [2 /*return*/, this.rbacProgram.methods
234
+ .removeUserRole(args.usersToRemove)
235
+ .accountsStrict({
236
+ user: args.user,
237
+ userRole: args.userRole,
238
+ authorizedUserRole: args.authorizedUserRole || null,
239
+ assetAccessController: args.assetAccessController,
240
+ })
241
+ .instruction()];
242
+ });
243
+ });
244
+ };
245
+ /**
246
+ * Asynchronously generates instruction to withdraw excess rent from ControllerAuthority.
247
+ * @param args - {@link WithdrawExcessRentArgs}
248
+ * @returns A Promise that resolves to the instruction to withdraw excess rent from ControllerAuthority.
249
+ */
250
+ RwaRbacClient.prototype.withdrawExcessRentIxn = function (args) {
251
+ return __awaiter(this, void 0, void 0, function () {
252
+ return __generator(this, function (_a) {
253
+ return [2 /*return*/, this.rbacProgram.methods
254
+ .withdrawExcessRent()
255
+ .accountsStrict({
256
+ receiver: args.receiver,
257
+ admin: args.admin,
258
+ controllerAuthority: args.controllerAuthority,
259
+ assetAccessController: args.assetAccessController,
260
+ systemProgram: web3_js_1.SystemProgram.programId,
261
+ })
262
+ .instruction()];
263
+ });
264
+ });
265
+ };
266
+ return RwaRbacClient;
267
+ }());
268
+ exports.RwaRbacClient = RwaRbacClient;
269
+ //# sourceMappingURL=RwaRbacClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RwaRbacClient.js","sourceRoot":"","sources":["../../src/client/RwaRbacClient.ts"],"names":[],"mappings":"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"}