@metadaoproject/futarchy 0.7.0-alpha.2 → 0.7.0-alpha.5

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 (48) hide show
  1. package/dist/v0.6/FutarchyClient.d.ts +6 -4
  2. package/dist/v0.6/FutarchyClient.js +30 -26
  3. package/dist/v0.6/FutarchyClient.js.map +1 -1
  4. package/dist/v0.6/LaunchpadClient.d.ts +4 -2
  5. package/dist/v0.6/LaunchpadClient.js +10 -6
  6. package/dist/v0.6/LaunchpadClient.js.map +1 -1
  7. package/dist/v0.6/types/futarchy.d.ts +202 -0
  8. package/dist/v0.6/types/futarchy.js +202 -0
  9. package/dist/v0.6/types/futarchy.js.map +1 -1
  10. package/dist/v0.6/types/index.d.ts +25 -0
  11. package/dist/v0.6/types/index.js +4 -0
  12. package/dist/v0.6/types/index.js.map +1 -1
  13. package/dist/v0.6/types/launchpad.d.ts +1 -1
  14. package/dist/v0.6/types/launchpad.js +1 -1
  15. package/dist/v0.6/types/v0.6.0-futarchy.d.ts +2567 -0
  16. package/dist/v0.6/types/v0.6.0-futarchy.js +2567 -0
  17. package/dist/v0.6/types/v0.6.0-futarchy.js.map +1 -0
  18. package/dist/v0.6/types/v0.6.0-launchpad.d.ts +1277 -0
  19. package/dist/v0.6/types/v0.6.0-launchpad.js +1277 -0
  20. package/dist/v0.6/types/v0.6.0-launchpad.js.map +1 -0
  21. package/dist/v0.7/BidWallClient.d.ts +357 -0
  22. package/dist/v0.7/BidWallClient.js +131 -0
  23. package/dist/v0.7/BidWallClient.js.map +1 -0
  24. package/dist/v0.7/LaunchpadClient.d.ts +105 -8
  25. package/dist/v0.7/LaunchpadClient.js +64 -8
  26. package/dist/v0.7/LaunchpadClient.js.map +1 -1
  27. package/dist/v0.7/constants.d.ts +2 -0
  28. package/dist/v0.7/constants.js +4 -1
  29. package/dist/v0.7/constants.js.map +1 -1
  30. package/dist/v0.7/index.d.ts +1 -0
  31. package/dist/v0.7/index.js +1 -0
  32. package/dist/v0.7/index.js.map +1 -1
  33. package/dist/v0.7/types/bid_wall.d.ts +733 -0
  34. package/dist/v0.7/types/bid_wall.js +733 -0
  35. package/dist/v0.7/types/bid_wall.js.map +1 -0
  36. package/dist/v0.7/types/futarchy.d.ts +202 -0
  37. package/dist/v0.7/types/futarchy.js +202 -0
  38. package/dist/v0.7/types/futarchy.js.map +1 -1
  39. package/dist/v0.7/types/index.d.ts +13 -2
  40. package/dist/v0.7/types/index.js +2 -0
  41. package/dist/v0.7/types/index.js.map +1 -1
  42. package/dist/v0.7/types/launchpad_v7.d.ts +177 -4
  43. package/dist/v0.7/types/launchpad_v7.js +177 -4
  44. package/dist/v0.7/types/launchpad_v7.js.map +1 -1
  45. package/dist/v0.7/utils/pda.d.ts +6 -0
  46. package/dist/v0.7/utils/pda.js +9 -1
  47. package/dist/v0.7/utils/pda.js.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,2567 @@
