@metadaoproject/futarchy 0.6.0-alpha.2 → 0.6.0-alpha.3

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.
@@ -0,0 +1,325 @@
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
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
100
+ name: "startUnlock";
101
+ accounts: [{
102
+ name: "locker";
103
+ isMut: true;
104
+ isSigner: false;
105
+ }, {
106
+ name: "oracleAccount";
107
+ isMut: false;
108
+ isSigner: false;
109
+ }, {
110
+ name: "eventAuthority";
111
+ isMut: false;
112
+ isSigner: false;
113
+ }, {
114
+ name: "program";
115
+ isMut: false;
116
+ isSigner: false;
117
+ }];
118
+ args: [];
119
+ } & {
120
+ name: "startUnlock";
121
+ }>;
122
+ completeUnlockIx(params: {
123
+ locker: PublicKey;
124
+ oracleAccount: PublicKey;
125
+ recipientTokenAccount: PublicKey;
126
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
127
+ name: "completeUnlock";
128
+ accounts: [{
129
+ name: "locker";
130
+ isMut: true;
131
+ isSigner: false;
132
+ }, {
133
+ name: "oracleAccount";
134
+ isMut: false;
135
+ isSigner: false;
136
+ }, {
137
+ name: "lockerTokenAccount";
138
+ isMut: true;
139
+ isSigner: false;
140
+ docs: ["The token account where locked tokens are stored"];
141
+ }, {
142
+ name: "recipientTokenAccount";
143
+ isMut: true;
144
+ isSigner: false;
145
+ docs: ["The recipient's token account where tokens will be sent"];
146
+ }, {
147
+ name: "tokenProgram";
148
+ isMut: false;
149
+ isSigner: false;
150
+ }, {
151
+ name: "eventAuthority";
152
+ isMut: false;
153
+ isSigner: false;
154
+ }, {
155
+ name: "program";
156
+ isMut: false;
157
+ isSigner: false;
158
+ }];
159
+ args: [];
160
+ } & {
161
+ name: "completeUnlock";
162
+ }>;
163
+ proposeChangeIx(params: {
164
+ params: {
165
+ changeType: any;
166
+ createKey: PublicKey;
167
+ };
168
+ locker: PublicKey;
169
+ proposer: PublicKey;
170
+ payer: PublicKey;
171
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
172
+ name: "proposeChange";
173
+ accounts: [{
174
+ name: "changeRequest";
175
+ isMut: true;
176
+ isSigner: false;
177
+ }, {
178
+ name: "locker";
179
+ isMut: true;
180
+ isSigner: false;
181
+ }, {
182
+ name: "proposer";
183
+ isMut: true;
184
+ isSigner: true;
185
+ }, {
186
+ name: "systemProgram";
187
+ isMut: false;
188
+ isSigner: false;
189
+ }];
190
+ args: [{
191
+ name: "params";
192
+ type: {
193
+ defined: "ProposeChangeParams";
194
+ };
195
+ }];
196
+ } & {
197
+ name: "proposeChange";
198
+ }>;
199
+ executeChangeIx(params: {
200
+ locker: PublicKey;
201
+ changeRequest: PublicKey;
202
+ executor: PublicKey;
203
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<PriceBasedUnlock, {
204
+ name: "executeChange";
205
+ accounts: [{
206
+ name: "changeRequest";
207
+ isMut: true;
208
+ isSigner: false;
209
+ }, {
210
+ name: "locker";
211
+ isMut: true;
212
+ isSigner: false;
213
+ }, {
214
+ name: "executor";
215
+ isMut: true;
216
+ isSigner: true;
217
+ docs: ["The party executing the change (must be opposite of proposer)"];
218
+ }];
219
+ args: [];
220
+ } & {
221
+ name: "executeChange";
222
+ }>;
223
+ getLocker(lockerAddress: PublicKey): Promise<{
224
+ priceThreshold: BN;
225
+ tokenAmount: BN;
226
+ tokensAlreadyUnlocked: BN;
227
+ unlockTimestamp: BN;
228
+ oracleConfig: {
229
+ oracleAccount: PublicKey;
230
+ byteOffset: number;
231
+ };
232
+ twapLengthSeconds: BN;
233
+ tokenRecipient: PublicKey;
234
+ state: ({
235
+ unlocking?: undefined;
236
+ unlocked?: undefined;
237
+ pendingChange?: undefined;
238
+ } & {
239
+ locked: Record<string, never>;
240
+ }) | ({
241
+ locked?: undefined;
242
+ unlocked?: undefined;
243
+ pendingChange?: undefined;
244
+ } & {
245
+ unlocking: {
246
+ startAggregator: BN;
247
+ startTimestamp: BN;
248
+ };
249
+ }) | ({
250
+ locked?: undefined;
251
+ unlocking?: undefined;
252
+ pendingChange?: undefined;
253
+ } & {
254
+ unlocked: Record<string, never>;
255
+ }) | ({
256
+ locked?: undefined;
257
+ unlocking?: undefined;
258
+ unlocked?: undefined;
259
+ } & {
260
+ pendingChange: {
261
+ changeRequest: PublicKey;
262
+ };
263
+ });
264
+ createKey: PublicKey;
265
+ pdaBump: number;
266
+ lockerAuthority: PublicKey;
267
+ }>;
268
+ getChangeRequest(changeRequestAddress: PublicKey): Promise<{
269
+ locker: PublicKey;
270
+ changeType: ({
271
+ recipient?: undefined;
272
+ } & {
273
+ oracle: {
274
+ newOracleConfig: {
275
+ oracleAccount: PublicKey;
276
+ byteOffset: number;
277
+ };
278
+ };
279
+ }) | ({
280
+ oracle?: undefined;
281
+ } & {
282
+ recipient: {
283
+ newRecipient: PublicKey;
284
+ };
285
+ });
286
+ proposedAt: BN;
287
+ previousState: ({
288
+ unlocking?: undefined;
289
+ unlocked?: undefined;
290
+ pendingChange?: undefined;
291
+ } & {
292
+ locked: Record<string, never>;
293
+ }) | ({
294
+ locked?: undefined;
295
+ unlocked?: undefined;
296
+ pendingChange?: undefined;
297
+ } & {
298
+ unlocking: {
299
+ startAggregator: BN;
300
+ startTimestamp: BN;
301
+ };
302
+ }) | ({
303
+ locked?: undefined;
304
+ unlocking?: undefined;
305
+ pendingChange?: undefined;
306
+ } & {
307
+ unlocked: Record<string, never>;
308
+ }) | ({
309
+ locked?: undefined;
310
+ unlocking?: undefined;
311
+ unlocked?: undefined;
312
+ } & {
313
+ pendingChange: {
314
+ changeRequest: PublicKey;
315
+ };
316
+ });
317
+ proposer: PublicKey;
318
+ createKey: PublicKey;
319
+ pdaBump: number;
320
+ }>;
321
+ getLockerAddress(createKey: PublicKey): PublicKey;
322
+ getChangeRequestAddress(locker: PublicKey, createKey: PublicKey): PublicKey;
323
+ getLockerTokenAccountAddress(locker: PublicKey): PublicKey;
324
+ getEventAuthorityAddress(): PublicKey;
325
+ }
@@ -0,0 +1,100 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { PublicKey, SystemProgram, } from "@solana/web3.js";
3
+ import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, } 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
+ });
47
+ }
48
+ startUnlockIx(params) {
49
+ return this.program.methods.startUnlock().accounts({
50
+ locker: params.locker,
51
+ oracleAccount: params.oracleAccount,
52
+ });
53
+ }
54
+ completeUnlockIx(params) {
55
+ return this.program.methods.completeUnlock().accounts({
56
+ locker: params.locker,
57
+ oracleAccount: params.oracleAccount,
58
+ lockerTokenAccount: this.getLockerTokenAccountAddress(params.locker),
59
+ recipientTokenAccount: params.recipientTokenAccount,
60
+ });
61
+ }
62
+ proposeChangeIx(params) {
63
+ const changeRequestAddress = this.getChangeRequestAddress(params.locker, params.params.createKey);
64
+ return this.program.methods.proposeChange(params.params).accounts({
65
+ changeRequest: changeRequestAddress,
66
+ locker: params.locker,
67
+ proposer: params.proposer,
68
+ systemProgram: SystemProgram.programId,
69
+ });
70
+ }
71
+ executeChangeIx(params) {
72
+ return this.program.methods.executeChange().accounts({
73
+ changeRequest: params.changeRequest,
74
+ locker: params.locker,
75
+ executor: params.executor,
76
+ });
77
+ }
78
+ async getLocker(lockerAddress) {
79
+ return await this.program.account.locker.fetch(lockerAddress);
80
+ }
81
+ async getChangeRequest(changeRequestAddress) {
82
+ return await this.program.account.changeRequest.fetch(changeRequestAddress);
83
+ }
84
+ getLockerAddress(createKey) {
85
+ const [lockerAddress] = PublicKey.findProgramAddressSync([Buffer.from("locker"), createKey.toBuffer()], this.programId);
86
+ return lockerAddress;
87
+ }
88
+ getChangeRequestAddress(locker, createKey) {
89
+ const [changeRequestAddress] = PublicKey.findProgramAddressSync([Buffer.from("change_request"), locker.toBuffer(), createKey.toBuffer()], this.programId);
90
+ return changeRequestAddress;
91
+ }
92
+ getLockerTokenAccountAddress(locker) {
93
+ const [lockerTokenAccountAddress] = PublicKey.findProgramAddressSync([Buffer.from("locker_token_account"), locker.toBuffer()], this.programId);
94
+ return lockerTokenAccountAddress;
95
+ }
96
+ getEventAuthorityAddress() {
97
+ return getEventAuthorityAddr(this.programId)[0];
98
+ }
99
+ }
100
+ //# sourceMappingURL=PriceBasedUnlockClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceBasedUnlockClient.js","sourceRoot":"","sources":["../../src/v0.6/PriceBasedUnlockClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,SAAS,EAGT,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,GAAG,IAAI,mBAAmB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAOvD,MAAM,OAAO,sBAAsB;IACjB,QAAQ,CAAiB;IACzB,OAAO,CAA4B;IACnC,SAAS,CAAY;IAErC,YACE,QAAwB,EACxB,4BAAuC;QAEvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,4BAA4B,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CACxB,mBAAmB,EACnB,4BAA4B,EAC5B,QAAQ,CACT,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,kBAAyD;QAEzD,IAAI,EAAE,QAAQ,EAAE,4BAA4B,EAAE,GAAG,kBAAkB,CAAC;QAEpE,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,4BAA4B,GAAG,iCAAiC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAC5E,CAAC;IAEM,kBAAkB,CAAC,MAezB;QACC,MAAM,kBAAkB,GAAG,IAAI,CAAC,4BAA4B,CAC1D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CACxC,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,gBAAgB,CAAC;YAChB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe;YAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;YACxC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;YAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YACzC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe;SAC/C,CAAC;aACD,QAAQ,CAAC;YACR,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,kBAAkB;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,YAAY,EAAE,gBAAgB;YAC9B,sBAAsB,EAAE,2BAA2B;SACpD,CAAC,CAAC;IACP,CAAC;IAEM,aAAa,CAAC,MAGpB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACjD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,MAIvB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;YACpD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,kBAAkB,EAAE,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC;YACpE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;SACpD,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,MAQtB;QACC,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CACvD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;YAChE,aAAa,EAAE,oBAAoB;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,aAAa,CAAC,SAAS;SACvC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,MAItB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;YACnD,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,aAAwB;QAC7C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,oBAA+B;QAC3D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9E,CAAC;IAEM,gBAAgB,CAAC,SAAoB;QAC1C,MAAM,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,sBAAsB,CACtD,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAC7C,IAAI,CAAC,SAAS,CACf,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,uBAAuB,CAC5B,MAAiB,EACjB,SAAoB;QAEpB,MAAM,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAC7D,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EACxE,IAAI,CAAC,SAAS,CACf,CAAC;QACF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEM,4BAA4B,CAAC,MAAiB;QACnD,MAAM,CAAC,yBAAyB,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAClE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EACxD,IAAI,CAAC,SAAS,CACf,CAAC;QACF,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAEM,wBAAwB;QAC7B,OAAO,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -4,6 +4,7 @@ export declare const AMM_PROGRAM_ID: PublicKey;
4
4
  export declare const CONDITIONAL_VAULT_PROGRAM_ID: PublicKey;
