@metadaoproject/futarchy 0.6.0-alpha.1 → 0.6.0-alpha.11

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 (74) hide show
  1. package/dist/v0.5/SharedLiquidityManagerClient.js.map +1 -1
  2. package/dist/v0.6/ConditionalVaultClient.d.ts +314 -0
  3. package/dist/v0.6/ConditionalVaultClient.js +209 -0
  4. package/dist/v0.6/ConditionalVaultClient.js.map +1 -0
  5. package/dist/v0.6/FutarchyClient.d.ts +893 -0
  6. package/dist/v0.6/FutarchyClient.js +392 -0
  7. package/dist/v0.6/FutarchyClient.js.map +1 -0
  8. package/dist/v0.6/LaunchpadClient.d.ts +540 -0
  9. package/dist/v0.6/LaunchpadClient.js +270 -0
  10. package/dist/v0.6/LaunchpadClient.js.map +1 -0
  11. package/dist/v0.6/PriceBasedPerformancePackageClient.d.ts +353 -0
  12. package/dist/v0.6/PriceBasedPerformancePackageClient.js +116 -0
  13. package/dist/v0.6/PriceBasedPerformancePackageClient.js.map +1 -0
  14. package/dist/v0.6/PriceBasedUnlockClient.d.ts +383 -0
  15. package/dist/v0.6/PriceBasedUnlockClient.js +134 -0
  16. package/dist/v0.6/PriceBasedUnlockClient.js.map +1 -0
  17. package/dist/v0.6/constants.d.ts +28 -0
  18. package/dist/v0.6/constants.js +39 -0
  19. package/dist/v0.6/constants.js.map +1 -0
  20. package/dist/v0.6/index.d.ts +7 -0
  21. package/dist/v0.6/index.js +8 -0
  22. package/dist/v0.6/index.js.map +1 -0
  23. package/dist/v0.6/types/amm.d.ts +832 -0
  24. package/dist/v0.6/types/amm.js +832 -0
  25. package/dist/v0.6/types/amm.js.map +1 -0
  26. package/dist/v0.6/types/conditional_vault.d.ts +925 -0
  27. package/dist/v0.6/types/conditional_vault.js +925 -0
  28. package/dist/v0.6/types/conditional_vault.js.map +1 -0
  29. package/dist/v0.6/types/futarchy.d.ts +2567 -0
  30. package/dist/v0.6/types/futarchy.js +2567 -0
  31. package/dist/v0.6/types/futarchy.js.map +1 -0
  32. package/dist/v0.6/types/index.d.ts +67 -0
  33. package/dist/v0.6/types/index.js +11 -0
  34. package/dist/v0.6/types/index.js.map +1 -0
  35. package/dist/v0.6/types/launchpad.d.ts +1257 -0
  36. package/dist/v0.6/types/launchpad.js +1257 -0
  37. package/dist/v0.6/types/launchpad.js.map +1 -0
  38. package/dist/v0.6/types/price_based_performance_package.d.ts +894 -0
  39. package/dist/v0.6/types/price_based_performance_package.js +894 -0
  40. package/dist/v0.6/types/price_based_performance_package.js.map +1 -0
  41. package/dist/v0.6/types/price_based_token_lock.d.ts +444 -0
  42. package/dist/v0.6/types/price_based_token_lock.js +444 -0
  43. package/dist/v0.6/types/price_based_token_lock.js.map +1 -0
  44. package/dist/v0.6/types/price_based_unlock.d.ts +862 -0
  45. package/dist/v0.6/types/price_based_unlock.js +862 -0
  46. package/dist/v0.6/types/price_based_unlock.js.map +1 -0
  47. package/dist/v0.6/types/shared_liquidity_manager.d.ts +89 -0
  48. package/dist/v0.6/types/shared_liquidity_manager.js +89 -0
  49. package/dist/v0.6/types/shared_liquidity_manager.js.map +1 -0
  50. package/dist/v0.6/types/utils.d.ts +3 -0
  51. package/dist/v0.6/types/utils.js +2 -0
  52. package/dist/v0.6/types/utils.js.map +1 -0
  53. package/dist/v0.6/utils/cu.d.ts +10 -0
  54. package/dist/v0.6/utils/cu.js +11 -0
  55. package/dist/v0.6/utils/cu.js.map +1 -0
  56. package/dist/v0.6/utils/filters.d.ts +3 -0
  57. package/dist/v0.6/utils/filters.js +14 -0
  58. package/dist/v0.6/utils/filters.js.map +1 -0
  59. package/dist/v0.6/utils/index.d.ts +16 -0
  60. package/dist/v0.6/utils/index.js +30 -0
  61. package/dist/v0.6/utils/index.js.map +1 -0
  62. package/dist/v0.6/utils/instruction.d.ts +4 -0
  63. package/dist/v0.6/utils/instruction.js +10 -0
  64. package/dist/v0.6/utils/instruction.js.map +1 -0
  65. package/dist/v0.6/utils/metadata.d.ts +4 -0
  66. package/dist/v0.6/utils/metadata.js +22 -0
  67. package/dist/v0.6/utils/metadata.js.map +1 -0
  68. package/dist/v0.6/utils/pda.d.ts +42 -0
  69. package/dist/v0.6/utils/pda.js +92 -0
  70. package/dist/v0.6/utils/pda.js.map +1 -0
  71. package/dist/v0.6/utils/priceMath.d.ts +39 -0
  72. package/dist/v0.6/utils/priceMath.js +48 -0
  73. package/dist/v0.6/utils/priceMath.js.map +1 -0
  74. package/package.json +6 -3
