@dstoken-solana/rwa-rbac 0.3.0 → 0.4.1
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.
- package/dist/client/AssetController.d.ts +15 -23
- package/dist/client/AssetController.d.ts.map +1 -1
- package/dist/client/AssetController.js +343 -0
- package/dist/client/AssetController.js.map +1 -0
- package/dist/client/IdentityMetadataRegistry.d.ts +5 -5
- package/dist/client/IdentityMetadataRegistry.d.ts.map +1 -1
- package/dist/client/IdentityMetadataRegistry.js +354 -0
- package/dist/client/IdentityMetadataRegistry.js.map +1 -0
- package/dist/client/IdentityRegistry.d.ts +4 -4
- package/dist/client/IdentityRegistry.d.ts.map +1 -1
- package/dist/client/IdentityRegistry.js +200 -0
- package/dist/client/IdentityRegistry.js.map +1 -0
- package/dist/client/PolicyEngine.d.ts +7 -7
- package/dist/client/PolicyEngine.js +260 -0
- package/dist/client/PolicyEngine.js.map +1 -0
- package/dist/client/RwaRbacClient.d.ts.map +1 -1
- package/dist/client/RwaRbacClient.js +250 -0
- package/dist/client/RwaRbacClient.js.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -0
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.es.js +313 -234
- package/dist/index.js +6 -4975
- package/dist/index.js.map +1 -0
- package/dist/pdas.d.ts.map +1 -1
- package/dist/pdas.js +38 -0
- package/dist/pdas.js.map +1 -0
- package/dist/types/flags.d.ts +28 -28
- package/dist/types/flags.d.ts.map +1 -1
- package/dist/types/flags.js +47 -0
- package/dist/types/flags.js.map +1 -0
- package/dist/types/generated/index.js +4 -0
- package/dist/types/generated/index.js.map +1 -0
- package/dist/types/generated/rwa_imr.d.ts +37 -0
- package/dist/types/generated/rwa_imr.d.ts.map +1 -1
- package/dist/types/generated/rwa_imr.js +2 -0
- package/dist/types/generated/rwa_imr.js.map +1 -0
- package/dist/types/generated/rwa_imr.json +902 -0
- package/dist/types/generated/rwa_rbac.d.ts +145 -98
- package/dist/types/generated/rwa_rbac.d.ts.map +1 -1
- package/dist/types/generated/rwa_rbac.js +2 -0
- package/dist/types/generated/rwa_rbac.js.map +1 -0
- package/dist/types/generated/rwa_rbac.json +2621 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/instructions.d.ts +8 -1
- package/dist/types/instructions.d.ts.map +1 -1
- package/dist/types/instructions.js +2 -0
- package/dist/types/instructions.js.map +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -0
- package/package.json +13 -13
|
@@ -2,7 +2,7 @@ import { Program } from "@coral-xyz/anchor";
|
|
|
2
2
|
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
3
3
|
import { IssueTokensArgs, UpdateInterestBearingMintRateArgs } from "../types/instructions";
|
|
4
4
|
import { RwaRbac } from "../types/generated/rwa_rbac";
|
|
5
|
-
import {
|
|
5
|
+
import { CreateAssetControllerIx, FreezeTokenArgs, RevokeTokensArgs, RwaClient, SeizeTokensArgs, TransferTokensArgs, UpdateAssetMetadataArgs } from "@dstoken-solana/rwa-token-sdk";
|
|
6
6
|
/**
|
|
7
7
|
* Represents the role-based access client for Asset Controller for an RWA.
|
|
8
8
|
*/
|
|
@@ -20,17 +20,17 @@ export declare class AssetController {
|
|
|
20
20
|
* Update the asset controller's metadata.
|
|
21
21
|
* @param args - {@link UpdateAssetMetadataArgs}
|
|
22
22
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
23
|
-
* @param authorizedUserRole -
|
|
23
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
24
24
|
* @returns A Promise that resolves to the instructions to update the asset controller's metadata.
|
|
25
25
|
* */
|
|
26
|
-
updateAssetMetadata(args: UpdateAssetMetadataArgs, assetAccessController: PublicKey, authorizedUserRole
|
|
26
|
+
updateAssetMetadata(args: UpdateAssetMetadataArgs, assetAccessController: PublicKey, authorizedUserRole: PublicKey): Promise<TransactionInstruction>;
|
|
27
27
|
/**
|
|
28
28
|
* Asynchronously generates instructions to issue tokens and lock tokens according to issuance policy.
|
|
29
29
|
* @param args - {@link IssueTokensWithLockArgs}
|
|
30
30
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
31
|
-
* @param authorizedUserRole -
|
|
31
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
32
32
|
*/
|
|
33
|
-
issueTokenIxns(args: IssueTokensArgs, assetAccessController: PublicKey, authorizedUserRole
|
|
33
|
+
issueTokenIxns(args: IssueTokensArgs, assetAccessController: PublicKey, authorizedUserRole: PublicKey): Promise<TransactionInstruction>;
|
|
34
34
|
/**
|
|
35
35
|
* Executes a token transfer.
|
|
36
36
|
* @param args - {@link TransferTokensArgs}
|
|
@@ -41,52 +41,44 @@ export declare class AssetController {
|
|
|
41
41
|
* Asynchronously generates instruction to freeze a token account.
|
|
42
42
|
* @param args - {@link FreezeTokenArgs}
|
|
43
43
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
44
|
-
* @param authorizedUserRole -
|
|
44
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
45
45
|
* @returns A Promise that resolves to the instruction to freeze.
|
|
46
46
|
*/
|
|
47
|
-
freezeTokenIxn(args: FreezeTokenArgs, assetAccessController: PublicKey, authorizedUserRole
|
|
47
|
+
freezeTokenIxn(args: FreezeTokenArgs, assetAccessController: PublicKey, authorizedUserRole: PublicKey): Promise<TransactionInstruction>;
|
|
48
48
|
/**
|
|
49
49
|
* Asynchronously generates instruction to thaw a token account.
|
|
50
50
|
* @param args - {@link FreezeTokenArgs}
|
|
51
51
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
52
|
-
* @param authorizedUserRole -
|
|
52
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
53
53
|
* @returns A Promise that resolves to the instruction to thaw.
|
|
54
54
|
*/
|
|
55
|
-
thawTokenIxn(args: FreezeTokenArgs, assetAccessController: PublicKey, authorizedUserRole
|
|
55
|
+
thawTokenIxn(args: FreezeTokenArgs, assetAccessController: PublicKey, authorizedUserRole: PublicKey): Promise<TransactionInstruction>;
|
|
56
56
|
/**
|
|
57
57
|
* Asynchronously generates instructions to revoke tokens from a user.
|
|
58
58
|
* @param args - {@link RevokeTokensArgs}
|
|
59
59
|
* @param signer - User signer public key.
|
|
60
60
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
61
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
61
62
|
* @param investorId - Optional investorId. Required if user is not an investor.
|
|
62
|
-
* @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
|
|
63
63
|
* @returns A Promise that resolves to the instructions to revoke.
|
|
64
64
|
*/
|
|
65
|
-
revokeTokenIxn(args: RevokeTokensArgs, signer: PublicKey, assetAccessController: PublicKey,
|
|
66
|
-
/**
|
|
67
|
-
* Asynchronously generates instruction to close mint.
|
|
68
|
-
* @param args - {@link CloseMintArgs}
|
|
69
|
-
* @param assetAccessController - RBAC AssetAccessController account.
|
|
70
|
-
* @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
|
|
71
|
-
* @returns A Promise that resolves to the instruction to close mint.
|
|
72
|
-
*/
|
|
73
|
-
closeMintIxn(args: CloseMintArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
|
|
65
|
+
revokeTokenIxn(args: RevokeTokensArgs, signer: PublicKey, assetAccessController: PublicKey, authorizedUserRole: PublicKey, investorId?: string): Promise<TransactionInstruction>;
|
|
74
66
|
/**
|
|
75
67
|
* Asynchronously generates instruction to update mint interest rate.
|
|
76
68
|
* @param args - {@link UpdateInterestBearingMintRateArgs}
|
|
77
69
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
78
|
-
* @param authorizedUserRole -
|
|
70
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
79
71
|
* @returns A Promise that resolves to the instruction to update mint interest rate.
|
|
80
72
|
*/
|
|
81
|
-
updateInterestBearingMintRateIxn(args: UpdateInterestBearingMintRateArgs, assetAccessController: PublicKey, authorizedUserRole
|
|
73
|
+
updateInterestBearingMintRateIxn(args: UpdateInterestBearingMintRateArgs, assetAccessController: PublicKey, authorizedUserRole: PublicKey): Promise<TransactionInstruction>;
|
|
82
74
|
/**
|
|
83
75
|
* Asynchronously generates instruction to seize tokens.
|
|
84
76
|
* @param args - {@link SeizeTokensArgs}
|
|
85
77
|
* @param signer - User signer public key.
|
|
86
78
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
87
|
-
* @param authorizedUserRole -
|
|
79
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
88
80
|
* @returns A Promise that resolves to the instruction to seize.
|
|
89
81
|
*/
|
|
90
|
-
seizeTokensIxn(args: SeizeTokensArgs, investorId: string, signer: PublicKey, assetAccessController: PublicKey, authorizedUserRole
|
|
82
|
+
seizeTokensIxn(args: SeizeTokensArgs, investorId: string, signer: PublicKey, assetAccessController: PublicKey, authorizedUserRole: PublicKey): Promise<TransactionInstruction>;
|
|
91
83
|
}
|
|
92
84
|
//# sourceMappingURL=AssetController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetController.d.ts","sourceRoot":"","sources":["../../src/client/AssetController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"AssetController.d.ts","sourceRoot":"","sources":["../../src/client/AssetController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,eAAe,EAEf,iCAAiC,EAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAEL,uBAAuB,EACvB,eAAe,EAkBf,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAMvC;;GAEG;AACH,qBAAa,eAAe;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAElB,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC;IAK/D;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItF;;;;;;SAMK;IACC,mBAAmB,CACvB,IAAI,EAAE,uBAAuB,EAC7B,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAuBlC;;;;;OAKG;IACG,cAAc,CAClB,IAAI,EAAE,eAAe,EACrB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAkElC;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI3E;;;;;;OAMG;IACG,cAAc,CAClB,IAAI,EAAE,eAAe,EACrB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAyBlC;;;;;;OAMG;IACG,YAAY,CAChB,IAAI,EAAE,eAAe,EACrB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAyBlC;;;;;;;;OAQG;IACG,cAAc,CAClB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,SAAS,EACjB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,EAC7B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC;IAuDlC;;;;;;OAMG;IACG,gCAAgC,CACpC,IAAI,EAAE,iCAAiC,EACvC,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAsBlC;;;;;;;OAOG;IACG,cAAc,CAClB,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,EACjB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,EAAE,SAAS,GAC5B,OAAO,CAAC,sBAAsB,CAAC;CA2FnC"}
|
|
@@ -0,0 +1,343 @@
|
|
|
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 { ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, TOKEN_2022_PROGRAM_ID, } from "@solana/spl-token";
|
|
12
|
+
import { assetControllerProgramId, getAssetControllerEventAuthority, getAssetControllerPda, getCreateAssetControllerIx, getExtraMetasListPda, getFreezeTokenIx, getIdentityAccountPda, getIdentityRegistryPda, getIssueTokensIx, getPolicyEnginePda, getRevokeTokensIx, getSeizeTokensIx, getThawTokenIx, getTrackerAccountPda, getUpdateInterestBearingMintRateIx, getWalletIdentityAccountPda, identityRegistryProgramId, policyEngineProgramId, } from "@dstoken-solana/rwa-token-sdk";
|
|
13
|
+
import { deriveControllerAuthorityPda, deriveInvestorPda, } from "../pdas";
|
|
14
|
+
/**
|
|
15
|
+
* Represents the role-based access client for Asset Controller for an RWA.
|
|
16
|
+
*/
|
|
17
|
+
export class AssetController {
|
|
18
|
+
constructor(rwaClient, rbacProgram) {
|
|
19
|
+
this.rwaClient = rwaClient;
|
|
20
|
+
this.rbacProgram = rbacProgram;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Asynchronously generates instructions to setup a new asset controller.
|
|
24
|
+
* @param args - {@link CreateAssetControllerIx}
|
|
25
|
+
* @returns A Promise that resolves to the instructions to create an asset controller.
|
|
26
|
+
*/
|
|
27
|
+
setupNewRegistry(args) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
return getCreateAssetControllerIx(args, this.rwaClient.provider);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Update the asset controller's metadata.
|
|
34
|
+
* @param args - {@link UpdateAssetMetadataArgs}
|
|
35
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
36
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
37
|
+
* @returns A Promise that resolves to the instructions to update the asset controller's metadata.
|
|
38
|
+
* */
|
|
39
|
+
updateAssetMetadata(args, assetAccessController, authorizedUserRole) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const updateIx = yield this.rwaClient.assetController.updateAssetMetadata(args);
|
|
42
|
+
const ixData = updateIx.data;
|
|
43
|
+
return this.rbacProgram.methods
|
|
44
|
+
.updateAssetMetadata(ixData)
|
|
45
|
+
.accountsStrict({
|
|
46
|
+
payer: args.payer,
|
|
47
|
+
user: args.signer,
|
|
48
|
+
controllerAuthority: args.authority,
|
|
49
|
+
assetAccessController,
|
|
50
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
51
|
+
assetMint: args.assetMint,
|
|
52
|
+
assetController: getAssetControllerPda(args.assetMint),
|
|
53
|
+
assetControllerProgram: assetControllerProgramId,
|
|
54
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
55
|
+
eventAuthority: getAssetControllerEventAuthority(),
|
|
56
|
+
systemProgram: SystemProgram.programId,
|
|
57
|
+
})
|
|
58
|
+
.instruction();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Asynchronously generates instructions to issue tokens and lock tokens according to issuance policy.
|
|
63
|
+
* @param args - {@link IssueTokensWithLockArgs}
|
|
64
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
65
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
66
|
+
*/
|
|
67
|
+
issueTokenIxns(args, assetAccessController, authorizedUserRole) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const identityRegistry = getIdentityRegistryPda(args.assetMint);
|
|
70
|
+
const controllerAuthority = deriveControllerAuthorityPda(assetAccessController);
|
|
71
|
+
const investorPda = deriveInvestorPda(args.investorId, identityRegistry);
|
|
72
|
+
const issueTokensIxs = yield getIssueTokensIx({
|
|
73
|
+
payer: args.payer,
|
|
74
|
+
signer: args.signer,
|
|
75
|
+
wallet: args.wallet,
|
|
76
|
+
assetMint: args.assetMint,
|
|
77
|
+
amount: args.amount,
|
|
78
|
+
timestamp: args.issuanceTimestamp,
|
|
79
|
+
authority: controllerAuthority.toString(),
|
|
80
|
+
owner: investorPda.toString(),
|
|
81
|
+
}, this.rwaClient.provider);
|
|
82
|
+
const trackerAccount = getTrackerAccountPda(args.assetMint, investorPda.toString());
|
|
83
|
+
const ixData = issueTokensIxs[0].data;
|
|
84
|
+
const tokenAccount = getAssociatedTokenAddressSync(new PublicKey(args.assetMint), new PublicKey(args.wallet), false, TOKEN_2022_PROGRAM_ID);
|
|
85
|
+
return yield this.rbacProgram.methods
|
|
86
|
+
.issueTokens(ixData)
|
|
87
|
+
.accountsStrict({
|
|
88
|
+
payer: args.payer,
|
|
89
|
+
user: args.signer,
|
|
90
|
+
controllerAuthority: controllerAuthority,
|
|
91
|
+
assetAccessController: assetAccessController,
|
|
92
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
93
|
+
assetControllerProgram: assetControllerProgramId,
|
|
94
|
+
assetMint: args.assetMint,
|
|
95
|
+
assetController: getAssetControllerPda(args.assetMint),
|
|
96
|
+
to: args.wallet,
|
|
97
|
+
tokenAccount: tokenAccount,
|
|
98
|
+
policyEngine: getPolicyEnginePda(args.assetMint),
|
|
99
|
+
policyEngineProgram: policyEngineProgramId,
|
|
100
|
+
identityAccount: getIdentityAccountPda(args.assetMint, investorPda.toString()),
|
|
101
|
+
trackerAccount,
|
|
102
|
+
identityRegistry,
|
|
103
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
104
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
105
|
+
systemProgram: SystemProgram.programId,
|
|
106
|
+
walletIdentityAccount: getWalletIdentityAccountPda(args.assetMint, args.wallet),
|
|
107
|
+
eventAuthority: getAssetControllerEventAuthority(),
|
|
108
|
+
})
|
|
109
|
+
.instruction();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Executes a token transfer.
|
|
114
|
+
* @param args - {@link TransferTokensArgs}
|
|
115
|
+
* @returns A promise that resolves to transaction instruction.
|
|
116
|
+
*/
|
|
117
|
+
transfer(args) {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
return this.rwaClient.assetController.transfer(args);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Asynchronously generates instruction to freeze a token account.
|
|
124
|
+
* @param args - {@link FreezeTokenArgs}
|
|
125
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
126
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
127
|
+
* @returns A Promise that resolves to the instruction to freeze.
|
|
128
|
+
*/
|
|
129
|
+
freezeTokenIxn(args, assetAccessController, authorizedUserRole) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
const freezeIx = yield getFreezeTokenIx(args, this.rwaClient.provider);
|
|
132
|
+
const ixData = freezeIx.data;
|
|
133
|
+
const tokenAccount = getAssociatedTokenAddressSync(new PublicKey(args.assetMint), new PublicKey(args.owner), false, TOKEN_2022_PROGRAM_ID);
|
|
134
|
+
return this.rbacProgram.methods
|
|
135
|
+
.freezeTokenAccount(ixData)
|
|
136
|
+
.accountsStrict({
|
|
137
|
+
user: args.signer,
|
|
138
|
+
controllerAuthority: args.authority,
|
|
139
|
+
assetAccessController: assetAccessController,
|
|
140
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
141
|
+
assetControllerProgram: assetControllerProgramId,
|
|
142
|
+
assetMint: args.assetMint,
|
|
143
|
+
assetController: getAssetControllerPda(args.assetMint),
|
|
144
|
+
tokenAccount,
|
|
145
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
146
|
+
})
|
|
147
|
+
.instruction();
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Asynchronously generates instruction to thaw a token account.
|
|
152
|
+
* @param args - {@link FreezeTokenArgs}
|
|
153
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
154
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
155
|
+
* @returns A Promise that resolves to the instruction to thaw.
|
|
156
|
+
*/
|
|
157
|
+
thawTokenIxn(args, assetAccessController, authorizedUserRole) {
|
|
158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
const thawIx = yield getThawTokenIx(args, this.rwaClient.provider);
|
|
160
|
+
const ixData = thawIx.data;
|
|
161
|
+
const tokenAccount = getAssociatedTokenAddressSync(new PublicKey(args.assetMint), new PublicKey(args.owner), false, TOKEN_2022_PROGRAM_ID);
|
|
162
|
+
return this.rbacProgram.methods
|
|
163
|
+
.thawTokenAccount(ixData)
|
|
164
|
+
.accountsStrict({
|
|
165
|
+
user: args.signer,
|
|
166
|
+
controllerAuthority: args.authority,
|
|
167
|
+
assetAccessController: assetAccessController,
|
|
168
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
169
|
+
assetControllerProgram: assetControllerProgramId,
|
|
170
|
+
assetMint: args.assetMint,
|
|
171
|
+
assetController: getAssetControllerPda(args.assetMint),
|
|
172
|
+
tokenAccount,
|
|
173
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
174
|
+
})
|
|
175
|
+
.instruction();
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Asynchronously generates instructions to revoke tokens from a user.
|
|
180
|
+
* @param args - {@link RevokeTokensArgs}
|
|
181
|
+
* @param signer - User signer public key.
|
|
182
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
183
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
184
|
+
* @param investorId - Optional investorId. Required if user is not an investor.
|
|
185
|
+
* @returns A Promise that resolves to the instructions to revoke.
|
|
186
|
+
*/
|
|
187
|
+
revokeTokenIxn(args, signer, assetAccessController, authorizedUserRole, investorId) {
|
|
188
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
189
|
+
if (!args.wallet) {
|
|
190
|
+
throw new Error("Use wallet arg for wallet to revoke tokens from.");
|
|
191
|
+
}
|
|
192
|
+
// Set owner (even though it is InvestorPda) as wallet to generate ix data.
|
|
193
|
+
args.owner = args.wallet;
|
|
194
|
+
const revokeIx = yield getRevokeTokensIx(args, this.rwaClient.provider);
|
|
195
|
+
const identityRegistry = getIdentityRegistryPda(args.assetMint);
|
|
196
|
+
const investorPda = investorId
|
|
197
|
+
? deriveInvestorPda(investorId, identityRegistry)
|
|
198
|
+
: null;
|
|
199
|
+
const ixData = revokeIx.data;
|
|
200
|
+
const assetController = getAssetControllerPda(args.assetMint);
|
|
201
|
+
const revokeTokenAccount = getAssociatedTokenAddressSync(new PublicKey(args.assetMint), new PublicKey(args.wallet), false, TOKEN_2022_PROGRAM_ID);
|
|
202
|
+
return yield this.rbacProgram.methods
|
|
203
|
+
.revokeTokens(ixData)
|
|
204
|
+
.accountsStrict({
|
|
205
|
+
user: signer,
|
|
206
|
+
controllerAuthority: args.authority,
|
|
207
|
+
assetAccessController: assetAccessController,
|
|
208
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
209
|
+
assetControllerProgram: assetControllerProgramId,
|
|
210
|
+
assetMint: args.assetMint,
|
|
211
|
+
assetController,
|
|
212
|
+
revokeTokenAccount,
|
|
213
|
+
identityRegistry,
|
|
214
|
+
identityAccount: getIdentityAccountPda(args.assetMint, investorId ? investorPda.toString() : args.owner),
|
|
215
|
+
trackerAccount: getTrackerAccountPda(args.assetMint, investorId ? investorPda.toString() : args.owner),
|
|
216
|
+
policyEngineProgram: policyEngineProgramId,
|
|
217
|
+
policyEngine: getPolicyEnginePda(args.assetMint),
|
|
218
|
+
walletIdentityAccount: getWalletIdentityAccountPda(args.assetMint, args.wallet),
|
|
219
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
220
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
221
|
+
systemProgram: SystemProgram.programId,
|
|
222
|
+
eventAuthority: getAssetControllerEventAuthority(),
|
|
223
|
+
})
|
|
224
|
+
.instruction();
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Asynchronously generates instruction to update mint interest rate.
|
|
229
|
+
* @param args - {@link UpdateInterestBearingMintRateArgs}
|
|
230
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
231
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
232
|
+
* @returns A Promise that resolves to the instruction to update mint interest rate.
|
|
233
|
+
*/
|
|
234
|
+
updateInterestBearingMintRateIxn(args, assetAccessController, authorizedUserRole) {
|
|
235
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
236
|
+
const updateIx = yield getUpdateInterestBearingMintRateIx(args, this.rwaClient.provider);
|
|
237
|
+
const ixData = updateIx.data;
|
|
238
|
+
return this.rbacProgram.methods
|
|
239
|
+
.updateInterestBearingMintRate(ixData)
|
|
240
|
+
.accountsStrict({
|
|
241
|
+
user: args.signer,
|
|
242
|
+
controllerAuthority: args.authority,
|
|
243
|
+
assetAccessController: assetAccessController,
|
|
244
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
245
|
+
assetControllerProgram: assetControllerProgramId,
|
|
246
|
+
assetMint: args.assetMint,
|
|
247
|
+
assetController: getAssetControllerPda(args.assetMint),
|
|
248
|
+
eventAuthority: getAssetControllerEventAuthority(),
|
|
249
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
250
|
+
})
|
|
251
|
+
.instruction();
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Asynchronously generates instruction to seize tokens.
|
|
256
|
+
* @param args - {@link SeizeTokensArgs}
|
|
257
|
+
* @param signer - User signer public key.
|
|
258
|
+
* @param assetAccessController - RBAC AssetAccessController account.
|
|
259
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
260
|
+
* @returns A Promise that resolves to the instruction to seize.
|
|
261
|
+
*/
|
|
262
|
+
seizeTokensIxn(args, investorId, signer, assetAccessController, authorizedUserRole) {
|
|
263
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
264
|
+
const identityRegistry = getIdentityRegistryPda(args.assetMint);
|
|
265
|
+
const investorPda = deriveInvestorPda(investorId, identityRegistry);
|
|
266
|
+
const [_, seizeIx] = yield getSeizeTokensIx(Object.assign(Object.assign({}, args), { wallet: args.from, from: investorPda.toString() }), this.rwaClient.provider);
|
|
267
|
+
return this.rbacProgram.methods
|
|
268
|
+
.seizeTokens(seizeIx.data)
|
|
269
|
+
.accountsStrict({
|
|
270
|
+
user: signer,
|
|
271
|
+
controllerAuthority: args.authority,
|
|
272
|
+
assetAccessController: assetAccessController,
|
|
273
|
+
authorizedUserRole: authorizedUserRole || null,
|
|
274
|
+
assetControllerProgram: assetControllerProgramId,
|
|
275
|
+
assetMint: args.assetMint,
|
|
276
|
+
assetController: getAssetControllerPda(args.assetMint),
|
|
277
|
+
sourceTokenAccount: getAssociatedTokenAddressSync(new PublicKey(args.assetMint), new PublicKey(args.from), false, TOKEN_2022_PROGRAM_ID),
|
|
278
|
+
destinationTokenAccount: getAssociatedTokenAddressSync(new PublicKey(args.assetMint), new PublicKey(args.to), true, TOKEN_2022_PROGRAM_ID),
|
|
279
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
280
|
+
eventAuthority: getAssetControllerEventAuthority(),
|
|
281
|
+
})
|
|
282
|
+
.remainingAccounts([
|
|
283
|
+
{
|
|
284
|
+
pubkey: getPolicyEnginePda(args.assetMint),
|
|
285
|
+
isWritable: true,
|
|
286
|
+
isSigner: false,
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
pubkey: identityRegistryProgramId,
|
|
290
|
+
isWritable: false,
|
|
291
|
+
isSigner: false,
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
pubkey: policyEngineProgramId,
|
|
295
|
+
isWritable: false,
|
|
296
|
+
isSigner: false,
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
pubkey: getIdentityRegistryPda(args.assetMint),
|
|
300
|
+
isWritable: false,
|
|
301
|
+
isSigner: false,
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
pubkey: getIdentityAccountPda(args.assetMint, args.to),
|
|
305
|
+
isWritable: false,
|
|
306
|
+
isSigner: false,
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
pubkey: getIdentityAccountPda(args.assetMint, investorPda.toString()),
|
|
310
|
+
isWritable: false,
|
|
311
|
+
isSigner: false,
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
pubkey: getTrackerAccountPda(args.assetMint, args.to),
|
|
315
|
+
isWritable: true,
|
|
316
|
+
isSigner: false,
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
pubkey: getTrackerAccountPda(args.assetMint, investorPda.toString()),
|
|
320
|
+
isWritable: true,
|
|
321
|
+
isSigner: false,
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
pubkey: getExtraMetasListPda(args.assetMint),
|
|
325
|
+
isWritable: false,
|
|
326
|
+
isSigner: false,
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
pubkey: getWalletIdentityAccountPda(args.assetMint, args.to),
|
|
330
|
+
isWritable: false,
|
|
331
|
+
isSigner: false,
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
pubkey: getWalletIdentityAccountPda(args.assetMint, args.from),
|
|
335
|
+
isWritable: false,
|
|
336
|
+
isSigner: false,
|
|
337
|
+
},
|
|
338
|
+
])
|
|
339
|
+
.instruction();
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=AssetController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetController.js","sourceRoot":"","sources":["../../src/client/AssetController.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class IdentityMetadataRegistry {
|
|
|
23
23
|
* @param args - {@link SetupInvestorArgs}
|
|
24
24
|
* @param authority - RBAC AssetAccessController ControllerAuthority.
|
|
25
25
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
26
|
-
* @param authorizedUserRole -
|
|
26
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
27
27
|
* @returns A Promise that resolves to the instructions to setup an investor.
|
|
28
28
|
*
|
|
29
29
|
* It is required for at least a single user to be setup before issuing tokens.
|
|
@@ -33,7 +33,7 @@ export declare class IdentityMetadataRegistry {
|
|
|
33
33
|
* Asynchronously add levels to investor.
|
|
34
34
|
* @param args - {@link AddLevelsArgs}
|
|
35
35
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
36
|
-
* @param authorizedUserRole -
|
|
36
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
37
37
|
* @returns A Promise that resolves to the instructions to add levels.
|
|
38
38
|
* */
|
|
39
39
|
addLevels(args: AddLevelsArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
|
|
@@ -41,7 +41,7 @@ export declare class IdentityMetadataRegistry {
|
|
|
41
41
|
* Asynchronously change country for the Investor.
|
|
42
42
|
* @param args - {@link ChangeCountryArgs}
|
|
43
43
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
44
|
-
* @param authorizedUserRole -
|
|
44
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
45
45
|
* @returns A Promise that resolves to the instructions to change the country.
|
|
46
46
|
* */
|
|
47
47
|
changeCountry(args: ChangeCountryArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
|
|
@@ -49,7 +49,7 @@ export declare class IdentityMetadataRegistry {
|
|
|
49
49
|
* Asynchronously remove levels from an investor.
|
|
50
50
|
* @param args - {@link RemoveLevelsArgs}
|
|
51
51
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
52
|
-
* @param authorizedUserRole -
|
|
52
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
53
53
|
* @returns A Promise that resolves to the instructions to remove levels.
|
|
54
54
|
* */
|
|
55
55
|
removeLevels(args: RemoveLevelsArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
|
|
@@ -57,7 +57,7 @@ export declare class IdentityMetadataRegistry {
|
|
|
57
57
|
* Asynchronously remove an investor.
|
|
58
58
|
* @param args - {@link RemoveLevelsArgs}
|
|
59
59
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
60
|
-
* @param authorizedUserRole -
|
|
60
|
+
* @param authorizedUserRole - UserRole authorized to invoke instruction.
|
|
61
61
|
* @returns A Promise that resolves to the instructions to remove an investor.
|
|
62
62
|
* */
|
|
63
63
|
removeInvestor(args: RemoveInvestorArgs, assetAccessController: PublicKey, authorizedUserRole?: PublicKey): Promise<TransactionInstruction>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityMetadataRegistry.d.ts","sourceRoot":"","sources":["../../src/client/IdentityMetadataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAMpD,OAAO,EASL,QAAQ,EAER,SAAS,EAEV,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,qBAAa,wBAAwB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAG1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAC7B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;IAO7B;;;;SAIK;IACL,WAAW,CAAC,GAAG,EAAE,mBAAmB,EAAE;IAkBtC;;;;;;;;;OASG;IACG,aAAa,CACjB,IAAI,EAAE,iBAAiB,EACvB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"IdentityMetadataRegistry.d.ts","sourceRoot":"","sources":["../../src/client/IdentityMetadataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAMpD,OAAO,EASL,QAAQ,EAER,SAAS,EAEV,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,qBAAa,wBAAwB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAG1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAC7B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;IAO7B;;;;SAIK;IACL,WAAW,CAAC,GAAG,EAAE,mBAAmB,EAAE;IAkBtC;;;;;;;;;OASG;IACG,aAAa,CACjB,IAAI,EAAE,iBAAiB,EACvB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,QAAQ,CAAC;IAwGpB;;;;;;SAMK;IACC,SAAS,CACb,IAAI,EAAE,aAAa,EACnB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAgElC;;;;;;SAMK;IACC,aAAa,CACjB,IAAI,EAAE,iBAAiB,EACvB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAsDlC;;;;;;SAMK;IACC,YAAY,CAChB,IAAI,EAAE,gBAAgB,EACtB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAwDlC;;;;;;SAMK;IACC,cAAc,CAClB,IAAI,EAAE,kBAAkB,EACxB,qBAAqB,EAAE,SAAS,EAChC,kBAAkB,CAAC,EAAE,SAAS,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAwClC;;;SAGK;IACC,sBAAsB,CAC1B,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,sBAAsB,CAAC;CA8BnC"}
|