@metadaoproject/futarchy 0.6.0-aplha.8 → 0.7.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 (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 +934 -0
  54. package/dist/v0.7/types/conditional_vault.js +934 -0
  55. package/dist/v0.7/types/conditional_vault.js.map +1 -0
  56. package/dist/v0.7/types/futarchy.d.ts +2739 -0
  57. package/dist/v0.7/types/futarchy.js +2739 -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 +1568 -0
  63. package/dist/v0.7/types/launchpad_v7.js +1568 -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 +954 -0
  66. package/dist/v0.7/types/price_based_performance_package.js +954 -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,2739 @@
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": [
1055
+ "Embedded FutarchyAmm - 1:1 relationship"
1056
+ ];
1057
+ "type": {
1058
+ "defined": "FutarchyAmm";
1059
+ };
1060
+ },
1061
+ {
1062
+ "name": "nonce";
1063
+ "docs": [
1064
+ "`nonce` + `dao_creator` are PDA seeds"
1065
+ ];
1066
+ "type": "u64";
1067
+ },
1068
+ {
1069
+ "name": "daoCreator";
1070
+ "type": "publicKey";
1071
+ },
1072
+ {
1073
+ "name": "pdaBump";
1074
+ "type": "u8";
1075
+ },
1076
+ {
1077
+ "name": "squadsMultisig";
1078
+ "type": "publicKey";
1079
+ },
1080
+ {
1081
+ "name": "squadsMultisigVault";
1082
+ "type": "publicKey";
1083
+ },
1084
+ {
1085
+ "name": "baseMint";
1086
+ "type": "publicKey";
1087
+ },
1088
+ {
1089
+ "name": "quoteMint";
1090
+ "type": "publicKey";
1091
+ },
1092
+ {
1093
+ "name": "proposalCount";
1094
+ "type": "u32";
1095
+ },
1096
+ {
1097
+ "name": "passThresholdBps";
1098
+ "type": "u16";
1099
+ },
1100
+ {
1101
+ "name": "secondsPerProposal";
1102
+ "type": "u32";
1103
+ },
1104
+ {
1105
+ "name": "twapInitialObservation";
1106
+ "docs": [
1107
+ "For manipulation-resistance the TWAP is a time-weighted average observation,",
1108
+ "where observation tries to approximate price but can only move by",
1109
+ "`twap_max_observation_change_per_update` per update. Because it can only move",
1110
+ "a little bit per update, you need to check that it has a good initial observation.",
1111
+ "Otherwise, an attacker could create a very high initial observation in the pass",
1112
+ "market and a very low one in the fail market to force the proposal to pass.",
1113
+ "",
1114
+ "We recommend setting an initial observation around the spot price of the token,",
1115
+ "and max observation change per update around 2% the spot price of the token.",
1116
+ "For example, if the spot price of META is $400, we'd recommend setting an initial",
1117
+ "observation of 400 (converted into the AMM prices) and a max observation change per",
1118
+ "update of 8 (also converted into the AMM prices). Observations can be updated once",
1119
+ "a minute, so 2% allows the proposal market to reach double the spot price or 0",
1120
+ "in 50 minutes."
1121
+ ];
1122
+ "type": "u128";
1123
+ },
1124
+ {
1125
+ "name": "twapMaxObservationChangePerUpdate";
1126
+ "type": "u128";
1127
+ },
1128
+ {
1129
+ "name": "twapStartDelaySeconds";
1130
+ "docs": [
1131
+ "Forces TWAP calculation to start after `twap_start_delay_seconds` seconds"
1132
+ ];
1133
+ "type": "u32";
1134
+ },
1135
+ {
1136
+ "name": "minQuoteFutarchicLiquidity";
1137
+ "docs": [
1138
+ "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
1139
+ "in both futarchic markets in order to create a proposal.",
1140
+ "",
1141
+ "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
1142
+ "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
1143
+ "10 * 1_000_000_000 (10 META)."
1144
+ ];
1145
+ "type": "u64";
1146
+ },
1147
+ {
1148
+ "name": "minBaseFutarchicLiquidity";
1149
+ "type": "u64";
1150
+ },
1151
+ {
1152
+ "name": "baseToStake";
1153
+ "docs": [
1154
+ "Minimum amount of base tokens that must be staked to launch a proposal"
1155
+ ];
1156
+ "type": "u64";
1157
+ },
1158
+ {
1159
+ "name": "seqNum";
1160
+ "type": "u64";
1161
+ },
1162
+ {
1163
+ "name": "initialSpendingLimit";
1164
+ "type": {
1165
+ "option": {
1166
+ "defined": "InitialSpendingLimit";
1167
+ };
1168
+ };
1169
+ },
1170
+ {
1171
+ "name": "teamSponsoredPassThresholdBps";
1172
+ "docs": [
1173
+ "The percentage, in basis points, the pass price needs to be above the",
1174
+ "fail price in order for the proposal to pass for team-sponsored proposals.",
1175
+ "",
1176
+ "Can be negative to allow for team-sponsored proposals to pass by default."
1177
+ ];
1178
+ "type": "i16";
1179
+ },
1180
+ {
1181
+ "name": "teamAddress";
1182
+ "type": "publicKey";
1183
+ }
1184
+ ];
1185
+ };
1186
+ },
1187
+ {
1188
+ "name": "proposal";
1189
+ "type": {
1190
+ "kind": "struct";
1191
+ "fields": [
1192
+ {
1193
+ "name": "number";
1194
+ "type": "u32";
1195
+ },
1196
+ {
1197
+ "name": "proposer";
1198
+ "type": "publicKey";
1199
+ },
1200
+ {
1201
+ "name": "timestampEnqueued";
1202
+ "type": "i64";
1203
+ },
1204
+ {
1205
+ "name": "state";
1206
+ "type": {
1207
+ "defined": "ProposalState";
1208
+ };
1209
+ },
1210
+ {
1211
+ "name": "baseVault";
1212
+ "type": "publicKey";
1213
+ },
1214
+ {
1215
+ "name": "quoteVault";
1216
+ "type": "publicKey";
1217
+ },
1218
+ {
1219
+ "name": "dao";
1220
+ "type": "publicKey";
1221
+ },
1222
+ {
1223
+ "name": "pdaBump";
1224
+ "type": "u8";
1225
+ },
1226
+ {
1227
+ "name": "question";
1228
+ "type": "publicKey";
1229
+ },
1230
+ {
1231
+ "name": "durationInSeconds";
1232
+ "type": "u32";
1233
+ },
1234
+ {
1235
+ "name": "squadsProposal";
1236
+ "type": "publicKey";
1237
+ },
1238
+ {
1239
+ "name": "passBaseMint";
1240
+ "type": "publicKey";
1241
+ },
1242
+ {
1243
+ "name": "passQuoteMint";
1244
+ "type": "publicKey";
1245
+ },
1246
+ {
1247
+ "name": "failBaseMint";
1248
+ "type": "publicKey";
1249
+ },
1250
+ {
1251
+ "name": "failQuoteMint";
1252
+ "type": "publicKey";
1253
+ },
1254
+ {
1255
+ "name": "isTeamSponsored";
1256
+ "type": "bool";
1257
+ }
1258
+ ];
1259
+ };
1260
+ },
1261
+ {
1262
+ "name": "stakeAccount";
1263
+ "type": {
1264
+ "kind": "struct";
1265
+ "fields": [
1266
+ {
1267
+ "name": "proposal";
1268
+ "type": "publicKey";
1269
+ },
1270
+ {
1271
+ "name": "staker";
1272
+ "type": "publicKey";
1273
+ },
1274
+ {
1275
+ "name": "amount";
1276
+ "type": "u64";
1277
+ },
1278
+ {
1279
+ "name": "bump";
1280
+ "type": "u8";
1281
+ }
1282
+ ];
1283
+ };
1284
+ }
1285
+ ];
1286
+ "types": [
1287
+ {
1288
+ "name": "CommonFields";
1289
+ "type": {
1290
+ "kind": "struct";
1291
+ "fields": [
1292
+ {
1293
+ "name": "slot";
1294
+ "type": "u64";
1295
+ },
1296
+ {
1297
+ "name": "unixTimestamp";
1298
+ "type": "i64";
1299
+ },
1300
+ {
1301
+ "name": "daoSeqNum";
1302
+ "type": "u64";
1303
+ }
1304
+ ];
1305
+ };
1306
+ },
1307
+ {
1308
+ "name": "ConditionalSwapParams";
1309
+ "type": {
1310
+ "kind": "struct";
1311
+ "fields": [
1312
+ {
1313
+ "name": "market";
1314
+ "type": {
1315
+ "defined": "Market";
1316
+ };
1317
+ },
1318
+ {
1319
+ "name": "swapType";
1320
+ "type": {
1321
+ "defined": "SwapType";
1322
+ };
1323
+ },
1324
+ {
1325
+ "name": "inputAmount";
1326
+ "type": "u64";
1327
+ },
1328
+ {
1329
+ "name": "minOutputAmount";
1330
+ "type": "u64";
1331
+ }
1332
+ ];
1333
+ };
1334
+ },
1335
+ {
1336
+ "name": "InitializeDaoParams";
1337
+ "type": {
1338
+ "kind": "struct";
1339
+ "fields": [
1340
+ {
1341
+ "name": "twapInitialObservation";
1342
+ "type": "u128";
1343
+ },
1344
+ {
1345
+ "name": "twapMaxObservationChangePerUpdate";
1346
+ "type": "u128";
1347
+ },
1348
+ {
1349
+ "name": "twapStartDelaySeconds";
1350
+ "type": "u32";
1351
+ },
1352
+ {
1353
+ "name": "minQuoteFutarchicLiquidity";
1354
+ "type": "u64";
1355
+ },
1356
+ {
1357
+ "name": "minBaseFutarchicLiquidity";
1358
+ "type": "u64";
1359
+ },
1360
+ {
1361
+ "name": "baseToStake";
1362
+ "type": "u64";
1363
+ },
1364
+ {
1365
+ "name": "passThresholdBps";
1366
+ "type": "u16";
1367
+ },
1368
+ {
1369
+ "name": "secondsPerProposal";
1370
+ "type": "u32";
1371
+ },
1372
+ {
1373
+ "name": "nonce";
1374
+ "type": "u64";
1375
+ },
1376
+ {
1377
+ "name": "initialSpendingLimit";
1378
+ "type": {
1379
+ "option": {
1380
+ "defined": "InitialSpendingLimit";
1381
+ };
1382
+ };
1383
+ },
1384
+ {
1385
+ "name": "teamSponsoredPassThresholdBps";
1386
+ "type": "i16";
1387
+ },
1388
+ {
1389
+ "name": "teamAddress";
1390
+ "type": "publicKey";
1391
+ }
1392
+ ];
1393
+ };
1394
+ },
1395
+ {
1396
+ "name": "ProvideLiquidityParams";
1397
+ "type": {
1398
+ "kind": "struct";
1399
+ "fields": [
1400
+ {
1401
+ "name": "quoteAmount";
1402
+ "docs": [
1403
+ "How much quote token you will deposit to the pool"
1404
+ ];
1405
+ "type": "u64";
1406
+ },
1407
+ {
1408
+ "name": "maxBaseAmount";
1409
+ "docs": [
1410
+ "The maximum base token you will deposit to the pool"
1411
+ ];
1412
+ "type": "u64";
1413
+ },
1414
+ {
1415
+ "name": "minLiquidity";
1416
+ "docs": [
1417
+ "The minimum liquidity you will be assigned"
1418
+ ];
1419
+ "type": "u128";
1420
+ },
1421
+ {
1422
+ "name": "positionAuthority";
1423
+ "docs": [
1424
+ "The account that will own the LP position, usually the same as the",
1425
+ "liquidity provider"
1426
+ ];
1427
+ "type": "publicKey";
1428
+ }
1429
+ ];
1430
+ };
1431
+ },
1432
+ {
1433
+ "name": "SpotSwapParams";
1434
+ "type": {
1435
+ "kind": "struct";
1436
+ "fields": [
1437
+ {
1438
+ "name": "inputAmount";
1439
+ "type": "u64";
1440
+ },
1441
+ {
1442
+ "name": "swapType";
1443
+ "type": {
1444
+ "defined": "SwapType";
1445
+ };
1446
+ },
1447
+ {
1448
+ "name": "minOutputAmount";
1449
+ "type": "u64";
1450
+ }
1451
+ ];
1452
+ };
1453
+ },
1454
+ {
1455
+ "name": "StakeToProposalParams";
1456
+ "type": {
1457
+ "kind": "struct";
1458
+ "fields": [
1459
+ {
1460
+ "name": "amount";
1461
+ "type": "u64";
1462
+ }
1463
+ ];
1464
+ };
1465
+ },
1466
+ {
1467
+ "name": "UnstakeFromProposalParams";
1468
+ "type": {
1469
+ "kind": "struct";
1470
+ "fields": [
1471
+ {
1472
+ "name": "amount";
1473
+ "type": "u64";
1474
+ }
1475
+ ];
1476
+ };
1477
+ },
1478
+ {
1479
+ "name": "UpdateDaoParams";
1480
+ "type": {
1481
+ "kind": "struct";
1482
+ "fields": [
1483
+ {
1484
+ "name": "passThresholdBps";
1485
+ "type": {
1486
+ "option": "u16";
1487
+ };
1488
+ },
1489
+ {
1490
+ "name": "secondsPerProposal";
1491
+ "type": {
1492
+ "option": "u32";
1493
+ };
1494
+ },
1495
+ {
1496
+ "name": "twapInitialObservation";
1497
+ "type": {
1498
+ "option": "u128";
1499
+ };
1500
+ },
1501
+ {
1502
+ "name": "twapMaxObservationChangePerUpdate";
1503
+ "type": {
1504
+ "option": "u128";
1505
+ };
1506
+ },
1507
+ {
1508
+ "name": "twapStartDelaySeconds";
1509
+ "type": {
1510
+ "option": "u32";
1511
+ };
1512
+ },
1513
+ {
1514
+ "name": "minQuoteFutarchicLiquidity";
1515
+ "type": {
1516
+ "option": "u64";
1517
+ };
1518
+ },
1519
+ {
1520
+ "name": "minBaseFutarchicLiquidity";
1521
+ "type": {
1522
+ "option": "u64";
1523
+ };
1524
+ },
1525
+ {
1526
+ "name": "baseToStake";
1527
+ "type": {
1528
+ "option": "u64";
1529
+ };
1530
+ },
1531
+ {
1532
+ "name": "teamSponsoredPassThresholdBps";
1533
+ "type": {
1534
+ "option": "i16";
1535
+ };
1536
+ },
1537
+ {
1538
+ "name": "teamAddress";
1539
+ "type": {
1540
+ "option": "publicKey";
1541
+ };
1542
+ }
1543
+ ];
1544
+ };
1545
+ },
1546
+ {
1547
+ "name": "WithdrawLiquidityParams";
1548
+ "type": {
1549
+ "kind": "struct";
1550
+ "fields": [
1551
+ {
1552
+ "name": "liquidityToWithdraw";
1553
+ "docs": [
1554
+ "How much liquidity to withdraw"
1555
+ ];
1556
+ "type": "u128";
1557
+ },
1558
+ {
1559
+ "name": "minBaseAmount";
1560
+ "docs": [
1561
+ "Minimum base tokens to receive"
1562
+ ];
1563
+ "type": "u64";
1564
+ },
1565
+ {
1566
+ "name": "minQuoteAmount";
1567
+ "docs": [
1568
+ "Minimum quote tokens to receive"
1569
+ ];
1570
+ "type": "u64";
1571
+ }
1572
+ ];
1573
+ };
1574
+ },
1575
+ {
1576
+ "name": "InitialSpendingLimit";
1577
+ "type": {
1578
+ "kind": "struct";
1579
+ "fields": [
1580
+ {
1581
+ "name": "amountPerMonth";
1582
+ "type": "u64";
1583
+ },
1584
+ {
1585
+ "name": "members";
1586
+ "type": {
1587
+ "vec": "publicKey";
1588
+ };
1589
+ }
1590
+ ];
1591
+ };
1592
+ },
1593
+ {
1594
+ "name": "FutarchyAmm";
1595
+ "type": {
1596
+ "kind": "struct";
1597
+ "fields": [
1598
+ {
1599
+ "name": "state";
1600
+ "type": {
1601
+ "defined": "PoolState";
1602
+ };
1603
+ },
1604
+ {
1605
+ "name": "totalLiquidity";
1606
+ "type": "u128";
1607
+ },
1608
+ {
1609
+ "name": "baseMint";
1610
+ "type": "publicKey";
1611
+ },
1612
+ {
1613
+ "name": "quoteMint";
1614
+ "type": "publicKey";
1615
+ },
1616
+ {
1617
+ "name": "ammBaseVault";
1618
+ "type": "publicKey";
1619
+ },
1620
+ {
1621
+ "name": "ammQuoteVault";
1622
+ "type": "publicKey";
1623
+ }
1624
+ ];
1625
+ };
1626
+ },
1627
+ {
1628
+ "name": "TwapOracle";
1629
+ "type": {
1630
+ "kind": "struct";
1631
+ "fields": [
1632
+ {
1633
+ "name": "aggregator";
1634
+ "docs": [
1635
+ "Running sum of slots_per_last_update * last_observation.",
1636
+ "",
1637
+ "Assuming latest observations are as big as possible (u64::MAX * 1e12),",
1638
+ "we can store 18 million slots worth of observations, which turns out to",
1639
+ "be ~85 days worth of slots.",
1640
+ "",
1641
+ "Assuming that latest observations are 100x smaller than they could theoretically",
1642
+ "be, we can store 8500 days (23 years) worth of them. Even this is a very",
1643
+ "very conservative assumption - META/USDC prices should be between 1e9 and",
1644
+ "1e15, which would overflow after 1e15 years worth of slots.",
1645
+ "",
1646
+ "So in the case of an overflow, the aggregator rolls back to 0. It's the",
1647
+ "client's responsibility to sanity check the assets or to handle an",
1648
+ "aggregator at T2 being smaller than an aggregator at T1."
1649
+ ];
1650
+ "type": "u128";
1651
+ },
1652
+ {
1653
+ "name": "lastUpdatedTimestamp";
1654
+ "type": "i64";
1655
+ },
1656
+ {
1657
+ "name": "createdAtTimestamp";
1658
+ "type": "i64";
1659
+ },
1660
+ {
1661
+ "name": "lastPrice";
1662
+ "docs": [
1663
+ "A price is the number of quote units per base unit multiplied by 1e12.",
1664
+ "You cannot simply divide by 1e12 to get a price you can display in the UI",
1665
+ "because the base and quote decimals may be different. Instead, do:",
1666
+ "ui_price = (price * (10**(base_decimals - quote_decimals))) / 1e12"
1667
+ ];
1668
+ "type": "u128";
1669
+ },
1670
+ {
1671
+ "name": "lastObservation";
1672
+ "docs": [
1673
+ "If we did a raw TWAP over prices, someone could push the TWAP heavily with",
1674
+ "a few extremely large outliers. So we use observations, which can only move",
1675
+ "by `max_observation_change_per_update` per update."
1676
+ ];
1677
+ "type": "u128";
1678
+ },
1679
+ {
1680
+ "name": "maxObservationChangePerUpdate";
1681
+ "docs": [
1682
+ "The most that an observation can change per update."
1683
+ ];
1684
+ "type": "u128";
1685
+ },
1686
+ {
1687
+ "name": "initialObservation";
1688
+ "docs": [
1689
+ "What the initial `latest_observation` is set to."
1690
+ ];
1691
+ "type": "u128";
1692
+ },
1693
+ {
1694
+ "name": "startDelaySeconds";
1695
+ "docs": [
1696
+ "Number of seconds after amm.created_at_slot to start recording TWAP"
1697
+ ];
1698
+ "type": "u32";
1699
+ }
1700
+ ];
1701
+ };
1702
+ },
1703
+ {
1704
+ "name": "Pool";
1705
+ "type": {
1706
+ "kind": "struct";
1707
+ "fields": [
1708
+ {
1709
+ "name": "oracle";
1710
+ "type": {
1711
+ "defined": "TwapOracle";
1712
+ };
1713
+ },
1714
+ {
1715
+ "name": "quoteReserves";
1716
+ "type": "u64";
1717
+ },
1718
+ {
1719
+ "name": "baseReserves";
1720
+ "type": "u64";
1721
+ },
1722
+ {
1723
+ "name": "quoteProtocolFeeBalance";
1724
+ "type": "u64";
1725
+ },
1726
+ {
1727
+ "name": "baseProtocolFeeBalance";
1728
+ "type": "u64";
1729
+ }
1730
+ ];
1731
+ };
1732
+ },
1733
+ {
1734
+ "name": "PoolState";
1735
+ "type": {
1736
+ "kind": "enum";
1737
+ "variants": [
1738
+ {
1739
+ "name": "Spot";
1740
+ "fields": [
1741
+ {
1742
+ "name": "spot";
1743
+ "type": {
1744
+ "defined": "Pool";
1745
+ };
1746
+ }
1747
+ ];
1748
+ },
1749
+ {
1750
+ "name": "Futarchy";
1751
+ "fields": [
1752
+ {
1753
+ "name": "spot";
1754
+ "type": {
1755
+ "defined": "Pool";
1756
+ };
1757
+ },
1758
+ {
1759
+ "name": "pass";
1760
+ "type": {
1761
+ "defined": "Pool";
1762
+ };
1763
+ },
1764
+ {
1765
+ "name": "fail";
1766
+ "type": {
1767
+ "defined": "Pool";
1768
+ };
1769
+ }
1770
+ ];
1771
+ }
1772
+ ];
1773
+ };
1774
+ },
1775
+ {
1776
+ "name": "Market";
1777
+ "type": {
1778
+ "kind": "enum";
1779
+ "variants": [
1780
+ {
1781
+ "name": "Spot";
1782
+ },
1783
+ {
1784
+ "name": "Pass";
1785
+ },
1786
+ {
1787
+ "name": "Fail";
1788
+ }
1789
+ ];
1790
+ };
1791
+ },
1792
+ {
1793
+ "name": "SwapType";
1794
+ "type": {
1795
+ "kind": "enum";
1796
+ "variants": [
1797
+ {
1798
+ "name": "Buy";
1799
+ },
1800
+ {
1801
+ "name": "Sell";
1802
+ }
1803
+ ];
1804
+ };
1805
+ },
1806
+ {
1807
+ "name": "Token";
1808
+ "type": {
1809
+ "kind": "enum";
1810
+ "variants": [
1811
+ {
1812
+ "name": "Base";
1813
+ },
1814
+ {
1815
+ "name": "Quote";
1816
+ }
1817
+ ];
1818
+ };
1819
+ },
1820
+ {
1821
+ "name": "ProposalState";
1822
+ "type": {
1823
+ "kind": "enum";
1824
+ "variants": [
1825
+ {
1826
+ "name": "Draft";
1827
+ "fields": [
1828
+ {
1829
+ "name": "amountStaked";
1830
+ "type": "u64";
1831
+ }
1832
+ ];
1833
+ },
1834
+ {
1835
+ "name": "Pending";
1836
+ },
1837
+ {
1838
+ "name": "Passed";
1839
+ },
1840
+ {
1841
+ "name": "Failed";
1842
+ }
1843
+ ];
1844
+ };
1845
+ }
1846
+ ];
1847
+ "events": [
1848
+ {
1849
+ "name": "CollectFeesEvent";
1850
+ "fields": [
1851
+ {
1852
+ "name": "common";
1853
+ "type": {
1854
+ "defined": "CommonFields";
1855
+ };
1856
+ "index": false;
1857
+ },
1858
+ {
1859
+ "name": "dao";
1860
+ "type": "publicKey";
1861
+ "index": false;
1862
+ },
1863
+ {
1864
+ "name": "baseTokenAccount";
1865
+ "type": "publicKey";
1866
+ "index": false;
1867
+ },
1868
+ {
1869
+ "name": "quoteTokenAccount";
1870
+ "type": "publicKey";
1871
+ "index": false;
1872
+ },
1873
+ {
1874
+ "name": "ammBaseVault";
1875
+ "type": "publicKey";
1876
+ "index": false;
1877
+ },
1878
+ {
1879
+ "name": "ammQuoteVault";
1880
+ "type": "publicKey";
1881
+ "index": false;
1882
+ },
1883
+ {
1884
+ "name": "quoteMint";
1885
+ "type": "publicKey";
1886
+ "index": false;
1887
+ },
1888
+ {
1889
+ "name": "baseMint";
1890
+ "type": "publicKey";
1891
+ "index": false;
1892
+ },
1893
+ {
1894
+ "name": "quoteFeesCollected";
1895
+ "type": "u64";
1896
+ "index": false;
1897
+ },
1898
+ {
1899
+ "name": "baseFeesCollected";
1900
+ "type": "u64";
1901
+ "index": false;
1902
+ },
1903
+ {
1904
+ "name": "postAmmState";
1905
+ "type": {
1906
+ "defined": "FutarchyAmm";
1907
+ };
1908
+ "index": false;
1909
+ }
1910
+ ];
1911
+ },
1912
+ {
1913
+ "name": "InitializeDaoEvent";
1914
+ "fields": [
1915
+ {
1916
+ "name": "common";
1917
+ "type": {
1918
+ "defined": "CommonFields";
1919
+ };
1920
+ "index": false;
1921
+ },
1922
+ {
1923
+ "name": "dao";
1924
+ "type": "publicKey";
1925
+ "index": false;
1926
+ },
1927
+ {
1928
+ "name": "baseMint";
1929
+ "type": "publicKey";
1930
+ "index": false;
1931
+ },
1932
+ {
1933
+ "name": "quoteMint";
1934
+ "type": "publicKey";
1935
+ "index": false;
1936
+ },
1937
+ {
1938
+ "name": "passThresholdBps";
1939
+ "type": "u16";
1940
+ "index": false;
1941
+ },
1942
+ {
1943
+ "name": "secondsPerProposal";
1944
+ "type": "u32";
1945
+ "index": false;
1946
+ },
1947
+ {
1948
+ "name": "twapInitialObservation";
1949
+ "type": "u128";
1950
+ "index": false;
1951
+ },
1952
+ {
1953
+ "name": "twapMaxObservationChangePerUpdate";
1954
+ "type": "u128";
1955
+ "index": false;
1956
+ },
1957
+ {
1958
+ "name": "twapStartDelaySeconds";
1959
+ "type": "u32";
1960
+ "index": false;
1961
+ },
1962
+ {
1963
+ "name": "minQuoteFutarchicLiquidity";
1964
+ "type": "u64";
1965
+ "index": false;
1966
+ },
1967
+ {
1968
+ "name": "minBaseFutarchicLiquidity";
1969
+ "type": "u64";
1970
+ "index": false;
1971
+ },
1972
+ {
1973
+ "name": "baseToStake";
1974
+ "type": "u64";
1975
+ "index": false;
1976
+ },
1977
+ {
1978
+ "name": "initialSpendingLimit";
1979
+ "type": {
1980
+ "option": {
1981
+ "defined": "InitialSpendingLimit";
1982
+ };
1983
+ };
1984
+ "index": false;
1985
+ },
1986
+ {
1987
+ "name": "squadsMultisig";
1988
+ "type": "publicKey";
1989
+ "index": false;
1990
+ },
1991
+ {
1992
+ "name": "squadsMultisigVault";
1993
+ "type": "publicKey";
1994
+ "index": false;
1995
+ },
1996
+ {
1997
+ "name": "teamSponsoredPassThresholdBps";
1998
+ "type": "i16";
1999
+ "index": false;
2000
+ },
2001
+ {
2002
+ "name": "teamAddress";
2003
+ "type": "publicKey";
2004
+ "index": false;
2005
+ }
2006
+ ];
2007
+ },
2008
+ {
2009
+ "name": "UpdateDaoEvent";
2010
+ "fields": [
2011
+ {
2012
+ "name": "common";
2013
+ "type": {
2014
+ "defined": "CommonFields";
2015
+ };
2016
+ "index": false;
2017
+ },
2018
+ {
2019
+ "name": "dao";
2020
+ "type": "publicKey";
2021
+ "index": false;
2022
+ },
2023
+ {
2024
+ "name": "passThresholdBps";
2025
+ "type": "u16";
2026
+ "index": false;
2027
+ },
2028
+ {
2029
+ "name": "secondsPerProposal";
2030
+ "type": "u32";
2031
+ "index": false;
2032
+ },
2033
+ {
2034
+ "name": "twapInitialObservation";
2035
+ "type": "u128";
2036
+ "index": false;
2037
+ },
2038
+ {
2039
+ "name": "twapMaxObservationChangePerUpdate";
2040
+ "type": "u128";
2041
+ "index": false;
2042
+ },
2043
+ {
2044
+ "name": "twapStartDelaySeconds";
2045
+ "type": "u32";
2046
+ "index": false;
2047
+ },
2048
+ {
2049
+ "name": "minQuoteFutarchicLiquidity";
2050
+ "type": "u64";
2051
+ "index": false;
2052
+ },
2053
+ {
2054
+ "name": "minBaseFutarchicLiquidity";
2055
+ "type": "u64";
2056
+ "index": false;
2057
+ },
2058
+ {
2059
+ "name": "baseToStake";
2060
+ "type": "u64";
2061
+ "index": false;
2062
+ },
2063
+ {
2064
+ "name": "teamSponsoredPassThresholdBps";
2065
+ "type": "i16";
2066
+ "index": false;
2067
+ },
2068
+ {
2069
+ "name": "teamAddress";
2070
+ "type": "publicKey";
2071
+ "index": false;
2072
+ }
2073
+ ];
2074
+ },
2075
+ {
2076
+ "name": "InitializeProposalEvent";
2077
+ "fields": [
2078
+ {
2079
+ "name": "common";
2080
+ "type": {
2081
+ "defined": "CommonFields";
2082
+ };
2083
+ "index": false;
2084
+ },
2085
+ {
2086
+ "name": "proposal";
2087
+ "type": "publicKey";
2088
+ "index": false;
2089
+ },
2090
+ {
2091
+ "name": "dao";
2092
+ "type": "publicKey";
2093
+ "index": false;
2094
+ },
2095
+ {
2096
+ "name": "question";
2097
+ "type": "publicKey";
2098
+ "index": false;
2099
+ },
2100
+ {
2101
+ "name": "quoteVault";
2102
+ "type": "publicKey";
2103
+ "index": false;
2104
+ },
2105
+ {
2106
+ "name": "baseVault";
2107
+ "type": "publicKey";
2108
+ "index": false;
2109
+ },
2110
+ {
2111
+ "name": "proposer";
2112
+ "type": "publicKey";
2113
+ "index": false;
2114
+ },
2115
+ {
2116
+ "name": "number";
2117
+ "type": "u32";
2118
+ "index": false;
2119
+ },
2120
+ {
2121
+ "name": "pdaBump";
2122
+ "type": "u8";
2123
+ "index": false;
2124
+ },
2125
+ {
2126
+ "name": "durationInSeconds";
2127
+ "type": "u32";
2128
+ "index": false;
2129
+ },
2130
+ {
2131
+ "name": "squadsProposal";
2132
+ "type": "publicKey";
2133
+ "index": false;
2134
+ },
2135
+ {
2136
+ "name": "squadsMultisig";
2137
+ "type": "publicKey";
2138
+ "index": false;
2139
+ },
2140
+ {
2141
+ "name": "squadsMultisigVault";
2142
+ "type": "publicKey";
2143
+ "index": false;
2144
+ }
2145
+ ];
2146
+ },
2147
+ {
2148
+ "name": "StakeToProposalEvent";
2149
+ "fields": [
2150
+ {
2151
+ "name": "common";
2152
+ "type": {
2153
+ "defined": "CommonFields";
2154
+ };
2155
+ "index": false;
2156
+ },
2157
+ {
2158
+ "name": "proposal";
2159
+ "type": "publicKey";
2160
+ "index": false;
2161
+ },
2162
+ {
2163
+ "name": "staker";
2164
+ "type": "publicKey";
2165
+ "index": false;
2166
+ },
2167
+ {
2168
+ "name": "amount";
2169
+ "type": "u64";
2170
+ "index": false;
2171
+ },
2172
+ {
2173
+ "name": "totalStaked";
2174
+ "type": "u64";
2175
+ "index": false;
2176
+ }
2177
+ ];
2178
+ },
2179
+ {
2180
+ "name": "UnstakeFromProposalEvent";
2181
+ "fields": [
2182
+ {
2183
+ "name": "common";
2184
+ "type": {
2185
+ "defined": "CommonFields";
2186
+ };
2187
+ "index": false;
2188
+ },
2189
+ {
2190
+ "name": "proposal";
2191
+ "type": "publicKey";
2192
+ "index": false;
2193
+ },
2194
+ {
2195
+ "name": "staker";
2196
+ "type": "publicKey";
2197
+ "index": false;
2198
+ },
2199
+ {
2200
+ "name": "amount";
2201
+ "type": "u64";
2202
+ "index": false;
2203
+ },
2204
+ {
2205
+ "name": "totalStaked";
2206
+ "type": "u64";
2207
+ "index": false;
2208
+ }
2209
+ ];
2210
+ },
2211
+ {
2212
+ "name": "LaunchProposalEvent";
2213
+ "fields": [
2214
+ {
2215
+ "name": "common";
2216
+ "type": {
2217
+ "defined": "CommonFields";
2218
+ };
2219
+ "index": false;
2220
+ },
2221
+ {
2222
+ "name": "proposal";
2223
+ "type": "publicKey";
2224
+ "index": false;
2225
+ },
2226
+ {
2227
+ "name": "dao";
2228
+ "type": "publicKey";
2229
+ "index": false;
2230
+ },
2231
+ {
2232
+ "name": "timestampEnqueued";
2233
+ "type": "i64";
2234
+ "index": false;
2235
+ },
2236
+ {
2237
+ "name": "totalStaked";
2238
+ "type": "u64";
2239
+ "index": false;
2240
+ },
2241
+ {
2242
+ "name": "postAmmState";
2243
+ "type": {
2244
+ "defined": "FutarchyAmm";
2245
+ };
2246
+ "index": false;
2247
+ }
2248
+ ];
2249
+ },
2250
+ {
2251
+ "name": "FinalizeProposalEvent";
2252
+ "fields": [
2253
+ {
2254
+ "name": "common";
2255
+ "type": {
2256
+ "defined": "CommonFields";
2257
+ };
2258
+ "index": false;
2259
+ },
2260
+ {
2261
+ "name": "proposal";
2262
+ "type": "publicKey";
2263
+ "index": false;
2264
+ },
2265
+ {
2266
+ "name": "dao";
2267
+ "type": "publicKey";
2268
+ "index": false;
2269
+ },
2270
+ {
2271
+ "name": "passMarketTwap";
2272
+ "type": "u128";
2273
+ "index": false;
2274
+ },
2275
+ {
2276
+ "name": "failMarketTwap";
2277
+ "type": "u128";
2278
+ "index": false;
2279
+ },
2280
+ {
2281
+ "name": "threshold";
2282
+ "type": "u128";
2283
+ "index": false;
2284
+ },
2285
+ {
2286
+ "name": "state";
2287
+ "type": {
2288
+ "defined": "ProposalState";
2289
+ };
2290
+ "index": false;
2291
+ },
2292
+ {
2293
+ "name": "squadsProposal";
2294
+ "type": "publicKey";
2295
+ "index": false;
2296
+ },
2297
+ {
2298
+ "name": "squadsMultisig";
2299
+ "type": "publicKey";
2300
+ "index": false;
2301
+ },
2302
+ {
2303
+ "name": "postAmmState";
2304
+ "type": {
2305
+ "defined": "FutarchyAmm";
2306
+ };
2307
+ "index": false;
2308
+ },
2309
+ {
2310
+ "name": "isTeamSponsored";
2311
+ "type": "bool";
2312
+ "index": false;
2313
+ }
2314
+ ];
2315
+ },
2316
+ {
2317
+ "name": "SpotSwapEvent";
2318
+ "fields": [
2319
+ {
2320
+ "name": "common";
2321
+ "type": {
2322
+ "defined": "CommonFields";
2323
+ };
2324
+ "index": false;
2325
+ },
2326
+ {
2327
+ "name": "dao";
2328
+ "type": "publicKey";
2329
+ "index": false;
2330
+ },
2331
+ {
2332
+ "name": "user";
2333
+ "type": "publicKey";
2334
+ "index": false;
2335
+ },
2336
+ {
2337
+ "name": "swapType";
2338
+ "type": {
2339
+ "defined": "SwapType";
2340
+ };
2341
+ "index": false;
2342
+ },
2343
+ {
2344
+ "name": "inputAmount";
2345
+ "type": "u64";
2346
+ "index": false;
2347
+ },
2348
+ {
2349
+ "name": "outputAmount";
2350
+ "type": "u64";
2351
+ "index": false;
2352
+ },
2353
+ {
2354
+ "name": "minOutputAmount";
2355
+ "type": "u64";
2356
+ "index": false;
2357
+ },
2358
+ {
2359
+ "name": "postAmmState";
2360
+ "type": {
2361
+ "defined": "FutarchyAmm";
2362
+ };
2363
+ "index": false;
2364
+ }
2365
+ ];
2366
+ },
2367
+ {
2368
+ "name": "ConditionalSwapEvent";
2369
+ "fields": [
2370
+ {
2371
+ "name": "common";
2372
+ "type": {
2373
+ "defined": "CommonFields";
2374
+ };
2375
+ "index": false;
2376
+ },
2377
+ {
2378
+ "name": "dao";
2379
+ "type": "publicKey";
2380
+ "index": false;
2381
+ },
2382
+ {
2383
+ "name": "proposal";
2384
+ "type": "publicKey";
2385
+ "index": false;
2386
+ },
2387
+ {
2388
+ "name": "trader";
2389
+ "type": "publicKey";
2390
+ "index": false;
2391
+ },
2392
+ {
2393
+ "name": "market";
2394
+ "type": {
2395
+ "defined": "Market";
2396
+ };
2397
+ "index": false;
2398
+ },
2399
+ {
2400
+ "name": "swapType";
2401
+ "type": {
2402
+ "defined": "SwapType";
2403
+ };
2404
+ "index": false;
2405
+ },
2406
+ {
2407
+ "name": "inputAmount";
2408
+ "type": "u64";
2409
+ "index": false;
2410
+ },
2411
+ {
2412
+ "name": "outputAmount";
2413
+ "type": "u64";
2414
+ "index": false;
2415
+ },
2416
+ {
2417
+ "name": "minOutputAmount";
2418
+ "type": "u64";
2419
+ "index": false;
2420
+ },
2421
+ {
2422
+ "name": "postAmmState";
2423
+ "type": {
2424
+ "defined": "FutarchyAmm";
2425
+ };
2426
+ "index": false;
2427
+ }
2428
+ ];
2429
+ },
2430
+ {
2431
+ "name": "ProvideLiquidityEvent";
2432
+ "fields": [
2433
+ {
2434
+ "name": "common";
2435
+ "type": {
2436
+ "defined": "CommonFields";
2437
+ };
2438
+ "index": false;
2439
+ },
2440
+ {
2441
+ "name": "dao";
2442
+ "type": "publicKey";
2443
+ "index": false;
2444
+ },
2445
+ {
2446
+ "name": "liquidityProvider";
2447
+ "type": "publicKey";
2448
+ "index": false;
2449
+ },
2450
+ {
2451
+ "name": "positionAuthority";
2452
+ "type": "publicKey";
2453
+ "index": false;
2454
+ },
2455
+ {
2456
+ "name": "quoteAmount";
2457
+ "type": "u64";
2458
+ "index": false;
2459
+ },
2460
+ {
2461
+ "name": "baseAmount";
2462
+ "type": "u64";
2463
+ "index": false;
2464
+ },
2465
+ {
2466
+ "name": "liquidityMinted";
2467
+ "type": "u128";
2468
+ "index": false;
2469
+ },
2470
+ {
2471
+ "name": "minLiquidity";
2472
+ "type": "u128";
2473
+ "index": false;
2474
+ },
2475
+ {
2476
+ "name": "postAmmState";
2477
+ "type": {
2478
+ "defined": "FutarchyAmm";
2479
+ };
2480
+ "index": false;
2481
+ }
2482
+ ];
2483
+ },
2484
+ {
2485
+ "name": "WithdrawLiquidityEvent";
2486
+ "fields": [
2487
+ {
2488
+ "name": "common";
2489
+ "type": {
2490
+ "defined": "CommonFields";
2491
+ };
2492
+ "index": false;
2493
+ },
2494
+ {
2495
+ "name": "dao";
2496
+ "type": "publicKey";
2497
+ "index": false;
2498
+ },
2499
+ {
2500
+ "name": "liquidityProvider";
2501
+ "type": "publicKey";
2502
+ "index": false;
2503
+ },
2504
+ {
2505
+ "name": "liquidityWithdrawn";
2506
+ "type": "u128";
2507
+ "index": false;
2508
+ },
2509
+ {
2510
+ "name": "minBaseAmount";
2511
+ "type": "u64";
2512
+ "index": false;
2513
+ },
2514
+ {
2515
+ "name": "minQuoteAmount";
2516
+ "type": "u64";
2517
+ "index": false;
2518
+ },
2519
+ {
2520
+ "name": "baseAmount";
2521
+ "type": "u64";
2522
+ "index": false;
2523
+ },
2524
+ {
2525
+ "name": "quoteAmount";
2526
+ "type": "u64";
2527
+ "index": false;
2528
+ },
2529
+ {
2530
+ "name": "postAmmState";
2531
+ "type": {
2532
+ "defined": "FutarchyAmm";
2533
+ };
2534
+ "index": false;
2535
+ }
2536
+ ];
2537
+ },
2538
+ {
2539
+ "name": "SponsorProposalEvent";
2540
+ "fields": [
2541
+ {
2542
+ "name": "common";
2543
+ "type": {
2544
+ "defined": "CommonFields";
2545
+ };
2546
+ "index": false;
2547
+ },
2548
+ {
2549
+ "name": "proposal";
2550
+ "type": "publicKey";
2551
+ "index": false;
2552
+ },
2553
+ {
2554
+ "name": "dao";
2555
+ "type": "publicKey";
2556
+ "index": false;
2557
+ },
2558
+ {
2559
+ "name": "teamAddress";
2560
+ "type": "publicKey";
2561
+ "index": false;
2562
+ }
2563
+ ];
2564
+ }
2565
+ ];
2566
+ "errors": [
2567
+ {
2568
+ "code": 6000;
2569
+ "name": "AmmTooOld";
2570
+ "msg": "Amms must have been created within 5 minutes (counted in slots) of proposal initialization";
2571
+ },
2572
+ {
2573
+ "code": 6001;
2574
+ "name": "InvalidInitialObservation";
2575
+ "msg": "An amm has an `initial_observation` that doesn't match the `dao`'s config";
2576
+ },
2577
+ {
2578
+ "code": 6002;
2579
+ "name": "InvalidMaxObservationChange";
2580
+ "msg": "An amm has a `max_observation_change_per_update` that doesn't match the `dao`'s config";
2581
+ },
2582
+ {
2583
+ "code": 6003;
2584
+ "name": "InvalidStartDelaySlots";
2585
+ "msg": "An amm has a `start_delay_slots` that doesn't match the `dao`'s config";
2586
+ },
2587
+ {
2588
+ "code": 6004;
2589
+ "name": "InvalidSettlementAuthority";
2590
+ "msg": "One of the vaults has an invalid `settlement_authority`";
2591
+ },
2592
+ {
2593
+ "code": 6005;
2594
+ "name": "ProposalTooYoung";
2595
+ "msg": "Proposal is too young to be executed or rejected";
2596
+ },
2597
+ {
2598
+ "code": 6006;
2599
+ "name": "MarketsTooYoung";
2600
+ "msg": "Markets too young for proposal to be finalized. TWAP might need to be cranked";
2601
+ },
2602
+ {
2603
+ "code": 6007;
2604
+ "name": "ProposalAlreadyFinalized";
2605
+ "msg": "This proposal has already been finalized";
2606
+ },
2607
+ {
2608
+ "code": 6008;
2609
+ "name": "InvalidVaultNonce";
2610
+ "msg": "A conditional vault has an invalid nonce. A nonce should encode the proposal number";
2611
+ },
2612
+ {
2613
+ "code": 6009;
2614
+ "name": "ProposalNotPassed";
2615
+ "msg": "This proposal can't be executed because it isn't in the passed state";
2616
+ },
2617
+ {
2618
+ "code": 6010;
2619
+ "name": "InsufficientLiquidity";
2620
+ "msg": "More liquidity needs to be in the AMM to launch this proposal";
2621
+ },
2622
+ {
2623
+ "code": 6011;
2624
+ "name": "ProposalDurationTooShort";
2625
+ "msg": "Proposal duration must be longer 1 day and longer than 2 times the TWAP start delay";
2626
+ },
2627
+ {
2628
+ "code": 6012;
2629
+ "name": "PassThresholdTooHigh";
2630
+ "msg": "Pass threshold must be less than 10%";
2631
+ },
2632
+ {
2633
+ "code": 6013;
2634
+ "name": "QuestionMustBeBinary";
2635
+ "msg": "Question must have exactly 2 outcomes for binary futarchy";
2636
+ },
2637
+ {
2638
+ "code": 6014;
2639
+ "name": "InvalidSquadsProposalStatus";
2640
+ "msg": "Squads proposal must be in Draft status";
2641
+ },
2642
+ {
2643
+ "code": 6015;
2644
+ "name": "CastingOverflow";
2645
+ "msg": "Casting overflow. If you're seeing this, please report this";
2646
+ },
2647
+ {
2648
+ "code": 6016;
2649
+ "name": "InsufficientBalance";
2650
+ "msg": "Insufficient balance";
2651
+ },
2652
+ {
2653
+ "code": 6017;
2654
+ "name": "ZeroLiquidityRemove";
2655
+ "msg": "Cannot remove zero liquidity";
2656
+ },
2657
+ {
2658
+ "code": 6018;
2659
+ "name": "SwapSlippageExceeded";
2660
+ "msg": "Swap slippage exceeded";
2661
+ },
2662
+ {
2663
+ "code": 6019;
2664
+ "name": "AssertFailed";
2665
+ "msg": "Assert failed";
2666
+ },
2667
+ {
2668
+ "code": 6020;
2669
+ "name": "InvalidAdmin";
2670
+ "msg": "Invalid admin";
2671
+ },
2672
+ {
2673
+ "code": 6021;
2674
+ "name": "ProposalNotInDraftState";
2675
+ "msg": "Proposal is not in draft state";
2676
+ },
2677
+ {
2678
+ "code": 6022;
2679
+ "name": "InsufficientTokenBalance";
2680
+ "msg": "Insufficient token balance";
2681
+ },
2682
+ {
2683
+ "code": 6023;
2684
+ "name": "InvalidAmount";
2685
+ "msg": "Invalid amount";
2686
+ },
2687
+ {
2688
+ "code": 6024;
2689
+ "name": "InsufficientStakeToLaunch";
2690
+ "msg": "Insufficient stake to launch proposal";
2691
+ },
2692
+ {
2693
+ "code": 6025;
2694
+ "name": "StakerNotFound";
2695
+ "msg": "Staker not found in proposal";
2696
+ },
2697
+ {
2698
+ "code": 6026;
2699
+ "name": "PoolNotInSpotState";
2700
+ "msg": "Pool must be in spot state";
2701
+ },
2702
+ {
2703
+ "code": 6027;
2704
+ "name": "InvalidDaoCreateLiquidity";
2705
+ "msg": "If you're providing liquidity, you must provide both base and quote token accounts";
2706
+ },
2707
+ {
2708
+ "code": 6028;
2709
+ "name": "InvalidStakeAccount";
2710
+ "msg": "Invalid stake account";
2711
+ },
2712
+ {
2713
+ "code": 6029;
2714
+ "name": "InvariantViolated";
2715
+ "msg": "An invariant was violated. You should get in contact with the MetaDAO team if you see this";
2716
+ },
2717
+ {
2718
+ "code": 6030;
2719
+ "name": "ProposalNotActive";
2720
+ "msg": "Proposal needs to be active to perform a conditional swap";
2721
+ },
2722
+ {
2723
+ "code": 6031;
2724
+ "name": "InvalidTransaction";
2725
+ "msg": "This Squads transaction should only contain calls to update spending limits";
2726
+ },
2727
+ {
2728
+ "code": 6032;
2729
+ "name": "ProposalAlreadySponsored";
2730
+ "msg": "Proposal has already been sponsored";
2731
+ },
2732
+ {
2733
+ "code": 6033;
2734
+ "name": "InvalidTeamSponsoredPassThreshold";
2735
+ "msg": "Team sponsored pass threshold must be between -10% and 10%";
2736
+ }
2737
+ ];
2738
+ };
2739
+ export declare const IDL: Futarchy;