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