@metadaoproject/futarchy 0.5.0-alpha.6 → 0.6.0-alpha.0

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