@@ -0,0 +1,116 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { PublicKey, SystemProgram, } from "@solana/web3.js";
3
+ import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, } from "@solana/spl-token";
4
+ import { IDL as PriceBasedPerformancePackageIDL, } from "./types/price_based_performance_package.js";
5
+ import { PRICE_BASED_PERFORMANCE_PACKAGE_PROGRAM_ID } from "./constants.js";
6
+ // import { OracleConfig } from "./types/index.js";
7
+ import { getChangeRequestAddr, getEventAuthorityAddr, getPerformancePackageAddr, } from "./utils/pda.js";
8
+ export class PriceBasedPerformancePackageClient {
9
+ provider;
10
+ program;
11
+ programId;
12
+ constructor(provider, priceBasedTokenLockProgramId) {
13
+ this.provider = provider;
14
+ this.programId = priceBasedTokenLockProgramId;
15
+ this.program = new Program(PriceBasedPerformancePackageIDL, priceBasedTokenLockProgramId, provider);
16
+ }
17
+ static createClient(createClientParams) {
18
+ let { provider, priceBasedTokenLockProgramId } = createClientParams;
19
+ if (!priceBasedTokenLockProgramId) {
20
+ priceBasedTokenLockProgramId = PRICE_BASED_PERFORMANCE_PACKAGE_PROGRAM_ID;
21
+ }
22
+ return new PriceBasedPerformancePackageClient(provider, priceBasedTokenLockProgramId);
23
+ }
24
+ initializePerformancePackageIx(params) {
25
+ const performancePackage = getPerformancePackageAddr({
26
+ createKey: params.createKey,
27
+ })[0];
28
+ const grantorTokenAccount = params.grantorTokenAccount ??
29
+ getAssociatedTokenAddressSync(params.tokenMint, params.grantor, true);
30
+ return this.program.methods
31
+ .initializePerformancePackage(params.params)
32
+ .accounts({
33
+ performancePackage,
34
+ createKey: params.createKey,
35
+ tokenMint: params.tokenMint,
36
+ grantorTokenAccount,
37
+ performancePackageTokenVault: getAssociatedTokenAddressSync(params.tokenMint, performancePackage, true),
38
+ grantor: params.grantor,
39
+ systemProgram: SystemProgram.programId,
40
+ tokenProgram: TOKEN_PROGRAM_ID,
41
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
42
+ });
43
+ }
44
+ startUnlockIx(params) {
45
+ return this.program.methods.startUnlock().accounts({
46
+ performancePackage: params.performancePackage,
47
+ oracleAccount: params.oracleAccount,
48
+ recipient: params.recipient,
49
+ });
50
+ }
51
+ completeUnlockIx(params) {
52
+ return this.program.methods.completeUnlock().accounts({
53
+ performancePackage: params.performancePackage,
54
+ oracleAccount: params.oracleAccount,
55
+ performancePackageTokenVault: getAssociatedTokenAddressSync(params.tokenMint, params.performancePackage, true),
56
+ tokenMint: params.tokenMint,
57
+ recipientTokenAccount: getAssociatedTokenAddressSync(params.tokenMint, params.tokenRecipient, true),
58
+ tokenRecipient: params.tokenRecipient,
59
+ systemProgram: SystemProgram.programId,
60
+ tokenProgram: TOKEN_PROGRAM_ID,
61
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
62
+ });
63
+ }
64
+ proposeChangeIx(params) {
65
+ const changeRequestAddress = this.getChangeRequestAddress(params.performancePackage, params.proposer, params.params.pdaNonce);
66
+ return this.program.methods.proposeChange(params.params).accounts({
67
+ changeRequest: changeRequestAddress,
68
+ performancePackage: params.performancePackage,
69
+ proposer: params.proposer,
70
+ systemProgram: SystemProgram.programId,
71
+ });
72
+ }
73
+ executeChangeIx(params) {
74
+ return this.program.methods.executeChange().accounts({
75
+ changeRequest: params.changeRequest,
76
+ performancePackage: params.performancePackage,
77
+ executor: params.executor,
78
+ });
79
+ }
80
+ changePerformancePackageAuthorityIx(params) {
81
+ return this.program.methods
82
+ .changePerformancePackageAuthority({
83
+ newPerformancePackageAuthority: params.newPerformancePackageAuthority,
84
+ })
85
+ .accounts({
86
+ performancePackage: params.performancePackage,
87
+ currentAuthority: params.currentAuthority,
88
+ });
89
+ }
90
+ async getPerformancePackage(performancePackageAddress) {
91
+ return await this.program.account.performancePackage.fetch(performancePackageAddress);
92
+ }
93
+ async getChangeRequest(changeRequestAddress) {
94
+ return await this.program.account.changeRequest.fetch(changeRequestAddress);
95
+ }
96
+ getChangeRequestAddress(performancePackage, proposer, pdaNonce) {
97
+ const [changeRequestAddress] = getChangeRequestAddr({
98
+ programId: this.programId,
99
+ performancePackage,
100
+ proposer,
101
+ pdaNonce,
102
+ });
103
+ return changeRequestAddress;
104
+ }
105
+ getPerformancePackageTokenAccountAddress(performancePackage) {
106
+ const [performancePackageTokenAccountAddress] = PublicKey.findProgramAddressSync([
107
+ Buffer.from("performance_package_token_account"),
108
+ performancePackage.toBuffer(),
109
+ ], this.programId);
110
+ return performancePackageTokenAccountAddress;
111
+ }
112
+ getEventAuthorityAddress() {
113
+ return getEventAuthorityAddr(this.programId)[0];
114
+ }
115
+ }
116
+ //# sourceMappingURL=PriceBasedPerformancePackageClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceBasedPerformancePackageClient.js","sourceRoot":"","sources":["../../src/v0.6/PriceBasedPerformancePackageClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,383 @@
1
+ import { AnchorProvider, Program } from "@coral-xyz/anchor";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import { PriceBasedUnlock } from "./types/price_based_unlock.js";
4
+ import BN from "bn.js";
5
+ import { OracleConfig } from "./types/index.js";
6
+ export type CreatePriceBasedTokenLockClientParams = {
7
+ provider: AnchorProvider;
8
+ priceBasedTokenLockProgramId?: PublicKey;
9
+ };
10
+ export declare class PriceBasedUnlockClient {
11
+ readonly provider: AnchorProvider;
12
+ readonly program: Program<PriceBasedUnlock>;
13
+ readonly programId: PublicKey;
14
+ constructor(provider: AnchorProvider, priceBasedTokenLockProgramId: PublicKey);
15
+ static createClient(createClientParams: CreatePriceBasedTokenLockClientParams): PriceBasedUnlockClient;
16
+ initializeLockerIx(params: {
17
+ params: {
18
+ priceThreshold: BN;
19
+ tokenAmount: BN;
20
+ unlockTimestamp: BN;
21
+ oracleConfig: OracleConfig;
22
+ twapLengthSeconds: BN;
23
+ tokenRecipient: PublicKey;
24
+ lockerAuthority: PublicKey;
25
+ };
26
+ createKey: PublicKey;
27
+ tokenMint: PublicKey;
28
+ fromTokenAccount: PublicKey;
29
+ tokenAuthority: PublicKey;
30
+ payer: PublicKey;
31
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
32
+ name: "initializeLocker";
33
+ accounts: [{
34
+ name: "locker";
35
+ isMut: true;
36
+ isSigner: false;
37
+ }, {
38
+ name: "createKey";
39
+ isMut: false;
40
+ isSigner: true;
41
+ docs: ["Used to derive the PDA"];
42
+ }, {
43
+ name: "tokenMint";
44
+ isMut: false;
45
+ isSigner: false;
46
+ docs: ["The mint of the tokens to be locked"];
47
+ }, {
48
+ name: "fromTokenAccount";
49
+ isMut: true;
50
+ isSigner: false;
51
+ docs: ["The token account containing the tokens to be locked"];
52
+ }, {
53
+ name: "tokenAuthority";
54
+ isMut: false;
55
+ isSigner: true;
56
+ docs: ["The authority of the token account"];
57
+ }, {
58
+ name: "lockerTokenAccount";
59
+ isMut: true;
60
+ isSigner: false;
61
+ docs: ["The locker's token account where tokens will be stored"];
62
+ }, {
63
+ name: "payer";
64
+ isMut: true;
65
+ isSigner: true;
66
+ }, {
67
+ name: "systemProgram";
68
+ isMut: false;
69
+ isSigner: false;
70
+ }, {
71
+ name: "tokenProgram";
72
+ isMut: false;
73
+ isSigner: false;
74
+ }, {
75
+ name: "associatedTokenProgram";
76
+ isMut: false;
77
+ isSigner: false;
78
+ }, {
79
+ name: "eventAuthority";
80
+ isMut: false;
81
+ isSigner: false;
82
+ }, {
83
+ name: "program";
84
+ isMut: false;
85
+ isSigner: false;
86
+ }];
87
+ args: [{
88
+ name: "params";
89
+ type: {
90
+ defined: "InitializeLockerParams";
91
+ };
92
+ }];
93
+ } & {
94
+ name: "initializeLocker";
95
+ }>;
96
+ startUnlockIx(params: {
97
+ locker: PublicKey;
98
+ oracleAccount: PublicKey;
99
+ recipient: PublicKey;
100
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
101
+ name: "startUnlock";
102
+ accounts: [{
103
+ name: "locker";
104
+ isMut: true;
105
+ isSigner: false;
106
+ }, {
107
+ name: "oracleAccount";
108
+ isMut: false;
109
+ isSigner: false;
110
+ }, {
111
+ name: "recipient";
112
+ isMut: false;
113
+ isSigner: true;
114
+ docs: ["Only the token recipient can start unlock"];
115
+ }, {
116
+ name: "eventAuthority";
117
+ isMut: false;
118
+ isSigner: false;
119
+ }, {
120
+ name: "program";
121
+ isMut: false;
122
+ isSigner: false;
123
+ }];
124
+ args: [];
125
+ } & {
126
+ name: "startUnlock";
127
+ }>;
128
+ completeUnlockIx(params: {
129
+ locker: PublicKey;
130
+ oracleAccount: PublicKey;
131
+ tokenMint: PublicKey;
132
+ tokenRecipient: PublicKey;
133
+ payer: PublicKey;
134
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
135
+ name: "completeUnlock";
136
+ accounts: [{
137
+ name: "locker";
138
+ isMut: true;
139
+ isSigner: false;
140
+ }, {
141
+ name: "oracleAccount";
142
+ isMut: false;
143
+ isSigner: false;
144
+ }, {
145
+ name: "lockerTokenAccount";
146
+ isMut: true;
147
+ isSigner: false;
148
+ docs: ["The token account where locked tokens are stored"];
149
+ }, {
150
+ name: "tokenMint";
151
+ isMut: false;
152
+ isSigner: false;
153
+ docs: ["The token mint - validated via has_one constraint on locker"];
154
+ }, {
155
+ name: "recipientTokenAccount";
156
+ isMut: true;
157
+ isSigner: false;
158
+ docs: ["The recipient's ATA where tokens will be sent - created if needed"];
159
+ }, {
160
+ name: "tokenRecipient";
161
+ isMut: false;
162
+ isSigner: false;
163
+ }, {
164
+ name: "payer";
165
+ isMut: true;
166
+ isSigner: true;
167
+ docs: ["Payer for creating the ATA if needed"];
168
+ }, {
169
+ name: "systemProgram";
170
+ isMut: false;
171
+ isSigner: false;
172
+ }, {
173
+ name: "tokenProgram";
174
+ isMut: false;
175
+ isSigner: false;
176
+ }, {
177
+ name: "associatedTokenProgram";
178
+ isMut: false;
179
+ isSigner: false;
180
+ }, {
181
+ name: "eventAuthority";
182
+ isMut: false;
183
+ isSigner: false;
184
+ }, {
185
+ name: "program";
186
+ isMut: false;
187
+ isSigner: false;
188
+ }];
189
+ args: [];
190
+ } & {
191
+ name: "completeUnlock";
192
+ }>;
193
+ proposeChangeIx(params: {
194
+ params: {
195
+ changeType: any;
196
+ pdaNonce: number;
197
+ };
198
+ locker: PublicKey;
199
+ proposer: PublicKey;
200
+ payer: PublicKey;
201
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
202
+ name: "proposeChange";
203
+ accounts: [{
204
+ name: "changeRequest";
205
+ isMut: true;
206
+ isSigner: false;
207
+ }, {
208
+ name: "locker";
209
+ isMut: true;
210
+ isSigner: false;
211
+ }, {
212
+ name: "proposer";
213
+ isMut: true;
214
+ isSigner: true;
215
+ }, {
216
+ name: "systemProgram";
217
+ isMut: false;
218
+ isSigner: false;
219
+ }, {
220
+ name: "eventAuthority";
221
+ isMut: false;
222
+ isSigner: false;
223
+ }, {
224
+ name: "program";
225
+ isMut: false;
226
+ isSigner: false;
227
+ }];
228
+ args: [{
229
+ name: "params";
230
+ type: {
231
+ defined: "ProposeChangeParams";
232
+ };
233
+ }];
234
+ } & {
235
+ name: "proposeChange";
236
+ }>;
237
+ executeChangeIx(params: {
238
+ locker: PublicKey;
239
+ changeRequest: PublicKey;
240
+ executor: PublicKey;
241
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
242
+ name: "executeChange";
243
+ accounts: [{
244
+ name: "changeRequest";
245
+ isMut: true;
246
+ isSigner: false;
247
+ }, {
248
+ name: "locker";
249
+ isMut: true;
250
+ isSigner: false;
251
+ }, {
252
+ name: "executor";
253
+ isMut: true;
254
+ isSigner: true;
255
+ docs: ["The party executing the change (must be opposite of proposer)"];
256
+ }, {
257
+ name: "eventAuthority";
258
+ isMut: false;
259
+ isSigner: false;
260
+ }, {
261
+ name: "program";
262
+ isMut: false;
263
+ isSigner: false;
264
+ }];
265
+ args: [];
266
+ } & {
267
+ name: "executeChange";
268
+ }>;
269
+ changeLockerAuthorityIx(params: {
270
+ locker: PublicKey;
271
+ currentAuthority: PublicKey;
272
+ newLockerAuthority: PublicKey;
273
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
274
+ name: "changeLockerAuthority";
275
+ accounts: [{
276
+ name: "locker";
277
+ isMut: true;
278
+ isSigner: false;
279
+ }, {
280
+ name: "currentAuthority";
281
+ isMut: false;
282
+ isSigner: true;
283
+ docs: ["Only the current locker authority can change the locker authority"];
284
+ }, {
285
+ name: "eventAuthority";
286
+ isMut: false;
287
+ isSigner: false;
288
+ }, {
289
+ name: "program";
290
+ isMut: false;
291
+ isSigner: false;
292
+ }];
293
+ args: [{
294
+ name: "params";
295
+ type: {
296
+ defined: "ChangeLockerAuthorityParams";
297
+ };
298
+ }];
299
+ } & {
300
+ name: "changeLockerAuthority";
301
+ }>;
302
+ getLocker(lockerAddress: PublicKey): Promise<{
303
+ priceThreshold: BN;
304
+ tokenAmount: BN;
305
+ tokensAlreadyUnlocked: BN;
306
+ unlockTimestamp: BN;
307
+ oracleConfig: {
308
+ oracleAccount: PublicKey;
309
+ byteOffset: number;
310
+ };
311
+ twapLengthSeconds: BN;
312
+ tokenRecipient: PublicKey;
313
+ state: ({
314
+ unlocking?: undefined;
315
+ unlocked?: undefined;
316
+ } & {
317
+ locked: Record<string, never>;
318
+ }) | ({
319
+ locked?: undefined;
320
+ unlocked?: undefined;
321
+ } & {
322
+ unlocking: {
323
+ startAggregator: BN;
324
+ startTimestamp: BN;
325
+ };
326
+ }) | ({
327
+ locked?: undefined;
328
+ unlocking?: undefined;
329
+ } & {
330
+ unlocked: Record<string, never>;
331
+ });
332
+ createKey: PublicKey;
333
+ pdaBump: number;
334
+ lockerAuthority: PublicKey;
335
+ tokenMint: PublicKey;
336
+ }>;
337
+ getChangeRequest(changeRequestAddress: PublicKey): Promise<{
338
+ locker: PublicKey;
339
+ changeType: ({
340
+ recipient?: undefined;
341
+ } & {
342
+ oracle: {
343
+ newOracleConfig: {
344
+ oracleAccount: PublicKey;
345
+ byteOffset: number;
346
+ };
347
+ };
348
+ }) | ({
349
+ oracle?: undefined;
350
+ } & {
351
+ recipient: {
352
+ newRecipient: PublicKey;
353
+ };
354
+ });
355
+ proposedAt: BN;
356
+ previousState: ({
357
+ unlocking?: undefined;
358
+ unlocked?: undefined;
359
+ } & {
360
+ locked: Record<string, never>;
361
+ }) | ({
362
+ locked?: undefined;
363
+ unlocked?: undefined;
364
+ } & {
365
+ unlocking: {
366
+ startAggregator: BN;
367
+ startTimestamp: BN;
368
+ };
369
+ }) | ({
370
+ locked?: undefined;
371
+ unlocking?: undefined;
372
+ } & {
373
+ unlocked: Record<string, never>;
374
+ });
375
+ proposer: PublicKey;
376
+ pdaNonce: number;
377
+ pdaBump: number;
378
+ }>;
379
+ getLockerAddress(createKey: PublicKey): PublicKey;
380
+ getChangeRequestAddress(locker: PublicKey, proposer: PublicKey, pdaNonce: number): PublicKey;
381
+ getLockerTokenAccountAddress(locker: PublicKey): PublicKey;
382
+ getEventAuthorityAddress(): PublicKey;
383
+ }
@@ -0,0 +1,134 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { PublicKey, SystemProgram, } from "@solana/web3.js";
3
+ import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, } from "@solana/spl-token";
4
+ import { IDL as PriceBasedUnlockIDL, } from "./types/price_based_unlock.js";
5
+ import { PRICE_BASED_TOKEN_LOCK_PROGRAM_ID } from "./constants.js";
6
+ import { getEventAuthorityAddr } from "./utils/pda.js";
7
+ export class PriceBasedUnlockClient {
8
+ provider;
9
+ program;
10
+ programId;
11
+ constructor(provider, priceBasedTokenLockProgramId) {
12
+ this.provider = provider;
13
+ this.programId = priceBasedTokenLockProgramId;
14
+ this.program = new Program(PriceBasedUnlockIDL, priceBasedTokenLockProgramId, provider);
15
+ }
16
+ static createClient(createClientParams) {
17
+ let { provider, priceBasedTokenLockProgramId } = createClientParams;
18
+ if (!priceBasedTokenLockProgramId) {
19
+ priceBasedTokenLockProgramId = PRICE_BASED_TOKEN_LOCK_PROGRAM_ID;
20
+ }
21
+ return new PriceBasedUnlockClient(provider, priceBasedTokenLockProgramId);
22
+ }
23
+ initializeLockerIx(params) {
24
+ const lockerTokenAccount = this.getLockerTokenAccountAddress(this.getLockerAddress(params.createKey));
25
+ return this.program.methods
26
+ .initializeLocker({
27
+ priceThreshold: params.params.priceThreshold,
28
+ tokenAmount: params.params.tokenAmount,
29
+ unlockTimestamp: params.params.unlockTimestamp,
30
+ oracleConfig: params.params.oracleConfig,
31
+ twapLengthSeconds: params.params.twapLengthSeconds,
32
+ beneficiary: params.params.tokenRecipient,
33
+ lockerAuthority: params.params.lockerAuthority,
34
+ })
35
+ .accounts({
36
+ locker: this.getLockerAddress(params.createKey),
37
+ createKey: params.createKey,
38
+ tokenMint: params.tokenMint,
39
+ fromTokenAccount: params.fromTokenAccount,
40
+ tokenAuthority: params.tokenAuthority,
41
+ lockerTokenAccount,
42
+ payer: params.payer,
43
+ systemProgram: SystemProgram.programId,
44
+ tokenProgram: TOKEN_PROGRAM_ID,
45
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
46
+ eventAuthority: this.getEventAuthorityAddress(),
47
+ program: this.programId,
48
+ });
49
+ }
50
+ startUnlockIx(params) {
51
+ return this.program.methods.startUnlock().accounts({
52
+ locker: params.locker,
53
+ oracleAccount: params.oracleAccount,
54
+ recipient: params.recipient,
55
+ eventAuthority: this.getEventAuthorityAddress(),
56
+ program: this.programId,
57
+ });
58
+ }
59
+ completeUnlockIx(params) {
60
+ return this.program.methods.completeUnlock().accounts({
61
+ locker: params.locker,
62
+ oracleAccount: params.oracleAccount,
63
+ lockerTokenAccount: this.getLockerTokenAccountAddress(params.locker),
64
+ tokenMint: params.tokenMint,
65
+ recipientTokenAccount: getAssociatedTokenAddressSync(params.tokenMint, params.tokenRecipient),
66
+ tokenRecipient: params.tokenRecipient,
67
+ payer: params.payer,
68
+ systemProgram: SystemProgram.programId,
69
+ tokenProgram: TOKEN_PROGRAM_ID,
70
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
71
+ eventAuthority: this.getEventAuthorityAddress(),
72
+ program: this.programId,
73
+ });
74
+ }
75
+ proposeChangeIx(params) {
76
+ const changeRequestAddress = this.getChangeRequestAddress(params.locker, params.proposer, params.params.pdaNonce);
77
+ return this.program.methods.proposeChange(params.params).accounts({
78
+ changeRequest: changeRequestAddress,
79
+ locker: params.locker,
80
+ proposer: params.proposer,
81
+ systemProgram: SystemProgram.programId,
82
+ eventAuthority: this.getEventAuthorityAddress(),
83
+ program: this.programId,
84
+ });
85
+ }
86
+ executeChangeIx(params) {
87
+ return this.program.methods.executeChange().accounts({
88
+ changeRequest: params.changeRequest,
89
+ locker: params.locker,
90
+ executor: params.executor,
91
+ eventAuthority: this.getEventAuthorityAddress(),
92
+ program: this.programId,
93
+ });
94
+ }
95
+ changeLockerAuthorityIx(params) {
96
+ return this.program.methods
97
+ .changeLockerAuthority({
98
+ newLockerAuthority: params.newLockerAuthority,
99
+ })
100
+ .accounts({
101
+ locker: params.locker,
102
+ currentAuthority: params.currentAuthority,
103
+ eventAuthority: this.getEventAuthorityAddress(),
104
+ program: this.programId,
105
+ });
106
+ }
107
+ async getLocker(lockerAddress) {
108
+ return await this.program.account.locker.fetch(lockerAddress);
109
+ }
110
+ async getChangeRequest(changeRequestAddress) {
111
+ return await this.program.account.changeRequest.fetch(changeRequestAddress);
112
+ }
113
+ getLockerAddress(createKey) {
114
+ const [lockerAddress] = PublicKey.findProgramAddressSync([Buffer.from("locker"), createKey.toBuffer()], this.programId);
115
+ return lockerAddress;
116
+ }
117
+ getChangeRequestAddress(locker, proposer, pdaNonce) {
118
+ const [changeRequestAddress] = PublicKey.findProgramAddressSync([
119
+ Buffer.from("change_request"),
120
+ locker.toBuffer(),
121
+ proposer.toBuffer(),
122
+ Buffer.from(new Uint8Array(new Uint32Array([pdaNonce]).buffer)),
123
+ ], this.programId);
124
+ return changeRequestAddress;
125
+ }
126
+ getLockerTokenAccountAddress(locker) {
127
+ const [lockerTokenAccountAddress] = PublicKey.findProgramAddressSync([Buffer.from("locker_token_account"), locker.toBuffer()], this.programId);
128
+ return lockerTokenAccountAddress;
129
+ }
130
+ getEventAuthorityAddress() {
131
+ return getEventAuthorityAddr(this.programId)[0];
132
+ }
133
+ }
134
+ //# sourceMappingURL=PriceBasedUnlockClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceBasedUnlockClient.js","sourceRoot":"","sources":["../../src/v0.6/PriceBasedUnlockClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Keypair, PublicKey } from "@solana/web3.js";
2
+ export declare const FUTARCHY_PROGRAM_ID: PublicKey;
3
+ export declare const AMM_PROGRAM_ID: PublicKey;
4
+ export declare const CONDITIONAL_VAULT_PROGRAM_ID: PublicKey;
5
+ export declare const LAUNCHPAD_PROGRAM_ID: PublicKey;
6
+ export declare const SHARED_LIQUIDITY_MANAGER_PROGRAM_ID: PublicKey;
7
+ export declare const PRICE_BASED_PERFORMANCE_PACKAGE_PROGRAM_ID: PublicKey;
8
+ export declare const MPL_TOKEN_METADATA_PROGRAM_ID: PublicKey;
9
+ export declare const RAYDIUM_CP_SWAP_PROGRAM_ID: PublicKey;
10
+ export declare const DEVNET_RAYDIUM_CP_SWAP_PROGRAM_ID: PublicKey;
11
+ export declare const META_MINT: PublicKey;
12
+ export declare const MAINNET_USDC: PublicKey;
13
+ export declare const DEVNET_USDC: PublicKey;
14
+ export declare const DEVNET_SQUADS_PROGRAM_CONFIG_TREASURY: PublicKey;
15
+ export declare const USDC_DECIMALS = 6;
16
+ export declare const AUTOCRAT_LUTS: PublicKey[];
17
+ export declare const RAYDIUM_AUTHORITY: PublicKey;
18
+ export declare const DEVNET_RAYDIUM_AUTHORITY: PublicKey;
19
+ export declare const DAMM_V2_PROGRAM_ID: PublicKey;
20
+ export declare const LOW_FEE_RAYDIUM_CONFIG: PublicKey;
21
+ export declare const DEVNET_LOW_FEE_RAYDIUM_CONFIG: PublicKey;
22
+ export declare const RAYDIUM_CREATE_POOL_FEE_RECEIVE: PublicKey;
23
+ export declare const DEVNET_RAYDIUM_CREATE_POOL_FEE_RECEIVE: PublicKey;
24
+ export declare const SQUADS_PROGRAM_CONFIG: PublicKey;
25
+ export declare const SQUADS_PROGRAM_ID: PublicKey;
26
+ export declare const SQUADS_PROGRAM_CONFIG_TREASURY: PublicKey;
27
+ export declare const SQUADS_PROGRAM_CONFIG_TREASURY_DEVNET: PublicKey;
28
+ export declare const PERMISSIONLESS_ACCOUNT: Keypair;