@metadaoproject/futarchy 0.6.0-alpha.10 → 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 (32) hide show
  1. package/dist/v0.5/SharedLiquidityManagerClient.js.map +1 -1
  2. package/dist/v0.6/LaunchpadClient.d.ts +1 -1
  3. package/dist/v0.6/PriceBasedPerformancePackageClient.d.ts +10 -2
  4. package/dist/v0.6/PriceBasedPerformancePackageClient.js +7 -7
  5. package/dist/v0.6/PriceBasedPerformancePackageClient.js.map +1 -1
  6. package/dist/v0.6/PriceBasedUnlockClient.d.ts +383 -0
  7. package/dist/v0.6/PriceBasedUnlockClient.js +134 -0
  8. package/dist/v0.6/PriceBasedUnlockClient.js.map +1 -0
  9. package/dist/v0.6/constants.js +1 -1
  10. package/dist/v0.6/constants.js.map +1 -1
  11. package/dist/v0.6/types/index.d.ts +20 -3
  12. package/dist/v0.6/types/index.js +2 -10
  13. package/dist/v0.6/types/index.js.map +1 -1
  14. package/dist/v0.6/types/launchpad.d.ts +13 -23
  15. package/dist/v0.6/types/launchpad.js +13 -23
  16. package/dist/v0.6/types/launchpad.js.map +1 -1
  17. package/dist/v0.6/types/price_based_performance_package.d.ts +29 -6
  18. package/dist/v0.6/types/price_based_performance_package.js +29 -6
  19. package/dist/v0.6/types/price_based_performance_package.js.map +1 -1
  20. package/dist/v0.6/types/price_based_token_lock.d.ts +444 -0
  21. package/dist/v0.6/types/price_based_token_lock.js +444 -0
  22. package/dist/v0.6/types/price_based_token_lock.js.map +1 -0
  23. package/dist/v0.6/types/price_based_unlock.d.ts +862 -0
  24. package/dist/v0.6/types/price_based_unlock.js +862 -0
  25. package/dist/v0.6/types/price_based_unlock.js.map +1 -0
  26. package/dist/v0.6/types/shared_liquidity_manager.d.ts +89 -0
  27. package/dist/v0.6/types/shared_liquidity_manager.js +89 -0
  28. package/dist/v0.6/types/shared_liquidity_manager.js.map +1 -0
  29. package/dist/v0.6/utils/pda.d.ts +6 -0
  30. package/dist/v0.6/utils/pda.js +8 -0
  31. package/dist/v0.6/utils/pda.js.map +1 -1
  32. package/package.json +4 -2
