@dstoken-solana/rwa-rbac 0.4.1 → 0.4.2

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.
@@ -1,260 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { PublicKey, SystemProgram, } from "@solana/web3.js";
11
- import { getPolicyEnginePda, policyEngineProgramId, getIdentityRegistryPda, getIdentityAccountPda, getTrackerAccountPda, getPolicyEngineEventAuthority, } from "@dstoken-solana/rwa-token-sdk";
12
- /**
13
- * Represents the role-based access client for Policy Engine for an RWA.
14
- */
15
- export class PolicyEngine {
16
- constructor(rwaClient, rbacProgram) {
17
- this.rwaClient = rwaClient;
18
- this.rbacProgram = rbacProgram;
19
- }
20
- /**
21
- * Asynchronously attaches a policy to the policy account.
22
- * @param args - {@link AttachPolicyArgs}
23
- * @param signer - User signer public key.
24
- * @param assetAccessController - RBAC AssetAccessController account.
25
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
26
- * @returns A Promise that resolves to the instructions to attach a policy.
27
- * */
28
- attachPolicy(args, signer, assetAccessController, authorizedUserRole) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const policyIx = yield this.rwaClient.policyEngine.attachPolicy(args);
31
- const ixData = policyIx.ixs[0].data;
32
- return this.rbacProgram.methods
33
- .attachToPolicyEngine(ixData)
34
- .accountsStrict({
35
- payer: args.payer,
36
- user: signer,
37
- controllerAuthority: args.authority,
38
- assetAccessController,
39
- authorizedUserRole: authorizedUserRole || null,
40
- policyEngineProgram: policyEngineProgramId,
41
- policyEngine: getPolicyEnginePda(args.assetMint),
42
- systemProgram: SystemProgram.programId,
43
- eventAuthority: getPolicyEngineEventAuthority(),
44
- })
45
- .instruction();
46
- });
47
- }
48
- /**
49
- * Asynchronously detaches a policy to the policy account.
50
- * @param args - {@link DetachPolicyArgs}
51
- * @param signer - User signer public key.
52
- * @param assetAccessController - RBAC AssetAccessController account.
53
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
54
- * @returns A Promise that resolves to the instructions to detach a policy.
55
- * */
56
- detachPolicy(args, signer, assetAccessController, authorizedUserRole) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const policyIx = yield this.rwaClient.policyEngine.detachPolicy(args);
59
- const ixData = policyIx.ixs[0].data;
60
- return this.rbacProgram.methods
61
- .detachFromPolicyEngine(ixData)
62
- .accountsStrict({
63
- payer: args.payer,
64
- user: signer,
65
- controllerAuthority: args.authority,
66
- assetAccessController,
67
- authorizedUserRole: authorizedUserRole || null,
68
- policyEngineProgram: policyEngineProgramId,
69
- policyEngine: getPolicyEnginePda(args.assetMint),
70
- systemProgram: SystemProgram.programId,
71
- eventAuthority: getPolicyEngineEventAuthority(),
72
- })
73
- .instruction();
74
- });
75
- }
76
- /**
77
- * Asynchronously changes counters on the policy account.
78
- * @param args - {@link ChangeCountersArgs}
79
- * @param signer - User signer public key.
80
- * @param assetAccessController - RBAC AssetAccessController account.
81
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
82
- * @returns A Promise that resolves to the instructions to change the counters.
83
- * */
84
- changeCounters(args, signer, assetAccessController, authorizedUserRole) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const policyIx = yield this.rwaClient.policyEngine.changeCounters(args);
87
- const ixData = policyIx.ixs[0].data;
88
- return this.rbacProgram.methods
89
- .changeCounters(ixData)
90
- .accountsStrict({
91
- payer: args.payer,
92
- user: signer,
93
- controllerAuthority: args.authority,
94
- assetAccessController,
95
- authorizedUserRole: authorizedUserRole || null,
96
- policyEngineProgram: policyEngineProgramId,
97
- policyEngine: getPolicyEnginePda(args.assetMint),
98
- systemProgram: SystemProgram.programId,
99
- eventAuthority: getPolicyEngineEventAuthority(),
100
- })
101
- .instruction();
102
- });
103
- }
104
- /**
105
- * Asynchronously sets counter values on the policy account.
106
- * @param args - {@link SetCountersArgs}
107
- * @param signer - User signer public key.
108
- * @param assetAccessController - RBAC AssetAccessController account.
109
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
110
- * @returns A Promise that resolves to the instructions to set the counter values.
111
- * */
112
- setCounters(args, signer, assetAccessController, authorizedUserRole) {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- const policyIx = yield this.rwaClient.policyEngine.setCounters(args);
115
- const ixData = policyIx.ixs[0].data;
116
- return this.rbacProgram.methods
117
- .setCounters(ixData)
118
- .accountsStrict({
119
- payer: args.payer,
120
- user: signer,
121
- controllerAuthority: args.authority,
122
- assetAccessController,
123
- authorizedUserRole: authorizedUserRole || null,
124
- policyEngineProgram: policyEngineProgramId,
125
- policyEngine: getPolicyEnginePda(args.assetMint),
126
- eventAuthority: getPolicyEngineEventAuthority(),
127
- })
128
- .instruction();
129
- });
130
- }
131
- /**
132
- * Asynchronously changes counters limits on the policy account.
133
- * @param args - {@link ChangeCounterLimitsArgs}
134
- * @param signer - User signer public key.
135
- * @param assetAccessController - RBAC AssetAccessController account.
136
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
137
- * @returns A Promise that resolves to the instructions to change the counters limits.
138
- * */
139
- changeCounterLimits(args, signer, assetAccessController, authorizedUserRole) {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- const policyIx = yield this.rwaClient.policyEngine.changeCounterLimits(args);
142
- const ixData = policyIx.ixs[0].data;
143
- return this.rbacProgram.methods
144
- .changeCounterLimits(ixData)
145
- .accountsStrict({
146
- payer: args.payer,
147
- user: signer,
148
- controllerAuthority: args.authority,
149
- assetAccessController,
150
- authorizedUserRole: authorizedUserRole || null,
151
- policyEngineProgram: policyEngineProgramId,
152
- policyEngine: getPolicyEnginePda(args.assetMint),
153
- systemProgram: SystemProgram.programId,
154
- eventAuthority: getPolicyEngineEventAuthority(),
155
- })
156
- .instruction();
157
- });
158
- }
159
- /**
160
- * Asynchronously changes the levels mapping used in Policy Engine.
161
- * @param args - {@link ChangeMappingArgs}
162
- * @param signer - User signer public key.
163
- * @param assetAccessController - RBAC AssetAccessController account.
164
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
165
- * */
166
- changeMapping(args, signer, assetAccessController, authorizedUserRole) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- const policyIx = yield this.rwaClient.policyEngine.changeMapping(args);
169
- const ixData = policyIx.ixs[0].data;
170
- return this.rbacProgram.methods
171
- .changeMapping(ixData)
172
- .accountsStrict({
173
- payer: args.payer,
174
- user: signer,
175
- controllerAuthority: args.authority,
176
- assetAccessController,
177
- authorizedUserRole: authorizedUserRole || null,
178
- policyEngineProgram: policyEngineProgramId,
179
- policyEngine: getPolicyEnginePda(args.assetMint),
180
- eventAuthority: getPolicyEngineEventAuthority(),
181
- })
182
- .instruction();
183
- });
184
- }
185
- /**
186
- * Asynchronously changes the issuance policies enforced by Policy Engine.
187
- * @param args - {@link ChangeIssuancePoliciesArgs}
188
- * @param signer - User signer public key.
189
- * @param assetAccessController - RBAC AssetAccessController account.
190
- * @param authorizedUserRole - UserRole authorized to invoke instruction.
191
- * */
192
- changeIssuancePolicies(args, signer, assetAccessController, authorizedUserRole) {
193
- return __awaiter(this, void 0, void 0, function* () {
194
- const policyIx = yield this.rwaClient.policyEngine.changeIssuancePolicies(args);
195
- const ixData = policyIx.ixs[0].data;
196
- return this.rbacProgram.methods
197
- .changeIssuancePolicies(ixData)
198
- .accountsStrict({
199
- payer: args.payer,
200
- user: signer,
201
- controllerAuthority: args.authority,
202
- assetAccessController,
203
- authorizedUserRole: authorizedUserRole || null,
204
- policyEngineProgram: policyEngineProgramId,
205
- policyEngine: getPolicyEnginePda(args.assetMint),
206
- eventAuthority: getPolicyEngineEventAuthority(),
207
- })
208
- .instruction();
209
- });
210
- }
211
- addLock(args, signer, assetAccessController, authorizedUserRole) {
212
- return __awaiter(this, void 0, void 0, function* () {
213
- const policyIx = yield this.rwaClient.policyEngine.addLock(args);
214
- const ixData = policyIx.ixs[0].data;
215
- return this.rbacProgram.methods
216
- .addLock(ixData)
217
- .accountsStrict({
218
- payer: args.payer,
219
- user: signer,
220
- controllerAuthority: args.authority,
221
- assetAccessController,
222
- authorizedUserRole: authorizedUserRole || null,
223
- policyEngineProgram: policyEngineProgramId,
224
- policyEngine: getPolicyEnginePda(args.assetMint),
225
- systemProgram: SystemProgram.programId,
226
- assetMint: new PublicKey(args.assetMint),
227
- identityRegistry: getIdentityRegistryPda(args.assetMint),
228
- identityAccount: getIdentityAccountPda(args.assetMint, args.owner),
229
- trackerAccount: getTrackerAccountPda(args.assetMint, args.owner),
230
- eventAuthority: getPolicyEngineEventAuthority(),
231
- })
232
- .instruction();
233
- });
234
- }
235
- removeLock(args, signer, assetAccessController, authorizedUserRole) {
236
- return __awaiter(this, void 0, void 0, function* () {
237
- const policyIx = yield this.rwaClient.policyEngine.removeLock(args);
238
- const ixData = policyIx.ixs[0].data;
239
- return this.rbacProgram.methods
240
- .removeLock(ixData)
241
- .accountsStrict({
242
- payer: args.payer,
243
- user: signer,
244
- controllerAuthority: args.authority,
245
- assetAccessController,
246
- authorizedUserRole: authorizedUserRole || null,
247
- policyEngineProgram: policyEngineProgramId,
248
- policyEngine: getPolicyEnginePda(args.assetMint),
249
- systemProgram: SystemProgram.programId,
250
- assetMint: new PublicKey(args.assetMint),
251
- identityRegistry: getIdentityRegistryPda(args.assetMint),
252
- identityAccount: getIdentityAccountPda(args.assetMint, args.owner),
253
- trackerAccount: getTrackerAccountPda(args.assetMint, args.owner),
254
- eventAuthority: getPolicyEngineEventAuthority(),
255
- })
256
- .instruction();
257
- });
258
- }
259
- }
260
- //# sourceMappingURL=PolicyEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PolicyEngine.js","sourceRoot":"","sources":["../../src/client/PolicyEngine.ts"],"names":[],"mappings":"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"}
@@ -1,250 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { BN, Program, utils } from "@coral-xyz/anchor";
11
- import { SystemProgram } from "@solana/web3.js";
12
- import * as rbacIDL from "../types/generated/rwa_rbac.json";
13
- import * as imrIDL from "../types/generated/rwa_imr.json";
14
- import { AssetController } from "./AssetController";
15
- import { PolicyEngine } from "./PolicyEngine";
16
- import { IdentityRegistry } from "./IdentityRegistry";
17
- import { deriveAssetAccessControllerPda, deriveControllerAuthorityPda, deriveUserRolePda, getEventAuthority, } from "../pdas";
18
- import { getAssetControllerEventAuthority, RwaClient } from "@dstoken-solana/rwa-token-sdk";
19
- import { IdentityMetadataRegistry } from "./IdentityMetadataRegistry";
20
- import { RBAC_PROGRAM } from "../constants";
21
- import { TOKEN_2022_PROGRAM_ID } from "@solana/spl-token";
22
- export class RwaRbacClient {
23
- constructor(config, provider) {
24
- this.rwaClient = new RwaClient(config, provider);
25
- this.provider = provider;
26
- this.rbacProgram = new Program(rbacIDL, this.provider);
27
- this.assetController = new AssetController(this.rwaClient, this.rbacProgram);
28
- this.policyEngine = new PolicyEngine(this.rwaClient, this.rbacProgram);
29
- this.identityRegistry = new IdentityRegistry(this.rwaClient, this.rbacProgram);
30
- this.identityMetadataRegistry = new IdentityMetadataRegistry(this.rwaClient, this.rbacProgram, new Program(imrIDL, this.provider));
31
- }
32
- /**
33
- * Parses inner instructions data field for array of events emitted by program using CPI Events.
34
- * @param ixs - Array of CompiledInstruction from a transaction inner instructions.
35
- * @returns Array of Events
36
- * */
37
- parseEvents(ixs) {
38
- const eventCoder = this.rbacProgram.coder.events;
39
- const events = ixs
40
- .map(({ data }) => {
41
- try {
42
- const buffer = Buffer.from(utils.bytes.bs58.decode(data));
43
- const event = eventCoder.decode(utils.bytes.base64.encode(buffer.slice(8)));
44
- return event;
45
- }
46
- catch (err) {
47
- console.error("Error decoding events", err);
48
- }
49
- })
50
- .filter((v) => v != null);
51
- return events;
52
- }
53
- /**
54
- * Asynchronously generates instruction to create AssetAccessController for an organization.
55
- * @param args - {@link CreateControllerArgs}
56
- * @returns A Promise that resolves to the instruction to create AssetAccessController.
57
- */
58
- createAssetAccessControllerIxn(args) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const assetAccessController = deriveAssetAccessControllerPda(args.assetMint);
61
- const assetAccessControllerAuthority = deriveControllerAuthorityPda(assetAccessController);
62
- const cpiInstruction = yield this.assetController.setupNewRegistry({
63
- decimals: args.decimals,
64
- authority: assetAccessControllerAuthority.toString(),
65
- name: args.name,
66
- uri: args.uri,
67
- symbol: args.symbol,
68
- interestRate: args.interestRate,
69
- assetMint: args.assetMint.toString(),
70
- payer: args.payer.toString(),
71
- });
72
- return this.rbacProgram.methods
73
- .createController(cpiInstruction.data)
74
- .accountsStrict({
75
- payer: args.payer,
76
- admin: args.admin,
77
- assetAccessController,
78
- assetAccessControllerAuthority,
79
- assetMint: args.assetMint,
80
- assetController: cpiInstruction.keys[2].pubkey,
81
- extraMetasAccount: cpiInstruction.keys[4].pubkey,
82
- policyEngineAccount: cpiInstruction.keys[5].pubkey,
83
- identityRegistryAccount: cpiInstruction.keys[6].pubkey,
84
- policyEngineProgram: cpiInstruction.keys[7].pubkey,
85
- identityRegistryProgram: cpiInstruction.keys[8].pubkey,
86
- assetControllerProgram: cpiInstruction.programId,
87
- tokenProgram: TOKEN_2022_PROGRAM_ID,
88
- systemProgram: SystemProgram.programId,
89
- assetControllerEventAuthority: getAssetControllerEventAuthority(),
90
- })
91
- .instruction();
92
- });
93
- }
94
- /**
95
- * Asynchronously generates instruction to update admin key on AssetAccessController.
96
- * @param args - {@link UpdateControllerAdminArgs}
97
- * @returns A Promise that resolves to the instruction to update admin on AssetAccessController.
98
- */
99
- updateControllerAdminIxn(args) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- return this.rbacProgram.methods
102
- .updateControllerAdmin(args.newAdmin)
103
- .accountsStrict({
104
- admin: args.admin,
105
- assetAccessController: args.assetAccessController,
106
- })
107
- .instruction();
108
- });
109
- }
110
- /**
111
- * Asynchronously generates instruction to create a UserRole for an AssetAccessController.
112
- * @param args - {@link SetupUserRoleArgs}
113
- * @returns A Promise that resolves to the instruction to create UserRole.
114
- */
115
- createUserRoleIxn(args) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- // Fetch controller to get next UserRole id.
118
- const controller = yield this.rbacProgram.account.assetAccessController.fetch(args.assetAccessController);
119
- return this.rbacProgram.methods
120
- .createUserRole(args.name, new BN(args.allowedAdminIxs), new BN(args.allowedMediciIxs), args.isMasterRole || false)
121
- .accountsStrict({
122
- payer: args.payer,
123
- user: args.user,
124
- newUserRole: deriveUserRolePda(controller.userRolesCount.addn(1), args.assetAccessController),
125
- authorizedUserRole: args.authorizedUserRole || null,
126
- assetAccessController: args.assetAccessController,
127
- systemProgram: SystemProgram.programId,
128
- })
129
- .instruction();
130
- });
131
- }
132
- /**
133
- * Asynchronously generates instruction to modify UserRole.
134
- * @param args - {@link ModifyUserRoleArgs}
135
- * @returns A Promise that resolves to the instruction to modify UserRole.
136
- */
137
- modifyUserRoleIxn(args) {
138
- return __awaiter(this, void 0, void 0, function* () {
139
- return this.rbacProgram.methods
140
- .modifyUserRole(args.name, new BN(args.allowedAdminIxs), new BN(args.allowedMediciIxs))
141
- .accountsStrict({
142
- user: args.user,
143
- userRole: args.userRole,
144
- assetAccessController: args.assetAccessController,
145
- authorizedUserRole: args.authorizedUserRole || null,
146
- })
147
- .instruction();
148
- });
149
- }
150
- /**
151
- * Asynchronously generates instruction to delete UserRole.
152
- * @param args - {@link DeleteUserRoleArgs}
153
- * @returns A Promise that resolves to the instruction to delete UserRole.
154
- */
155
- deleteUserRoleIxn(args) {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- return this.rbacProgram.methods
158
- .deleteUserRole()
159
- .accountsStrict({
160
- receiver: args.receiver,
161
- user: args.user,
162
- userRole: args.userRole,
163
- assetAccessController: args.assetAccessController,
164
- authorizedUserRole: args.authorizedUserRole || null,
165
- })
166
- .instruction();
167
- });
168
- }
169
- /**
170
- * Asynchronously generates instruction to assign users to a UserRole.
171
- * @param args - {@link AssignUserRoleArgs}
172
- * @returns A Promise that resolves to the instruction to assign UserRole.
173
- */
174
- assignUserRoleIxn(args) {
175
- return __awaiter(this, void 0, void 0, function* () {
176
- return this.rbacProgram.methods
177
- .assignUserRole(args.usersToAssign)
178
- .accountsStrict({
179
- payer: args.payer,
180
- user: args.user,
181
- userRole: args.userRole,
182
- authorizedUserRole: args.authorizedUserRole || null,
183
- assetAccessController: args.assetAccessController,
184
- systemProgram: SystemProgram.programId,
185
- eventAuthority: getEventAuthority(RBAC_PROGRAM),
186
- program: RBAC_PROGRAM,
187
- })
188
- .instruction();
189
- });
190
- }
191
- /**
192
- * Asynchronously generates instruction to remove users from a UserRole.
193
- * @param args - {@link RemoveUserRoleArgs}
194
- * @returns A Promise that resolves to the instruction to remove users from a UserRole.
195
- */
196
- removeUserRoleIxn(args) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- return this.rbacProgram.methods
199
- .removeUserRole(args.usersToRemove)
200
- .accountsStrict({
201
- user: args.user,
202
- userRole: args.userRole,
203
- authorizedUserRole: args.authorizedUserRole || null,
204
- assetAccessController: args.assetAccessController,
205
- eventAuthority: getEventAuthority(RBAC_PROGRAM),
206
- program: RBAC_PROGRAM,
207
- })
208
- .instruction();
209
- });
210
- }
211
- /**
212
- * Asynchronously generates instruction to withdraw excess rent from ControllerAuthority.
213
- * @param args - {@link WithdrawExcessRentArgs}
214
- * @returns A Promise that resolves to the instruction to withdraw excess rent from ControllerAuthority.
215
- */
216
- withdrawExcessRentIxn(args) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- return this.rbacProgram.methods
219
- .withdrawExcessRent()
220
- .accountsStrict({
221
- receiver: args.receiver,
222
- user: args.admin,
223
- controllerAuthority: args.controllerAuthority,
224
- assetAccessController: args.assetAccessController,
225
- systemProgram: SystemProgram.programId,
226
- authorizedUserRole: args.authorizedUserRole || null,
227
- })
228
- .instruction();
229
- });
230
- }
231
- /**
232
- * Asynchronously generates instruction to set lookup table address field in the AssetAccessController.
233
- * @param args - {@link SetLookuptableAddressArgs}
234
- * @returns A Promise that resolves to the instruction to set lookup table address.
235
- */
236
- setLookuptableAddressIxn(args) {
237
- return __awaiter(this, void 0, void 0, function* () {
238
- return this.rbacProgram.methods
239
- .setLutAddress()
240
- .accountsStrict({
241
- user: args.signer,
242
- assetAccessController: args.assetAccessController,
243
- authorizedUserRole: args.authorizedUserRole || null,
244
- lutAddress: args.lutAddress,
245
- })
246
- .instruction();
247
- });
248
- }
249
- }
250
- //# sourceMappingURL=RwaRbacClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RwaRbacClient.js","sourceRoot":"","sources":["../../src/client/RwaRbacClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export * from "./RwaRbacClient";
2
- export * from "./AssetController";
3
- export * from "./IdentityRegistry";
4
- export * from "./IdentityMetadataRegistry";
5
- export * from "./PolicyEngine";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC"}
package/dist/constants.js DELETED
@@ -1,5 +0,0 @@
1
- import { PublicKey } from "@solana/web3.js";
2
- export const IMR_PROGRAM = new PublicKey("D2V7wTBbNCKgYwirgRUnSmc2QyKnHSVmRotWJ4rz8Jp9");
3
- export const RBAC_PROGRAM = new PublicKey("3g6fUgMsJQhjPUYxNjEU5PyzGf8DerbDx8p5Qh4yMnRR");
4
- export const TL_PROGRAM = new PublicKey("9bNt3ZiZpDdHqAt5Q1Wq6twFe5RKmMCwA7MJyK2HgGnU");
5
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CACtC,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,CACvC,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CACrC,8CAA8C,CAC/C,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
package/dist/pdas.js DELETED
@@ -1,38 +0,0 @@
1
- import { PublicKey } from "@solana/web3.js";
2
- import { IMR_PROGRAM, RBAC_PROGRAM, TL_PROGRAM } from "./constants";
3
- export const deriveInvestorLocks = (investorId, identityRegistry, programId = TL_PROGRAM) => {
4
- return PublicKey.findProgramAddressSync([
5
- Buffer.from(investorId),
6
- identityRegistry.toBuffer(),
7
- Buffer.from("InvestorLocks"),
8
- ], programId)[0];
9
- };
10
- export const deriveLockedTokenAccount = (investorId, identityRegistry, programId = TL_PROGRAM) => {
11
- return PublicKey.findProgramAddressSync([
12
- Buffer.from(investorId),
13
- identityRegistry.toBuffer(),
14
- Buffer.from("LockedTokenAccount"),
15
- ], programId)[0];
16
- };
17
- export const deriveInvestorPda = (investorId, identityRegistry, programId = IMR_PROGRAM) => {
18
- return PublicKey.findProgramAddressSync([
19
- Buffer.from(investorId),
20
- identityRegistry.toBuffer(),
21
- Buffer.from("Investor"),
22
- ], programId)[0];
23
- };
24
- export const deriveAssetAccessControllerPda = (uniqueSeed, programId = RBAC_PROGRAM) => {
25
- return PublicKey.findProgramAddressSync([uniqueSeed.toBuffer(), Buffer.from("AssetAccessController")], programId)[0];
26
- };
27
- export const deriveControllerAuthorityPda = (assetAccessController, programId = RBAC_PROGRAM) => {
28
- return PublicKey.findProgramAddressSync([assetAccessController.toBuffer()], programId)[0];
29
- };
30
- export const deriveUserRolePda = (id, assetAccessController, programId = RBAC_PROGRAM) => {
31
- return PublicKey.findProgramAddressSync([
32
- id.toArrayLike(Buffer, "le", 8),
33
- assetAccessController.toBuffer(),
34
- Buffer.from("UserRole"),
35
- ], programId)[0];
36
- };
37
- export const getEventAuthority = (programId) => PublicKey.findProgramAddressSync([Buffer.from("__event_authority")], programId)[0];
38
- //# sourceMappingURL=pdas.js.map
package/dist/pdas.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../src/pdas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,UAAkB,EAClB,gBAA2B,EAC3B,SAAS,GAAG,UAAU,EACtB,EAAE;IACF,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACvB,gBAAgB,CAAC,QAAQ,EAAE;QAC3B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;KAC7B,EACD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,UAAkB,EAClB,gBAA2B,EAC3B,SAAS,GAAG,UAAU,EACtB,EAAE;IACF,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACvB,gBAAgB,CAAC,QAAQ,EAAE;QAC3B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;KAClC,EACD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAkB,EAClB,gBAA2B,EAC3B,SAAS,GAAG,WAAW,EACvB,EAAE;IACF,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACvB,gBAAgB,CAAC,QAAQ,EAAE;QAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;KACxB,EACD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,UAAqB,EACrB,SAAS,GAAG,YAAY,EACxB,EAAE;IACF,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAC7D,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,qBAAgC,EAChC,SAAS,GAAG,YAAY,EACxB,EAAE;IACF,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAClC,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,EAAM,EACN,qBAAgC,EAChC,SAAS,GAAG,YAAY,EACxB,EAAE;IACF,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,qBAAqB,CAAC,QAAQ,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;KACxB,EACD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAoB,EAAE,EAAE,CACxD,SAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAClC,SAAS,CACV,CAAC,CAAC,CAAC,CAAC"}
@@ -1,47 +0,0 @@
1
- export var AdminFlags;
2
- (function (AdminFlags) {
3
- AdminFlags[AdminFlags["NONE"] = 0] = "NONE";
4
- AdminFlags[AdminFlags["CREATE_OR_DELETE_USER_ROLE"] = 1] = "CREATE_OR_DELETE_USER_ROLE";
5
- AdminFlags[AdminFlags["MODIFY_USER_ROLE"] = 2] = "MODIFY_USER_ROLE";
6
- AdminFlags[AdminFlags["ASSIGN_OR_REMOVE_ANY_USER_ROLE"] = 4] = "ASSIGN_OR_REMOVE_ANY_USER_ROLE";
7
- AdminFlags[AdminFlags["ASSIGN_OR_REMOVE_CURRENT_ROLE"] = 8] = "ASSIGN_OR_REMOVE_CURRENT_ROLE";
8
- AdminFlags[AdminFlags["SET_LUT_ADDRESS"] = 16] = "SET_LUT_ADDRESS";
9
- AdminFlags[AdminFlags["WITHDRAW_EXCESS_RENT"] = 32] = "WITHDRAW_EXCESS_RENT";
10
- AdminFlags[AdminFlags["ALL"] = 63] = "ALL";
11
- })(AdminFlags || (AdminFlags = {}));
12
- export var MediciFlags;
13
- (function (MediciFlags) {
14
- MediciFlags[MediciFlags["NONE"] = 0] = "NONE";
15
- MediciFlags[MediciFlags["UPDATE_ASSET_METADATA"] = 1] = "UPDATE_ASSET_METADATA";
16
- MediciFlags[MediciFlags["THAW_TOKEN_ACCOUNT"] = 2] = "THAW_TOKEN_ACCOUNT";
17
- MediciFlags[MediciFlags["FREEZE_TOKEN_ACCOUNT"] = 4] = "FREEZE_TOKEN_ACCOUNT";
18
- MediciFlags[MediciFlags["ISSUE_TOKENS"] = 8] = "ISSUE_TOKENS";
19
- MediciFlags[MediciFlags["REVOKE_TOKENS"] = 16] = "REVOKE_TOKENS";
20
- MediciFlags[MediciFlags["UPDATE_INTEREST_BEARING_MINT_RATE"] = 32] = "UPDATE_INTEREST_BEARING_MINT_RATE";
21
- MediciFlags[MediciFlags["ATTACH_TO_POLICY_ACCOUNT"] = 64] = "ATTACH_TO_POLICY_ACCOUNT";
22
- MediciFlags[MediciFlags["CREATE_POLICY_ACCOUNT"] = 128] = "CREATE_POLICY_ACCOUNT";
23
- MediciFlags[MediciFlags["DETACH_FROM_POLICY_ACCOUNT"] = 256] = "DETACH_FROM_POLICY_ACCOUNT";
24
- MediciFlags[MediciFlags["ADD_LEVELS"] = 512] = "ADD_LEVELS";
25
- MediciFlags[MediciFlags["ADD_LEVEL_TO_IDENTITY_ACCOUNT"] = 1024] = "ADD_LEVEL_TO_IDENTITY_ACCOUNT";
26
- MediciFlags[MediciFlags["REGISTER_INVESTOR"] = 2048] = "REGISTER_INVESTOR";
27
- MediciFlags[MediciFlags["REMOVE_LEVELS"] = 4096] = "REMOVE_LEVELS";
28
- MediciFlags[MediciFlags["REMOVE_INVESTOR"] = 8192] = "REMOVE_INVESTOR";
29
- MediciFlags[MediciFlags["EDIT_IDENTITY_METADATA"] = 16384] = "EDIT_IDENTITY_METADATA";
30
- MediciFlags[MediciFlags["REFRESH_LEVEL_TO_IDENTITY_ACCOUNT"] = 32768] = "REFRESH_LEVEL_TO_IDENTITY_ACCOUNT";
31
- MediciFlags[MediciFlags["ATTACH_WALLET_TO_IDENTITY"] = 65536] = "ATTACH_WALLET_TO_IDENTITY";
32
- MediciFlags[MediciFlags["DETACH_WALLET_FROM_IDENTITY"] = 131072] = "DETACH_WALLET_FROM_IDENTITY";
33
- MediciFlags[MediciFlags["SEIZE_TOKENS"] = 262144] = "SEIZE_TOKENS";
34
- MediciFlags[MediciFlags["CREATE_IDENTITY_ACCOUNT"] = 524288] = "CREATE_IDENTITY_ACCOUNT";
35
- MediciFlags[MediciFlags["CREATE_INVESTOR_LOCKS"] = 1048576] = "CREATE_INVESTOR_LOCKS";
36
- MediciFlags[MediciFlags["CLOSE_INVESTOR_LOCKS"] = 2097152] = "CLOSE_INVESTOR_LOCKS";
37
- MediciFlags[MediciFlags["ADD_TOKEN_LOCK"] = 4194304] = "ADD_TOKEN_LOCK";
38
- MediciFlags[MediciFlags["REMOVE_TOKEN_LOCK"] = 8388608] = "REMOVE_TOKEN_LOCK";
39
- MediciFlags[MediciFlags["CHANGE_COUNTERS"] = 16777216] = "CHANGE_COUNTERS";
40
- MediciFlags[MediciFlags["CHANGE_COUNTER_LIMITS"] = 33554432] = "CHANGE_COUNTER_LIMITS";
41
- MediciFlags[MediciFlags["CHANGE_COUNTRY"] = 67108864] = "CHANGE_COUNTRY";
42
- MediciFlags[MediciFlags["CHANGE_MAPPING"] = 134217728] = "CHANGE_MAPPING";
43
- MediciFlags[MediciFlags["CHANGE_ISSUANCE_POLICIES"] = 268435456] = "CHANGE_ISSUANCE_POLICIES";
44
- MediciFlags[MediciFlags["REMOVE_IDENTITY_ACCOUNT"] = 536870912] = "REMOVE_IDENTITY_ACCOUNT";
45
- MediciFlags[MediciFlags["ALL"] = 1073741823] = "ALL";
46
- })(MediciFlags || (MediciFlags = {}));
47
- //# sourceMappingURL=flags.js.map