@reflectmoney/junior 1.0.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.
Files changed (122) hide show
  1. package/README.md +119 -0
  2. package/dist/classes/JuniorTranche.d.ts +201 -0
  3. package/dist/classes/JuniorTranche.js +709 -0
  4. package/dist/classes/PdaClient.d.ts +20 -0
  5. package/dist/classes/PdaClient.js +68 -0
  6. package/dist/classes/index.d.ts +2 -0
  7. package/dist/classes/index.js +18 -0
  8. package/dist/constants/index.d.ts +22 -0
  9. package/dist/constants/index.js +25 -0
  10. package/dist/generated/accounts/asset.d.ts +38 -0
  11. package/dist/generated/accounts/asset.js +74 -0
  12. package/dist/generated/accounts/cooldown.d.ts +40 -0
  13. package/dist/generated/accounts/cooldown.js +79 -0
  14. package/dist/generated/accounts/index.d.ts +12 -0
  15. package/dist/generated/accounts/index.js +28 -0
  16. package/dist/generated/accounts/liquidityPool.d.ts +57 -0
  17. package/dist/generated/accounts/liquidityPool.js +81 -0
  18. package/dist/generated/accounts/settings.d.ts +41 -0
  19. package/dist/generated/accounts/settings.js +80 -0
  20. package/dist/generated/accounts/userPermissions.d.ts +34 -0
  21. package/dist/generated/accounts/userPermissions.js +70 -0
  22. package/dist/generated/errors/index.d.ts +8 -0
  23. package/dist/generated/errors/index.js +24 -0
  24. package/dist/generated/errors/rlp.d.ts +131 -0
  25. package/dist/generated/errors/rlp.js +197 -0
  26. package/dist/generated/index.d.ts +12 -0
  27. package/dist/generated/index.js +28 -0
  28. package/dist/generated/instructions/addAsset.d.ts +80 -0
  29. package/dist/generated/instructions/addAsset.js +188 -0
  30. package/dist/generated/instructions/createPermissionAccount.d.ts +67 -0
  31. package/dist/generated/instructions/createPermissionAccount.js +166 -0
  32. package/dist/generated/instructions/deposit.d.ts +115 -0
  33. package/dist/generated/instructions/deposit.js +294 -0
  34. package/dist/generated/instructions/forceRemoveAsset.d.ts +82 -0
  35. package/dist/generated/instructions/forceRemoveAsset.js +186 -0
  36. package/dist/generated/instructions/freezeFunctionality.d.ts +72 -0
  37. package/dist/generated/instructions/freezeFunctionality.js +175 -0
  38. package/dist/generated/instructions/index.d.ts +23 -0
  39. package/dist/generated/instructions/index.js +39 -0
  40. package/dist/generated/instructions/initializeLp.d.ts +99 -0
  41. package/dist/generated/instructions/initializeLp.js +230 -0
  42. package/dist/generated/instructions/initializePoolReserve.d.ts +83 -0
  43. package/dist/generated/instructions/initializePoolReserve.js +228 -0
  44. package/dist/generated/instructions/initializeRlp.d.ts +67 -0
  45. package/dist/generated/instructions/initializeRlp.js +163 -0
  46. package/dist/generated/instructions/requestWithdrawal.d.ts +99 -0
  47. package/dist/generated/instructions/requestWithdrawal.js +254 -0
  48. package/dist/generated/instructions/slash.d.ts +151 -0
  49. package/dist/generated/instructions/slash.js +212 -0
  50. package/dist/generated/instructions/swap.d.ts +119 -0
  51. package/dist/generated/instructions/swap.js +309 -0
  52. package/dist/generated/instructions/updateActionRole.d.ts +76 -0
  53. package/dist/generated/instructions/updateActionRole.js +174 -0
  54. package/dist/generated/instructions/updateDepositCap.d.ts +71 -0
  55. package/dist/generated/instructions/updateDepositCap.js +156 -0
  56. package/dist/generated/instructions/updateOracle.d.ts +66 -0
  57. package/dist/generated/instructions/updateOracle.js +151 -0
  58. package/dist/generated/instructions/updateRoleHolder.d.ts +80 -0
  59. package/dist/generated/instructions/updateRoleHolder.js +185 -0
  60. package/dist/generated/instructions/withdraw.d.ts +95 -0
  61. package/dist/generated/instructions/withdraw.js +235 -0
  62. package/dist/generated/programs/index.d.ts +8 -0
  63. package/dist/generated/programs/index.js +24 -0
  64. package/dist/generated/programs/rlp.d.ts +75 -0
  65. package/dist/generated/programs/rlp.js +233 -0
  66. package/dist/generated/shared/index.d.ts +49 -0
  67. package/dist/generated/shared/index.js +94 -0
  68. package/dist/generated/types/accessControl.d.ts +20 -0
  69. package/dist/generated/types/accessControl.js +29 -0
  70. package/dist/generated/types/accessLevel.d.ts +16 -0
  71. package/dist/generated/types/accessLevel.js +28 -0
  72. package/dist/generated/types/accessMap.d.ts +20 -0
  73. package/dist/generated/types/accessMap.js +35 -0
  74. package/dist/generated/types/action.d.ts +32 -0
  75. package/dist/generated/types/action.js +44 -0
  76. package/dist/generated/types/actionMapping.d.ts +22 -0
  77. package/dist/generated/types/actionMapping.js +31 -0
  78. package/dist/generated/types/addAssetEvent.d.ts +17 -0
  79. package/dist/generated/types/addAssetEvent.js +30 -0
  80. package/dist/generated/types/createPermissionAccountEvent.d.ts +16 -0
  81. package/dist/generated/types/createPermissionAccountEvent.js +28 -0
  82. package/dist/generated/types/depositEvent.d.ts +27 -0
  83. package/dist/generated/types/depositEvent.js +36 -0
  84. package/dist/generated/types/depositRewardEvent.d.ts +21 -0
  85. package/dist/generated/types/depositRewardEvent.js +30 -0
  86. package/dist/generated/types/forceRemoveAssetEvent.d.ts +18 -0
  87. package/dist/generated/types/forceRemoveAssetEvent.js +32 -0
  88. package/dist/generated/types/freezeProtocolActionEvent.d.ts +20 -0
  89. package/dist/generated/types/freezeProtocolActionEvent.js +29 -0
  90. package/dist/generated/types/index.d.ts +32 -0
  91. package/dist/generated/types/index.js +48 -0
  92. package/dist/generated/types/initializeLiquidityPoolEvent.d.ts +17 -0
  93. package/dist/generated/types/initializeLiquidityPoolEvent.js +30 -0
  94. package/dist/generated/types/initializeRlpEvent.d.ts +15 -0
  95. package/dist/generated/types/initializeRlpEvent.js +22 -0
  96. package/dist/generated/types/killSwitch.d.ts +15 -0
  97. package/dist/generated/types/killSwitch.js +22 -0
  98. package/dist/generated/types/levelRoles.d.ts +18 -0
  99. package/dist/generated/types/levelRoles.js +23 -0
  100. package/dist/generated/types/oracle.d.ts +25 -0
  101. package/dist/generated/types/oracle.js +56 -0
  102. package/dist/generated/types/requestWithdrawEvent.d.ts +21 -0
  103. package/dist/generated/types/requestWithdrawEvent.js +30 -0
  104. package/dist/generated/types/role.d.ts +21 -0
  105. package/dist/generated/types/role.js +33 -0
  106. package/dist/generated/types/slashEvent.d.ts +27 -0
  107. package/dist/generated/types/slashEvent.js +36 -0
  108. package/dist/generated/types/swapEvent.d.ts +23 -0
  109. package/dist/generated/types/swapEvent.js +32 -0
  110. package/dist/generated/types/update.d.ts +16 -0
  111. package/dist/generated/types/update.js +28 -0
  112. package/dist/generated/types/updateActionRoleEvent.d.ts +22 -0
  113. package/dist/generated/types/updateActionRoleEvent.js +31 -0
  114. package/dist/generated/types/updateDepositCapEvent.d.ts +21 -0
  115. package/dist/generated/types/updateDepositCapEvent.js +30 -0
  116. package/dist/generated/types/updateOracleEvent.d.ts +18 -0
  117. package/dist/generated/types/updateOracleEvent.js +32 -0
  118. package/dist/generated/types/updateRoleHolderEvent.d.ts +22 -0
  119. package/dist/generated/types/updateRoleHolderEvent.js +31 -0
  120. package/dist/index.d.ts +3 -0
  121. package/dist/index.js +19 -0
  122. package/package.json +41 -0
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ /**
3
+ * This code was AUTOGENERATED using the Codama library.
4
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5
+ * to add features, then rerun Codama to update it.
6
+ *
7
+ * @see https://github.com/codama-idl/codama
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.DEPOSIT_DISCRIMINATOR = void 0;
11
+ exports.getDepositDiscriminatorBytes = getDepositDiscriminatorBytes;
12
+ exports.getDepositInstructionDataEncoder = getDepositInstructionDataEncoder;
13
+ exports.getDepositInstructionDataDecoder = getDepositInstructionDataDecoder;
14
+ exports.getDepositInstructionDataCodec = getDepositInstructionDataCodec;
15
+ exports.getDepositInstructionAsync = getDepositInstructionAsync;
16
+ exports.getDepositInstruction = getDepositInstruction;
17
+ exports.parseDepositInstruction = parseDepositInstruction;
18
+ const kit_1 = require("@solana/kit");
19
+ const programs_1 = require("../programs");
20
+ const shared_1 = require("../shared");
21
+ exports.DEPOSIT_DISCRIMINATOR = new Uint8Array([
22
+ 242, 35, 198, 137, 82, 225, 242, 182,
23
+ ]);
24
+ function getDepositDiscriminatorBytes() {
25
+ return (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8).encode(exports.DEPOSIT_DISCRIMINATOR);
26
+ }
27
+ function getDepositInstructionDataEncoder() {
28
+ return (0, kit_1.transformEncoder)((0, kit_1.getStructEncoder)([
29
+ ["discriminator", (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8)],
30
+ ["liquidityPoolIndex", (0, kit_1.getU8Encoder)()],
31
+ ["amount", (0, kit_1.getU64Encoder)()],
32
+ ["minLpTokens", (0, kit_1.getU64Encoder)()],
33
+ ]), (value) => ({ ...value, discriminator: exports.DEPOSIT_DISCRIMINATOR }));
34
+ }
35
+ function getDepositInstructionDataDecoder() {
36
+ return (0, kit_1.getStructDecoder)([
37
+ ["discriminator", (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 8)],
38
+ ["liquidityPoolIndex", (0, kit_1.getU8Decoder)()],
39
+ ["amount", (0, kit_1.getU64Decoder)()],
40
+ ["minLpTokens", (0, kit_1.getU64Decoder)()],
41
+ ]);
42
+ }
43
+ function getDepositInstructionDataCodec() {
44
+ return (0, kit_1.combineCodec)(getDepositInstructionDataEncoder(), getDepositInstructionDataDecoder());
45
+ }
46
+ async function getDepositInstructionAsync(input, config) {
47
+ // Program address.
48
+ const programAddress = config?.programAddress ?? programs_1.RLP_PROGRAM_ADDRESS;
49
+ // Original accounts.
50
+ const originalAccounts = {
51
+ signer: { value: input.signer ?? null, isWritable: true },
52
+ settings: { value: input.settings ?? null, isWritable: false },
53
+ permissions: { value: input.permissions ?? null, isWritable: false },
54
+ liquidityPool: { value: input.liquidityPool ?? null, isWritable: false },
55
+ lpToken: { value: input.lpToken ?? null, isWritable: true },
56
+ userLpAccount: { value: input.userLpAccount ?? null, isWritable: true },
57
+ asset: { value: input.asset ?? null, isWritable: false },
58
+ assetMint: { value: input.assetMint ?? null, isWritable: true },
59
+ userAssetAccount: {
60
+ value: input.userAssetAccount ?? null,
61
+ isWritable: true,
62
+ },
63
+ poolAssetAccount: {
64
+ value: input.poolAssetAccount ?? null,
65
+ isWritable: true,
66
+ },
67
+ oracle: { value: input.oracle ?? null, isWritable: false },
68
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
69
+ associatedTokenProgram: {
70
+ value: input.associatedTokenProgram ?? null,
71
+ isWritable: false,
72
+ },
73
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
74
+ eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
75
+ program: { value: input.program ?? null, isWritable: false },
76
+ };
77
+ const accounts = originalAccounts;
78
+ // Original args.
79
+ const args = { ...input };
80
+ // Resolve default values.
81
+ if (!accounts.settings.value) {
82
+ accounts.settings.value = await (0, kit_1.getProgramDerivedAddress)({
83
+ programAddress,
84
+ seeds: [
85
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([115, 101, 116, 116, 105, 110, 103, 115])),
86
+ ],
87
+ });
88
+ }
89
+ if (!accounts.permissions.value) {
90
+ accounts.permissions.value = await (0, kit_1.getProgramDerivedAddress)({
91
+ programAddress,
92
+ seeds: [
93
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
94
+ 112, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115,
95
+ ])),
96
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.signer.value)),
97
+ ],
98
+ });
99
+ }
100
+ if (!accounts.userLpAccount.value) {
101
+ accounts.userLpAccount.value = await (0, kit_1.getProgramDerivedAddress)({
102
+ programAddress: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
103
+ seeds: [
104
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.signer.value)),
105
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
106
+ 6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235,
107
+ 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133,
108
+ 126, 255, 0, 169,
109
+ ])),
110
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.lpToken.value)),
111
+ ],
112
+ });
113
+ }
114
+ if (!accounts.asset.value) {
115
+ accounts.asset.value = await (0, kit_1.getProgramDerivedAddress)({
116
+ programAddress,
117
+ seeds: [
118
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([97, 115, 115, 101, 116])),
119
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.assetMint.value)),
120
+ ],
121
+ });
122
+ }
123
+ if (!accounts.poolAssetAccount.value) {
124
+ accounts.poolAssetAccount.value = await (0, kit_1.getProgramDerivedAddress)({
125
+ programAddress: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
126
+ seeds: [
127
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.liquidityPool.value)),
128
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
129
+ 6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235,
130
+ 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133,
131
+ 126, 255, 0, 169,
132
+ ])),
133
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.assetMint.value)),
134
+ ],
135
+ });
136
+ }
137
+ if (!accounts.tokenProgram.value) {
138
+ accounts.tokenProgram.value =
139
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
140
+ }
141
+ if (!accounts.associatedTokenProgram.value) {
142
+ accounts.associatedTokenProgram.value =
143
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
144
+ }
145
+ if (!accounts.systemProgram.value) {
146
+ accounts.systemProgram.value =
147
+ "11111111111111111111111111111111";
148
+ }
149
+ if (!accounts.eventAuthority.value) {
150
+ accounts.eventAuthority.value = await (0, kit_1.getProgramDerivedAddress)({
151
+ programAddress,
152
+ seeds: [
153
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
154
+ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114,
155
+ 105, 116, 121,
156
+ ])),
157
+ ],
158
+ });
159
+ }
160
+ const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, "programId");
161
+ return Object.freeze({
162
+ accounts: [
163
+ getAccountMeta(accounts.signer),
164
+ getAccountMeta(accounts.settings),
165
+ getAccountMeta(accounts.permissions),
166
+ getAccountMeta(accounts.liquidityPool),
167
+ getAccountMeta(accounts.lpToken),
168
+ getAccountMeta(accounts.userLpAccount),
169
+ getAccountMeta(accounts.asset),
170
+ getAccountMeta(accounts.assetMint),
171
+ getAccountMeta(accounts.userAssetAccount),
172
+ getAccountMeta(accounts.poolAssetAccount),
173
+ getAccountMeta(accounts.oracle),
174
+ getAccountMeta(accounts.tokenProgram),
175
+ getAccountMeta(accounts.associatedTokenProgram),
176
+ getAccountMeta(accounts.systemProgram),
177
+ getAccountMeta(accounts.eventAuthority),
178
+ getAccountMeta(accounts.program),
179
+ ],
180
+ data: getDepositInstructionDataEncoder().encode(args),
181
+ programAddress,
182
+ });
183
+ }
184
+ function getDepositInstruction(input, config) {
185
+ // Program address.
186
+ const programAddress = config?.programAddress ?? programs_1.RLP_PROGRAM_ADDRESS;
187
+ // Original accounts.
188
+ const originalAccounts = {
189
+ signer: { value: input.signer ?? null, isWritable: true },
190
+ settings: { value: input.settings ?? null, isWritable: false },
191
+ permissions: { value: input.permissions ?? null, isWritable: false },
192
+ liquidityPool: { value: input.liquidityPool ?? null, isWritable: false },
193
+ lpToken: { value: input.lpToken ?? null, isWritable: true },
194
+ userLpAccount: { value: input.userLpAccount ?? null, isWritable: true },
195
+ asset: { value: input.asset ?? null, isWritable: false },
196
+ assetMint: { value: input.assetMint ?? null, isWritable: true },
197
+ userAssetAccount: {
198
+ value: input.userAssetAccount ?? null,
199
+ isWritable: true,
200
+ },
201
+ poolAssetAccount: {
202
+ value: input.poolAssetAccount ?? null,
203
+ isWritable: true,
204
+ },
205
+ oracle: { value: input.oracle ?? null, isWritable: false },
206
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
207
+ associatedTokenProgram: {
208
+ value: input.associatedTokenProgram ?? null,
209
+ isWritable: false,
210
+ },
211
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
212
+ eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
213
+ program: { value: input.program ?? null, isWritable: false },
214
+ };
215
+ const accounts = originalAccounts;
216
+ // Original args.
217
+ const args = { ...input };
218
+ // Resolve default values.
219
+ if (!accounts.tokenProgram.value) {
220
+ accounts.tokenProgram.value =
221
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
222
+ }
223
+ if (!accounts.associatedTokenProgram.value) {
224
+ accounts.associatedTokenProgram.value =
225
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
226
+ }
227
+ if (!accounts.systemProgram.value) {
228
+ accounts.systemProgram.value =
229
+ "11111111111111111111111111111111";
230
+ }
231
+ const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, "programId");
232
+ return Object.freeze({
233
+ accounts: [
234
+ getAccountMeta(accounts.signer),
235
+ getAccountMeta(accounts.settings),
236
+ getAccountMeta(accounts.permissions),
237
+ getAccountMeta(accounts.liquidityPool),
238
+ getAccountMeta(accounts.lpToken),
239
+ getAccountMeta(accounts.userLpAccount),
240
+ getAccountMeta(accounts.asset),
241
+ getAccountMeta(accounts.assetMint),
242
+ getAccountMeta(accounts.userAssetAccount),
243
+ getAccountMeta(accounts.poolAssetAccount),
244
+ getAccountMeta(accounts.oracle),
245
+ getAccountMeta(accounts.tokenProgram),
246
+ getAccountMeta(accounts.associatedTokenProgram),
247
+ getAccountMeta(accounts.systemProgram),
248
+ getAccountMeta(accounts.eventAuthority),
249
+ getAccountMeta(accounts.program),
250
+ ],
251
+ data: getDepositInstructionDataEncoder().encode(args),
252
+ programAddress,
253
+ });
254
+ }
255
+ function parseDepositInstruction(instruction) {
256
+ if (instruction.accounts.length < 16) {
257
+ // TODO: Coded error.
258
+ throw new Error("Not enough accounts");
259
+ }
260
+ let accountIndex = 0;
261
+ const getNextAccount = () => {
262
+ const accountMeta = instruction.accounts[accountIndex];
263
+ accountIndex += 1;
264
+ return accountMeta;
265
+ };
266
+ const getNextOptionalAccount = () => {
267
+ const accountMeta = getNextAccount();
268
+ return accountMeta.address === programs_1.RLP_PROGRAM_ADDRESS
269
+ ? undefined
270
+ : accountMeta;
271
+ };
272
+ return {
273
+ programAddress: instruction.programAddress,
274
+ accounts: {
275
+ signer: getNextAccount(),
276
+ settings: getNextAccount(),
277
+ permissions: getNextOptionalAccount(),
278
+ liquidityPool: getNextAccount(),
279
+ lpToken: getNextAccount(),
280
+ userLpAccount: getNextAccount(),
281
+ asset: getNextAccount(),
282
+ assetMint: getNextAccount(),
283
+ userAssetAccount: getNextAccount(),
284
+ poolAssetAccount: getNextAccount(),
285
+ oracle: getNextAccount(),
286
+ tokenProgram: getNextAccount(),
287
+ associatedTokenProgram: getNextAccount(),
288
+ systemProgram: getNextAccount(),
289
+ eventAuthority: getNextAccount(),
290
+ program: getNextAccount(),
291
+ },
292
+ data: getDepositInstructionDataDecoder().decode(instruction.data),
293
+ };
294
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from "@solana/kit";
9
+ import { RLP_PROGRAM_ADDRESS } from "../programs";
10
+ export declare const FORCE_REMOVE_ASSET_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getForceRemoveAssetDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
12
+ export type ForceRemoveAssetInstruction<TProgram extends string = typeof RLP_PROGRAM_ADDRESS, TAccountSigner extends string | AccountMeta<string> = string, TAccountPermissions extends string | AccountMeta<string> = string, TAccountSettings extends string | AccountMeta<string> = string, TAccountLiquidityPool extends string | AccountMeta<string> = string, TAccountAsset extends string | AccountMeta<string> = string, TAccountAssetMint extends string | AccountMeta<string> = string, TAccountPoolTokenAccount extends string | AccountMeta<string> = string, TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
13
+ TAccountSigner extends string ? WritableSignerAccount<TAccountSigner> & AccountSignerMeta<TAccountSigner> : TAccountSigner,
14
+ TAccountPermissions extends string ? ReadonlyAccount<TAccountPermissions> : TAccountPermissions,
15
+ TAccountSettings extends string ? ReadonlyAccount<TAccountSettings> : TAccountSettings,
16
+ TAccountLiquidityPool extends string ? WritableAccount<TAccountLiquidityPool> : TAccountLiquidityPool,
17
+ TAccountAsset extends string ? ReadonlyAccount<TAccountAsset> : TAccountAsset,
18
+ TAccountAssetMint extends string ? ReadonlyAccount<TAccountAssetMint> : TAccountAssetMint,
19
+ TAccountPoolTokenAccount extends string ? ReadonlyAccount<TAccountPoolTokenAccount> : TAccountPoolTokenAccount,
20
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
21
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
22
+ ...TRemainingAccounts
23
+ ]>;
24
+ export type ForceRemoveAssetInstructionData = {
25
+ discriminator: ReadonlyUint8Array;
26
+ liquidityPoolId: number;
27
+ };
28
+ export type ForceRemoveAssetInstructionDataArgs = {
29
+ liquidityPoolId: number;
30
+ };
31
+ export declare function getForceRemoveAssetInstructionDataEncoder(): FixedSizeEncoder<ForceRemoveAssetInstructionDataArgs>;
32
+ export declare function getForceRemoveAssetInstructionDataDecoder(): FixedSizeDecoder<ForceRemoveAssetInstructionData>;
33
+ export declare function getForceRemoveAssetInstructionDataCodec(): FixedSizeCodec<ForceRemoveAssetInstructionDataArgs, ForceRemoveAssetInstructionData>;
34
+ export type ForceRemoveAssetAsyncInput<TAccountSigner extends string = string, TAccountPermissions extends string = string, TAccountSettings extends string = string, TAccountLiquidityPool extends string = string, TAccountAsset extends string = string, TAccountAssetMint extends string = string, TAccountPoolTokenAccount extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
35
+ signer: TransactionSigner<TAccountSigner>;
36
+ permissions?: Address<TAccountPermissions>;
37
+ settings?: Address<TAccountSettings>;
38
+ liquidityPool?: Address<TAccountLiquidityPool>;
39
+ asset: Address<TAccountAsset>;
40
+ assetMint: Address<TAccountAssetMint>;
41
+ /** The pool's reserve ATA for the asset being removed. Must be frozen. */
42
+ poolTokenAccount: Address<TAccountPoolTokenAccount>;
43
+ eventAuthority?: Address<TAccountEventAuthority>;
44
+ program: Address<TAccountProgram>;
45
+ liquidityPoolId: ForceRemoveAssetInstructionDataArgs["liquidityPoolId"];
46
+ };
47
+ export declare function getForceRemoveAssetInstructionAsync<TAccountSigner extends string, TAccountPermissions extends string, TAccountSettings extends string, TAccountLiquidityPool extends string, TAccountAsset extends string, TAccountAssetMint extends string, TAccountPoolTokenAccount extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof RLP_PROGRAM_ADDRESS>(input: ForceRemoveAssetAsyncInput<TAccountSigner, TAccountPermissions, TAccountSettings, TAccountLiquidityPool, TAccountAsset, TAccountAssetMint, TAccountPoolTokenAccount, TAccountEventAuthority, TAccountProgram>, config?: {
48
+ programAddress?: TProgramAddress;
49
+ }): Promise<ForceRemoveAssetInstruction<TProgramAddress, TAccountSigner, TAccountPermissions, TAccountSettings, TAccountLiquidityPool, TAccountAsset, TAccountAssetMint, TAccountPoolTokenAccount, TAccountEventAuthority, TAccountProgram>>;
50
+ export type ForceRemoveAssetInput<TAccountSigner extends string = string, TAccountPermissions extends string = string, TAccountSettings extends string = string, TAccountLiquidityPool extends string = string, TAccountAsset extends string = string, TAccountAssetMint extends string = string, TAccountPoolTokenAccount extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
51
+ signer: TransactionSigner<TAccountSigner>;
52
+ permissions: Address<TAccountPermissions>;
53
+ settings: Address<TAccountSettings>;
54
+ liquidityPool: Address<TAccountLiquidityPool>;
55
+ asset: Address<TAccountAsset>;
56
+ assetMint: Address<TAccountAssetMint>;
57
+ /** The pool's reserve ATA for the asset being removed. Must be frozen. */
58
+ poolTokenAccount: Address<TAccountPoolTokenAccount>;
59
+ eventAuthority: Address<TAccountEventAuthority>;
60
+ program: Address<TAccountProgram>;
61
+ liquidityPoolId: ForceRemoveAssetInstructionDataArgs["liquidityPoolId"];
62
+ };
63
+ export declare function getForceRemoveAssetInstruction<TAccountSigner extends string, TAccountPermissions extends string, TAccountSettings extends string, TAccountLiquidityPool extends string, TAccountAsset extends string, TAccountAssetMint extends string, TAccountPoolTokenAccount extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof RLP_PROGRAM_ADDRESS>(input: ForceRemoveAssetInput<TAccountSigner, TAccountPermissions, TAccountSettings, TAccountLiquidityPool, TAccountAsset, TAccountAssetMint, TAccountPoolTokenAccount, TAccountEventAuthority, TAccountProgram>, config?: {
64
+ programAddress?: TProgramAddress;
65
+ }): ForceRemoveAssetInstruction<TProgramAddress, TAccountSigner, TAccountPermissions, TAccountSettings, TAccountLiquidityPool, TAccountAsset, TAccountAssetMint, TAccountPoolTokenAccount, TAccountEventAuthority, TAccountProgram>;
66
+ export type ParsedForceRemoveAssetInstruction<TProgram extends string = typeof RLP_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
67
+ programAddress: Address<TProgram>;
68
+ accounts: {
69
+ signer: TAccountMetas[0];
70
+ permissions: TAccountMetas[1];
71
+ settings: TAccountMetas[2];
72
+ liquidityPool: TAccountMetas[3];
73
+ asset: TAccountMetas[4];
74
+ assetMint: TAccountMetas[5];
75
+ /** The pool's reserve ATA for the asset being removed. Must be frozen. */
76
+ poolTokenAccount: TAccountMetas[6];
77
+ eventAuthority: TAccountMetas[7];
78
+ program: TAccountMetas[8];
79
+ };
80
+ data: ForceRemoveAssetInstructionData;
81
+ };
82
+ export declare function parseForceRemoveAssetInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedForceRemoveAssetInstruction<TProgram, TAccountMetas>;
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ /**
3
+ * This code was AUTOGENERATED using the Codama library.
4
+ * Please DO NOT EDIT THIS FILE, instead use visitors
5
+ * to add features, then rerun Codama to update it.
6
+ *
7
+ * @see https://github.com/codama-idl/codama
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FORCE_REMOVE_ASSET_DISCRIMINATOR = void 0;
11
+ exports.getForceRemoveAssetDiscriminatorBytes = getForceRemoveAssetDiscriminatorBytes;
12
+ exports.getForceRemoveAssetInstructionDataEncoder = getForceRemoveAssetInstructionDataEncoder;
13
+ exports.getForceRemoveAssetInstructionDataDecoder = getForceRemoveAssetInstructionDataDecoder;
14
+ exports.getForceRemoveAssetInstructionDataCodec = getForceRemoveAssetInstructionDataCodec;
15
+ exports.getForceRemoveAssetInstructionAsync = getForceRemoveAssetInstructionAsync;
16
+ exports.getForceRemoveAssetInstruction = getForceRemoveAssetInstruction;
17
+ exports.parseForceRemoveAssetInstruction = parseForceRemoveAssetInstruction;
18
+ const kit_1 = require("@solana/kit");
19
+ const programs_1 = require("../programs");
20
+ const shared_1 = require("../shared");
21
+ exports.FORCE_REMOVE_ASSET_DISCRIMINATOR = new Uint8Array([
22
+ 26, 47, 174, 160, 163, 115, 100, 180,
23
+ ]);
24
+ function getForceRemoveAssetDiscriminatorBytes() {
25
+ return (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8).encode(exports.FORCE_REMOVE_ASSET_DISCRIMINATOR);
26
+ }
27
+ function getForceRemoveAssetInstructionDataEncoder() {
28
+ return (0, kit_1.transformEncoder)((0, kit_1.getStructEncoder)([
29
+ ["discriminator", (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8)],
30
+ ["liquidityPoolId", (0, kit_1.getU8Encoder)()],
31
+ ]), (value) => ({ ...value, discriminator: exports.FORCE_REMOVE_ASSET_DISCRIMINATOR }));
32
+ }
33
+ function getForceRemoveAssetInstructionDataDecoder() {
34
+ return (0, kit_1.getStructDecoder)([
35
+ ["discriminator", (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 8)],
36
+ ["liquidityPoolId", (0, kit_1.getU8Decoder)()],
37
+ ]);
38
+ }
39
+ function getForceRemoveAssetInstructionDataCodec() {
40
+ return (0, kit_1.combineCodec)(getForceRemoveAssetInstructionDataEncoder(), getForceRemoveAssetInstructionDataDecoder());
41
+ }
42
+ async function getForceRemoveAssetInstructionAsync(input, config) {
43
+ // Program address.
44
+ const programAddress = config?.programAddress ?? programs_1.RLP_PROGRAM_ADDRESS;
45
+ // Original accounts.
46
+ const originalAccounts = {
47
+ signer: { value: input.signer ?? null, isWritable: true },
48
+ permissions: { value: input.permissions ?? null, isWritable: false },
49
+ settings: { value: input.settings ?? null, isWritable: false },
50
+ liquidityPool: { value: input.liquidityPool ?? null, isWritable: true },
51
+ asset: { value: input.asset ?? null, isWritable: false },
52
+ assetMint: { value: input.assetMint ?? null, isWritable: false },
53
+ poolTokenAccount: {
54
+ value: input.poolTokenAccount ?? null,
55
+ isWritable: false,
56
+ },
57
+ eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
58
+ program: { value: input.program ?? null, isWritable: false },
59
+ };
60
+ const accounts = originalAccounts;
61
+ // Original args.
62
+ const args = { ...input };
63
+ // Resolve default values.
64
+ if (!accounts.permissions.value) {
65
+ accounts.permissions.value = await (0, kit_1.getProgramDerivedAddress)({
66
+ programAddress,
67
+ seeds: [
68
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
69
+ 112, 101, 114, 109, 105, 115, 115, 105, 111, 110, 115,
70
+ ])),
71
+ (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.signer.value)),
72
+ ],
73
+ });
74
+ }
75
+ if (!accounts.settings.value) {
76
+ accounts.settings.value = await (0, kit_1.getProgramDerivedAddress)({
77
+ programAddress,
78
+ seeds: [
79
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([115, 101, 116, 116, 105, 110, 103, 115])),
80
+ ],
81
+ });
82
+ }
83
+ if (!accounts.liquidityPool.value) {
84
+ accounts.liquidityPool.value = await (0, kit_1.getProgramDerivedAddress)({
85
+ programAddress,
86
+ seeds: [
87
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
88
+ 108, 105, 113, 117, 105, 100, 105, 116, 121, 95, 112, 111, 111, 108,
89
+ ])),
90
+ (0, kit_1.getU8Encoder)().encode((0, shared_1.expectSome)(args.liquidityPoolId)),
91
+ ],
92
+ });
93
+ }
94
+ if (!accounts.eventAuthority.value) {
95
+ accounts.eventAuthority.value = await (0, kit_1.getProgramDerivedAddress)({
96
+ programAddress,
97
+ seeds: [
98
+ (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
99
+ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114,
100
+ 105, 116, 121,
101
+ ])),
102
+ ],
103
+ });
104
+ }
105
+ const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, "programId");
106
+ return Object.freeze({
107
+ accounts: [
108
+ getAccountMeta(accounts.signer),
109
+ getAccountMeta(accounts.permissions),
110
+ getAccountMeta(accounts.settings),
111
+ getAccountMeta(accounts.liquidityPool),
112
+ getAccountMeta(accounts.asset),
113
+ getAccountMeta(accounts.assetMint),
114
+ getAccountMeta(accounts.poolTokenAccount),
115
+ getAccountMeta(accounts.eventAuthority),
116
+ getAccountMeta(accounts.program),
117
+ ],
118
+ data: getForceRemoveAssetInstructionDataEncoder().encode(args),
119
+ programAddress,
120
+ });
121
+ }
122
+ function getForceRemoveAssetInstruction(input, config) {
123
+ // Program address.
124
+ const programAddress = config?.programAddress ?? programs_1.RLP_PROGRAM_ADDRESS;
125
+ // Original accounts.
126
+ const originalAccounts = {
127
+ signer: { value: input.signer ?? null, isWritable: true },
128
+ permissions: { value: input.permissions ?? null, isWritable: false },
129
+ settings: { value: input.settings ?? null, isWritable: false },
130
+ liquidityPool: { value: input.liquidityPool ?? null, isWritable: true },
131
+ asset: { value: input.asset ?? null, isWritable: false },
132
+ assetMint: { value: input.assetMint ?? null, isWritable: false },
133
+ poolTokenAccount: {
134
+ value: input.poolTokenAccount ?? null,
135
+ isWritable: false,
136
+ },
137
+ eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
138
+ program: { value: input.program ?? null, isWritable: false },
139
+ };
140
+ const accounts = originalAccounts;
141
+ // Original args.
142
+ const args = { ...input };
143
+ const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, "programId");
144
+ return Object.freeze({
145
+ accounts: [
146
+ getAccountMeta(accounts.signer),
147
+ getAccountMeta(accounts.permissions),
148
+ getAccountMeta(accounts.settings),
149
+ getAccountMeta(accounts.liquidityPool),
150
+ getAccountMeta(accounts.asset),
151
+ getAccountMeta(accounts.assetMint),
152
+ getAccountMeta(accounts.poolTokenAccount),
153
+ getAccountMeta(accounts.eventAuthority),
154
+ getAccountMeta(accounts.program),
155
+ ],
156
+ data: getForceRemoveAssetInstructionDataEncoder().encode(args),
157
+ programAddress,
158
+ });
159
+ }
160
+ function parseForceRemoveAssetInstruction(instruction) {
161
+ if (instruction.accounts.length < 9) {
162
+ // TODO: Coded error.
163
+ throw new Error("Not enough accounts");
164
+ }
165
+ let accountIndex = 0;
166
+ const getNextAccount = () => {
167
+ const accountMeta = instruction.accounts[accountIndex];
168
+ accountIndex += 1;
169
+ return accountMeta;
170
+ };
171
+ return {
172
+ programAddress: instruction.programAddress,
173
+ accounts: {
174
+ signer: getNextAccount(),
175
+ permissions: getNextAccount(),
176
+ settings: getNextAccount(),
177
+ liquidityPool: getNextAccount(),
178
+ asset: getNextAccount(),
179
+ assetMint: getNextAccount(),
180
+ poolTokenAccount: getNextAccount(),
181
+ eventAuthority: getNextAccount(),
182
+ program: getNextAccount(),
183
+ },
184
+ data: getForceRemoveAssetInstructionDataDecoder().decode(instruction.data),
185
+ };
186
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from "@solana/kit";
9
+ import { RLP_PROGRAM_ADDRESS } from "../programs";
10
+ import { type Action, type ActionArgs } from "../types";
11
+ export declare const FREEZE_FUNCTIONALITY_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
12
+ export declare function getFreezeFunctionalityDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
13
+ export type FreezeFunctionalityInstruction<TProgram extends string = typeof RLP_PROGRAM_ADDRESS, TAccountAdmin extends string | AccountMeta<string> = string, TAccountSettings extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TAccountAdminPermissions extends string | AccountMeta<string> = string, TAccountEventAuthority extends string | AccountMeta<string> = string, TAccountProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
14
+ TAccountAdmin extends string ? WritableSignerAccount<TAccountAdmin> & AccountSignerMeta<TAccountAdmin> : TAccountAdmin,
15
+ TAccountSettings extends string ? WritableAccount<TAccountSettings> : TAccountSettings,
16
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
17
+ TAccountAdminPermissions extends string ? WritableAccount<TAccountAdminPermissions> : TAccountAdminPermissions,
18
+ TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
19
+ TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
20
+ ...TRemainingAccounts
21
+ ]>;
22
+ export type FreezeFunctionalityInstructionData = {
23
+ discriminator: ReadonlyUint8Array;
24
+ action: Action;
25
+ freeze: boolean;
26
+ };
27
+ export type FreezeFunctionalityInstructionDataArgs = {
28
+ action: ActionArgs;
29
+ freeze: boolean;
30
+ };
31
+ export declare function getFreezeFunctionalityInstructionDataEncoder(): FixedSizeEncoder<FreezeFunctionalityInstructionDataArgs>;
32
+ export declare function getFreezeFunctionalityInstructionDataDecoder(): FixedSizeDecoder<FreezeFunctionalityInstructionData>;
33
+ export declare function getFreezeFunctionalityInstructionDataCodec(): FixedSizeCodec<FreezeFunctionalityInstructionDataArgs, FreezeFunctionalityInstructionData>;
34
+ export type FreezeFunctionalityAsyncInput<TAccountAdmin extends string = string, TAccountSettings extends string = string, TAccountSystemProgram extends string = string, TAccountAdminPermissions extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
35
+ admin: TransactionSigner<TAccountAdmin>;
36
+ settings?: Address<TAccountSettings>;
37
+ systemProgram?: Address<TAccountSystemProgram>;
38
+ adminPermissions?: Address<TAccountAdminPermissions>;
39
+ eventAuthority?: Address<TAccountEventAuthority>;
40
+ program: Address<TAccountProgram>;
41
+ action: FreezeFunctionalityInstructionDataArgs["action"];
42
+ freeze: FreezeFunctionalityInstructionDataArgs["freeze"];
43
+ };
44
+ export declare function getFreezeFunctionalityInstructionAsync<TAccountAdmin extends string, TAccountSettings extends string, TAccountSystemProgram extends string, TAccountAdminPermissions extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof RLP_PROGRAM_ADDRESS>(input: FreezeFunctionalityAsyncInput<TAccountAdmin, TAccountSettings, TAccountSystemProgram, TAccountAdminPermissions, TAccountEventAuthority, TAccountProgram>, config?: {
45
+ programAddress?: TProgramAddress;
46
+ }): Promise<FreezeFunctionalityInstruction<TProgramAddress, TAccountAdmin, TAccountSettings, TAccountSystemProgram, TAccountAdminPermissions, TAccountEventAuthority, TAccountProgram>>;
47
+ export type FreezeFunctionalityInput<TAccountAdmin extends string = string, TAccountSettings extends string = string, TAccountSystemProgram extends string = string, TAccountAdminPermissions extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
48
+ admin: TransactionSigner<TAccountAdmin>;
49
+ settings: Address<TAccountSettings>;
50
+ systemProgram?: Address<TAccountSystemProgram>;
51
+ adminPermissions: Address<TAccountAdminPermissions>;
52
+ eventAuthority: Address<TAccountEventAuthority>;
53
+ program: Address<TAccountProgram>;
54
+ action: FreezeFunctionalityInstructionDataArgs["action"];
55
+ freeze: FreezeFunctionalityInstructionDataArgs["freeze"];
56
+ };
57
+ export declare function getFreezeFunctionalityInstruction<TAccountAdmin extends string, TAccountSettings extends string, TAccountSystemProgram extends string, TAccountAdminPermissions extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof RLP_PROGRAM_ADDRESS>(input: FreezeFunctionalityInput<TAccountAdmin, TAccountSettings, TAccountSystemProgram, TAccountAdminPermissions, TAccountEventAuthority, TAccountProgram>, config?: {
58
+ programAddress?: TProgramAddress;
59
+ }): FreezeFunctionalityInstruction<TProgramAddress, TAccountAdmin, TAccountSettings, TAccountSystemProgram, TAccountAdminPermissions, TAccountEventAuthority, TAccountProgram>;
60
+ export type ParsedFreezeFunctionalityInstruction<TProgram extends string = typeof RLP_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
61
+ programAddress: Address<TProgram>;
62
+ accounts: {
63
+ admin: TAccountMetas[0];
64
+ settings: TAccountMetas[1];
65
+ systemProgram: TAccountMetas[2];
66
+ adminPermissions: TAccountMetas[3];
67
+ eventAuthority: TAccountMetas[4];
68
+ program: TAccountMetas[5];
69
+ };
70
+ data: FreezeFunctionalityInstructionData;
71
+ };
72
+ export declare function parseFreezeFunctionalityInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedFreezeFunctionalityInstruction<TProgram, TAccountMetas>;