@@ -0,0 +1,862 @@
1
+ export const IDL = {
2
+ version: "0.1.0",
3
+ name: "price_based_unlock",
4
+ constants: [
5
+ {
6
+ name: "SEED",
7
+ type: "string",
8
+ value: '"anchor"',
9
+ },
10
+ ],
11
+ instructions: [
12
+ {
13
+ name: "initializeLocker",
14
+ accounts: [
15
+ {
16
+ name: "locker",
17
+ isMut: true,
18
+ isSigner: false,
19
+ },
20
+ {
21
+ name: "createKey",
22
+ isMut: false,
23
+ isSigner: true,
24
+ docs: ["Used to derive the PDA"],
25
+ },
26
+ {
27
+ name: "tokenMint",
28
+ isMut: false,
29
+ isSigner: false,
30
+ docs: ["The mint of the tokens to be locked"],
31
+ },
32
+ {
33
+ name: "fromTokenAccount",
34
+ isMut: true,
35
+ isSigner: false,
36
+ docs: ["The token account containing the tokens to be locked"],
37
+ },
38
+ {
39
+ name: "tokenAuthority",
40
+ isMut: false,
41
+ isSigner: true,
42
+ docs: ["The authority of the token account"],
43
+ },
44
+ {
45
+ name: "lockerTokenAccount",
46
+ isMut: true,
47
+ isSigner: false,
48
+ docs: ["The locker's token account where tokens will be stored"],
49
+ },
50
+ {
51
+ name: "payer",
52
+ isMut: true,
53
+ isSigner: true,
54
+ },
55
+ {
56
+ name: "systemProgram",
57
+ isMut: false,
58
+ isSigner: false,
59
+ },
60
+ {
61
+ name: "tokenProgram",
62
+ isMut: false,
63
+ isSigner: false,
64
+ },
65
+ {
66
+ name: "associatedTokenProgram",
67
+ isMut: false,
68
+ isSigner: false,
69
+ },
70
+ {
71
+ name: "eventAuthority",
72
+ isMut: false,
73
+ isSigner: false,
74
+ },
75
+ {
76
+ name: "program",
77
+ isMut: false,
78
+ isSigner: false,
79
+ },
80
+ ],
81
+ args: [
82
+ {
83
+ name: "params",
84
+ type: {
85
+ defined: "InitializeLockerParams",
86
+ },
87
+ },
88
+ ],
89
+ },
90
+ {
91
+ name: "startUnlock",
92
+ accounts: [
93
+ {
94
+ name: "locker",
95
+ isMut: true,
96
+ isSigner: false,
97
+ },
98
+ {
99
+ name: "oracleAccount",
100
+ isMut: false,
101
+ isSigner: false,
102
+ },
103
+ {
104
+ name: "recipient",
105
+ isMut: false,
106
+ isSigner: true,
107
+ docs: ["Only the token recipient can start unlock"],
108
+ },
109
+ {
110
+ name: "eventAuthority",
111
+ isMut: false,
112
+ isSigner: false,
113
+ },
114
+ {
115
+ name: "program",
116
+ isMut: false,
117
+ isSigner: false,
118
+ },
119
+ ],
120
+ args: [],
121
+ },
122
+ {
123
+ name: "completeUnlock",
124
+ accounts: [
125
+ {
126
+ name: "locker",
127
+ isMut: true,
128
+ isSigner: false,
129
+ },
130
+ {
131
+ name: "oracleAccount",
132
+ isMut: false,
133
+ isSigner: false,
134
+ },
135
+ {
136
+ name: "lockerTokenAccount",
137
+ isMut: true,
138
+ isSigner: false,
139
+ docs: ["The token account where locked tokens are stored"],
140
+ },
141
+ {
142
+ name: "tokenMint",
143
+ isMut: false,
144
+ isSigner: false,
145
+ docs: ["The token mint - validated via has_one constraint on locker"],
146
+ },
147
+ {
148
+ name: "recipientTokenAccount",
149
+ isMut: true,
150
+ isSigner: false,
151
+ docs: [
152
+ "The recipient's ATA where tokens will be sent - created if needed",
153
+ ],
154
+ },
155
+ {
156
+ name: "tokenRecipient",
157
+ isMut: false,
158
+ isSigner: false,
159
+ },
160
+ {
161
+ name: "payer",
162
+ isMut: true,
163
+ isSigner: true,
164
+ docs: ["Payer for creating the ATA if needed"],
165
+ },
166
+ {
167
+ name: "systemProgram",
168
+ isMut: false,
169
+ isSigner: false,
170
+ },
171
+ {
172
+ name: "tokenProgram",
173
+ isMut: false,
174
+ isSigner: false,
175
+ },
176
+ {
177
+ name: "associatedTokenProgram",
178
+ isMut: false,
179
+ isSigner: false,
180
+ },
181
+ {
182
+ name: "eventAuthority",
183
+ isMut: false,
184
+ isSigner: false,
185
+ },
186
+ {
187
+ name: "program",
188
+ isMut: false,
189
+ isSigner: false,
190
+ },
191
+ ],
192
+ args: [],
193
+ },
194
+ {
195
+ name: "proposeChange",
196
+ accounts: [
197
+ {
198
+ name: "changeRequest",
199
+ isMut: true,
200
+ isSigner: false,
201
+ },
202
+ {
203
+ name: "locker",
204
+ isMut: true,
205
+ isSigner: false,
206
+ },
207
+ {
208
+ name: "proposer",
209
+ isMut: true,
210
+ isSigner: true,
211
+ },
212
+ {
213
+ name: "systemProgram",
214
+ isMut: false,
215
+ isSigner: false,
216
+ },
217
+ {
218
+ name: "eventAuthority",
219
+ isMut: false,
220
+ isSigner: false,
221
+ },
222
+ {
223
+ name: "program",
224
+ isMut: false,
225
+ isSigner: false,
226
+ },
227
+ ],
228
+ args: [
229
+ {
230
+ name: "params",
231
+ type: {
232
+ defined: "ProposeChangeParams",
233
+ },
234
+ },
235
+ ],
236
+ },
237
+ {
238
+ name: "executeChange",
239
+ accounts: [
240
+ {
241
+ name: "changeRequest",
242
+ isMut: true,
243
+ isSigner: false,
244
+ },
245
+ {
246
+ name: "locker",
247
+ isMut: true,
248
+ isSigner: false,
249
+ },
250
+ {
251
+ name: "executor",
252
+ isMut: true,
253
+ isSigner: true,
254
+ docs: [
255
+ "The party executing the change (must be opposite of proposer)",
256
+ ],
257
+ },
258
+ {
259
+ name: "eventAuthority",
260
+ isMut: false,
261
+ isSigner: false,
262
+ },
263
+ {
264
+ name: "program",
265
+ isMut: false,
266
+ isSigner: false,
267
+ },
268
+ ],
269
+ args: [],
270
+ },
271
+ {
272
+ name: "changeLockerAuthority",
273
+ accounts: [
274
+ {
275
+ name: "locker",
276
+ isMut: true,
277
+ isSigner: false,
278
+ },
279
+ {
280
+ name: "currentAuthority",
281
+ isMut: false,
282
+ isSigner: true,
283
+ docs: [
284
+ "Only the current locker authority can change the locker authority",
285
+ ],
286
+ },
287
+ {
288
+ name: "eventAuthority",
289
+ isMut: false,
290
+ isSigner: false,
291
+ },
292
+ {
293
+ name: "program",
294
+ isMut: false,
295
+ isSigner: false,
296
+ },
297
+ ],
298
+ args: [
299
+ {
300
+ name: "params",
301
+ type: {
302
+ defined: "ChangeLockerAuthorityParams",
303
+ },
304
+ },
305
+ ],
306
+ },
307
+ ],
308
+ accounts: [
309
+ {
310
+ name: "locker",
311
+ type: {
312
+ kind: "struct",
313
+ fields: [
314
+ {
315
+ name: "priceThreshold",
316
+ docs: ["The price threshold for 100% unlocking (max price target)"],
317
+ type: "u128",
318
+ },
319
+ {
320
+ name: "tokenAmount",
321
+ docs: ["The amount of tokens locked"],
322
+ type: "u64",
323
+ },
324
+ {
325
+ name: "tokensAlreadyUnlocked",
326
+ docs: ["The amount of tokens already unlocked"],
327
+ type: "u64",
328
+ },
329
+ {
330
+ name: "unlockTimestamp",
331
+ docs: ["The timestamp when unlocking can begin"],
332
+ type: "i64",
333
+ },
334
+ {
335
+ name: "oracleConfig",
336
+ docs: ["Where to pull price data from"],
337
+ type: {
338
+ defined: "OracleConfig",
339
+ },
340
+ },
341
+ {
342
+ name: "twapLengthSeconds",
343
+ docs: ["Length of time in seconds for TWAP calculation"],
344
+ type: "u64",
345
+ },
346
+ {
347
+ name: "tokenRecipient",
348
+ docs: ["The recipient of the tokens when unlocked"],
349
+ type: "publicKey",
350
+ },
351
+ {
352
+ name: "state",
353
+ docs: ["The current state of the locker"],
354
+ type: {
355
+ defined: "LockerState",
356
+ },
357
+ },
358
+ {
359
+ name: "createKey",
360
+ docs: ["Used to derive the PDA"],
361
+ type: "publicKey",
362
+ },
363
+ {
364
+ name: "pdaBump",
365
+ docs: ["The PDA bump"],
366
+ type: "u8",
367
+ },
368
+ {
369
+ name: "lockerAuthority",
370
+ docs: ["The authorized locker authority that can execute changes"],
371
+ type: "publicKey",
372
+ },
373
+ {
374
+ name: "tokenMint",
375
+ docs: ["The mint of the locked tokens"],
376
+ type: "publicKey",
377
+ },
378
+ ],
379
+ },
380
+ },
381
+ {
382
+ name: "changeRequest",
383
+ type: {
384
+ kind: "struct",
385
+ fields: [
386
+ {
387
+ name: "locker",
388
+ docs: ["The locker this change applies to"],
389
+ type: "publicKey",
390
+ },
391
+ {
392
+ name: "changeType",
393
+ docs: ["What is being changed"],
394
+ type: {
395
+ defined: "ChangeType",
396
+ },
397
+ },
398
+ {
399
+ name: "proposedAt",
400
+ docs: ["When the change was proposed"],
401
+ type: "i64",
402
+ },
403
+ {
404
+ name: "previousState",
405
+ docs: ["The locker state before the change was proposed"],
406
+ type: {
407
+ defined: "LockerState",
408
+ },
409
+ },
410
+ {
411
+ name: "proposer",
412
+ docs: [
413
+ "Who proposed this change (either token_recipient or locker_authority)",
414
+ ],
415
+ type: "publicKey",
416
+ },
417
+ {
418
+ name: "pdaNonce",
419
+ docs: ["Used to derive the PDA along with the proposer"],
420
+ type: "u32",
421
+ },
422
+ {
423
+ name: "pdaBump",
424
+ docs: ["The PDA bump"],
425
+ type: "u8",
426
+ },
427
+ ],
428
+ },
429
+ },
430
+ ],
431
+ types: [
432
+ {
433
+ name: "ChangeLockerAuthorityParams",
434
+ type: {
435
+ kind: "struct",
436
+ fields: [
437
+ {
438
+ name: "newLockerAuthority",
439
+ type: "publicKey",
440
+ },
441
+ ],
442
+ },
443
+ },
444
+ {
445
+ name: "InitializeLockerParams",
446
+ type: {
447
+ kind: "struct",
448
+ fields: [
449
+ {
450
+ name: "priceThreshold",
451
+ type: "u128",
452
+ },
453
+ {
454
+ name: "tokenAmount",
455
+ type: "u64",
456
+ },
457
+ {
458
+ name: "unlockTimestamp",
459
+ type: "i64",
460
+ },
461
+ {
462
+ name: "oracleConfig",
463
+ type: {
464
+ defined: "OracleConfig",
465
+ },
466
+ },
467
+ {
468
+ name: "twapLengthSeconds",
469
+ type: "u64",
470
+ },
471
+ {
472
+ name: "beneficiary",
473
+ type: "publicKey",
474
+ },
475
+ {
476
+ name: "lockerAuthority",
477
+ type: "publicKey",
478
+ },
479
+ ],
480
+ },
481
+ },
482
+ {
483
+ name: "ProposeChangeParams",
484
+ type: {
485
+ kind: "struct",
486
+ fields: [
487
+ {
488
+ name: "changeType",
489
+ type: {
490
+ defined: "ChangeType",
491
+ },
492
+ },
493
+ {
494
+ name: "pdaNonce",
495
+ type: "u32",
496
+ },
497
+ ],
498
+ },
499
+ },
500
+ {
501
+ name: "OracleConfig",
502
+ docs: [
503
+ "Starting at `byte_offset` in `oracle_account`, this program expects to read:",
504
+ "- 16 bytes for the aggregator, stored as a little endian u128",
505
+ "- 8 bytes for the slot that the aggregator was last updated, stored as a",
506
+ "little endian u64",
507
+ "",
508
+ "The aggregator should be a weighted sum of prices, where the weight is the",
509
+ "number of seconds between prices. Here's an example:",
510
+ "- at second 0, the aggregator is 0",
511
+ "- at second 1, the price is 10 and the aggregator is 10 (10 * 1)",
512
+ "- at second 4, the price is 11 and 3 seconds have passed, so the aggregator is",
513
+ "10 + 11 * 3 = 43",
514
+ "",
515
+ "This allows our program to read a TWAP over a time period by reading the",
516
+ "aggregator value at the beginning and at the end, and dividing the difference",
517
+ "by the number of seconds between the two.",
518
+ ],
519
+ type: {
520
+ kind: "struct",
521
+ fields: [
522
+ {
523
+ name: "oracleAccount",
524
+ type: "publicKey",
525
+ },
526
+ {
527
+ name: "byteOffset",
528
+ type: "u32",
529
+ },
530
+ ],
531
+ },
532
+ },
533
+ {
534
+ name: "LockerState",
535
+ type: {
536
+ kind: "enum",
537
+ variants: [
538
+ {
539
+ name: "Locked",
540
+ },
541
+ {
542
+ name: "Unlocking",
543
+ fields: [
544
+ {
545
+ name: "startAggregator",
546
+ docs: ["The aggregator value when unlocking started"],
547
+ type: "u128",
548
+ },
549
+ {
550
+ name: "startTimestamp",
551
+ docs: ["The timestamp when unlocking started"],
552
+ type: "i64",
553
+ },
554
+ ],
555
+ },
556
+ {
557
+ name: "Unlocked",
558
+ },
559
+ ],
560
+ },
561
+ },
562
+ {
563
+ name: "ChangeType",
564
+ type: {
565
+ kind: "enum",
566
+ variants: [
567
+ {
568
+ name: "Oracle",
569
+ fields: [
570
+ {
571
+ name: "newOracleConfig",
572
+ type: {
573
+ defined: "OracleConfig",
574
+ },
575
+ },
576
+ ],
577
+ },
578
+ {
579
+ name: "Recipient",
580
+ fields: [
581
+ {
582
+ name: "newRecipient",
583
+ type: "publicKey",
584
+ },
585
+ ],
586
+ },
587
+ ],
588
+ },
589
+ },
590
+ ],
591
+ events: [
592
+ {
593
+ name: "LockerInitialized",
594
+ fields: [
595
+ {
596
+ name: "locker",
597
+ type: "publicKey",
598
+ index: false,
599
+ },
600
+ {
601
+ name: "priceThreshold",
602
+ type: "u128",
603
+ index: false,
604
+ },
605
+ {
606
+ name: "tokenAmount",
607
+ type: "u64",
608
+ index: false,
609
+ },
610
+ {
611
+ name: "unlockTimestamp",
612
+ type: "i64",
613
+ index: false,
614
+ },
615
+ {
616
+ name: "oracleConfig",
617
+ type: {
618
+ defined: "OracleConfig",
619
+ },
620
+ index: false,
621
+ },
622
+ {
623
+ name: "tokenRecipient",
624
+ type: "publicKey",
625
+ index: false,
626
+ },
627
+ ],
628
+ },
629
+ {
630
+ name: "UnlockStarted",
631
+ fields: [
632
+ {
633
+ name: "locker",
634
+ type: "publicKey",
635
+ index: false,
636
+ },
637
+ {
638
+ name: "startAggregator",
639
+ type: "u128",
640
+ index: false,
641
+ },
642
+ {
643
+ name: "startTimestamp",
644
+ type: "i64",
645
+ index: false,
646
+ },
647
+ ],
648
+ },
649
+ {
650
+ name: "UnlockCompleted",
651
+ fields: [
652
+ {
653
+ name: "locker",
654
+ type: "publicKey",
655
+ index: false,
656
+ },
657
+ {
658
+ name: "tokenAmount",
659
+ type: "u64",
660
+ index: false,
661
+ },
662
+ {
663
+ name: "recipient",
664
+ type: "publicKey",
665
+ index: false,
666
+ },
667
+ {
668
+ name: "twapPrice",
669
+ type: "u128",
670
+ index: false,
671
+ },
672
+ {
673
+ name: "priceThreshold",
674
+ type: "u128",
675
+ index: false,
676
+ },
677
+ ],
678
+ },
679
+ {
680
+ name: "TokensClaimed",
681
+ fields: [
682
+ {
683
+ name: "locker",
684
+ type: "publicKey",
685
+ index: false,
686
+ },
687
+ {
688
+ name: "recipient",
689
+ type: "publicKey",
690
+ index: false,
691
+ },
692
+ {
693
+ name: "tokensClaimed",
694
+ type: "u64",
695
+ index: false,
696
+ },
697
+ {
698
+ name: "tokensAlreadyUnlocked",
699
+ type: "u64",
700
+ index: false,
701
+ },
702
+ {
703
+ name: "totalTokenAmount",
704
+ type: "u64",
705
+ index: false,
706
+ },
707
+ {
708
+ name: "currentPrice",
709
+ type: "u128",
710
+ index: false,
711
+ },
712
+ {
713
+ name: "unlockPercentage",
714
+ type: "u128",
715
+ index: false,
716
+ },
717
+ ],
718
+ },
719
+ {
720
+ name: "ChangeProposed",
721
+ fields: [
722
+ {
723
+ name: "locker",
724
+ type: "publicKey",
725
+ index: false,
726
+ },
727
+ {
728
+ name: "changeRequest",
729
+ type: "publicKey",
730
+ index: false,
731
+ },
732
+ {
733
+ name: "proposer",
734
+ type: "publicKey",
735
+ index: false,
736
+ },
737
+ {
738
+ name: "changeType",
739
+ type: {
740
+ defined: "ChangeType",
741
+ },
742
+ index: false,
743
+ },
744
+ {
745
+ name: "proposedAt",
746
+ type: "i64",
747
+ index: false,
748
+ },
749
+ ],
750
+ },
751
+ {
752
+ name: "ChangeExecuted",
753
+ fields: [
754
+ {
755
+ name: "locker",
756
+ type: "publicKey",
757
+ index: false,
758
+ },
759
+ {
760
+ name: "changeRequest",
761
+ type: "publicKey",
762
+ index: false,
763
+ },
764
+ {
765
+ name: "executor",
766
+ type: "publicKey",
767
+ index: false,
768
+ },
769
+ {
770
+ name: "changeType",
771
+ type: {
772
+ defined: "ChangeType",
773
+ },
774
+ index: false,
775
+ },
776
+ {
777
+ name: "executedAt",
778
+ type: "i64",
779
+ index: false,
780
+ },
781
+ ],
782
+ },
783
+ {
784
+ name: "LockerAuthorityChanged",
785
+ fields: [
786
+ {
787
+ name: "locker",
788
+ type: "publicKey",
789
+ index: false,
790
+ },
791
+ {
792
+ name: "oldAuthority",
793
+ type: "publicKey",
794
+ index: false,
795
+ },
796
+ {
797
+ name: "newAuthority",
798
+ type: "publicKey",
799
+ index: false,
800
+ },
801
+ {
802
+ name: "changedAt",
803
+ type: "i64",
804
+ index: false,
805
+ },
806
+ ],
807
+ },
808
+ ],
809
+ errors: [
810
+ {
811
+ code: 6000,
812
+ name: "UnlockTimestampNotReached",
813
+ msg: "Unlock timestamp has not been reached yet",
814
+ },
815
+ {
816
+ code: 6001,
817
+ name: "UnlockTimestampInThePast",
818
+ msg: "Unlock timestamp must be in the future",
819
+ },
820
+ {
821
+ code: 6002,
822
+ name: "InvalidLockerState",
823
+ msg: "Locker is not in the expected state",
824
+ },
825
+ {
826
+ code: 6003,
827
+ name: "TwapCalculationFailed",
828
+ msg: "TWAP calculation failed",
829
+ },
830
+ {
831
+ code: 6004,
832
+ name: "PriceThresholdNotMet",
833
+ msg: "Price threshold not met",
834
+ },
835
+ {
836
+ code: 6005,
837
+ name: "InvalidOracleData",
838
+ msg: "Invalid oracle account data",
839
+ },
840
+ {
841
+ code: 6006,
842
+ name: "UnauthorizedChangeRequest",
843
+ msg: "Unauthorized to create or execute change request",
844
+ },
845
+ {
846
+ code: 6007,
847
+ name: "InvalidChangeRequest",
848
+ msg: "Change request does not match locker",
849
+ },
850
+ {
851
+ code: 6008,
852
+ name: "UnauthorizedLockerAuthority",
853
+ msg: "Unauthorized locker authority",
854
+ },
855
+ {
856
+ code: 6009,
857
+ name: "InvariantViolated",
858
+ msg: "An invariant was violated. You should get in contact with the MetaDAO team if you see this",
859
+ },
860
+ ],
861
+ };
862
+ //# sourceMappingURL=price_based_unlock.js.map