@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,55 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
3
+ import { RwaRbac } from "../types/generated/rwa_rbac";
4
+ import { TokenLocks as TokenLocksType } from "../types/generated/token_locks";
5
+ import { RwaClient } from "@dstoken-solana/rwa-token-sdk";
6
+ import { AddTokenLockArgs, CreateOrCloseInvestorLocksArgs, RemoveTokenLockArgs } from "../types/instructions";
7
+ import { Commitment } from "@solana/web3.js";
8
+ /**
9
+ * Role-based access client for accessing Token Locks
10
+ */
11
+ export declare class TokenLocks {
12
+ rwaClient: RwaClient;
13
+ rbacProgram: Program<RwaRbac>;
14
+ tokenLocksProgram: Program<TokenLocksType>;
15
+ constructor(rwaClient: RwaClient, rbacProgram: Program<RwaRbac>, tokenLocksProgram: Program<TokenLocksType>);
16
+ /**
17
+ * Asynchronously create InvestorLocks account for a wallet.
18
+ * @param args - {@link CreateOrCloseInvestorLocksArgs}
19
+ * @param assetAccessController - RBAC AssetAccessController account.
20
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
21
+ * @returns A Promise that resolves to a transaction instruction.
22
+ * */
23
+ createInvestorLocks(args: CreateOrCloseInvestorLocksArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
24
+ /**
25
+ * Asynchronously close InvestorLocks account for a wallet.
26
+ * @param args - {@link CreateOrCloseInvestorLocksArgs}
27
+ * @param assetAccessController - RBAC AssetAccessController account.
28
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
29
+ * @returns A Promise that resolves to a transaction instruction.
30
+ * */
31
+ closeInvestorLocks(args: CreateOrCloseInvestorLocksArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
32
+ /**
33
+ * Asynchronously add a lock to InvestorLocks.
34
+ * @param args - {@link AddTokenLockArgs}
35
+ * @param assetAccessController - RBAC AssetAccessController account.
36
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
37
+ * @returns A Promise that resolves to a transaction instruction.
38
+ * */
39
+ addTokenLock(args: AddTokenLockArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
40
+ /**
41
+ * Asynchronously remove a lock from InvestorLocks using RBAC authority.
42
+ * @param args - {@link RemoveTokenLockArgs}
43
+ * @param assetAccessController - RBAC AssetAccessController account.
44
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
45
+ * @returns A Promise that resolves to a transaction instruction.
46
+ * */
47
+ removeTokenLock(args: RemoveTokenLockArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
48
+ /**
49
+ * Asynchronously fetches a token account.
50
+ * @param account - Account to load.
51
+ * @returns A Promise that resolves to a token account.
52
+ * */
53
+ fetchTokenAccount(account: PublicKey, commitment?: Commitment): Promise<import("@solana/spl-token").Account>;
54
+ }
55
+ //# sourceMappingURL=TokenLocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenLocks.d.ts","sourceRoot":"","sources":["../../src/client/TokenLocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAO9E,OAAO,EAWL,SAAS,EACV,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAGzC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAC7B,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;IAO5C;;;;;;SAMK;IACC,mBAAmB,CACvB,IAAI,EAAE,8BAA8B,EACpC,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAiClC;;;;;;SAMK;IACC,kBAAkB,CACtB,IAAI,EAAE,8BAA8B,EACpC,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA0BlC;;;;;;SAMK;IACC,YAAY,CAChB,IAAI,EAAE,gBAAgB,EACtB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA6HlC;;;;;;SAMK;IACC,eAAe,CACnB,IAAI,EAAE,mBAAmB,EACzB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA0FlC;;;;SAIK;IACC,iBAAiB,CACrB,OAAO,EAAE,SAAS,EAClB,UAAU,GAAE,UAAwB;CASvC"}
@@ -0,0 +1,320 @@
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.TokenLocks = void 0;
40
+ var web3_js_1 = require("@solana/web3.js");
41
+ var spl_token_1 = require("@solana/spl-token");
42
+ var pdas_1 = require("../pdas");
43
+ var rwa_token_sdk_1 = require("@dstoken-solana/rwa-token-sdk");
44
+ var constants_1 = require("../constants");
45
+ /**
46
+ * Role-based access client for accessing Token Locks
47
+ */
48
+ var TokenLocks = /** @class */ (function () {
49
+ function TokenLocks(rwaClient, rbacProgram, tokenLocksProgram) {
50
+ this.rwaClient = rwaClient;
51
+ this.rbacProgram = rbacProgram;
52
+ this.tokenLocksProgram = tokenLocksProgram;
53
+ }
54
+ /**
55
+ * Asynchronously create InvestorLocks account for a wallet.
56
+ * @param args - {@link CreateOrCloseInvestorLocksArgs}
57
+ * @param assetAccessController - RBAC AssetAccessController account.
58
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
59
+ * @returns A Promise that resolves to a transaction instruction.
60
+ * */
61
+ TokenLocks.prototype.createInvestorLocks = function (args, assetAccessController, authorizedUserRole) {
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var identityRegistry, investor;
64
+ return __generator(this, function (_a) {
65
+ identityRegistry = (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint);
66
+ investor = (0, pdas_1.deriveInvestorPda)(args.investorId, identityRegistry);
67
+ return [2 /*return*/, this.rbacProgram.methods
68
+ .createInvestorLocks()
69
+ .accountsStrict({
70
+ payer: args.payer,
71
+ user: args.signer,
72
+ controllerAuthority: (0, pdas_1.deriveControllerAuthorityPda)(assetAccessController),
73
+ assetAccessController: assetAccessController,
74
+ authorizedUserRole: authorizedUserRole || null,
75
+ tokenLocksProgram: constants_1.TL_PROGRAM,
76
+ investorLocks: (0, pdas_1.deriveInvestorLocks)(args.investorId, identityRegistry),
77
+ investor: investor,
78
+ identityAccount: (0, rwa_token_sdk_1.getIdentityAccountPda)(args.assetMint, investor.toString()),
79
+ assetMint: args.assetMint,
80
+ lockedTokenAccount: (0, pdas_1.deriveLockedTokenAccount)(args.investorId, identityRegistry),
81
+ assetController: (0, rwa_token_sdk_1.getAssetControllerPda)(args.assetMint),
82
+ assetControllerProgram: rwa_token_sdk_1.assetControllerProgramId,
83
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
84
+ systemProgram: web3_js_1.SystemProgram.programId,
85
+ })
86
+ .instruction()];
87
+ });
88
+ });
89
+ };
90
+ /**
91
+ * Asynchronously close InvestorLocks account for a wallet.
92
+ * @param args - {@link CreateOrCloseInvestorLocksArgs}
93
+ * @param assetAccessController - RBAC AssetAccessController account.
94
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
95
+ * @returns A Promise that resolves to a transaction instruction.
96
+ * */
97
+ TokenLocks.prototype.closeInvestorLocks = function (args, assetAccessController, authorizedUserRole) {
98
+ return __awaiter(this, void 0, void 0, function () {
99
+ var controllerAuthority, identityRegistry;
100
+ return __generator(this, function (_a) {
101
+ controllerAuthority = (0, pdas_1.deriveControllerAuthorityPda)(assetAccessController);
102
+ identityRegistry = (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint);
103
+ return [2 /*return*/, this.rbacProgram.methods
104
+ .closeInvestorLocks()
105
+ .accountsStrict({
106
+ payer: args.payer,
107
+ user: args.signer,
108
+ controllerAuthority: controllerAuthority,
109
+ assetAccessController: assetAccessController,
110
+ authorizedUserRole: authorizedUserRole || null,
111
+ tokenLocksProgram: constants_1.TL_PROGRAM,
112
+ investorLocks: (0, pdas_1.deriveInvestorLocks)(args.investorId, identityRegistry),
113
+ investor: (0, pdas_1.deriveInvestorPda)(args.investorId, identityRegistry),
114
+ systemProgram: web3_js_1.SystemProgram.programId,
115
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
116
+ lockedTokenAccount: (0, pdas_1.deriveLockedTokenAccount)(args.investorId, identityRegistry),
117
+ })
118
+ .instruction()];
119
+ });
120
+ });
121
+ };
122
+ /**
123
+ * Asynchronously add a lock to InvestorLocks.
124
+ * @param args - {@link AddTokenLockArgs}
125
+ * @param assetAccessController - RBAC AssetAccessController account.
126
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
127
+ * @returns A Promise that resolves to a transaction instruction.
128
+ * */
129
+ TokenLocks.prototype.addTokenLock = function (args, assetAccessController, authorizedUserRole) {
130
+ return __awaiter(this, void 0, void 0, function () {
131
+ var assetController, identityRegistry, investorLocks, investor, unlockedTokenAccount, controllerAuthority, ix;
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0:
135
+ assetController = (0, rwa_token_sdk_1.getAssetControllerPda)(args.assetMint);
136
+ identityRegistry = (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint);
137
+ investorLocks = (0, pdas_1.deriveInvestorLocks)(args.investorId, identityRegistry);
138
+ investor = (0, pdas_1.deriveInvestorPda)(args.investorId, identityRegistry);
139
+ unlockedTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(new web3_js_1.PublicKey(args.assetMint), args.wallet, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
140
+ controllerAuthority = (0, pdas_1.deriveControllerAuthorityPda)(assetAccessController);
141
+ return [4 /*yield*/, this.tokenLocksProgram.methods
142
+ .addTokenLock(args.value, args.releaseTime, args.reasonCode, args.reasonString)
143
+ .accountsStrict({
144
+ payer: args.payer,
145
+ authority: controllerAuthority,
146
+ investorLocks: investorLocks,
147
+ investor: investor,
148
+ assetMint: args.assetMint,
149
+ identityAccount: (0, rwa_token_sdk_1.getIdentityAccountPda)(args.assetMint, investor.toString()),
150
+ unlockedTokenAccount: unlockedTokenAccount,
151
+ lockedTokenAccount: (0, pdas_1.deriveLockedTokenAccount)(args.investorId, identityRegistry),
152
+ assetController: assetController,
153
+ assetControllerProgram: rwa_token_sdk_1.assetControllerProgramId,
154
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
155
+ identityRegistry: (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint),
156
+ systemProgram: web3_js_1.SystemProgram.programId,
157
+ walletIdentityAccount: (0, rwa_token_sdk_1.getWalletIdentityAccountPda)(args.assetMint, args.wallet.toString()),
158
+ })
159
+ .instruction()];
160
+ case 1:
161
+ ix = _a.sent();
162
+ return [2 /*return*/, this.rbacProgram.methods
163
+ .addTokenLock(ix.data)
164
+ .accountsStrict({
165
+ payer: args.payer,
166
+ user: args.signer,
167
+ controllerAuthority: controllerAuthority,
168
+ assetAccessController: assetAccessController,
169
+ authorizedUserRole: authorizedUserRole || null,
170
+ tokenLocksProgram: constants_1.TL_PROGRAM,
171
+ investorLocks: investorLocks,
172
+ investor: investor,
173
+ assetMint: args.assetMint,
174
+ unlockedTokenAccount: unlockedTokenAccount,
175
+ lockedTokenAccount: (0, pdas_1.deriveLockedTokenAccount)(args.investorId, identityRegistry),
176
+ assetController: assetController,
177
+ identityRegistry: (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint),
178
+ assetControllerProgram: rwa_token_sdk_1.assetControllerProgramId,
179
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
180
+ systemProgram: web3_js_1.SystemProgram.programId,
181
+ identityAccount: (0, rwa_token_sdk_1.getIdentityAccountPda)(args.assetMint, investor.toString()),
182
+ walletIdentityAccount: (0, rwa_token_sdk_1.getWalletIdentityAccountPda)(args.assetMint, args.wallet.toString()),
183
+ })
184
+ .remainingAccounts([
185
+ {
186
+ pubkey: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
187
+ isWritable: true,
188
+ isSigner: false,
189
+ },
190
+ {
191
+ pubkey: rwa_token_sdk_1.identityRegistryProgramId,
192
+ isWritable: false,
193
+ isSigner: false,
194
+ },
195
+ {
196
+ pubkey: rwa_token_sdk_1.policyEngineProgramId,
197
+ isWritable: false,
198
+ isSigner: false,
199
+ },
200
+ {
201
+ pubkey: (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint),
202
+ isWritable: false,
203
+ isSigner: false,
204
+ },
205
+ {
206
+ pubkey: (0, rwa_token_sdk_1.getTrackerAccountPda)(args.assetMint, investor.toString()),
207
+ isWritable: true,
208
+ isSigner: false,
209
+ },
210
+ {
211
+ pubkey: (0, rwa_token_sdk_1.getExtraMetasListPda)(args.assetMint),
212
+ isWritable: false,
213
+ isSigner: false,
214
+ },
215
+ {
216
+ pubkey: (0, rwa_token_sdk_1.getWalletIdentityAccountPda)(args.assetMint, investor.toString()),
217
+ isWritable: false,
218
+ isSigner: false,
219
+ },
220
+ ])
221
+ .instruction()];
222
+ }
223
+ });
224
+ });
225
+ };
226
+ /**
227
+ * Asynchronously remove a lock from InvestorLocks using RBAC authority.
228
+ * @param args - {@link RemoveTokenLockArgs}
229
+ * @param assetAccessController - RBAC AssetAccessController account.
230
+ * @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
231
+ * @returns A Promise that resolves to a transaction instruction.
232
+ * */
233
+ TokenLocks.prototype.removeTokenLock = function (args, assetAccessController, authorizedUserRole) {
234
+ return __awaiter(this, void 0, void 0, function () {
235
+ var assetController, identityRegistry, investorLocks, investor, unlockedTokenAccount, controllerAuthority;
236
+ return __generator(this, function (_a) {
237
+ assetController = (0, rwa_token_sdk_1.getAssetControllerPda)(args.assetMint);
238
+ identityRegistry = (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint);
239
+ investorLocks = (0, pdas_1.deriveInvestorLocks)(args.investorId, identityRegistry);
240
+ investor = (0, pdas_1.deriveInvestorPda)(args.investorId, identityRegistry);
241
+ unlockedTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(new web3_js_1.PublicKey(args.assetMint), args.wallet, false, spl_token_1.TOKEN_2022_PROGRAM_ID);
242
+ controllerAuthority = (0, pdas_1.deriveControllerAuthorityPda)(assetAccessController);
243
+ return [2 /*return*/, this.rbacProgram.methods
244
+ .removeTokenLock(Buffer.from(args.indices))
245
+ .accountsStrict({
246
+ user: args.signer,
247
+ controllerAuthority: controllerAuthority,
248
+ assetAccessController: assetAccessController,
249
+ authorizedUserRole: authorizedUserRole || null,
250
+ tokenLocksProgram: constants_1.TL_PROGRAM,
251
+ investorLocks: investorLocks,
252
+ investor: investor,
253
+ identityAccount: (0, rwa_token_sdk_1.getIdentityAccountPda)(args.assetMint, investor.toString()),
254
+ walletIdentityAccount: (0, rwa_token_sdk_1.getWalletIdentityAccountPda)(args.assetMint, args.wallet.toString()),
255
+ assetMint: args.assetMint,
256
+ unlockedTokenAccount: unlockedTokenAccount,
257
+ lockedTokenAccount: (0, pdas_1.deriveLockedTokenAccount)(args.investorId, identityRegistry),
258
+ assetController: assetController,
259
+ identityRegistry: (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint),
260
+ assetControllerProgram: rwa_token_sdk_1.assetControllerProgramId,
261
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
262
+ })
263
+ .remainingAccounts([
264
+ {
265
+ pubkey: (0, rwa_token_sdk_1.getPolicyEnginePda)(args.assetMint),
266
+ isWritable: true,
267
+ isSigner: false,
268
+ },
269
+ {
270
+ pubkey: rwa_token_sdk_1.identityRegistryProgramId,
271
+ isWritable: false,
272
+ isSigner: false,
273
+ },
274
+ {
275
+ pubkey: rwa_token_sdk_1.policyEngineProgramId,
276
+ isWritable: false,
277
+ isSigner: false,
278
+ },
279
+ {
280
+ pubkey: (0, rwa_token_sdk_1.getIdentityRegistryPda)(args.assetMint),
281
+ isWritable: false,
282
+ isSigner: false,
283
+ },
284
+ {
285
+ pubkey: (0, rwa_token_sdk_1.getTrackerAccountPda)(args.assetMint, investor.toString()),
286
+ isWritable: true,
287
+ isSigner: false,
288
+ },
289
+ {
290
+ pubkey: (0, rwa_token_sdk_1.getExtraMetasListPda)(args.assetMint),
291
+ isWritable: false,
292
+ isSigner: false,
293
+ },
294
+ {
295
+ pubkey: (0, rwa_token_sdk_1.getWalletIdentityAccountPda)(args.assetMint, investor.toString()),
296
+ isWritable: false,
297
+ isSigner: false,
298
+ },
299
+ ])
300
+ .instruction()];
301
+ });
302
+ });
303
+ };
304
+ /**
305
+ * Asynchronously fetches a token account.
306
+ * @param account - Account to load.
307
+ * @returns A Promise that resolves to a token account.
308
+ * */
309
+ TokenLocks.prototype.fetchTokenAccount = function (account_1) {
310
+ return __awaiter(this, arguments, void 0, function (account, commitment) {
311
+ if (commitment === void 0) { commitment = "processed"; }
312
+ return __generator(this, function (_a) {
313
+ return [2 /*return*/, (0, spl_token_1.getAccount)(this.rwaClient.provider.connection, account, commitment, spl_token_1.TOKEN_2022_PROGRAM_ID)];
314
+ });
315
+ });
316
+ };
317
+ return TokenLocks;
318
+ }());
319
+ exports.TokenLocks = TokenLocks;
320
+ //# sourceMappingURL=TokenLocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenLocks.js","sourceRoot":"","sources":["../../src/client/TokenLocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "./RwaRbacClient";
2
+ export * from "./AssetController";
3
+ export * from "./IdentityRegistry";
4
+ export * from "./IdentityMetadataRegistry";
5
+ export * from "./PolicyEngine";
6
+ export * from "./TokenLocks";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","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;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,23 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./RwaRbacClient"), exports);
18
+ __exportStar(require("./AssetController"), exports);
19
+ __exportStar(require("./IdentityRegistry"), exports);
20
+ __exportStar(require("./IdentityMetadataRegistry"), exports);
21
+ __exportStar(require("./PolicyEngine"), exports);
22
+ __exportStar(require("./TokenLocks"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AACnC,6DAA2C;AAC3C,iDAA+B;AAC/B,+CAA6B"}
@@ -0,0 +1,5 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ export declare const IMR_PROGRAM: PublicKey;
3
+ export declare const RBAC_PROGRAM: PublicKey;
4
+ export declare const TL_PROGRAM: PublicKey;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,WAAW,WAEvB,CAAC;AAEF,eAAO,MAAM,YAAY,WAExB,CAAC;AAEF,eAAO,MAAM,UAAU,WAEtB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TL_PROGRAM = exports.RBAC_PROGRAM = exports.IMR_PROGRAM = void 0;
4
+ var web3_js_1 = require("@solana/web3.js");
5
+ exports.IMR_PROGRAM = new web3_js_1.PublicKey("D2V7wTBbNCKgYwirgRUnSmc2QyKnHSVmRotWJ4rz8Jp9");
6
+ exports.RBAC_PROGRAM = new web3_js_1.PublicKey("3g6fUgMsJQhjPUYxNjEU5PyzGf8DerbDx8p5Qh4yMnRR");
7
+ exports.TL_PROGRAM = new web3_js_1.PublicKey("9bNt3ZiZpDdHqAt5Q1Wq6twFe5RKmMCwA7MJyK2HgGnU");
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAE/B,QAAA,WAAW,GAAG,IAAI,mBAAS,CACtC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,YAAY,GAAG,IAAI,mBAAS,CACvC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,UAAU,GAAG,IAAI,mBAAS,CACrC,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./pdas";
2
+ export * from "./types";
3
+ export * from "./client";
4
+ export * from "./constants";
5
+ export * from "./utils";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","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/index.js ADDED
@@ -0,0 +1,22 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./pdas"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./client"), exports);
20
+ __exportStar(require("./constants"), exports);
21
+ __exportStar(require("./utils"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB"}
package/dist/pdas.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { BN } from "@coral-xyz/anchor";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ export declare const deriveInvestorLocks: (investorId: string, identityRegistry: PublicKey, programId?: PublicKey) => PublicKey;
4
+ export declare const deriveLockedTokenAccount: (investorId: string, identityRegistry: PublicKey, programId?: PublicKey) => PublicKey;
5
+ export declare const deriveInvestorPda: (investorId: string, identityRegistry: PublicKey, programId?: PublicKey) => PublicKey;
6
+ export declare const deriveAssetAccessControllerPda: (uniqueSeed: PublicKey, programId?: PublicKey) => PublicKey;
7
+ export declare const deriveControllerAuthorityPda: (assetAccessController: PublicKey, programId?: PublicKey) => PublicKey;
8
+ export declare const deriveUserRolePda: (id: BN, assetAccessController: PublicKey, programId?: PublicKey) => PublicKey;
9
+ //# sourceMappingURL=pdas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdas.d.ts","sourceRoot":"","sources":["../src/pdas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,eAAO,MAAM,mBAAmB,eAClB,MAAM,oBACA,SAAS,qCAW5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,MAAM,oBACA,SAAS,qCAW5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAChB,MAAM,oBACA,SAAS,qCAW5B,CAAC;AAEF,eAAO,MAAM,8BAA8B,eAC7B,SAAS,qCAOtB,CAAC;AAEF,eAAO,MAAM,4BAA4B,0BAChB,SAAS,qCAOjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,OACxB,EAAE,yBACiB,SAAS,qCAWjC,CAAC"}
package/dist/pdas.js ADDED
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveUserRolePda = exports.deriveControllerAuthorityPda = exports.deriveAssetAccessControllerPda = exports.deriveInvestorPda = exports.deriveLockedTokenAccount = exports.deriveInvestorLocks = void 0;
4
+ var web3_js_1 = require("@solana/web3.js");
5
+ var constants_1 = require("./constants");
6
+ var deriveInvestorLocks = function (investorId, identityRegistry, programId) {
7
+ if (programId === void 0) { programId = constants_1.TL_PROGRAM; }
8
+ return web3_js_1.PublicKey.findProgramAddressSync([
9
+ Buffer.from(investorId),
10
+ identityRegistry.toBuffer(),
11
+ Buffer.from("InvestorLocks"),
12
+ ], programId)[0];
13
+ };
14
+ exports.deriveInvestorLocks = deriveInvestorLocks;
15
+ var deriveLockedTokenAccount = function (investorId, identityRegistry, programId) {
16
+ if (programId === void 0) { programId = constants_1.TL_PROGRAM; }
17
+ return web3_js_1.PublicKey.findProgramAddressSync([
18
+ Buffer.from(investorId),
19
+ identityRegistry.toBuffer(),
20
+ Buffer.from("LockedTokenAccount"),
21
+ ], programId)[0];
22
+ };
23
+ exports.deriveLockedTokenAccount = deriveLockedTokenAccount;
24
+ var deriveInvestorPda = function (investorId, identityRegistry, programId) {
25
+ if (programId === void 0) { programId = constants_1.IMR_PROGRAM; }
26
+ return web3_js_1.PublicKey.findProgramAddressSync([
27
+ Buffer.from(investorId),
28
+ identityRegistry.toBuffer(),
29
+ Buffer.from("Investor"),
30
+ ], programId)[0];
31
+ };
32
+ exports.deriveInvestorPda = deriveInvestorPda;
33
+ var deriveAssetAccessControllerPda = function (uniqueSeed, programId) {
34
+ if (programId === void 0) { programId = constants_1.RBAC_PROGRAM; }
35
+ return web3_js_1.PublicKey.findProgramAddressSync([uniqueSeed.toBuffer(), Buffer.from("AssetAccessController")], programId)[0];
36
+ };
37
+ exports.deriveAssetAccessControllerPda = deriveAssetAccessControllerPda;
38
+ var deriveControllerAuthorityPda = function (assetAccessController, programId) {
39
+ if (programId === void 0) { programId = constants_1.RBAC_PROGRAM; }
40
+ return web3_js_1.PublicKey.findProgramAddressSync([assetAccessController.toBuffer()], programId)[0];
41
+ };
42
+ exports.deriveControllerAuthorityPda = deriveControllerAuthorityPda;
43
+ var deriveUserRolePda = function (id, assetAccessController, programId) {
44
+ if (programId === void 0) { programId = constants_1.RBAC_PROGRAM; }
45
+ return web3_js_1.PublicKey.findProgramAddressSync([
46
+ id.toArrayLike(Buffer, "le", 8),
47
+ assetAccessController.toBuffer(),
48
+ Buffer.from("UserRole"),
49
+ ], programId)[0];
50
+ };
51
+ exports.deriveUserRolePda = deriveUserRolePda;
52
+ //# sourceMappingURL=pdas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../src/pdas.ts"],"names":[],"mappings":";;;AACA,2CAA4C;AAC5C,yCAAoE;AAE7D,IAAM,mBAAmB,GAAG,UACjC,UAAkB,EAClB,gBAA2B,EAC3B,SAAsB;IAAtB,0BAAA,EAAA,YAAY,sBAAU;IAEtB,OAAO,mBAAS,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;AAbW,QAAA,mBAAmB,uBAa9B;AAEK,IAAM,wBAAwB,GAAG,UACtC,UAAkB,EAClB,gBAA2B,EAC3B,SAAsB;IAAtB,0BAAA,EAAA,YAAY,sBAAU;IAEtB,OAAO,mBAAS,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;AAbW,QAAA,wBAAwB,4BAanC;AAEK,IAAM,iBAAiB,GAAG,UAC/B,UAAkB,EAClB,gBAA2B,EAC3B,SAAuB;IAAvB,0BAAA,EAAA,YAAY,uBAAW;IAEvB,OAAO,mBAAS,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;AAbW,QAAA,iBAAiB,qBAa5B;AAEK,IAAM,8BAA8B,GAAG,UAC5C,UAAqB,EACrB,SAAwB;IAAxB,0BAAA,EAAA,YAAY,wBAAY;IAExB,OAAO,mBAAS,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;AARW,QAAA,8BAA8B,kCAQzC;AAEK,IAAM,4BAA4B,GAAG,UAC1C,qBAAgC,EAChC,SAAwB;IAAxB,0BAAA,EAAA,YAAY,wBAAY;IAExB,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAClC,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AARW,QAAA,4BAA4B,gCAQvC;AAEK,IAAM,iBAAiB,GAAG,UAC/B,EAAM,EACN,qBAAgC,EAChC,SAAwB;IAAxB,0BAAA,EAAA,YAAY,wBAAY;IAExB,OAAO,mBAAS,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;AAbW,QAAA,iBAAiB,qBAa5B"}
@@ -0,0 +1,43 @@
1
+ export declare enum AdminFlags {
2
+ NONE = 0,
3
+ CREATE_OR_DELETE_USER_ROLE = 1,
4
+ MODIFY_USER_ROLE = 2,
5
+ ASSIGN_OR_REMOVE_ANY_USER_ROLE = 4,
6
+ ASSIGN_OR_REMOVE_CURRENT_ROLE = 8,
7
+ ALL = 15
8
+ }
9
+ export declare enum MediciFlags {
10
+ NONE = 0,
11
+ UPDATE_ASSET_METADATA = 1,
12
+ THAW_TOKEN_ACCOUNT = 2,
13
+ FREEZE_TOKEN_ACCOUNT = 4,
14
+ ISSUE_TOKENS = 8,
15
+ REVOKE_TOKENS = 16,
16
+ CLOSE_MINT_ACCOUNT = 32,
17
+ UPDATE_INTEREST_BEARING_MINT_RATE = 64,
18
+ ATTACH_TO_POLICY_ACCOUNT = 128,
19
+ CREATE_POLICY_ACCOUNT = 256,
20
+ DETACH_FROM_POLICY_ACCOUNT = 512,
21
+ ADD_LEVELS = 1024,
22
+ ADD_LEVEL_TO_IDENTITY_ACCOUNT = 2048,
23
+ REGISTER_INVESTOR = 4096,
24
+ REMOVE_LEVELS = 8192,
25
+ REMOVE_INVESTOR = 16384,
26
+ EDIT_IDENTITY_METADATA = 32768,
27
+ REFRESH_LEVEL_TO_IDENTITY_ACCOUNT = 65536,
28
+ ATTACH_WALLET_TO_IDENTITY = 131072,
29
+ DETACH_WALLET_FROM_IDENTITY = 262144,
30
+ SEIZE_TOKENS = 524288,
31
+ CREATE_IDENTITY_ACCOUNT = 1048576,
32
+ CREATE_INVESTOR_LOCKS = 2097152,
33
+ CLOSE_INVESTOR_LOCKS = 4194304,
34
+ ADD_TOKEN_LOCK = 8388608,
35
+ REMOVE_TOKEN_LOCK = 16777216,
36
+ CHANGE_COUNTERS = 33554432,
37
+ CHANGE_COUNTER_LIMITS = 67108864,
38
+ CHANGE_COUNTRY = 134217728,
39
+ CHANGE_MAPPING = 268435456,
40
+ CHANGE_ISSUANCE_POLICIES = 536870912,
41
+ ALL = 1073741823
42
+ }
43
+ //# sourceMappingURL=flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../src/types/flags.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,IAAI,IAAI;IACR,0BAA0B,IAAS;IACnC,gBAAgB,IAAS;IACzB,8BAA8B,IAAS;IACvC,6BAA6B,IAAS;IACtC,GAAG,KAAe;CACnB;AAED,oBAAY,WAAW;IACrB,IAAI,IAAI;IACR,qBAAqB,IAAS;IAC9B,kBAAkB,IAAS;IAC3B,oBAAoB,IAAS;IAC7B,YAAY,IAAS;IACrB,aAAa,KAAS;IACtB,kBAAkB,KAAS;IAC3B,iCAAiC,KAAS;IAC1C,wBAAwB,MAAS;IACjC,qBAAqB,MAAS;IAC9B,0BAA0B,MAAS;IACnC,UAAU,OAAU;IACpB,6BAA6B,OAAU;IACvC,iBAAiB,OAAU;IAC3B,aAAa,OAAU;IACvB,eAAe,QAAU;IACzB,sBAAsB,QAAU;IAChC,iCAAiC,QAAU;IAC3C,yBAAyB,SAAU;IACnC,2BAA2B,SAAU;IACrC,YAAY,SAAU;IACtB,uBAAuB,UAAU;IACjC,qBAAqB,UAAU;IAC/B,oBAAoB,UAAU;IAC9B,cAAc,UAAU;IACxB,iBAAiB,WAAU;IAC3B,eAAe,WAAU;IACzB,qBAAqB,WAAU;IAC/B,cAAc,YAAU;IACxB,cAAc,YAAU;IACxB,wBAAwB,YAAU;IAClC,GAAG,aAAgB;CACpB"}