@dstoken-solana/rwa-rbac 0.2.0 → 0.3.0
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 +3 -9
- package/dist/client/AssetController.d.ts.map +1 -1
- package/dist/client/IdentityRegistry.d.ts +2 -26
- package/dist/client/IdentityRegistry.d.ts.map +1 -1
- package/dist/client/RwaRbacClient.d.ts +7 -1
- package/dist/client/RwaRbacClient.d.ts.map +1 -1
- package/dist/index.es.js +79 -356
- package/dist/index.js +78 -355
- package/dist/types/flags.d.ts +2 -1
- package/dist/types/flags.d.ts.map +1 -1
- package/dist/types/generated/rwa_rbac.d.ts +47 -233
- package/dist/types/generated/rwa_rbac.d.ts.map +1 -1
- package/dist/types/instructions.d.ts +7 -0
- package/dist/types/instructions.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -55,98 +55,6 @@ var metadata$1 = {
|
|
|
55
55
|
description: "Created with Anchor"
|
|
56
56
|
};
|
|
57
57
|
var instructions$1 = [
|
|
58
|
-
{
|
|
59
|
-
name: "add_level_to_identity_account",
|
|
60
|
-
discriminator: [
|
|
61
|
-
102,
|
|
62
|
-
204,
|
|
63
|
-
64,
|
|
64
|
-
169,
|
|
65
|
-
252,
|
|
66
|
-
177,
|
|
67
|
-
192,
|
|
68
|
-
232
|
|
69
|
-
],
|
|
70
|
-
accounts: [
|
|
71
|
-
{
|
|
72
|
-
name: "payer",
|
|
73
|
-
writable: true,
|
|
74
|
-
signer: true
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: "user",
|
|
78
|
-
signer: true
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: "controller_authority",
|
|
82
|
-
relations: [
|
|
83
|
-
"asset_access_controller"
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: "asset_access_controller",
|
|
88
|
-
relations: [
|
|
89
|
-
"authorized_user_role"
|
|
90
|
-
]
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
name: "authorized_user_role",
|
|
94
|
-
optional: true
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: "identity_registry_program",
|
|
98
|
-
address: "GZsnjqT3c5zbHqsctrJ4EG4rbEfo7ZXyyUG7aDJNmxfA"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
name: "identity_registry"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: "identity_account",
|
|
105
|
-
writable: true
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: "identity_account_owner",
|
|
109
|
-
docs: [
|
|
110
|
-
"to ensure that it is not an Investor account. If it is an Investor account,",
|
|
111
|
-
"CPI to IdentityMetadataRegistry should be called."
|
|
112
|
-
]
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: "system_program",
|
|
116
|
-
address: "11111111111111111111111111111111"
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
name: "policy_engine_program"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
name: "policy_engine",
|
|
123
|
-
writable: true
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
name: "tracker_account"
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
name: "asset_mint"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
name: "event_authority"
|
|
133
|
-
}
|
|
134
|
-
],
|
|
135
|
-
args: [
|
|
136
|
-
{
|
|
137
|
-
name: "level",
|
|
138
|
-
type: "u8"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
name: "expiry",
|
|
142
|
-
type: "i64"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
name: "enforce_limits",
|
|
146
|
-
type: "bool"
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
},
|
|
150
58
|
{
|
|
151
59
|
name: "add_levels",
|
|
152
60
|
discriminator: [
|
|
@@ -1250,6 +1158,12 @@ var instructions$1 = [
|
|
|
1250
1158
|
{
|
|
1251
1159
|
name: "identity_registry"
|
|
1252
1160
|
},
|
|
1161
|
+
{
|
|
1162
|
+
name: "token_account"
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
name: "asset_mint"
|
|
1166
|
+
},
|
|
1253
1167
|
{
|
|
1254
1168
|
name: "event_authority"
|
|
1255
1169
|
}
|
|
@@ -1471,63 +1385,6 @@ var instructions$1 = [
|
|
|
1471
1385
|
}
|
|
1472
1386
|
]
|
|
1473
1387
|
},
|
|
1474
|
-
{
|
|
1475
|
-
name: "refresh_level_to_identity_account",
|
|
1476
|
-
discriminator: [
|
|
1477
|
-
23,
|
|
1478
|
-
68,
|
|
1479
|
-
237,
|
|
1480
|
-
111,
|
|
1481
|
-
144,
|
|
1482
|
-
169,
|
|
1483
|
-
239,
|
|
1484
|
-
91
|
|
1485
|
-
],
|
|
1486
|
-
accounts: [
|
|
1487
|
-
{
|
|
1488
|
-
name: "payer",
|
|
1489
|
-
writable: true,
|
|
1490
|
-
signer: true
|
|
1491
|
-
},
|
|
1492
|
-
{
|
|
1493
|
-
name: "user",
|
|
1494
|
-
signer: true
|
|
1495
|
-
},
|
|
1496
|
-
{
|
|
1497
|
-
name: "controller_authority",
|
|
1498
|
-
relations: [
|
|
1499
|
-
"asset_access_controller"
|
|
1500
|
-
]
|
|
1501
|
-
},
|
|
1502
|
-
{
|
|
1503
|
-
name: "asset_access_controller",
|
|
1504
|
-
relations: [
|
|
1505
|
-
"authorized_user_role"
|
|
1506
|
-
]
|
|
1507
|
-
},
|
|
1508
|
-
{
|
|
1509
|
-
name: "authorized_user_role",
|
|
1510
|
-
optional: true
|
|
1511
|
-
},
|
|
1512
|
-
{
|
|
1513
|
-
name: "identity_registry_program",
|
|
1514
|
-
address: "GZsnjqT3c5zbHqsctrJ4EG4rbEfo7ZXyyUG7aDJNmxfA"
|
|
1515
|
-
},
|
|
1516
|
-
{
|
|
1517
|
-
name: "identity_registry"
|
|
1518
|
-
},
|
|
1519
|
-
{
|
|
1520
|
-
name: "identity_account",
|
|
1521
|
-
writable: true
|
|
1522
|
-
}
|
|
1523
|
-
],
|
|
1524
|
-
args: [
|
|
1525
|
-
{
|
|
1526
|
-
name: "cpi_data",
|
|
1527
|
-
type: "bytes"
|
|
1528
|
-
}
|
|
1529
|
-
]
|
|
1530
|
-
},
|
|
1531
1388
|
{
|
|
1532
1389
|
name: "register_investor",
|
|
1533
1390
|
discriminator: [
|
|
@@ -1753,90 +1610,6 @@ var instructions$1 = [
|
|
|
1753
1610
|
args: [
|
|
1754
1611
|
]
|
|
1755
1612
|
},
|
|
1756
|
-
{
|
|
1757
|
-
name: "remove_level_from_identity_account",
|
|
1758
|
-
discriminator: [
|
|
1759
|
-
194,
|
|
1760
|
-
231,
|
|
1761
|
-
187,
|
|
1762
|
-
54,
|
|
1763
|
-
197,
|
|
1764
|
-
136,
|
|
1765
|
-
170,
|
|
1766
|
-
55
|
|
1767
|
-
],
|
|
1768
|
-
accounts: [
|
|
1769
|
-
{
|
|
1770
|
-
name: "payer",
|
|
1771
|
-
writable: true,
|
|
1772
|
-
signer: true
|
|
1773
|
-
},
|
|
1774
|
-
{
|
|
1775
|
-
name: "user",
|
|
1776
|
-
signer: true
|
|
1777
|
-
},
|
|
1778
|
-
{
|
|
1779
|
-
name: "controller_authority",
|
|
1780
|
-
relations: [
|
|
1781
|
-
"asset_access_controller"
|
|
1782
|
-
]
|
|
1783
|
-
},
|
|
1784
|
-
{
|
|
1785
|
-
name: "asset_access_controller",
|
|
1786
|
-
relations: [
|
|
1787
|
-
"authorized_user_role"
|
|
1788
|
-
]
|
|
1789
|
-
},
|
|
1790
|
-
{
|
|
1791
|
-
name: "authorized_user_role",
|
|
1792
|
-
optional: true
|
|
1793
|
-
},
|
|
1794
|
-
{
|
|
1795
|
-
name: "identity_registry_program",
|
|
1796
|
-
address: "GZsnjqT3c5zbHqsctrJ4EG4rbEfo7ZXyyUG7aDJNmxfA"
|
|
1797
|
-
},
|
|
1798
|
-
{
|
|
1799
|
-
name: "identity_registry"
|
|
1800
|
-
},
|
|
1801
|
-
{
|
|
1802
|
-
name: "identity_account",
|
|
1803
|
-
writable: true
|
|
1804
|
-
},
|
|
1805
|
-
{
|
|
1806
|
-
name: "identity_account_owner",
|
|
1807
|
-
docs: [
|
|
1808
|
-
"to ensure that it is not an Investor account. If it is an Investor account,",
|
|
1809
|
-
"CPI to IdentityMetadataRegistry should be called."
|
|
1810
|
-
]
|
|
1811
|
-
},
|
|
1812
|
-
{
|
|
1813
|
-
name: "system_program",
|
|
1814
|
-
address: "11111111111111111111111111111111"
|
|
1815
|
-
},
|
|
1816
|
-
{
|
|
1817
|
-
name: "policy_engine_program"
|
|
1818
|
-
},
|
|
1819
|
-
{
|
|
1820
|
-
name: "policy_engine",
|
|
1821
|
-
writable: true
|
|
1822
|
-
},
|
|
1823
|
-
{
|
|
1824
|
-
name: "tracker_account"
|
|
1825
|
-
},
|
|
1826
|
-
{
|
|
1827
|
-
name: "asset_mint"
|
|
1828
|
-
},
|
|
1829
|
-
{
|
|
1830
|
-
name: "event_authority"
|
|
1831
|
-
}
|
|
1832
|
-
],
|
|
1833
|
-
args: [
|
|
1834
|
-
{
|
|
1835
|
-
name: "cpi_data",
|
|
1836
|
-
type: "bytes"
|
|
1837
|
-
}
|
|
1838
|
-
]
|
|
1839
|
-
},
|
|
1840
1613
|
{
|
|
1841
1614
|
name: "remove_levels",
|
|
1842
1615
|
discriminator: [
|
|
@@ -2286,6 +2059,41 @@ var instructions$1 = [
|
|
|
2286
2059
|
}
|
|
2287
2060
|
]
|
|
2288
2061
|
},
|
|
2062
|
+
{
|
|
2063
|
+
name: "set_lut_address",
|
|
2064
|
+
discriminator: [
|
|
2065
|
+
254,
|
|
2066
|
+
239,
|
|
2067
|
+
106,
|
|
2068
|
+
70,
|
|
2069
|
+
17,
|
|
2070
|
+
87,
|
|
2071
|
+
57,
|
|
2072
|
+
202
|
|
2073
|
+
],
|
|
2074
|
+
accounts: [
|
|
2075
|
+
{
|
|
2076
|
+
name: "user",
|
|
2077
|
+
signer: true
|
|
2078
|
+
},
|
|
2079
|
+
{
|
|
2080
|
+
name: "asset_access_controller",
|
|
2081
|
+
writable: true,
|
|
2082
|
+
relations: [
|
|
2083
|
+
"authorized_user_role"
|
|
2084
|
+
]
|
|
2085
|
+
},
|
|
2086
|
+
{
|
|
2087
|
+
name: "authorized_user_role",
|
|
2088
|
+
optional: true
|
|
2089
|
+
},
|
|
2090
|
+
{
|
|
2091
|
+
name: "lut_address"
|
|
2092
|
+
}
|
|
2093
|
+
],
|
|
2094
|
+
args: [
|
|
2095
|
+
]
|
|
2096
|
+
},
|
|
2289
2097
|
{
|
|
2290
2098
|
name: "thaw_token_account",
|
|
2291
2099
|
discriminator: [
|
|
@@ -2691,6 +2499,13 @@ var types$1 = [
|
|
|
2691
2499
|
"Number of UserRoles created since initialization. Used for deriving all created UserRole PDAs."
|
|
2692
2500
|
],
|
|
2693
2501
|
type: "u64"
|
|
2502
|
+
},
|
|
2503
|
+
{
|
|
2504
|
+
name: "lut_address",
|
|
2505
|
+
docs: [
|
|
2506
|
+
"Address of the lookup table."
|
|
2507
|
+
],
|
|
2508
|
+
type: "pubkey"
|
|
2694
2509
|
}
|
|
2695
2510
|
]
|
|
2696
2511
|
}
|
|
@@ -3723,7 +3538,8 @@ exports.AdminFlags = void 0;
|
|
|
3723
3538
|
AdminFlags[AdminFlags["MODIFY_USER_ROLE"] = 2] = "MODIFY_USER_ROLE";
|
|
3724
3539
|
AdminFlags[AdminFlags["ASSIGN_OR_REMOVE_ANY_USER_ROLE"] = 4] = "ASSIGN_OR_REMOVE_ANY_USER_ROLE";
|
|
3725
3540
|
AdminFlags[AdminFlags["ASSIGN_OR_REMOVE_CURRENT_ROLE"] = 8] = "ASSIGN_OR_REMOVE_CURRENT_ROLE";
|
|
3726
|
-
AdminFlags[AdminFlags["
|
|
3541
|
+
AdminFlags[AdminFlags["SET_LUT_ADDRESS"] = 16] = "SET_LUT_ADDRESS";
|
|
3542
|
+
AdminFlags[AdminFlags["ALL"] = 31] = "ALL";
|
|
3727
3543
|
})(exports.AdminFlags || (exports.AdminFlags = {}));
|
|
3728
3544
|
exports.MediciFlags = void 0;
|
|
3729
3545
|
(function (MediciFlags) {
|
|
@@ -3890,16 +3706,6 @@ class AssetController {
|
|
|
3890
3706
|
.instruction();
|
|
3891
3707
|
});
|
|
3892
3708
|
}
|
|
3893
|
-
/**
|
|
3894
|
-
* Asynchronously generates instructions to revoke assets.
|
|
3895
|
-
* @param args - {@link VoidTokensArgs}
|
|
3896
|
-
* @returns A Promise that resolves to the instructions to revoke assets.
|
|
3897
|
-
*/
|
|
3898
|
-
voidTokenIxns(args) {
|
|
3899
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
3900
|
-
return this.rwaClient.assetController.voidTokenIxns(args);
|
|
3901
|
-
});
|
|
3902
|
-
}
|
|
3903
3709
|
/**
|
|
3904
3710
|
* Executes a token transfer.
|
|
3905
3711
|
* @param args - {@link TransferTokensArgs}
|
|
@@ -3970,13 +3776,13 @@ class AssetController {
|
|
|
3970
3776
|
/**
|
|
3971
3777
|
* Asynchronously generates instructions to revoke tokens from a user.
|
|
3972
3778
|
* @param args - {@link RevokeTokensArgs}
|
|
3973
|
-
* @param payer - Payer public key.
|
|
3974
3779
|
* @param signer - User signer public key.
|
|
3975
3780
|
* @param assetAccessController - RBAC AssetAccessController account.
|
|
3781
|
+
* @param investorId - Optional investorId. Required if user is not an investor.
|
|
3976
3782
|
* @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
|
|
3977
3783
|
* @returns A Promise that resolves to the instructions to revoke.
|
|
3978
3784
|
*/
|
|
3979
|
-
revokeTokenIxn(args,
|
|
3785
|
+
revokeTokenIxn(args, signer, assetAccessController, investorId, authorizedUserRole) {
|
|
3980
3786
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3981
3787
|
if (!args.wallet) {
|
|
3982
3788
|
throw new Error("Use wallet arg for wallet to revoke tokens from.");
|
|
@@ -3985,7 +3791,7 @@ class AssetController {
|
|
|
3985
3791
|
args.owner = args.wallet;
|
|
3986
3792
|
const revokeIx = yield rwaTokenSdk.getRevokeTokensIx(args, this.rwaClient.provider);
|
|
3987
3793
|
const identityRegistry = rwaTokenSdk.getIdentityRegistryPda(args.assetMint);
|
|
3988
|
-
const investorPda = deriveInvestorPda(investorId, identityRegistry);
|
|
3794
|
+
const investorPda = investorId ? deriveInvestorPda(investorId, identityRegistry) : null;
|
|
3989
3795
|
const ixData = revokeIx.data;
|
|
3990
3796
|
const assetController = rwaTokenSdk.getAssetControllerPda(args.assetMint);
|
|
3991
3797
|
const revokeTokenAccount = splToken.getAssociatedTokenAddressSync(new web3_js.PublicKey(args.assetMint), new web3_js.PublicKey(args.wallet), false, splToken.TOKEN_2022_PROGRAM_ID);
|
|
@@ -4001,8 +3807,8 @@ class AssetController {
|
|
|
4001
3807
|
assetController,
|
|
4002
3808
|
revokeTokenAccount,
|
|
4003
3809
|
identityRegistry,
|
|
4004
|
-
identityAccount: rwaTokenSdk.getIdentityAccountPda(args.assetMint, investorPda.toString()),
|
|
4005
|
-
trackerAccount: rwaTokenSdk.getTrackerAccountPda(args.assetMint, investorPda.toString()),
|
|
3810
|
+
identityAccount: rwaTokenSdk.getIdentityAccountPda(args.assetMint, investorId ? investorPda.toString() : args.owner),
|
|
3811
|
+
trackerAccount: rwaTokenSdk.getTrackerAccountPda(args.assetMint, investorId ? investorPda.toString() : args.owner),
|
|
4006
3812
|
policyEngineProgram: rwaTokenSdk.policyEngineProgramId,
|
|
4007
3813
|
policyEngine: rwaTokenSdk.getPolicyEnginePda(args.assetMint),
|
|
4008
3814
|
walletIdentityAccount: rwaTokenSdk.getWalletIdentityAccountPda(args.assetMint, args.wallet),
|
|
@@ -4490,112 +4296,6 @@ class IdentityRegistry {
|
|
|
4490
4296
|
return returnIx;
|
|
4491
4297
|
});
|
|
4492
4298
|
}
|
|
4493
|
-
/**
|
|
4494
|
-
* Asynchronously update a non-investor user identity account level.
|
|
4495
|
-
* @param args - {@link AddLevelToIdentityAccountArgs}
|
|
4496
|
-
* @param assetAccessController - RBAC AssetAccessController account.
|
|
4497
|
-
* @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
|
|
4498
|
-
* @returns A Promise that resolves to the instructions to update user account identity.
|
|
4499
|
-
* */
|
|
4500
|
-
addIdentityLevelToUserAccount(args, assetAccessController, authorizedUserRole) {
|
|
4501
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
4502
|
-
var _a;
|
|
4503
|
-
const identityAccount = rwaTokenSdk.getIdentityAccountPda(args.assetMint, args.owner);
|
|
4504
|
-
const controllerAuthority = deriveControllerAuthorityPda(assetAccessController);
|
|
4505
|
-
return this.rbacProgram.methods
|
|
4506
|
-
.addLevelToIdentityAccount(args.levels[0], args.expiries[0], (_a = args.ignorePolicy) !== null && _a !== void 0 ? _a : false)
|
|
4507
|
-
.accountsStrict({
|
|
4508
|
-
payer: args.payer,
|
|
4509
|
-
user: args.signer,
|
|
4510
|
-
controllerAuthority,
|
|
4511
|
-
assetAccessController,
|
|
4512
|
-
authorizedUserRole: authorizedUserRole || null,
|
|
4513
|
-
identityRegistryProgram: rwaTokenSdk.identityRegistryProgramId,
|
|
4514
|
-
identityRegistry: rwaTokenSdk.getIdentityRegistryPda(args.assetMint),
|
|
4515
|
-
identityAccount,
|
|
4516
|
-
identityAccountOwner: args.owner,
|
|
4517
|
-
systemProgram: web3_js.SystemProgram.programId,
|
|
4518
|
-
policyEngineProgram: rwaTokenSdk.policyEngineProgramId,
|
|
4519
|
-
policyEngine: rwaTokenSdk.getPolicyEnginePda(args.assetMint),
|
|
4520
|
-
trackerAccount: rwaTokenSdk.getTrackerAccountPda(args.assetMint, args.owner),
|
|
4521
|
-
assetMint: args.assetMint,
|
|
4522
|
-
eventAuthority: rwaTokenSdk.getIdentityRegistryEventAuthority(),
|
|
4523
|
-
})
|
|
4524
|
-
.instruction();
|
|
4525
|
-
});
|
|
4526
|
-
}
|
|
4527
|
-
/**
|
|
4528
|
-
* Asynchronously reduces a non-Investor user identity account level.
|
|
4529
|
-
* @param args - {@link RemoveLevelFromIdentityAccount}
|
|
4530
|
-
* @param assetAccessController - RBAC AssetAccessController account.
|
|
4531
|
-
* @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
|
|
4532
|
-
* @returns A Promise that resolves to the instructions to reduce the level of a user identity account.
|
|
4533
|
-
*/
|
|
4534
|
-
removeIdentityLevelFromUserAccount(args, assetAccessController, authorizedUserRole) {
|
|
4535
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
4536
|
-
const removeLevelIx = yield rwaTokenSdk.getRemoveLevelFromIdentityAccount(args, this.rwaClient.provider);
|
|
4537
|
-
const ixData = removeLevelIx.data;
|
|
4538
|
-
const controllerAuthority = deriveControllerAuthorityPda(assetAccessController);
|
|
4539
|
-
const identityAccount = rwaTokenSdk.getIdentityAccountPda(args.assetMint, args.owner);
|
|
4540
|
-
return this.rbacProgram.methods
|
|
4541
|
-
.removeLevelFromIdentityAccount(ixData)
|
|
4542
|
-
.accountsStrict({
|
|
4543
|
-
payer: args.payer,
|
|
4544
|
-
user: args.signer,
|
|
4545
|
-
controllerAuthority,
|
|
4546
|
-
assetAccessController,
|
|
4547
|
-
authorizedUserRole: authorizedUserRole || null,
|
|
4548
|
-
identityRegistryProgram: rwaTokenSdk.identityRegistryProgramId,
|
|
4549
|
-
identityRegistry: rwaTokenSdk.getIdentityRegistryPda(args.assetMint),
|
|
4550
|
-
identityAccount,
|
|
4551
|
-
identityAccountOwner: args.owner,
|
|
4552
|
-
systemProgram: web3_js.SystemProgram.programId,
|
|
4553
|
-
policyEngineProgram: rwaTokenSdk.policyEngineProgramId,
|
|
4554
|
-
policyEngine: rwaTokenSdk.getPolicyEnginePda(args.assetMint),
|
|
4555
|
-
trackerAccount: rwaTokenSdk.getTrackerAccountPda(args.assetMint, args.owner),
|
|
4556
|
-
assetMint: args.assetMint,
|
|
4557
|
-
eventAuthority: rwaTokenSdk.getIdentityRegistryEventAuthority(),
|
|
4558
|
-
})
|
|
4559
|
-
.instruction();
|
|
4560
|
-
});
|
|
4561
|
-
}
|
|
4562
|
-
/**
|
|
4563
|
-
* Asynchronously generates instruction to refresh expiry on an Identity Account level.
|
|
4564
|
-
* @param args - {@link RefreshLevelArgs}
|
|
4565
|
-
* @param assetAccessController - RBAC AssetAccessController account.
|
|
4566
|
-
* @param authorizedUserRole - Optional UserRole account. Required if user is not an admin.
|
|
4567
|
-
* @returns A Promise that resolves to refresh expiry on an Identity Account level.
|
|
4568
|
-
* */
|
|
4569
|
-
refreshLevelToIdentityAccountIxn(args, assetAccessController, authorizedUserRole) {
|
|
4570
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
4571
|
-
const identityProgram = rwaTokenSdk.getIdentityRegistryProgram(this.rwaClient.provider);
|
|
4572
|
-
const identityRegistry = rwaTokenSdk.getIdentityRegistryPda(args.assetMint);
|
|
4573
|
-
const identityAccount = rwaTokenSdk.getIdentityAccountPda(args.assetMint, args.owner);
|
|
4574
|
-
const controllerAuthority = deriveControllerAuthorityPda(assetAccessController);
|
|
4575
|
-
const refreshIx = yield identityProgram.methods
|
|
4576
|
-
.refreshLevelToIdentityAccount(args.level, args.expiry)
|
|
4577
|
-
.accountsStrict({
|
|
4578
|
-
payer: args.payer,
|
|
4579
|
-
signer: controllerAuthority,
|
|
4580
|
-
identityRegistry,
|
|
4581
|
-
identityAccount,
|
|
4582
|
-
})
|
|
4583
|
-
.instruction();
|
|
4584
|
-
return this.rbacProgram.methods
|
|
4585
|
-
.refreshLevelToIdentityAccount(refreshIx.data)
|
|
4586
|
-
.accountsStrict({
|
|
4587
|
-
payer: args.payer,
|
|
4588
|
-
user: args.signer,
|
|
4589
|
-
controllerAuthority,
|
|
4590
|
-
assetAccessController,
|
|
4591
|
-
authorizedUserRole: authorizedUserRole || null,
|
|
4592
|
-
identityRegistryProgram: rwaTokenSdk.identityRegistryProgramId,
|
|
4593
|
-
identityRegistry,
|
|
4594
|
-
identityAccount,
|
|
4595
|
-
})
|
|
4596
|
-
.instruction();
|
|
4597
|
-
});
|
|
4598
|
-
}
|
|
4599
4299
|
/**
|
|
4600
4300
|
* Asynchronously generates instruction to attach wallet to identity.
|
|
4601
4301
|
* @param args - {@link AttachDetachWalletArgs}
|
|
@@ -4658,6 +4358,7 @@ class IdentityRegistry {
|
|
|
4658
4358
|
const identityRegistry = rwaTokenSdk.getIdentityRegistryPda(args.assetMint);
|
|
4659
4359
|
const identityAccount = rwaTokenSdk.getIdentityAccountPda(args.assetMint, args.owner);
|
|
4660
4360
|
const walletIdentity = rwaTokenSdk.getWalletIdentityAccountPda(args.assetMint, args.wallet.toString());
|
|
4361
|
+
const tokenAccount = splToken.getAssociatedTokenAddressSync(new web3_js.PublicKey(args.assetMint), new web3_js.PublicKey(args.wallet), false, splToken.TOKEN_2022_PROGRAM_ID);
|
|
4661
4362
|
const ix = yield identityProgram.methods
|
|
4662
4363
|
.detachWalletFromIdentity()
|
|
4663
4364
|
.accountsStrict({
|
|
@@ -4668,6 +4369,8 @@ class IdentityRegistry {
|
|
|
4668
4369
|
identityRegistry,
|
|
4669
4370
|
eventAuthority: rwaTokenSdk.getIdentityRegistryEventAuthority(),
|
|
4670
4371
|
program: rwaTokenSdk.identityRegistryProgramId,
|
|
4372
|
+
tokenAccount: tokenAccount,
|
|
4373
|
+
assetMint: args.assetMint,
|
|
4671
4374
|
})
|
|
4672
4375
|
.instruction();
|
|
4673
4376
|
return this.rbacProgram.methods
|
|
@@ -4683,6 +4386,8 @@ class IdentityRegistry {
|
|
|
4683
4386
|
identityAccount,
|
|
4684
4387
|
identityRegistry,
|
|
4685
4388
|
eventAuthority: rwaTokenSdk.getIdentityRegistryEventAuthority(),
|
|
4389
|
+
tokenAccount: tokenAccount,
|
|
4390
|
+
assetMint: args.assetMint,
|
|
4686
4391
|
})
|
|
4687
4392
|
.instruction();
|
|
4688
4393
|
});
|
|
@@ -5222,6 +4927,24 @@ class RwaRbacClient {
|
|
|
5222
4927
|
.instruction();
|
|
5223
4928
|
});
|
|
5224
4929
|
}
|
|
4930
|
+
/**
|
|
4931
|
+
* Asynchronously generates instruction to set lookup table address field in the AssetAccessController.
|
|
4932
|
+
* @param args - {@link SetLookuptableAddressArgs}
|
|
4933
|
+
* @returns A Promise that resolves to the instruction to set lookup table address.
|
|
4934
|
+
*/
|
|
4935
|
+
setLookuptableAddressIxn(args) {
|
|
4936
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
4937
|
+
return this.rbacProgram.methods
|
|
4938
|
+
.setLutAddress()
|
|
4939
|
+
.accountsStrict({
|
|
4940
|
+
user: args.signer,
|
|
4941
|
+
assetAccessController: args.assetAccessController,
|
|
4942
|
+
authorizedUserRole: args.authorizedUserRole || null,
|
|
4943
|
+
lutAddress: args.lutAddress,
|
|
4944
|
+
})
|
|
4945
|
+
.instruction();
|
|
4946
|
+
});
|
|
4947
|
+
}
|
|
5225
4948
|
}
|
|
5226
4949
|
|
|
5227
4950
|
/**
|
package/dist/types/flags.d.ts
CHANGED
|
@@ -1 +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,uBAAuB,aAAU;IACjC,GAAG,aAA4B;CAChC"}
|
|
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,eAAe,KAAS;IACxB,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,uBAAuB,aAAU;IACjC,GAAG,aAA4B;CAChC"}
|