1
+ export const IDL = {
2
+ version: "0.6.0",
3
+ name: "futarchy",
4
+ instructions: [
5
+ {
6
+ name: "initializeDao",
7
+ accounts: [
8
+ {
9
+ name: "dao",
10
+ isMut: true,
11
+ isSigner: false,
12
+ },
13
+ {
14
+ name: "daoCreator",
15
+ isMut: false,
16
+ isSigner: true,
17
+ },
18
+ {
19
+ name: "payer",
20
+ isMut: true,
21
+ isSigner: true,
22
+ },
23
+ {
24
+ name: "systemProgram",
25
+ isMut: false,
26
+ isSigner: false,
27
+ },
28
+ {
29
+ name: "baseMint",
30
+ isMut: false,
31
+ isSigner: false,
32
+ },
33
+ {
34
+ name: "quoteMint",
35
+ isMut: false,
36
+ isSigner: false,
37
+ },
38
+ {
39
+ name: "squadsMultisig",
40
+ isMut: true,
41
+ isSigner: false,
42
+ },
43
+ {
44
+ name: "squadsMultisigVault",
45
+ isMut: false,
46
+ isSigner: false,
47
+ },
48
+ {
49
+ name: "squadsProgram",
50
+ isMut: false,
51
+ isSigner: false,
52
+ },
53
+ {
54
+ name: "squadsProgramConfig",
55
+ isMut: false,
56
+ isSigner: false,
57
+ },
58
+ {
59
+ name: "squadsProgramConfigTreasury",
60
+ isMut: true,
61
+ isSigner: false,
62
+ },
63
+ {
64
+ name: "spendingLimit",
65
+ isMut: true,
66
+ isSigner: false,
67
+ },
68
+ {
69
+ name: "futarchyAmmBaseVault",
70
+ isMut: true,
71
+ isSigner: false,
72
+ },
73
+ {
74
+ name: "futarchyAmmQuoteVault",
75
+ isMut: true,
76
+ isSigner: false,
77
+ },
78
+ {
79
+ name: "tokenProgram",
80
+ isMut: false,
81
+ isSigner: false,
82
+ },
83
+ {
84
+ name: "associatedTokenProgram",
85
+ isMut: false,
86
+ isSigner: false,
87
+ },
88
+ {
89
+ name: "eventAuthority",
90
+ isMut: false,
91
+ isSigner: false,
92
+ },
93
+ {
94
+ name: "program",
95
+ isMut: false,
96
+ isSigner: false,
97
+ },
98
+ ],
99
+ args: [
100
+ {
101
+ name: "params",
102
+ type: {
103
+ defined: "InitializeDaoParams",
104
+ },
105
+ },
106
+ ],
107
+ },
108
+ {
109
+ name: "initializeProposal",
110
+ accounts: [
111
+ {
112
+ name: "proposal",
113
+ isMut: true,
114
+ isSigner: false,
115
+ },
116
+ {
117
+ name: "squadsProposal",
118
+ isMut: false,
119
+ isSigner: false,
120
+ },
121
+ {
122
+ name: "dao",
123
+ isMut: true,
124
+ isSigner: false,
125
+ },
126
+ {
127
+ name: "question",
128
+ isMut: false,
129
+ isSigner: false,
130
+ },
131
+ {
132
+ name: "quoteVault",
133
+ isMut: false,
134
+ isSigner: false,
135
+ },
136
+ {
137
+ name: "baseVault",
138
+ isMut: false,
139
+ isSigner: false,
140
+ },
141
+ {
142
+ name: "proposer",
143
+ isMut: false,
144
+ isSigner: true,
145
+ },
146
+ {
147
+ name: "payer",
148
+ isMut: true,
149
+ isSigner: true,
150
+ },
151
+ {
152
+ name: "systemProgram",
153
+ isMut: false,
154
+ isSigner: false,
155
+ },
156
+ {
157
+ name: "eventAuthority",
158
+ isMut: false,
159
+ isSigner: false,
160
+ },
161
+ {
162
+ name: "program",
163
+ isMut: false,
164
+ isSigner: false,
165
+ },
166
+ ],
167
+ args: [],
168
+ },
169
+ {
170
+ name: "stakeToProposal",
171
+ accounts: [
172
+ {
173
+ name: "proposal",
174
+ isMut: true,
175
+ isSigner: false,
176
+ },
177
+ {
178
+ name: "dao",
179
+ isMut: true,
180
+ isSigner: false,
181
+ },
182
+ {
183
+ name: "stakerBaseAccount",
184
+ isMut: true,
185
+ isSigner: false,
186
+ },
187
+ {
188
+ name: "proposalBaseAccount",
189
+ isMut: true,
190
+ isSigner: false,
191
+ },
192
+ {
193
+ name: "stakeAccount",
194
+ isMut: true,
195
+ isSigner: false,
196
+ },
197
+ {
198
+ name: "staker",
199
+ isMut: false,
200
+ isSigner: true,
201
+ },
202
+ {
203
+ name: "payer",
204
+ isMut: true,
205
+ isSigner: true,
206
+ },
207
+ {
208
+ name: "tokenProgram",
209
+ isMut: false,
210
+ isSigner: false,
211
+ },
212
+ {
213
+ name: "associatedTokenProgram",
214
+ isMut: false,
215
+ isSigner: false,
216
+ },
217
+ {
218
+ name: "systemProgram",
219
+ isMut: false,
220
+ isSigner: false,
221
+ },
222
+ {
223
+ name: "eventAuthority",
224
+ isMut: false,
225
+ isSigner: false,
226
+ },
227
+ {
228
+ name: "program",
229
+ isMut: false,
230
+ isSigner: false,
231
+ },
232
+ ],
233
+ args: [
234
+ {
235
+ name: "params",
236
+ type: {
237
+ defined: "StakeToProposalParams",
238
+ },
239
+ },
240
+ ],
241
+ },
242
+ {
243
+ name: "unstakeFromProposal",
244
+ accounts: [
245
+ {
246
+ name: "proposal",
247
+ isMut: true,
248
+ isSigner: false,
249
+ },
250
+ {
251
+ name: "dao",
252
+ isMut: true,
253
+ isSigner: false,
254
+ },
255
+ {
256
+ name: "stakerBaseAccount",
257
+ isMut: true,
258
+ isSigner: false,
259
+ },
260
+ {
261
+ name: "proposalBaseAccount",
262
+ isMut: true,
263
+ isSigner: false,
264
+ },
265
+ {
266
+ name: "stakeAccount",
267
+ isMut: true,
268
+ isSigner: false,
269
+ },
270
+ {
271
+ name: "staker",
272
+ isMut: false,
273
+ isSigner: true,
274
+ },
275
+ {
276
+ name: "tokenProgram",
277
+ isMut: false,
278
+ isSigner: false,
279
+ },
280
+ {
281
+ name: "associatedTokenProgram",
282
+ isMut: false,
283
+ isSigner: false,
284
+ },
285
+ {
286
+ name: "eventAuthority",
287
+ isMut: false,
288
+ isSigner: false,
289
+ },
290
+ {
291
+ name: "program",
292
+ isMut: false,
293
+ isSigner: false,
294
+ },
295
+ ],
296
+ args: [
297
+ {
298
+ name: "params",
299
+ type: {
300
+ defined: "UnstakeFromProposalParams",
301
+ },
302
+ },
303
+ ],
304
+ },
305
+ {
306
+ name: "launchProposal",
307
+ accounts: [
308
+ {
309
+ name: "proposal",
310
+ isMut: true,
311
+ isSigner: false,
312
+ },
313
+ {
314
+ name: "baseVault",
315
+ isMut: false,
316
+ isSigner: false,
317
+ },
318
+ {
319
+ name: "quoteVault",
320
+ isMut: false,
321
+ isSigner: false,
322
+ },
323
+ {
324
+ name: "passBaseMint",
325
+ isMut: false,
326
+ isSigner: false,
327
+ },
328
+ {
329
+ name: "passQuoteMint",
330
+ isMut: false,
331
+ isSigner: false,
332
+ },
333
+ {
334
+ name: "failBaseMint",
335
+ isMut: false,
336
+ isSigner: false,
337
+ },
338
+ {
339
+ name: "failQuoteMint",
340
+ isMut: false,
341
+ isSigner: false,
342
+ },
343
+ {
344
+ name: "dao",
345
+ isMut: true,
346
+ isSigner: false,
347
+ },
348
+ {
349
+ name: "payer",
350
+ isMut: true,
351
+ isSigner: true,
352
+ },
353
+ {
354
+ name: "ammPassBaseVault",
355
+ isMut: true,
356
+ isSigner: false,
357
+ },
358
+ {
359
+ name: "ammPassQuoteVault",
360
+ isMut: true,
361
+ isSigner: false,
362
+ },
363
+ {
364
+ name: "ammFailBaseVault",
365
+ isMut: true,
366
+ isSigner: false,
367
+ },
368
+ {
369
+ name: "ammFailQuoteVault",
370
+ isMut: true,
371
+ isSigner: false,
372
+ },
373
+ {
374
+ name: "systemProgram",
375
+ isMut: false,
376
+ isSigner: false,
377
+ },
378
+ {
379
+ name: "tokenProgram",
380
+ isMut: false,
381
+ isSigner: false,
382
+ },
383
+ {
384
+ name: "associatedTokenProgram",
385
+ isMut: false,
386
+ isSigner: false,
387
+ },
388
+ {
389
+ name: "eventAuthority",
390
+ isMut: false,
391
+ isSigner: false,
392
+ },
393
+ {
394
+ name: "program",
395
+ isMut: false,
396
+ isSigner: false,
397
+ },
398
+ ],
399
+ args: [],
400
+ },
401
+ {
402
+ name: "finalizeProposal",
403
+ accounts: [
404
+ {
405
+ name: "proposal",
406
+ isMut: true,
407
+ isSigner: false,
408
+ },
409
+ {
410
+ name: "dao",
411
+ isMut: true,
412
+ isSigner: false,
413
+ },
414
+ {
415
+ name: "question",
416
+ isMut: true,
417
+ isSigner: false,
418
+ },
419
+ {
420
+ name: "squadsProposal",
421
+ isMut: true,
422
+ isSigner: false,
423
+ },
424
+ {
425
+ name: "squadsMultisig",
426
+ isMut: false,
427
+ isSigner: false,
428
+ },
429
+ {
430
+ name: "squadsMultisigProgram",
431
+ isMut: false,
432
+ isSigner: false,
433
+ },
434
+ {
435
+ name: "ammPassBaseVault",
436
+ isMut: true,
437
+ isSigner: false,
438
+ },
439
+ {
440
+ name: "ammPassQuoteVault",
441
+ isMut: true,
442
+ isSigner: false,
443
+ },
444
+ {
445
+ name: "ammFailBaseVault",
446
+ isMut: true,
447
+ isSigner: false,
448
+ },
449
+ {
450
+ name: "ammFailQuoteVault",
451
+ isMut: true,
452
+ isSigner: false,
453
+ },
454
+ {
455
+ name: "ammBaseVault",
456
+ isMut: true,
457
+ isSigner: false,
458
+ },
459
+ {
460
+ name: "ammQuoteVault",
461
+ isMut: true,
462
+ isSigner: false,
463
+ },
464
+ {
465
+ name: "vaultProgram",
466
+ isMut: false,
467
+ isSigner: false,
468
+ },
469
+ {
470
+ name: "vaultEventAuthority",
471
+ isMut: false,
472
+ isSigner: false,
473
+ },
474
+ {
475
+ name: "tokenProgram",
476
+ isMut: false,
477
+ isSigner: false,
478
+ },
479
+ {
480
+ name: "quoteVault",
481
+ isMut: true,
482
+ isSigner: false,
483
+ },
484
+ {
485
+ name: "quoteVaultUnderlyingTokenAccount",
486
+ isMut: true,
487
+ isSigner: false,
488
+ },
489
+ {
490
+ name: "passQuoteMint",
491
+ isMut: true,
492
+ isSigner: false,
493
+ },
494
+ {
495
+ name: "failQuoteMint",
496
+ isMut: true,
497
+ isSigner: false,
498
+ },
499
+ {
500
+ name: "passBaseMint",
501
+ isMut: true,
502
+ isSigner: false,
503
+ },
504
+ {
505
+ name: "failBaseMint",
506
+ isMut: true,
507
+ isSigner: false,
508
+ },
509
+ {
510
+ name: "baseVault",
511
+ isMut: true,
512
+ isSigner: false,
513
+ },
514
+ {
515
+ name: "baseVaultUnderlyingTokenAccount",
516
+ isMut: true,
517
+ isSigner: false,
518
+ },
519
+ {
520
+ name: "eventAuthority",
521
+ isMut: false,
522
+ isSigner: false,
523
+ },
524
+ {
525
+ name: "program",
526
+ isMut: false,
527
+ isSigner: false,
528
+ },
529
+ ],
530
+ args: [],
531
+ },
532
+ {
533
+ name: "updateDao",
534
+ accounts: [
535
+ {
536
+ name: "dao",
537
+ isMut: true,
538
+ isSigner: false,
539
+ },
540
+ {
541
+ name: "squadsMultisigVault",
542
+ isMut: false,
543
+ isSigner: true,
544
+ },
545
+ {
546
+ name: "eventAuthority",
547
+ isMut: false,
548
+ isSigner: false,
549
+ },
550
+ {
551
+ name: "program",
552
+ isMut: false,
553
+ isSigner: false,
554
+ },
555
+ ],
556
+ args: [
557
+ {
558
+ name: "daoParams",
559
+ type: {
560
+ defined: "UpdateDaoParams",
561
+ },
562
+ },
563
+ ],
564
+ },
565
+ {
566
+ name: "spotSwap",
567
+ accounts: [
568
+ {
569
+ name: "dao",
570
+ isMut: true,
571
+ isSigner: false,
572
+ },
573
+ {
574
+ name: "userBaseAccount",
575
+ isMut: true,
576
+ isSigner: false,
577
+ },
578
+ {
579
+ name: "userQuoteAccount",
580
+ isMut: true,
581
+ isSigner: false,
582
+ },
583
+ {
584
+ name: "ammBaseVault",
585
+ isMut: true,
586
+ isSigner: false,
587
+ },
588
+ {
589
+ name: "ammQuoteVault",
590
+ isMut: true,
591
+ isSigner: false,
592
+ },
593
+ {
594
+ name: "user",
595
+ isMut: false,
596
+ isSigner: true,
597
+ },
598
+ {
599
+ name: "tokenProgram",
600
+ isMut: false,
601
+ isSigner: false,
602
+ },
603
+ {
604
+ name: "eventAuthority",
605
+ isMut: false,
606
+ isSigner: false,
607
+ },
608
+ {
609
+ name: "program",
610
+ isMut: false,
611
+ isSigner: false,
612
+ },
613
+ ],
614
+ args: [
615
+ {
616
+ name: "params",
617
+ type: {
618
+ defined: "SpotSwapParams",
619
+ },
620
+ },
621
+ ],
622
+ },
623
+ {
624
+ name: "conditionalSwap",
625
+ accounts: [
626
+ {
627
+ name: "dao",
628
+ isMut: true,
629
+ isSigner: false,
630
+ },
631
+ {
632
+ name: "ammBaseVault",
633
+ isMut: true,
634
+ isSigner: false,
635
+ },
636
+ {
637
+ name: "ammQuoteVault",
638
+ isMut: true,
639
+ isSigner: false,
640
+ },
641
+ {
642
+ name: "proposal",
643
+ isMut: false,
644
+ isSigner: false,
645
+ },
646
+ {
647
+ name: "ammPassBaseVault",
648
+ isMut: true,
649
+ isSigner: false,
650
+ },
651
+ {
652
+ name: "ammPassQuoteVault",
653
+ isMut: true,
654
+ isSigner: false,
655
+ },
656
+ {
657
+ name: "ammFailBaseVault",
658
+ isMut: true,
659
+ isSigner: false,
660
+ },
661
+ {
662
+ name: "ammFailQuoteVault",
663
+ isMut: true,
664
+ isSigner: false,
665
+ },
666
+ {
667
+ name: "trader",
668
+ isMut: false,
669
+ isSigner: true,
670
+ },
671
+ {
672
+ name: "userInputAccount",
673
+ isMut: true,
674
+ isSigner: false,
675
+ },
676
+ {
677
+ name: "userOutputAccount",
678
+ isMut: true,
679
+ isSigner: false,
680
+ },
681
+ {
682
+ name: "baseVault",
683
+ isMut: true,
684
+ isSigner: false,
685
+ },
686
+ {
687
+ name: "baseVaultUnderlyingTokenAccount",
688
+ isMut: true,
689
+ isSigner: false,
690
+ },
691
+ {
692
+ name: "quoteVault",
693
+ isMut: true,
694
+ isSigner: false,
695
+ },
696
+ {
697
+ name: "quoteVaultUnderlyingTokenAccount",
698
+ isMut: true,
699
+ isSigner: false,
700
+ },
701
+ {
702
+ name: "passBaseMint",
703
+ isMut: true,
704
+ isSigner: false,
705
+ },
706
+ {
707
+ name: "failBaseMint",
708
+ isMut: true,
709
+ isSigner: false,
710
+ },
711
+ {
712
+ name: "passQuoteMint",
713
+ isMut: true,
714
+ isSigner: false,
715
+ },
716
+ {
717
+ name: "failQuoteMint",
718
+ isMut: true,
719
+ isSigner: false,
720
+ },
721
+ {
722
+ name: "conditionalVaultProgram",
723
+ isMut: false,
724
+ isSigner: false,
725
+ },
726
+ {
727
+ name: "vaultEventAuthority",
728
+ isMut: false,
729
+ isSigner: false,
730
+ },
731
+ {
732
+ name: "question",
733
+ isMut: false,
734
+ isSigner: false,
735
+ },
736
+ {
737
+ name: "tokenProgram",
738
+ isMut: false,
739
+ isSigner: false,
740
+ },
741
+ {
742
+ name: "eventAuthority",
743
+ isMut: false,
744
+ isSigner: false,
745
+ },
746
+ {
747
+ name: "program",
748
+ isMut: false,
749
+ isSigner: false,
750
+ },
751
+ ],
752
+ args: [
753
+ {
754
+ name: "params",
755
+ type: {
756
+ defined: "ConditionalSwapParams",
757
+ },
758
+ },
759
+ ],
760
+ },
761
+ {
762
+ name: "provideLiquidity",
763
+ accounts: [
764
+ {
765
+ name: "dao",
766
+ isMut: true,
767
+ isSigner: false,
768
+ },
769
+ {
770
+ name: "liquidityProvider",
771
+ isMut: false,
772
+ isSigner: true,
773
+ },
774
+ {
775
+ name: "liquidityProviderBaseAccount",
776
+ isMut: true,
777
+ isSigner: false,
778
+ },
779
+ {
780
+ name: "liquidityProviderQuoteAccount",
781
+ isMut: true,
782
+ isSigner: false,
783
+ },
784
+ {
785
+ name: "payer",
786
+ isMut: true,
787
+ isSigner: true,
788
+ },
789
+ {
790
+ name: "systemProgram",
791
+ isMut: false,
792
+ isSigner: false,
793
+ },
794
+ {
795
+ name: "ammBaseVault",
796
+ isMut: true,
797
+ isSigner: false,
798
+ },
799
+ {
800
+ name: "ammQuoteVault",
801
+ isMut: true,
802
+ isSigner: false,
803
+ },
804
+ {
805
+ name: "ammPosition",
806
+ isMut: true,
807
+ isSigner: false,
808
+ },
809
+ {
810
+ name: "tokenProgram",
811
+ isMut: false,
812
+ isSigner: false,
813
+ },
814
+ {
815
+ name: "eventAuthority",
816
+ isMut: false,
817
+ isSigner: false,
818
+ },
819
+ {
820
+ name: "program",
821
+ isMut: false,
822
+ isSigner: false,
823
+ },
824
+ ],
825
+ args: [
826
+ {
827
+ name: "params",
828
+ type: {
829
+ defined: "ProvideLiquidityParams",
830
+ },
831
+ },
832
+ ],
833
+ },
834
+ {
835
+ name: "withdrawLiquidity",
836
+ accounts: [
837
+ {
838
+ name: "dao",
839
+ isMut: true,
840
+ isSigner: false,
841
+ },
842
+ {
843
+ name: "positionAuthority",
844
+ isMut: false,
845
+ isSigner: true,
846
+ },
847
+ {
848
+ name: "liquidityProviderBaseAccount",
849
+ isMut: true,
850
+ isSigner: false,
851
+ },
852
+ {
853
+ name: "liquidityProviderQuoteAccount",
854
+ isMut: true,
855
+ isSigner: false,
856
+ },
857
+ {
858
+ name: "ammBaseVault",
859
+ isMut: true,
860
+ isSigner: false,
861
+ },
862
+ {
863
+ name: "ammQuoteVault",
864
+ isMut: true,
865
+ isSigner: false,
866
+ },
867
+ {
868
+ name: "ammPosition",
869
+ isMut: true,
870
+ isSigner: false,
871
+ },
872
+ {
873
+ name: "tokenProgram",
874
+ isMut: false,
875
+ isSigner: false,
876
+ },
877
+ {
878
+ name: "eventAuthority",
879
+ isMut: false,
880
+ isSigner: false,
881
+ },
882
+ {
883
+ name: "program",
884
+ isMut: false,
885
+ isSigner: false,
886
+ },
887
+ ],
888
+ args: [
889
+ {
890
+ name: "params",
891
+ type: {
892
+ defined: "WithdrawLiquidityParams",
893
+ },
894
+ },
895
+ ],
896
+ },
897
+ {
898
+ name: "collectFees",
899
+ accounts: [
900
+ {
901
+ name: "dao",
902
+ isMut: true,
903
+ isSigner: false,
904
+ },
905
+ {
906
+ name: "admin",
907
+ isMut: false,
908
+ isSigner: true,
909
+ },
910
+ {
911
+ name: "baseTokenAccount",
912
+ isMut: true,
913
+ isSigner: false,
914
+ },
915
+ {
916
+ name: "quoteTokenAccount",
917
+ isMut: true,
918
+ isSigner: false,
919
+ },
920
+ {
921
+ name: "ammBaseVault",
922
+ isMut: true,
923
+ isSigner: false,
924
+ },
925
+ {
926
+ name: "ammQuoteVault",
927
+ isMut: true,
928
+ isSigner: false,
929
+ },
930
+ {
931
+ name: "tokenProgram",
932
+ isMut: false,
933
+ isSigner: false,
934
+ },
935
+ {
936
+ name: "eventAuthority",
937
+ isMut: false,
938
+ isSigner: false,
939
+ },
940
+ {
941
+ name: "program",
942
+ isMut: false,
943
+ isSigner: false,
944
+ },
945
+ ],
946
+ args: [],
947
+ },
948
+ {
949
+ name: "executeSpendingLimitChange",
950
+ accounts: [
951
+ {
952
+ name: "proposal",
953
+ isMut: true,
954
+ isSigner: false,
955
+ },
956
+ {
957
+ name: "dao",
958
+ isMut: true,
959
+ isSigner: false,
960
+ },
961
+ {
962
+ name: "squadsProposal",
963
+ isMut: true,
964
+ isSigner: false,
965
+ },
966
+ {
967
+ name: "squadsMultisig",
968
+ isMut: false,
969
+ isSigner: false,
970
+ },
971
+ {
972
+ name: "squadsMultisigProgram",
973
+ isMut: false,
974
+ isSigner: false,
975
+ },
976
+ {
977
+ name: "vaultTransaction",
978
+ isMut: false,
979
+ isSigner: false,
980
+ },
981
+ {
982
+ name: "eventAuthority",
983
+ isMut: false,
984
+ isSigner: false,
985
+ },
986
+ {
987
+ name: "program",
988
+ isMut: false,
989
+ isSigner: false,
990
+ },
991
+ ],
992
+ args: [],
993
+ },
994
+ ],
995
+ accounts: [
996
+ {
997
+ name: "ammPosition",
998
+ type: {
999
+ kind: "struct",
1000
+ fields: [
1001
+ {
1002
+ name: "dao",
1003
+ type: "publicKey",
1004
+ },
1005
+ {
1006
+ name: "positionAuthority",
1007
+ type: "publicKey",
1008
+ },
1009
+ {
1010
+ name: "liquidity",
1011
+ type: "u128",
1012
+ },
1013
+ ],
1014
+ },
1015
+ },
1016
+ {
1017
+ name: "dao",
1018
+ type: {
1019
+ kind: "struct",
1020
+ fields: [
1021
+ {
1022
+ name: "amm",
1023
+ docs: ["Embedded FutarchyAmm - 1:1 relationship"],
1024
+ type: {
1025
+ defined: "FutarchyAmm",
1026
+ },
1027
+ },
1028
+ {
1029
+ name: "nonce",
1030
+ docs: ["`nonce` + `dao_creator` are PDA seeds"],
1031
+ type: "u64",
1032
+ },
1033
+ {
1034
+ name: "daoCreator",
1035
+ type: "publicKey",
1036
+ },
1037
+ {
1038
+ name: "pdaBump",
1039
+ type: "u8",
1040
+ },
1041
+ {
1042
+ name: "squadsMultisig",
1043
+ type: "publicKey",
1044
+ },
1045
+ {
1046
+ name: "squadsMultisigVault",
1047
+ type: "publicKey",
1048
+ },
1049
+ {
1050
+ name: "baseMint",
1051
+ type: "publicKey",
1052
+ },
1053
+ {
1054
+ name: "quoteMint",
1055
+ type: "publicKey",
1056
+ },
1057
+ {
1058
+ name: "proposalCount",
1059
+ type: "u32",
1060
+ },
1061
+ {
1062
+ name: "passThresholdBps",
1063
+ type: "u16",
1064
+ },
1065
+ {
1066
+ name: "secondsPerProposal",
1067
+ type: "u32",
1068
+ },
1069
+ {
1070
+ name: "twapInitialObservation",
1071
+ docs: [
1072
+ "For manipulation-resistance the TWAP is a time-weighted average observation,",
1073
+ "where observation tries to approximate price but can only move by",
1074
+ "`twap_max_observation_change_per_update` per update. Because it can only move",
1075
+ "a little bit per update, you need to check that it has a good initial observation.",
1076
+ "Otherwise, an attacker could create a very high initial observation in the pass",
1077
+ "market and a very low one in the fail market to force the proposal to pass.",
1078
+ "",
1079
+ "We recommend setting an initial observation around the spot price of the token,",
1080
+ "and max observation change per update around 2% the spot price of the token.",
1081
+ "For example, if the spot price of META is $400, we'd recommend setting an initial",
1082
+ "observation of 400 (converted into the AMM prices) and a max observation change per",
1083
+ "update of 8 (also converted into the AMM prices). Observations can be updated once",
1084
+ "a minute, so 2% allows the proposal market to reach double the spot price or 0",
1085
+ "in 50 minutes.",
1086
+ ],
1087
+ type: "u128",
1088
+ },
1089
+ {
1090
+ name: "twapMaxObservationChangePerUpdate",
1091
+ type: "u128",
1092
+ },
1093
+ {
1094
+ name: "twapStartDelaySeconds",
1095
+ docs: [
1096
+ "Forces TWAP calculation to start after `twap_start_delay_seconds` seconds",
1097
+ ],
1098
+ type: "u32",
1099
+ },
1100
+ {
1101
+ name: "minQuoteFutarchicLiquidity",
1102
+ docs: [
1103
+ "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
1104
+ "in both futarchic markets in order to create a proposal.",
1105
+ "",
1106
+ "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
1107
+ "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
1108
+ "10 * 1_000_000_000 (10 META).",
1109
+ ],
1110
+ type: "u64",
1111
+ },
1112
+ {
1113
+ name: "minBaseFutarchicLiquidity",
1114
+ type: "u64",
1115
+ },
1116
+ {
1117
+ name: "baseToStake",
1118
+ docs: [
1119
+ "Minimum amount of base tokens that must be staked to launch a proposal",
1120
+ ],
1121
+ type: "u64",
1122
+ },
1123
+ {
1124
+ name: "seqNum",
1125
+ type: "u64",
1126
+ },
1127
+ {
1128
+ name: "initialSpendingLimit",
1129
+ type: {
1130
+ option: {
1131
+ defined: "InitialSpendingLimit",
1132
+ },
1133
+ },
1134
+ },
1135
+ ],
1136
+ },
1137
+ },
1138
+ {
1139
+ name: "proposal",
1140
+ type: {
1141
+ kind: "struct",
1142
+ fields: [
1143
+ {
1144
+ name: "number",
1145
+ type: "u32",
1146
+ },
1147
+ {
1148
+ name: "proposer",
1149
+ type: "publicKey",
1150
+ },
1151
+ {
1152
+ name: "timestampEnqueued",
1153
+ type: "i64",
1154
+ },
1155
+ {
1156
+ name: "state",
1157
+ type: {
1158
+ defined: "ProposalState",
1159
+ },
1160
+ },
1161
+ {
1162
+ name: "baseVault",
1163
+ type: "publicKey",
1164
+ },
1165
+ {
1166
+ name: "quoteVault",
1167
+ type: "publicKey",
1168
+ },
1169
+ {
1170
+ name: "dao",
1171
+ type: "publicKey",
1172
+ },
1173
+ {
1174
+ name: "pdaBump",
1175
+ type: "u8",
1176
+ },
1177
+ {
1178
+ name: "question",
1179
+ type: "publicKey",
1180
+ },
1181
+ {
1182
+ name: "durationInSeconds",
1183
+ type: "u32",
1184
+ },
1185
+ {
1186
+ name: "squadsProposal",
1187
+ type: "publicKey",
1188
+ },
1189
+ {
1190
+ name: "passBaseMint",
1191
+ type: "publicKey",
1192
+ },
1193
+ {
1194
+ name: "passQuoteMint",
1195
+ type: "publicKey",
1196
+ },
1197
+ {
1198
+ name: "failBaseMint",
1199
+ type: "publicKey",
1200
+ },
1201
+ {
1202
+ name: "failQuoteMint",
1203
+ type: "publicKey",
1204
+ },
1205
+ ],
1206
+ },
1207
+ },
1208
+ {
1209
+ name: "stakeAccount",
1210
+ type: {
1211
+ kind: "struct",
1212
+ fields: [
1213
+ {
1214
+ name: "proposal",
1215
+ type: "publicKey",
1216
+ },
1217
+ {
1218
+ name: "staker",
1219
+ type: "publicKey",
1220
+ },
1221
+ {
1222
+ name: "amount",
1223
+ type: "u64",
1224
+ },
1225
+ {
1226
+ name: "bump",
1227
+ type: "u8",
1228
+ },
1229
+ ],
1230
+ },
1231
+ },
1232
+ ],
1233
+ types: [
1234
+ {
1235
+ name: "CommonFields",
1236
+ type: {
1237
+ kind: "struct",
1238
+ fields: [
1239
+ {
1240
+ name: "slot",
1241
+ type: "u64",
1242
+ },
1243
+ {
1244
+ name: "unixTimestamp",
1245
+ type: "i64",
1246
+ },
1247
+ {
1248
+ name: "daoSeqNum",
1249
+ type: "u64",
1250
+ },
1251
+ ],
1252
+ },
1253
+ },
1254
+ {
1255
+ name: "ConditionalSwapParams",
1256
+ type: {
1257
+ kind: "struct",
1258
+ fields: [
1259
+ {
1260
+ name: "market",
1261
+ type: {
1262
+ defined: "Market",
1263
+ },
1264
+ },
1265
+ {
1266
+ name: "swapType",
1267
+ type: {
1268
+ defined: "SwapType",
1269
+ },
1270
+ },
1271
+ {
1272
+ name: "inputAmount",
1273
+ type: "u64",
1274
+ },
1275
+ {
1276
+ name: "minOutputAmount",
1277
+ type: "u64",
1278
+ },
1279
+ ],
1280
+ },
1281
+ },
1282
+ {
1283
+ name: "InitializeDaoParams",
1284
+ type: {
1285
+ kind: "struct",
1286
+ fields: [
1287
+ {
1288
+ name: "twapInitialObservation",
1289
+ type: "u128",
1290
+ },
1291
+ {
1292
+ name: "twapMaxObservationChangePerUpdate",
1293
+ type: "u128",
1294
+ },
1295
+ {
1296
+ name: "twapStartDelaySeconds",
1297
+ type: "u32",
1298
+ },
1299
+ {
1300
+ name: "minQuoteFutarchicLiquidity",
1301
+ type: "u64",
1302
+ },
1303
+ {
1304
+ name: "minBaseFutarchicLiquidity",
1305
+ type: "u64",
1306
+ },
1307
+ {
1308
+ name: "baseToStake",
1309
+ type: "u64",
1310
+ },
1311
+ {
1312
+ name: "passThresholdBps",
1313
+ type: "u16",
1314
+ },
1315
+ {
1316
+ name: "secondsPerProposal",
1317
+ type: "u32",
1318
+ },
1319
+ {
1320
+ name: "nonce",
1321
+ type: "u64",
1322
+ },
1323
+ {
1324
+ name: "initialSpendingLimit",
1325
+ type: {
1326
+ option: {
1327
+ defined: "InitialSpendingLimit",
1328
+ },
1329
+ },
1330
+ },
1331
+ ],
1332
+ },
1333
+ },
1334
+ {
1335
+ name: "ProvideLiquidityParams",
1336
+ type: {
1337
+ kind: "struct",
1338
+ fields: [
1339
+ {
1340
+ name: "quoteAmount",
1341
+ docs: ["How much quote token you will deposit to the pool"],
1342
+ type: "u64",
1343
+ },
1344
+ {
1345
+ name: "maxBaseAmount",
1346
+ docs: ["The maximum base token you will deposit to the pool"],
1347
+ type: "u64",
1348
+ },
1349
+ {
1350
+ name: "minLiquidity",
1351
+ docs: ["The minimum liquidity you will be assigned"],
1352
+ type: "u128",
1353
+ },
1354
+ {
1355
+ name: "positionAuthority",
1356
+ docs: [
1357
+ "The account that will own the LP position, usually the same as the",
1358
+ "liquidity provider",
1359
+ ],
1360
+ type: "publicKey",
1361
+ },
1362
+ ],
1363
+ },
1364
+ },
1365
+ {
1366
+ name: "SpotSwapParams",
1367
+ type: {
1368
+ kind: "struct",
1369
+ fields: [
1370
+ {
1371
+ name: "inputAmount",
1372
+ type: "u64",
1373
+ },
1374
+ {
1375
+ name: "swapType",
1376
+ type: {
1377
+ defined: "SwapType",
1378
+ },
1379
+ },
1380
+ {
1381
+ name: "minOutputAmount",
1382
+ type: "u64",
1383
+ },
1384
+ ],
1385
+ },
1386
+ },
1387
+ {
1388
+ name: "StakeToProposalParams",
1389
+ type: {
1390
+ kind: "struct",
1391
+ fields: [
1392
+ {
1393
+ name: "amount",
1394
+ type: "u64",
1395
+ },
1396
+ ],
1397
+ },
1398
+ },
1399
+ {
1400
+ name: "UnstakeFromProposalParams",
1401
+ type: {
1402
+ kind: "struct",
1403
+ fields: [
1404
+ {
1405
+ name: "amount",
1406
+ type: "u64",
1407
+ },
1408
+ ],
1409
+ },
1410
+ },
1411
+ {
1412
+ name: "UpdateDaoParams",
1413
+ type: {
1414
+ kind: "struct",
1415
+ fields: [
1416
+ {
1417
+ name: "passThresholdBps",
1418
+ type: {
1419
+ option: "u16",
1420
+ },
1421
+ },
1422
+ {
1423
+ name: "secondsPerProposal",
1424
+ type: {
1425
+ option: "u32",
1426
+ },
1427
+ },
1428
+ {
1429
+ name: "twapInitialObservation",
1430
+ type: {
1431
+ option: "u128",
1432
+ },
1433
+ },
1434
+ {
1435
+ name: "twapMaxObservationChangePerUpdate",
1436
+ type: {
1437
+ option: "u128",
1438
+ },
1439
+ },
1440
+ {
1441
+ name: "minQuoteFutarchicLiquidity",
1442
+ type: {
1443
+ option: "u64",
1444
+ },
1445
+ },
1446
+ {
1447
+ name: "minBaseFutarchicLiquidity",
1448
+ type: {
1449
+ option: "u64",
1450
+ },
1451
+ },
1452
+ {
1453
+ name: "baseToStake",
1454
+ type: {
1455
+ option: "u64",
1456
+ },
1457
+ },
1458
+ ],
1459
+ },
1460
+ },
1461
+ {
1462
+ name: "WithdrawLiquidityParams",
1463
+ type: {
1464
+ kind: "struct",
1465
+ fields: [
1466
+ {
1467
+ name: "liquidityToWithdraw",
1468
+ docs: ["How much liquidity to withdraw"],
1469
+ type: "u128",
1470
+ },
1471
+ {
1472
+ name: "minBaseAmount",
1473
+ docs: ["Minimum base tokens to receive"],
1474
+ type: "u64",
1475
+ },
1476
+ {
1477
+ name: "minQuoteAmount",
1478
+ docs: ["Minimum quote tokens to receive"],
1479
+ type: "u64",
1480
+ },
1481
+ ],
1482
+ },
1483
+ },
1484
+ {
1485
+ name: "InitialSpendingLimit",
1486
+ type: {
1487
+ kind: "struct",
1488
+ fields: [
1489
+ {
1490
+ name: "amountPerMonth",
1491
+ type: "u64",
1492
+ },
1493
+ {
1494
+ name: "members",
1495
+ type: {
1496
+ vec: "publicKey",
1497
+ },
1498
+ },
1499
+ ],
1500
+ },
1501
+ },
1502
+ {
1503
+ name: "FutarchyAmm",
1504
+ type: {
1505
+ kind: "struct",
1506
+ fields: [
1507
+ {
1508
+ name: "state",
1509
+ type: {
1510
+ defined: "PoolState",
1511
+ },
1512
+ },
1513
+ {
1514
+ name: "totalLiquidity",
1515
+ type: "u128",
1516
+ },
1517
+ {
1518
+ name: "baseMint",
1519
+ type: "publicKey",
1520
+ },
1521
+ {
1522
+ name: "quoteMint",
1523
+ type: "publicKey",
1524
+ },
1525
+ {
1526
+ name: "ammBaseVault",
1527
+ type: "publicKey",
1528
+ },
1529
+ {
1530
+ name: "ammQuoteVault",
1531
+ type: "publicKey",
1532
+ },
1533
+ ],
1534
+ },
1535
+ },
1536
+ {
1537
+ name: "TwapOracle",
1538
+ type: {
1539
+ kind: "struct",
1540
+ fields: [
1541
+ {
1542
+ name: "aggregator",
1543
+ docs: [
1544
+ "Running sum of slots_per_last_update * last_observation.",
1545
+ "",
1546
+ "Assuming latest observations are as big as possible (u64::MAX * 1e12),",
1547
+ "we can store 18 million slots worth of observations, which turns out to",
1548
+ "be ~85 days worth of slots.",
1549
+ "",
1550
+ "Assuming that latest observations are 100x smaller than they could theoretically",
1551
+ "be, we can store 8500 days (23 years) worth of them. Even this is a very",
1552
+ "very conservative assumption - META/USDC prices should be between 1e9 and",
1553
+ "1e15, which would overflow after 1e15 years worth of slots.",
1554
+ "",
1555
+ "So in the case of an overflow, the aggregator rolls back to 0. It's the",
1556
+ "client's responsibility to sanity check the assets or to handle an",
1557
+ "aggregator at T2 being smaller than an aggregator at T1.",
1558
+ ],
1559
+ type: "u128",
1560
+ },
1561
+ {
1562
+ name: "lastUpdatedTimestamp",
1563
+ type: "i64",
1564
+ },
1565
+ {
1566
+ name: "createdAtTimestamp",
1567
+ type: "i64",
1568
+ },
1569
+ {
1570
+ name: "lastPrice",
1571
+ docs: [
1572
+ "A price is the number of quote units per base unit multiplied by 1e12.",
1573
+ "You cannot simply divide by 1e12 to get a price you can display in the UI",
1574
+ "because the base and quote decimals may be different. Instead, do:",
1575
+ "ui_price = (price * (10**(base_decimals - quote_decimals))) / 1e12",
1576
+ ],
1577
+ type: "u128",
1578
+ },
1579
+ {
1580
+ name: "lastObservation",
1581
+ docs: [
1582
+ "If we did a raw TWAP over prices, someone could push the TWAP heavily with",
1583
+ "a few extremely large outliers. So we use observations, which can only move",
1584
+ "by `max_observation_change_per_update` per update.",
1585
+ ],
1586
+ type: "u128",
1587
+ },
1588
+ {
1589
+ name: "maxObservationChangePerUpdate",
1590
+ docs: ["The most that an observation can change per update."],
1591
+ type: "u128",
1592
+ },
1593
+ {
1594
+ name: "initialObservation",
1595
+ docs: ["What the initial `latest_observation` is set to."],
1596
+ type: "u128",
1597
+ },
1598
+ {
1599
+ name: "startDelaySeconds",
1600
+ docs: [
1601
+ "Number of seconds after amm.created_at_slot to start recording TWAP",
1602
+ ],
1603
+ type: "u32",
1604
+ },
1605
+ ],
1606
+ },
1607
+ },
1608
+ {
1609
+ name: "Pool",
1610
+ type: {
1611
+ kind: "struct",
1612
+ fields: [
1613
+ {
1614
+ name: "oracle",
1615
+ type: {
1616
+ defined: "TwapOracle",
1617
+ },
1618
+ },
1619
+ {
1620
+ name: "quoteReserves",
1621
+ type: "u64",
1622
+ },
1623
+ {
1624
+ name: "baseReserves",
1625
+ type: "u64",
1626
+ },
1627
+ {
1628
+ name: "quoteProtocolFeeBalance",
1629
+ type: "u64",
1630
+ },
1631
+ {
1632
+ name: "baseProtocolFeeBalance",
1633
+ type: "u64",
1634
+ },
1635
+ ],
1636
+ },
1637
+ },
1638
+ {
1639
+ name: "PoolState",
1640
+ type: {
1641
+ kind: "enum",
1642
+ variants: [
1643
+ {
1644
+ name: "Spot",
1645
+ fields: [
1646
+ {
1647
+ name: "spot",
1648
+ type: {
1649
+ defined: "Pool",
1650
+ },
1651
+ },
1652
+ ],
1653
+ },
1654
+ {
1655
+ name: "Futarchy",
1656
+ fields: [
1657
+ {
1658
+ name: "spot",
1659
+ type: {
1660
+ defined: "Pool",
1661
+ },
1662
+ },
1663
+ {
1664
+ name: "pass",
1665
+ type: {
1666
+ defined: "Pool",
1667
+ },
1668
+ },
1669
+ {
1670
+ name: "fail",
1671
+ type: {
1672
+ defined: "Pool",
1673
+ },
1674
+ },
1675
+ ],
1676
+ },
1677
+ ],
1678
+ },
1679
+ },
1680
+ {
1681
+ name: "Market",
1682
+ type: {
1683
+ kind: "enum",
1684
+ variants: [
1685
+ {
1686
+ name: "Spot",
1687
+ },
1688
+ {
1689
+ name: "Pass",
1690
+ },
1691
+ {
1692
+ name: "Fail",
1693
+ },
1694
+ ],
1695
+ },
1696
+ },
1697
+ {
1698
+ name: "SwapType",
1699
+ type: {
1700
+ kind: "enum",
1701
+ variants: [
1702
+ {
1703
+ name: "Buy",
1704
+ },
1705
+ {
1706
+ name: "Sell",
1707
+ },
1708
+ ],
1709
+ },
1710
+ },
1711
+ {
1712
+ name: "Token",
1713
+ type: {
1714
+ kind: "enum",
1715
+ variants: [
1716
+ {
1717
+ name: "Base",
1718
+ },
1719
+ {
1720
+ name: "Quote",
1721
+ },
1722
+ ],
1723
+ },
1724
+ },
1725
+ {
1726
+ name: "ProposalState",
1727
+ type: {
1728
+ kind: "enum",
1729
+ variants: [
1730
+ {
1731
+ name: "Draft",
1732
+ fields: [
1733
+ {
1734
+ name: "amountStaked",
1735
+ type: "u64",
1736
+ },
1737
+ ],
1738
+ },
1739
+ {
1740
+ name: "Pending",
1741
+ },
1742
+ {
1743
+ name: "Passed",
1744
+ },
1745
+ {
1746
+ name: "Failed",
1747
+ },
1748
+ ],
1749
+ },
1750
+ },
1751
+ ],
1752
+ events: [
1753
+ {
1754
+ name: "CollectFeesEvent",
1755
+ fields: [
1756
+ {
1757
+ name: "common",
1758
+ type: {
1759
+ defined: "CommonFields",
1760
+ },
1761
+ index: false,
1762
+ },
1763
+ {
1764
+ name: "dao",
1765
+ type: "publicKey",
1766
+ index: false,
1767
+ },
1768
+ {
1769
+ name: "baseTokenAccount",
1770
+ type: "publicKey",
1771
+ index: false,
1772
+ },
1773
+ {
1774
+ name: "quoteTokenAccount",
1775
+ type: "publicKey",
1776
+ index: false,
1777
+ },
1778
+ {
1779
+ name: "ammBaseVault",
1780
+ type: "publicKey",
1781
+ index: false,
1782
+ },
1783
+ {
1784
+ name: "ammQuoteVault",
1785
+ type: "publicKey",
1786
+ index: false,
1787
+ },
1788
+ {
1789
+ name: "quoteMint",
1790
+ type: "publicKey",
1791
+ index: false,
1792
+ },
1793
+ {
1794
+ name: "baseMint",
1795
+ type: "publicKey",
1796
+ index: false,
1797
+ },
1798
+ {
1799
+ name: "quoteFeesCollected",
1800
+ type: "u64",
1801
+ index: false,
1802
+ },
1803
+ {
1804
+ name: "baseFeesCollected",
1805
+ type: "u64",
1806
+ index: false,
1807
+ },
1808
+ {
1809
+ name: "postAmmState",
1810
+ type: {
1811
+ defined: "FutarchyAmm",
1812
+ },
1813
+ index: false,
1814
+ },
1815
+ ],
1816
+ },
1817
+ {
1818
+ name: "InitializeDaoEvent",
1819
+ fields: [
1820
+ {
1821
+ name: "common",
1822
+ type: {
1823
+ defined: "CommonFields",
1824
+ },
1825
+ index: false,
1826
+ },
1827
+ {
1828
+ name: "dao",
1829
+ type: "publicKey",
1830
+ index: false,
1831
+ },
1832
+ {
1833
+ name: "baseMint",
1834
+ type: "publicKey",
1835
+ index: false,
1836
+ },
1837
+ {
1838
+ name: "quoteMint",
1839
+ type: "publicKey",
1840
+ index: false,
1841
+ },
1842
+ {
1843
+ name: "passThresholdBps",
1844
+ type: "u16",
1845
+ index: false,
1846
+ },
1847
+ {
1848
+ name: "secondsPerProposal",
1849
+ type: "u32",
1850
+ index: false,
1851
+ },
1852
+ {
1853
+ name: "twapInitialObservation",
1854
+ type: "u128",
1855
+ index: false,
1856
+ },
1857
+ {
1858
+ name: "twapMaxObservationChangePerUpdate",
1859
+ type: "u128",
1860
+ index: false,
1861
+ },
1862
+ {
1863
+ name: "minQuoteFutarchicLiquidity",
1864
+ type: "u64",
1865
+ index: false,
1866
+ },
1867
+ {
1868
+ name: "minBaseFutarchicLiquidity",
1869
+ type: "u64",
1870
+ index: false,
1871
+ },
1872
+ {
1873
+ name: "baseToStake",
1874
+ type: "u64",
1875
+ index: false,
1876
+ },
1877
+ {
1878
+ name: "initialSpendingLimit",
1879
+ type: {
1880
+ option: {
1881
+ defined: "InitialSpendingLimit",
1882
+ },
1883
+ },
1884
+ index: false,
1885
+ },
1886
+ {
1887
+ name: "squadsMultisig",
1888
+ type: "publicKey",
1889
+ index: false,
1890
+ },
1891
+ {
1892
+ name: "squadsMultisigVault",
1893
+ type: "publicKey",
1894
+ index: false,
1895
+ },
1896
+ ],
1897
+ },
1898
+ {
1899
+ name: "UpdateDaoEvent",
1900
+ fields: [
1901
+ {
1902
+ name: "common",
1903
+ type: {
1904
+ defined: "CommonFields",
1905
+ },
1906
+ index: false,
1907
+ },
1908
+ {
1909
+ name: "dao",
1910
+ type: "publicKey",
1911
+ index: false,
1912
+ },
1913
+ {
1914
+ name: "passThresholdBps",
1915
+ type: "u16",
1916
+ index: false,
1917
+ },
1918
+ {
1919
+ name: "secondsPerProposal",
1920
+ type: "u32",
1921
+ index: false,
1922
+ },
1923
+ {
1924
+ name: "twapInitialObservation",
1925
+ type: "u128",
1926
+ index: false,
1927
+ },
1928
+ {
1929
+ name: "twapMaxObservationChangePerUpdate",
1930
+ type: "u128",
1931
+ index: false,
1932
+ },
1933
+ {
1934
+ name: "minQuoteFutarchicLiquidity",
1935
+ type: "u64",
1936
+ index: false,
1937
+ },
1938
+ {
1939
+ name: "minBaseFutarchicLiquidity",
1940
+ type: "u64",
1941
+ index: false,
1942
+ },
1943
+ {
1944
+ name: "baseToStake",
1945
+ type: "u64",
1946
+ index: false,
1947
+ },
1948
+ ],
1949
+ },
1950
+ {
1951
+ name: "InitializeProposalEvent",
1952
+ fields: [
1953
+ {
1954
+ name: "common",
1955
+ type: {
1956
+ defined: "CommonFields",
1957
+ },
1958
+ index: false,
1959
+ },
1960
+ {
1961
+ name: "proposal",
1962
+ type: "publicKey",
1963
+ index: false,
1964
+ },
1965
+ {
1966
+ name: "dao",
1967
+ type: "publicKey",
1968
+ index: false,
1969
+ },
1970
+ {
1971
+ name: "question",
1972
+ type: "publicKey",
1973
+ index: false,
1974
+ },
1975
+ {
1976
+ name: "quoteVault",
1977
+ type: "publicKey",
1978
+ index: false,
1979
+ },
1980
+ {
1981
+ name: "baseVault",
1982
+ type: "publicKey",
1983
+ index: false,
1984
+ },
1985
+ {
1986
+ name: "proposer",
1987
+ type: "publicKey",
1988
+ index: false,
1989
+ },
1990
+ {
1991
+ name: "number",
1992
+ type: "u32",
1993
+ index: false,
1994
+ },
1995
+ {
1996
+ name: "pdaBump",
1997
+ type: "u8",
1998
+ index: false,
1999
+ },
2000
+ {
2001
+ name: "durationInSeconds",
2002
+ type: "u32",
2003
+ index: false,
2004
+ },
2005
+ {
2006
+ name: "squadsProposal",
2007
+ type: "publicKey",
2008
+ index: false,
2009
+ },
2010
+ {
2011
+ name: "squadsMultisig",
2012
+ type: "publicKey",
2013
+ index: false,
2014
+ },
2015
+ {
2016
+ name: "squadsMultisigVault",
2017
+ type: "publicKey",
2018
+ index: false,
2019
+ },
2020
+ ],
2021
+ },
2022
+ {
2023
+ name: "StakeToProposalEvent",
2024
+ fields: [
2025
+ {
2026
+ name: "common",
2027
+ type: {
2028
+ defined: "CommonFields",
2029
+ },
2030
+ index: false,
2031
+ },
2032
+ {
2033
+ name: "proposal",
2034
+ type: "publicKey",
2035
+ index: false,
2036
+ },
2037
+ {
2038
+ name: "staker",
2039
+ type: "publicKey",
2040
+ index: false,
2041
+ },
2042
+ {
2043
+ name: "amount",
2044
+ type: "u64",
2045
+ index: false,
2046
+ },
2047
+ {
2048
+ name: "totalStaked",
2049
+ type: "u64",
2050
+ index: false,
2051
+ },
2052
+ ],
2053
+ },
2054
+ {
2055
+ name: "UnstakeFromProposalEvent",
2056
+ fields: [
2057
+ {
2058
+ name: "common",
2059
+ type: {
2060
+ defined: "CommonFields",
2061
+ },
2062
+ index: false,
2063
+ },
2064
+ {
2065
+ name: "proposal",
2066
+ type: "publicKey",
2067
+ index: false,
2068
+ },
2069
+ {
2070
+ name: "staker",
2071
+ type: "publicKey",
2072
+ index: false,
2073
+ },
2074
+ {
2075
+ name: "amount",
2076
+ type: "u64",
2077
+ index: false,
2078
+ },
2079
+ {
2080
+ name: "totalStaked",
2081
+ type: "u64",
2082
+ index: false,
2083
+ },
2084
+ ],
2085
+ },
2086
+ {
2087
+ name: "LaunchProposalEvent",
2088
+ fields: [
2089
+ {
2090
+ name: "common",
2091
+ type: {
2092
+ defined: "CommonFields",
2093
+ },
2094
+ index: false,
2095
+ },
2096
+ {
2097
+ name: "proposal",
2098
+ type: "publicKey",
2099
+ index: false,
2100
+ },
2101
+ {
2102
+ name: "dao",
2103
+ type: "publicKey",
2104
+ index: false,
2105
+ },
2106
+ {
2107
+ name: "totalStaked",
2108
+ type: "u64",
2109
+ index: false,
2110
+ },
2111
+ {
2112
+ name: "postAmmState",
2113
+ type: {
2114
+ defined: "FutarchyAmm",
2115
+ },
2116
+ index: false,
2117
+ },
2118
+ ],
2119
+ },
2120
+ {
2121
+ name: "FinalizeProposalEvent",
2122
+ fields: [
2123
+ {
2124
+ name: "common",
2125
+ type: {
2126
+ defined: "CommonFields",
2127
+ },
2128
+ index: false,
2129
+ },
2130
+ {
2131
+ name: "proposal",
2132
+ type: "publicKey",
2133
+ index: false,
2134
+ },
2135
+ {
2136
+ name: "dao",
2137
+ type: "publicKey",
2138
+ index: false,
2139
+ },
2140
+ {
2141
+ name: "passMarketTwap",
2142
+ type: "u128",
2143
+ index: false,
2144
+ },
2145
+ {
2146
+ name: "failMarketTwap",
2147
+ type: "u128",
2148
+ index: false,
2149
+ },
2150
+ {
2151
+ name: "threshold",
2152
+ type: "u128",
2153
+ index: false,
2154
+ },
2155
+ {
2156
+ name: "state",
2157
+ type: {
2158
+ defined: "ProposalState",
2159
+ },
2160
+ index: false,
2161
+ },
2162
+ {
2163
+ name: "squadsProposal",
2164
+ type: "publicKey",
2165
+ index: false,
2166
+ },
2167
+ {
2168
+ name: "squadsMultisig",
2169
+ type: "publicKey",
2170
+ index: false,
2171
+ },
2172
+ {
2173
+ name: "postAmmState",
2174
+ type: {
2175
+ defined: "FutarchyAmm",
2176
+ },
2177
+ index: false,
2178
+ },
2179
+ ],
2180
+ },
2181
+ {
2182
+ name: "SpotSwapEvent",
2183
+ fields: [
2184
+ {
2185
+ name: "common",
2186
+ type: {
2187
+ defined: "CommonFields",
2188
+ },
2189
+ index: false,
2190
+ },
2191
+ {
2192
+ name: "dao",
2193
+ type: "publicKey",
2194
+ index: false,
2195
+ },
2196
+ {
2197
+ name: "user",
2198
+ type: "publicKey",
2199
+ index: false,
2200
+ },
2201
+ {
2202
+ name: "swapType",
2203
+ type: {
2204
+ defined: "SwapType",
2205
+ },
2206
+ index: false,
2207
+ },
2208
+ {
2209
+ name: "inputAmount",
2210
+ type: "u64",
2211
+ index: false,
2212
+ },
2213
+ {
2214
+ name: "outputAmount",
2215
+ type: "u64",
2216
+ index: false,
2217
+ },
2218
+ {
2219
+ name: "minOutputAmount",
2220
+ type: "u64",
2221
+ index: false,
2222
+ },
2223
+ {
2224
+ name: "postAmmState",
2225
+ type: {
2226
+ defined: "FutarchyAmm",
2227
+ },
2228
+ index: false,
2229
+ },
2230
+ ],
2231
+ },
2232
+ {
2233
+ name: "ConditionalSwapEvent",
2234
+ fields: [
2235
+ {
2236
+ name: "common",
2237
+ type: {
2238
+ defined: "CommonFields",
2239
+ },
2240
+ index: false,
2241
+ },
2242
+ {
2243
+ name: "dao",
2244
+ type: "publicKey",
2245
+ index: false,
2246
+ },
2247
+ {
2248
+ name: "proposal",
2249
+ type: "publicKey",
2250
+ index: false,
2251
+ },
2252
+ {
2253
+ name: "trader",
2254
+ type: "publicKey",
2255
+ index: false,
2256
+ },
2257
+ {
2258
+ name: "market",
2259
+ type: {
2260
+ defined: "Market",
2261
+ },
2262
+ index: false,
2263
+ },
2264
+ {
2265
+ name: "swapType",
2266
+ type: {
2267
+ defined: "SwapType",
2268
+ },
2269
+ index: false,
2270
+ },
2271
+ {
2272
+ name: "inputAmount",
2273
+ type: "u64",
2274
+ index: false,
2275
+ },
2276
+ {
2277
+ name: "outputAmount",
2278
+ type: "u64",
2279
+ index: false,
2280
+ },
2281
+ {
2282
+ name: "minOutputAmount",
2283
+ type: "u64",
2284
+ index: false,
2285
+ },
2286
+ {
2287
+ name: "postAmmState",
2288
+ type: {
2289
+ defined: "FutarchyAmm",
2290
+ },
2291
+ index: false,
2292
+ },
2293
+ ],
2294
+ },
2295
+ {
2296
+ name: "ProvideLiquidityEvent",
2297
+ fields: [
2298
+ {
2299
+ name: "common",
2300
+ type: {
2301
+ defined: "CommonFields",
2302
+ },
2303
+ index: false,
2304
+ },
2305
+ {
2306
+ name: "dao",
2307
+ type: "publicKey",
2308
+ index: false,
2309
+ },
2310
+ {
2311
+ name: "liquidityProvider",
2312
+ type: "publicKey",
2313
+ index: false,
2314
+ },
2315
+ {
2316
+ name: "positionAuthority",
2317
+ type: "publicKey",
2318
+ index: false,
2319
+ },
2320
+ {
2321
+ name: "quoteAmount",
2322
+ type: "u64",
2323
+ index: false,
2324
+ },
2325
+ {
2326
+ name: "baseAmount",
2327
+ type: "u64",
2328
+ index: false,
2329
+ },
2330
+ {
2331
+ name: "liquidityMinted",
2332
+ type: "u128",
2333
+ index: false,
2334
+ },
2335
+ {
2336
+ name: "minLiquidity",
2337
+ type: "u128",
2338
+ index: false,
2339
+ },
2340
+ {
2341
+ name: "postAmmState",
2342
+ type: {
2343
+ defined: "FutarchyAmm",
2344
+ },
2345
+ index: false,
2346
+ },
2347
+ ],
2348
+ },
2349
+ {
2350
+ name: "WithdrawLiquidityEvent",
2351
+ fields: [
2352
+ {
2353
+ name: "common",
2354
+ type: {
2355
+ defined: "CommonFields",
2356
+ },
2357
+ index: false,
2358
+ },
2359
+ {
2360
+ name: "dao",
2361
+ type: "publicKey",
2362
+ index: false,
2363
+ },
2364
+ {
2365
+ name: "liquidityProvider",
2366
+ type: "publicKey",
2367
+ index: false,
2368
+ },
2369
+ {
2370
+ name: "liquidityWithdrawn",
2371
+ type: "u128",
2372
+ index: false,
2373
+ },
2374
+ {
2375
+ name: "minBaseAmount",
2376
+ type: "u64",
2377
+ index: false,
2378
+ },
2379
+ {
2380
+ name: "minQuoteAmount",
2381
+ type: "u64",
2382
+ index: false,
2383
+ },
2384
+ {
2385
+ name: "baseAmount",
2386
+ type: "u64",
2387
+ index: false,
2388
+ },
2389
+ {
2390
+ name: "quoteAmount",
2391
+ type: "u64",
2392
+ index: false,
2393
+ },
2394
+ {
2395
+ name: "postAmmState",
2396
+ type: {
2397
+ defined: "FutarchyAmm",
2398
+ },
2399
+ index: false,
2400
+ },
2401
+ ],
2402
+ },
2403
+ ],
2404
+ errors: [
2405
+ {
2406
+ code: 6000,
2407
+ name: "AmmTooOld",
2408
+ msg: "Amms must have been created within 5 minutes (counted in slots) of proposal initialization",
2409
+ },
2410
+ {
2411
+ code: 6001,
2412
+ name: "InvalidInitialObservation",
2413
+ msg: "An amm has an `initial_observation` that doesn't match the `dao`'s config",
2414
+ },
2415
+ {
2416
+ code: 6002,
2417
+ name: "InvalidMaxObservationChange",
2418
+ msg: "An amm has a `max_observation_change_per_update` that doesn't match the `dao`'s config",
2419
+ },
2420
+ {
2421
+ code: 6003,
2422
+ name: "InvalidStartDelaySlots",
2423
+ msg: "An amm has a `start_delay_slots` that doesn't match the `dao`'s config",
2424
+ },
2425
+ {
2426
+ code: 6004,
2427
+ name: "InvalidSettlementAuthority",
2428
+ msg: "One of the vaults has an invalid `settlement_authority`",
2429
+ },
2430
+ {
2431
+ code: 6005,
2432
+ name: "ProposalTooYoung",
2433
+ msg: "Proposal is too young to be executed or rejected",
2434
+ },
2435
+ {
2436
+ code: 6006,
2437
+ name: "MarketsTooYoung",
2438
+ msg: "Markets too young for proposal to be finalized. TWAP might need to be cranked",
2439
+ },
2440
+ {
2441
+ code: 6007,
2442
+ name: "ProposalAlreadyFinalized",
2443
+ msg: "This proposal has already been finalized",
2444
+ },
2445
+ {
2446
+ code: 6008,
2447
+ name: "InvalidVaultNonce",
2448
+ msg: "A conditional vault has an invalid nonce. A nonce should encode the proposal number",
2449
+ },
2450
+ {
2451
+ code: 6009,
2452
+ name: "ProposalNotPassed",
2453
+ msg: "This proposal can't be executed because it isn't in the passed state",
2454
+ },
2455
+ {
2456
+ code: 6010,
2457
+ name: "InsufficientLiquidity",
2458
+ msg: "More liquidity needs to be in the AMM to launch this proposal",
2459
+ },
2460
+ {
2461
+ code: 6011,
2462
+ name: "ProposalDurationTooShort",
2463
+ msg: "Proposal duration must be longer 1 day and longer than 2 times the TWAP start delay",
2464
+ },
2465
+ {
2466
+ code: 6012,
2467
+ name: "PassThresholdTooHigh",
2468
+ msg: "Pass threshold must be less than 10%",
2469
+ },
2470
+ {
2471
+ code: 6013,
2472
+ name: "QuestionMustBeBinary",
2473
+ msg: "Question must have exactly 2 outcomes for binary futarchy",
2474
+ },
2475
+ {
2476
+ code: 6014,
2477
+ name: "InvalidSquadsProposalStatus",
2478
+ msg: "Squads proposal must be in Draft status",
2479
+ },
2480
+ {
2481
+ code: 6015,
2482
+ name: "CastingOverflow",
2483
+ msg: "Casting overflow. If you're seeing this, please report this",
2484
+ },
2485
+ {
2486
+ code: 6016,
2487
+ name: "InsufficientBalance",
2488
+ msg: "Insufficient balance",
2489
+ },
2490
+ {
2491
+ code: 6017,
2492
+ name: "ZeroLiquidityRemove",
2493
+ msg: "Cannot remove zero liquidity",
2494
+ },
2495
+ {
2496
+ code: 6018,
2497
+ name: "SwapSlippageExceeded",
2498
+ msg: "Swap slippage exceeded",
2499
+ },
2500
+ {
2501
+ code: 6019,
2502
+ name: "AssertFailed",
2503
+ msg: "Assert failed",
2504
+ },
2505
+ {
2506
+ code: 6020,
2507
+ name: "InvalidAdmin",
2508
+ msg: "Invalid admin",
2509
+ },
2510
+ {
2511
+ code: 6021,
2512
+ name: "ProposalNotInDraftState",
2513
+ msg: "Proposal is not in draft state",
2514
+ },
2515
+ {
2516
+ code: 6022,
2517
+ name: "InsufficientTokenBalance",
2518
+ msg: "Insufficient token balance",
2519
+ },
2520
+ {
2521
+ code: 6023,
2522
+ name: "InvalidAmount",
2523
+ msg: "Invalid amount",
2524
+ },
2525
+ {
2526
+ code: 6024,
2527
+ name: "InsufficientStakeToLaunch",
2528
+ msg: "Insufficient stake to launch proposal",
2529
+ },
2530
+ {
2531
+ code: 6025,
2532
+ name: "StakerNotFound",
2533
+ msg: "Staker not found in proposal",
2534
+ },
2535
+ {
2536
+ code: 6026,
2537
+ name: "PoolNotInSpotState",
2538
+ msg: "Pool must be in spot state",
2539
+ },
2540
+ {
2541
+ code: 6027,
2542
+ name: "InvalidDaoCreateLiquidity",
2543
+ msg: "If you're providing liquidity, you must provide both base and quote token accounts",
2544
+ },
2545
+ {
2546
+ code: 6028,
2547
+ name: "InvalidStakeAccount",
2548
+ msg: "Invalid stake account",
2549
+ },
2550
+ {
2551
+ code: 6029,
2552
+ name: "InvariantViolated",
2553
+ msg: "An invariant was violated. You should get in contact with the MetaDAO team if you see this",
2554
+ },
2555
+ {
2556
+ code: 6030,
2557
+ name: "ProposalNotActive",
2558
+ msg: "Proposal needs to be active to perform a conditional swap",
2559
+ },
2560
+ {
2561
+ code: 6031,
2562
+ name: "InvalidTransaction",
2563
+ msg: "This Squads transaction should only contain calls to update spending limits",
2564
+ },
2565
+ ],
2566
+ };
2567
+ //# sourceMappingURL=v0.6.0-futarchy.js.map