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

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 +1 -5
  2. package/dist/v0.3/utils/metadata.js.map +1 -1
  3. package/dist/v0.4/utils/metadata.js +1 -5
  4. package/dist/v0.4/utils/metadata.js.map +1 -1
  5. package/dist/v0.5/LaunchpadClient.js +5 -2
  6. package/dist/v0.5/LaunchpadClient.js.map +1 -1
  7. package/dist/v0.5/constants.d.ts +1 -0
  8. package/dist/v0.5/constants.js +1 -0
  9. package/dist/v0.5/constants.js.map +1 -1
  10. package/dist/v0.5/utils/metadata.js +1 -5
  11. package/dist/v0.5/utils/metadata.js.map +1 -1
  12. package/package.json +25 -5
  13. package/dist/v0.6/ConditionalVaultClient.d.ts +0 -314
  14. package/dist/v0.6/ConditionalVaultClient.js +0 -209
  15. package/dist/v0.6/ConditionalVaultClient.js.map +0 -1
  16. package/dist/v0.6/FutarchyClient.d.ts +0 -749
  17. package/dist/v0.6/FutarchyClient.js +0 -392
  18. package/dist/v0.6/FutarchyClient.js.map +0 -1
  19. package/dist/v0.6/LaunchpadClient.d.ts +0 -404
  20. package/dist/v0.6/LaunchpadClient.js +0 -210
  21. package/dist/v0.6/LaunchpadClient.js.map +0 -1
  22. package/dist/v0.6/constants.d.ts +0 -25
  23. package/dist/v0.6/constants.js +0 -36
  24. package/dist/v0.6/constants.js.map +0 -1
  25. package/dist/v0.6/index.d.ts +0 -6
  26. package/dist/v0.6/index.js +0 -7
  27. package/dist/v0.6/index.js.map +0 -1
  28. package/dist/v0.6/types/amm.d.ts +0 -832
  29. package/dist/v0.6/types/amm.js +0 -832
  30. package/dist/v0.6/types/amm.js.map +0 -1
  31. package/dist/v0.6/types/conditional_vault.d.ts +0 -925
  32. package/dist/v0.6/types/conditional_vault.js +0 -925
  33. package/dist/v0.6/types/conditional_vault.js.map +0 -1
  34. package/dist/v0.6/types/futarchy.d.ts +0 -2249
  35. package/dist/v0.6/types/futarchy.js +0 -2249
  36. package/dist/v0.6/types/futarchy.js.map +0 -1
  37. package/dist/v0.6/types/index.d.ts +0 -47
  38. package/dist/v0.6/types/index.js +0 -9
  39. package/dist/v0.6/types/index.js.map +0 -1
  40. package/dist/v0.6/types/launchpad.d.ts +0 -1018
  41. package/dist/v0.6/types/launchpad.js +0 -1018
  42. package/dist/v0.6/types/launchpad.js.map +0 -1
  43. package/dist/v0.6/types/shared_liquidity_manager.d.ts +0 -89
  44. package/dist/v0.6/types/shared_liquidity_manager.js +0 -89
  45. package/dist/v0.6/types/shared_liquidity_manager.js.map +0 -1
  46. package/dist/v0.6/types/utils.d.ts +0 -3
  47. package/dist/v0.6/types/utils.js +0 -2
  48. package/dist/v0.6/types/utils.js.map +0 -1
  49. package/dist/v0.6/utils/cu.d.ts +0 -10
  50. package/dist/v0.6/utils/cu.js +0 -11
  51. package/dist/v0.6/utils/cu.js.map +0 -1
  52. package/dist/v0.6/utils/filters.d.ts +0 -3
  53. package/dist/v0.6/utils/filters.js +0 -14
  54. package/dist/v0.6/utils/filters.js.map +0 -1
  55. package/dist/v0.6/utils/index.d.ts +0 -16
  56. package/dist/v0.6/utils/index.js +0 -30
  57. package/dist/v0.6/utils/index.js.map +0 -1
  58. package/dist/v0.6/utils/instruction.d.ts +0 -4
  59. package/dist/v0.6/utils/instruction.js +0 -10
  60. package/dist/v0.6/utils/instruction.js.map +0 -1
  61. package/dist/v0.6/utils/metadata.d.ts +0 -4
  62. package/dist/v0.6/utils/metadata.js +0 -26
  63. package/dist/v0.6/utils/metadata.js.map +0 -1
  64. package/dist/v0.6/utils/pda.d.ts +0 -25
  65. package/dist/v0.6/utils/pda.js +0 -75
  66. package/dist/v0.6/utils/pda.js.map +0 -1
  67. package/dist/v0.6/utils/priceMath.d.ts +0 -39
  68. package/dist/v0.6/utils/priceMath.js +0 -48
  69. package/dist/v0.6/utils/priceMath.js.map +0 -1
@@ -1,2249 +0,0 @@
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