5
5
  export declare const LAUNCHPAD_PROGRAM_ID: PublicKey;
6
6
  export declare const SHARED_LIQUIDITY_MANAGER_PROGRAM_ID: PublicKey;
7
+ export declare const PRICE_BASED_TOKEN_LOCK_PROGRAM_ID: PublicKey;
7
8
  export declare const MPL_TOKEN_METADATA_PROGRAM_ID: PublicKey;
8
9
  export declare const RAYDIUM_CP_SWAP_PROGRAM_ID: PublicKey;
9
10
  export declare const DEVNET_RAYDIUM_CP_SWAP_PROGRAM_ID: PublicKey;
@@ -6,6 +6,7 @@ export const AMM_PROGRAM_ID = new PublicKey("AMMJdEiCCa8mdugg6JPF7gFirmmxisTfDJo
6
6
  export const CONDITIONAL_VAULT_PROGRAM_ID = new PublicKey("VLTX1ishMBbcX3rdBWGssxawAo1Q2X2qxYFYqiGodVg");
7
7
  export const LAUNCHPAD_PROGRAM_ID = new PublicKey("mooNhciQJi1LqHDmse2JPic2NqG2PXCanbE3ZYzP3qA");
8
8
  export const SHARED_LIQUIDITY_MANAGER_PROGRAM_ID = new PublicKey("EoJc1PYxZbnCjszampLcwJGYcB5Md47jM4oSQacRtD4d");
9
+ export const PRICE_BASED_TOKEN_LOCK_PROGRAM_ID = new PublicKey("GP3gUFqHgdz9tB5bosCqmnu7qnkFa1gjUMFs8uCkwWQr");
9
10
  export const MPL_TOKEN_METADATA_PROGRAM_ID = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
10
11
  export const RAYDIUM_CP_SWAP_PROGRAM_ID = new PublicKey("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C");
11
12
  export const DEVNET_RAYDIUM_CP_SWAP_PROGRAM_ID = new PublicKey("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW");
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/v0.6/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/v0.6/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAC9C,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CACzC,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,SAAS,CACvD,6CAA6C,CAC9C,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAC/C,6CAA6C,CAC9C,CAAC;AACF,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,SAAS,CAC9D,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,SAAS,CAC5D,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CACxD,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CACrD,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,SAAS,CAC5D,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CACpC,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,CACvC,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CACtC,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAgB,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC,sBAAsB,CAC/D,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,EAC/D,0BAA0B,CAC3B,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,sBAAsB,CACtE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,EAC/D,iCAAiC,CAClC,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CACjD,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC,sBAAsB,CAC3E;IACE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;CACvC,EACD,iCAAiC,CAClC,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,SAAS,CAC1D,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,SAAS,CACjE,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAChD,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAC5C,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,SAAS,CACzD,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,SAAS,CAChE,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,aAAa,CACzD,UAAU,CAAC,IAAI,CAAC;IACd,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;IACxE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACxE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACxE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACzE,CAAC,CACH,CAAC"}
@@ -4,3 +4,4 @@ export * from "./constants.js";
4
4
  export * from "./FutarchyClient.js";
5
5
  export * from "./ConditionalVaultClient.js";
6
6
  export * from "./LaunchpadClient.js";
7
+ export * from "./PriceBasedUnlockClient.js";
@@ -4,4 +4,5 @@ export * from "./constants.js";
4
4
  export * from "./FutarchyClient.js";
5
5
  export * from "./ConditionalVaultClient.js";
6
6
  export * from "./LaunchpadClient.js";
7
+ export * from "./PriceBasedUnlockClient.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v0.6/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v0.6/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC"}