@metadaoproject/futarchy 0.4.0-alpha.8 → 0.5.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 (158) hide show
  1. package/dist/v0.3/AmmClient.d.ts +223 -0
  2. package/dist/v0.3/AmmClient.js +186 -0
  3. package/dist/v0.3/AmmClient.js.map +1 -0
  4. package/dist/v0.3/AutocratClient.d.ts +234 -0
  5. package/dist/v0.3/AutocratClient.js +271 -0
  6. package/dist/v0.3/AutocratClient.js.map +1 -0
  7. package/dist/v0.3/ConditionalVaultClient.d.ts +281 -0
  8. package/dist/v0.3/ConditionalVaultClient.js +135 -0
  9. package/dist/v0.3/ConditionalVaultClient.js.map +1 -0
  10. package/dist/v0.3/FutarchyClient.d.ts +27 -0
  11. package/dist/v0.3/FutarchyClient.js +57 -0
  12. package/dist/v0.3/FutarchyClient.js.map +1 -0
  13. package/dist/v0.3/constants.d.ts +9 -0
  14. package/dist/v0.3/constants.js +10 -0
  15. package/dist/v0.3/constants.js.map +1 -0
  16. package/dist/v0.3/index.d.ts +7 -0
  17. package/dist/v0.3/index.js +8 -0
  18. package/dist/v0.3/index.js.map +1 -0
  19. package/dist/v0.3/types/amm.d.ts +542 -0
  20. package/dist/v0.3/types/amm.js +542 -0
  21. package/dist/v0.3/types/amm.js.map +1 -0
  22. package/dist/v0.3/types/autocrat.d.ts +632 -0
  23. package/dist/v0.3/types/autocrat.js +632 -0
  24. package/dist/v0.3/types/autocrat.js.map +1 -0
  25. package/dist/v0.3/types/conditional_vault.d.ts +448 -0
  26. package/dist/v0.3/types/conditional_vault.js +448 -0
  27. package/dist/v0.3/types/conditional_vault.js.map +1 -0
  28. package/dist/v0.3/types/index.d.ts +21 -0
  29. package/dist/v0.3/types/index.js +4 -0
  30. package/dist/v0.3/types/index.js.map +1 -0
  31. package/dist/v0.3/types/utils.d.ts +3 -0
  32. package/dist/v0.3/types/utils.js +2 -0
  33. package/dist/v0.3/types/utils.js.map +1 -0
  34. package/dist/v0.3/utils/ammMath.d.ts +39 -0
  35. package/dist/v0.3/utils/ammMath.js +142 -0
  36. package/dist/v0.3/utils/ammMath.js.map +1 -0
  37. package/dist/v0.3/utils/cu.d.ts +10 -0
  38. package/dist/v0.3/utils/cu.js +11 -0
  39. package/dist/v0.3/utils/cu.js.map +1 -0
  40. package/dist/v0.3/utils/filters.d.ts +3 -0
  41. package/dist/v0.3/utils/filters.js +14 -0
  42. package/dist/v0.3/utils/filters.js.map +1 -0
  43. package/dist/v0.3/utils/index.d.ts +16 -0
  44. package/dist/v0.3/utils/index.js +30 -0
  45. package/dist/v0.3/utils/index.js.map +1 -0
  46. package/dist/v0.3/utils/instruction.d.ts +4 -0
  47. package/dist/v0.3/utils/instruction.js +10 -0
  48. package/dist/v0.3/utils/instruction.js.map +1 -0
  49. package/dist/v0.3/utils/metadata.d.ts +4 -0
  50. package/dist/v0.3/utils/metadata.js +26 -0
  51. package/dist/v0.3/utils/metadata.js.map +1 -0
  52. package/dist/v0.3/utils/pda.d.ts +10 -0
  53. package/dist/v0.3/utils/pda.js +47 -0
  54. package/dist/v0.3/utils/pda.js.map +1 -0
  55. package/dist/v0.4/AmmClient.d.ts +34 -25
  56. package/dist/v0.4/AmmClient.js +14 -105
  57. package/dist/v0.4/AmmClient.js.map +1 -1
  58. package/dist/v0.4/AutocratClient.d.ts +39 -2
  59. package/dist/v0.4/AutocratClient.js +21 -13
  60. package/dist/v0.4/AutocratClient.js.map +1 -1
  61. package/dist/v0.4/ConditionalVaultClient.d.ts +67 -11
  62. package/dist/v0.4/ConditionalVaultClient.js +19 -35
  63. package/dist/v0.4/ConditionalVaultClient.js.map +1 -1
  64. package/dist/v0.4/LaunchpadClient.d.ts +416 -0
  65. package/dist/v0.4/LaunchpadClient.js +198 -0
  66. package/dist/v0.4/LaunchpadClient.js.map +1 -0
  67. package/dist/v0.4/constants.d.ts +10 -0
  68. package/dist/v0.4/constants.js +18 -3
  69. package/dist/v0.4/constants.js.map +1 -1
  70. package/dist/v0.4/index.d.ts +1 -0
  71. package/dist/v0.4/index.js +1 -0
  72. package/dist/v0.4/index.js.map +1 -1
  73. package/dist/v0.4/types/amm.d.ts +235 -12
  74. package/dist/v0.4/types/amm.js +234 -11
  75. package/dist/v0.4/types/amm.js.map +1 -1
  76. package/dist/v0.4/types/autocrat.d.ts +379 -8
  77. package/dist/v0.4/types/autocrat.js +379 -8
  78. package/dist/v0.4/types/autocrat.js.map +1 -1
  79. package/dist/v0.4/types/conditional_vault.d.ts +416 -4
  80. package/dist/v0.4/types/conditional_vault.js +416 -4
  81. package/dist/v0.4/types/conditional_vault.js.map +1 -1
  82. package/dist/v0.4/types/index.d.ts +30 -0
  83. package/dist/v0.4/types/index.js +2 -0
  84. package/dist/v0.4/types/index.js.map +1 -1
  85. package/dist/v0.4/types/launchpad.d.ts +1000 -0
  86. package/dist/v0.4/types/launchpad.js +1000 -0
  87. package/dist/v0.4/types/launchpad.js.map +1 -0
  88. package/dist/v0.4/utils/cu.js +1 -1
  89. package/dist/v0.4/utils/pda.d.ts +16 -3
  90. package/dist/v0.4/utils/pda.js +39 -11
  91. package/dist/v0.4/utils/pda.js.map +1 -1
  92. package/dist/v0.4/utils/priceMath.d.ts +51 -9
  93. package/dist/v0.4/utils/priceMath.js +102 -38
  94. package/dist/v0.4/utils/priceMath.js.map +1 -1
  95. package/dist/v0.5/AmmClient.d.ts +266 -0
  96. package/dist/v0.5/AmmClient.js +187 -0
  97. package/dist/v0.5/AmmClient.js.map +1 -0
  98. package/dist/v0.5/AutocratClient.d.ts +271 -0
  99. package/dist/v0.5/AutocratClient.js +375 -0
  100. package/dist/v0.5/AutocratClient.js.map +1 -0
  101. package/dist/v0.5/ConditionalVaultClient.d.ts +315 -0
  102. package/dist/v0.5/ConditionalVaultClient.js +209 -0
  103. package/dist/v0.5/ConditionalVaultClient.js.map +1 -0
  104. package/dist/v0.5/LaunchpadClient.d.ts +416 -0
  105. package/dist/v0.5/LaunchpadClient.js +198 -0
  106. package/dist/v0.5/LaunchpadClient.js.map +1 -0
  107. package/dist/v0.5/SharedLiquidityManagerClient.d.ts +1070 -0
  108. package/dist/v0.5/SharedLiquidityManagerClient.js +341 -0
  109. package/dist/v0.5/SharedLiquidityManagerClient.js.map +1 -0
  110. package/dist/v0.5/constants.d.ts +20 -0
  111. package/dist/v0.5/constants.js +26 -0
  112. package/dist/v0.5/constants.js.map +1 -0
  113. package/dist/v0.5/index.d.ts +8 -0
  114. package/dist/v0.5/index.js +9 -0
  115. package/dist/v0.5/index.js.map +1 -0
  116. package/dist/v0.5/types/amm.d.ts +832 -0
  117. package/dist/v0.5/types/amm.js +832 -0
  118. package/dist/v0.5/types/amm.js.map +1 -0
  119. package/dist/v0.5/types/autocrat.d.ts +1022 -0
  120. package/dist/v0.5/types/autocrat.js +1022 -0
  121. package/dist/v0.5/types/autocrat.js.map +1 -0
  122. package/dist/v0.5/types/conditional_vault.d.ts +925 -0
  123. package/dist/v0.5/types/conditional_vault.js +925 -0
  124. package/dist/v0.5/types/conditional_vault.js.map +1 -0
  125. package/dist/v0.5/types/index.d.ts +51 -0
  126. package/dist/v0.5/types/index.js +11 -0
  127. package/dist/v0.5/types/index.js.map +1 -0
  128. package/dist/v0.5/types/launchpad.d.ts +1000 -0
  129. package/dist/v0.5/types/launchpad.js +1000 -0
  130. package/dist/v0.5/types/launchpad.js.map +1 -0
  131. package/dist/v0.5/types/shared_liquidity_manager.d.ts +1765 -0
  132. package/dist/v0.5/types/shared_liquidity_manager.js +1765 -0
  133. package/dist/v0.5/types/shared_liquidity_manager.js.map +1 -0
  134. package/dist/v0.5/types/utils.d.ts +3 -0
  135. package/dist/v0.5/types/utils.js +2 -0
  136. package/dist/v0.5/types/utils.js.map +1 -0
  137. package/dist/v0.5/utils/cu.d.ts +10 -0
  138. package/dist/v0.5/utils/cu.js +11 -0
  139. package/dist/v0.5/utils/cu.js.map +1 -0
  140. package/dist/v0.5/utils/filters.d.ts +3 -0
  141. package/dist/v0.5/utils/filters.js +14 -0
  142. package/dist/v0.5/utils/filters.js.map +1 -0
  143. package/dist/v0.5/utils/index.d.ts +16 -0
  144. package/dist/v0.5/utils/index.js +30 -0
  145. package/dist/v0.5/utils/index.js.map +1 -0
  146. package/dist/v0.5/utils/instruction.d.ts +4 -0
  147. package/dist/v0.5/utils/instruction.js +10 -0
  148. package/dist/v0.5/utils/instruction.js.map +1 -0
  149. package/dist/v0.5/utils/metadata.d.ts +4 -0
  150. package/dist/v0.5/utils/metadata.js +26 -0
  151. package/dist/v0.5/utils/metadata.js.map +1 -0
  152. package/dist/v0.5/utils/pda.d.ts +33 -0
  153. package/dist/v0.5/utils/pda.js +137 -0
  154. package/dist/v0.5/utils/pda.js.map +1 -0
  155. package/dist/v0.5/utils/priceMath.d.ts +54 -0
  156. package/dist/v0.5/utils/priceMath.js +116 -0
  157. package/dist/v0.5/utils/priceMath.js.map +1 -0
  158. package/package.json +5 -3
@@ -0,0 +1,1022 @@
1
+ export const IDL = {
2
+ version: "0.4.2",
3
+ name: "autocrat",
4
+ instructions: [
5
+ {
6
+ name: "initializeDao",
7
+ accounts: [
8
+ {
9
+ name: "dao",
10
+ isMut: true,
11
+ isSigner: true,
12
+ },
13
+ {
14
+ name: "payer",
15
+ isMut: true,
16
+ isSigner: true,
17
+ },
18
+ {
19
+ name: "systemProgram",
20
+ isMut: false,
21
+ isSigner: false,
22
+ },
23
+ {
24
+ name: "tokenMint",
25
+ isMut: false,
26
+ isSigner: false,
27
+ },
28
+ {
29
+ name: "usdcMint",
30
+ isMut: false,
31
+ isSigner: false,
32
+ },
33
+ {
34
+ name: "eventAuthority",
35
+ isMut: false,
36
+ isSigner: false,
37
+ },
38
+ {
39
+ name: "program",
40
+ isMut: false,
41
+ isSigner: false,
42
+ },
43
+ ],
44
+ args: [
45
+ {
46
+ name: "params",
47
+ type: {
48
+ defined: "InitializeDaoParams",
49
+ },
50
+ },
51
+ ],
52
+ },
53
+ {
54
+ name: "initializeProposal",
55
+ accounts: [
56
+ {
57
+ name: "proposal",
58
+ isMut: true,
59
+ isSigner: false,
60
+ },
61
+ {
62
+ name: "dao",
63
+ isMut: true,
64
+ isSigner: false,
65
+ },
66
+ {
67
+ name: "question",
68
+ isMut: false,
69
+ isSigner: false,
70
+ },
71
+ {
72
+ name: "quoteVault",
73
+ isMut: false,
74
+ isSigner: false,
75
+ },
76
+ {
77
+ name: "baseVault",
78
+ isMut: false,
79
+ isSigner: false,
80
+ },
81
+ {
82
+ name: "passAmm",
83
+ isMut: false,
84
+ isSigner: false,
85
+ },
86
+ {
87
+ name: "passLpMint",
88
+ isMut: false,
89
+ isSigner: false,
90
+ },
91
+ {
92
+ name: "failLpMint",
93
+ isMut: false,
94
+ isSigner: false,
95
+ },
96
+ {
97
+ name: "failAmm",
98
+ isMut: false,
99
+ isSigner: false,
100
+ },
101
+ {
102
+ name: "passLpUserAccount",
103
+ isMut: true,
104
+ isSigner: false,
105
+ },
106
+ {
107
+ name: "failLpUserAccount",
108
+ isMut: true,
109
+ isSigner: false,
110
+ },
111
+ {
112
+ name: "passLpVaultAccount",
113
+ isMut: true,
114
+ isSigner: false,
115
+ },
116
+ {
117
+ name: "failLpVaultAccount",
118
+ isMut: true,
119
+ isSigner: false,
120
+ },
121
+ {
122
+ name: "proposer",
123
+ isMut: true,
124
+ isSigner: true,
125
+ },
126
+ {
127
+ name: "payer",
128
+ isMut: true,
129
+ isSigner: true,
130
+ },
131
+ {
132
+ name: "tokenProgram",
133
+ isMut: false,
134
+ isSigner: false,
135
+ },
136
+ {
137
+ name: "systemProgram",
138
+ isMut: false,
139
+ isSigner: false,
140
+ },
141
+ {
142
+ name: "associatedTokenProgram",
143
+ isMut: false,
144
+ isSigner: false,
145
+ },
146
+ {
147
+ name: "eventAuthority",
148
+ isMut: false,
149
+ isSigner: false,
150
+ },
151
+ {
152
+ name: "program",
153
+ isMut: false,
154
+ isSigner: false,
155
+ },
156
+ ],
157
+ args: [
158
+ {
159
+ name: "params",
160
+ type: {
161
+ defined: "InitializeProposalParams",
162
+ },
163
+ },
164
+ ],
165
+ },
166
+ {
167
+ name: "finalizeProposal",
168
+ accounts: [
169
+ {
170
+ name: "proposal",
171
+ isMut: true,
172
+ isSigner: false,
173
+ },
174
+ {
175
+ name: "passAmm",
176
+ isMut: false,
177
+ isSigner: false,
178
+ },
179
+ {
180
+ name: "failAmm",
181
+ isMut: false,
182
+ isSigner: false,
183
+ },
184
+ {
185
+ name: "dao",
186
+ isMut: false,
187
+ isSigner: false,
188
+ },
189
+ {
190
+ name: "question",
191
+ isMut: true,
192
+ isSigner: false,
193
+ },
194
+ {
195
+ name: "passLpUserAccount",
196
+ isMut: true,
197
+ isSigner: false,
198
+ },
199
+ {
200
+ name: "failLpUserAccount",
201
+ isMut: true,
202
+ isSigner: false,
203
+ },
204
+ {
205
+ name: "passLpVaultAccount",
206
+ isMut: true,
207
+ isSigner: false,
208
+ },
209
+ {
210
+ name: "failLpVaultAccount",
211
+ isMut: true,
212
+ isSigner: false,
213
+ },
214
+ {
215
+ name: "tokenProgram",
216
+ isMut: false,
217
+ isSigner: false,
218
+ },
219
+ {
220
+ name: "vaultProgram",
221
+ isMut: false,
222
+ isSigner: false,
223
+ },
224
+ {
225
+ name: "vaultEventAuthority",
226
+ isMut: false,
227
+ isSigner: false,
228
+ },
229
+ {
230
+ name: "eventAuthority",
231
+ isMut: false,
232
+ isSigner: false,
233
+ },
234
+ {
235
+ name: "program",
236
+ isMut: false,
237
+ isSigner: false,
238
+ },
239
+ ],
240
+ args: [],
241
+ },
242
+ {
243
+ name: "executeProposal",
244
+ accounts: [
245
+ {
246
+ name: "proposal",
247
+ isMut: true,
248
+ isSigner: false,
249
+ },
250
+ {
251
+ name: "dao",
252
+ isMut: false,
253
+ isSigner: false,
254
+ },
255
+ {
256
+ name: "eventAuthority",
257
+ isMut: false,
258
+ isSigner: false,
259
+ },
260
+ {
261
+ name: "program",
262
+ isMut: false,
263
+ isSigner: false,
264
+ },
265
+ ],
266
+ args: [],
267
+ },
268
+ {
269
+ name: "updateDao",
270
+ accounts: [
271
+ {
272
+ name: "dao",
273
+ isMut: true,
274
+ isSigner: false,
275
+ },
276
+ {
277
+ name: "treasury",
278
+ isMut: false,
279
+ isSigner: true,
280
+ },
281
+ {
282
+ name: "eventAuthority",
283
+ isMut: false,
284
+ isSigner: false,
285
+ },
286
+ {
287
+ name: "program",
288
+ isMut: false,
289
+ isSigner: false,
290
+ },
291
+ ],
292
+ args: [
293
+ {
294
+ name: "daoParams",
295
+ type: {
296
+ defined: "UpdateDaoParams",
297
+ },
298
+ },
299
+ ],
300
+ },
301
+ ],
302
+ accounts: [
303
+ {
304
+ name: "dao",
305
+ type: {
306
+ kind: "struct",
307
+ fields: [
308
+ {
309
+ name: "treasuryPdaBump",
310
+ type: "u8",
311
+ },
312
+ {
313
+ name: "treasury",
314
+ type: "publicKey",
315
+ },
316
+ {
317
+ name: "tokenMint",
318
+ type: "publicKey",
319
+ },
320
+ {
321
+ name: "usdcMint",
322
+ type: "publicKey",
323
+ },
324
+ {
325
+ name: "proposalCount",
326
+ type: "u32",
327
+ },
328
+ {
329
+ name: "passThresholdBps",
330
+ type: "u16",
331
+ },
332
+ {
333
+ name: "slotsPerProposal",
334
+ type: "u64",
335
+ },
336
+ {
337
+ name: "twapInitialObservation",
338
+ docs: [
339
+ "For manipulation-resistance the TWAP is a time-weighted average observation,",
340
+ "where observation tries to approximate price but can only move by",
341
+ "`twap_max_observation_change_per_update` per update. Because it can only move",
342
+ "a little bit per update, you need to check that it has a good initial observation.",
343
+ "Otherwise, an attacker could create a very high initial observation in the pass",
344
+ "market and a very low one in the fail market to force the proposal to pass.",
345
+ "",
346
+ "We recommend setting an initial observation around the spot price of the token,",
347
+ "and max observation change per update around 2% the spot price of the token.",
348
+ "For example, if the spot price of META is $400, we'd recommend setting an initial",
349
+ "observation of 400 (converted into the AMM prices) and a max observation change per",
350
+ "update of 8 (also converted into the AMM prices). Observations can be updated once",
351
+ "a minute, so 2% allows the proposal market to reach double the spot price or 0",
352
+ "in 50 minutes.",
353
+ ],
354
+ type: "u128",
355
+ },
356
+ {
357
+ name: "twapMaxObservationChangePerUpdate",
358
+ type: "u128",
359
+ },
360
+ {
361
+ name: "twapStartDelaySlots",
362
+ docs: [
363
+ "Forces TWAP calculation to start after amm.created_at_slot + twap_start_delay_slots",
364
+ ],
365
+ type: "u64",
366
+ },
367
+ {
368
+ name: "minQuoteFutarchicLiquidity",
369
+ docs: [
370
+ "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
371
+ "in both futarchic markets in order to create a proposal.",
372
+ "",
373
+ "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
374
+ "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
375
+ "10 * 1_000_000_000 (10 META).",
376
+ ],
377
+ type: "u64",
378
+ },
379
+ {
380
+ name: "minBaseFutarchicLiquidity",
381
+ type: "u64",
382
+ },
383
+ {
384
+ name: "seqNum",
385
+ type: "u64",
386
+ },
387
+ ],
388
+ },
389
+ },
390
+ {
391
+ name: "proposal",
392
+ type: {
393
+ kind: "struct",
394
+ fields: [
395
+ {
396
+ name: "number",
397
+ type: "u32",
398
+ },
399
+ {
400
+ name: "proposer",
401
+ type: "publicKey",
402
+ },
403
+ {
404
+ name: "descriptionUrl",
405
+ type: "string",
406
+ },
407
+ {
408
+ name: "slotEnqueued",
409
+ type: "u64",
410
+ },
411
+ {
412
+ name: "state",
413
+ type: {
414
+ defined: "ProposalState",
415
+ },
416
+ },
417
+ {
418
+ name: "instruction",
419
+ type: {
420
+ defined: "ProposalInstruction",
421
+ },
422
+ },
423
+ {
424
+ name: "passAmm",
425
+ type: "publicKey",
426
+ },
427
+ {
428
+ name: "failAmm",
429
+ type: "publicKey",
430
+ },
431
+ {
432
+ name: "baseVault",
433
+ type: "publicKey",
434
+ },
435
+ {
436
+ name: "quoteVault",
437
+ type: "publicKey",
438
+ },
439
+ {
440
+ name: "dao",
441
+ type: "publicKey",
442
+ },
443
+ {
444
+ name: "passLpTokensLocked",
445
+ type: "u64",
446
+ },
447
+ {
448
+ name: "failLpTokensLocked",
449
+ type: "u64",
450
+ },
451
+ {
452
+ name: "nonce",
453
+ docs: [
454
+ "We need to include a per-proposer nonce to prevent some weird proposal",
455
+ "front-running edge cases. Using a `u64` means that proposers are unlikely",
456
+ "to run into collisions, even if they generate nonces randomly - I've run",
457
+ "the math :D",
458
+ ],
459
+ type: "u64",
460
+ },
461
+ {
462
+ name: "pdaBump",
463
+ type: "u8",
464
+ },
465
+ {
466
+ name: "question",
467
+ type: "publicKey",
468
+ },
469
+ {
470
+ name: "durationInSlots",
471
+ type: "u64",
472
+ },
473
+ ],
474
+ },
475
+ },
476
+ ],
477
+ types: [
478
+ {
479
+ name: "CommonFields",
480
+ type: {
481
+ kind: "struct",
482
+ fields: [
483
+ {
484
+ name: "slot",
485
+ type: "u64",
486
+ },
487
+ {
488
+ name: "unixTimestamp",
489
+ type: "i64",
490
+ },
491
+ ],
492
+ },
493
+ },
494
+ {
495
+ name: "InitializeDaoParams",
496
+ type: {
497
+ kind: "struct",
498
+ fields: [
499
+ {
500
+ name: "twapInitialObservation",
501
+ type: "u128",
502
+ },
503
+ {
504
+ name: "twapMaxObservationChangePerUpdate",
505
+ type: "u128",
506
+ },
507
+ {
508
+ name: "twapStartDelaySlots",
509
+ type: "u64",
510
+ },
511
+ {
512
+ name: "minQuoteFutarchicLiquidity",
513
+ type: "u64",
514
+ },
515
+ {
516
+ name: "minBaseFutarchicLiquidity",
517
+ type: "u64",
518
+ },
519
+ {
520
+ name: "passThresholdBps",
521
+ type: {
522
+ option: "u16",
523
+ },
524
+ },
525
+ {
526
+ name: "slotsPerProposal",
527
+ type: {
528
+ option: "u64",
529
+ },
530
+ },
531
+ ],
532
+ },
533
+ },
534
+ {
535
+ name: "InitializeProposalParams",
536
+ type: {
537
+ kind: "struct",
538
+ fields: [
539
+ {
540
+ name: "descriptionUrl",
541
+ type: "string",
542
+ },
543
+ {
544
+ name: "instruction",
545
+ type: {
546
+ defined: "ProposalInstruction",
547
+ },
548
+ },
549
+ {
550
+ name: "passLpTokensToLock",
551
+ type: "u64",
552
+ },
553
+ {
554
+ name: "failLpTokensToLock",
555
+ type: "u64",
556
+ },
557
+ {
558
+ name: "nonce",
559
+ type: "u64",
560
+ },
561
+ ],
562
+ },
563
+ },
564
+ {
565
+ name: "UpdateDaoParams",
566
+ type: {
567
+ kind: "struct",
568
+ fields: [
569
+ {
570
+ name: "passThresholdBps",
571
+ type: {
572
+ option: "u16",
573
+ },
574
+ },
575
+ {
576
+ name: "slotsPerProposal",
577
+ type: {
578
+ option: "u64",
579
+ },
580
+ },
581
+ {
582
+ name: "twapInitialObservation",
583
+ type: {
584
+ option: "u128",
585
+ },
586
+ },
587
+ {
588
+ name: "twapMaxObservationChangePerUpdate",
589
+ type: {
590
+ option: "u128",
591
+ },
592
+ },
593
+ {
594
+ name: "minQuoteFutarchicLiquidity",
595
+ type: {
596
+ option: "u64",
597
+ },
598
+ },
599
+ {
600
+ name: "minBaseFutarchicLiquidity",
601
+ type: {
602
+ option: "u64",
603
+ },
604
+ },
605
+ ],
606
+ },
607
+ },
608
+ {
609
+ name: "ProposalAccount",
610
+ type: {
611
+ kind: "struct",
612
+ fields: [
613
+ {
614
+ name: "pubkey",
615
+ type: "publicKey",
616
+ },
617
+ {
618
+ name: "isSigner",
619
+ type: "bool",
620
+ },
621
+ {
622
+ name: "isWritable",
623
+ type: "bool",
624
+ },
625
+ ],
626
+ },
627
+ },
628
+ {
629
+ name: "ProposalInstruction",
630
+ type: {
631
+ kind: "struct",
632
+ fields: [
633
+ {
634
+ name: "programId",
635
+ type: "publicKey",
636
+ },
637
+ {
638
+ name: "accounts",
639
+ type: {
640
+ vec: {
641
+ defined: "ProposalAccount",
642
+ },
643
+ },
644
+ },
645
+ {
646
+ name: "data",
647
+ type: "bytes",
648
+ },
649
+ ],
650
+ },
651
+ },
652
+ {
653
+ name: "ProposalState",
654
+ type: {
655
+ kind: "enum",
656
+ variants: [
657
+ {
658
+ name: "Pending",
659
+ },
660
+ {
661
+ name: "Passed",
662
+ },
663
+ {
664
+ name: "Failed",
665
+ },
666
+ {
667
+ name: "Executed",
668
+ },
669
+ ],
670
+ },
671
+ },
672
+ ],
673
+ events: [
674
+ {
675
+ name: "InitializeDaoEvent",
676
+ fields: [
677
+ {
678
+ name: "common",
679
+ type: {
680
+ defined: "CommonFields",
681
+ },
682
+ index: false,
683
+ },
684
+ {
685
+ name: "dao",
686
+ type: "publicKey",
687
+ index: false,
688
+ },
689
+ {
690
+ name: "tokenMint",
691
+ type: "publicKey",
692
+ index: false,
693
+ },
694
+ {
695
+ name: "usdcMint",
696
+ type: "publicKey",
697
+ index: false,
698
+ },
699
+ {
700
+ name: "treasury",
701
+ type: "publicKey",
702
+ index: false,
703
+ },
704
+ {
705
+ name: "passThresholdBps",
706
+ type: "u16",
707
+ index: false,
708
+ },
709
+ {
710
+ name: "slotsPerProposal",
711
+ type: "u64",
712
+ index: false,
713
+ },
714
+ {
715
+ name: "twapInitialObservation",
716
+ type: "u128",
717
+ index: false,
718
+ },
719
+ {
720
+ name: "twapMaxObservationChangePerUpdate",
721
+ type: "u128",
722
+ index: false,
723
+ },
724
+ {
725
+ name: "minQuoteFutarchicLiquidity",
726
+ type: "u64",
727
+ index: false,
728
+ },
729
+ {
730
+ name: "minBaseFutarchicLiquidity",
731
+ type: "u64",
732
+ index: false,
733
+ },
734
+ ],
735
+ },
736
+ {
737
+ name: "UpdateDaoEvent",
738
+ fields: [
739
+ {
740
+ name: "common",
741
+ type: {
742
+ defined: "CommonFields",
743
+ },
744
+ index: false,
745
+ },
746
+ {
747
+ name: "dao",
748
+ type: "publicKey",
749
+ index: false,
750
+ },
751
+ {
752
+ name: "passThresholdBps",
753
+ type: "u16",
754
+ index: false,
755
+ },
756
+ {
757
+ name: "slotsPerProposal",
758
+ type: "u64",
759
+ index: false,
760
+ },
761
+ {
762
+ name: "twapInitialObservation",
763
+ type: "u128",
764
+ index: false,
765
+ },
766
+ {
767
+ name: "twapMaxObservationChangePerUpdate",
768
+ type: "u128",
769
+ index: false,
770
+ },
771
+ {
772
+ name: "minQuoteFutarchicLiquidity",
773
+ type: "u64",
774
+ index: false,
775
+ },
776
+ {
777
+ name: "minBaseFutarchicLiquidity",
778
+ type: "u64",
779
+ index: false,
780
+ },
781
+ ],
782
+ },
783
+ {
784
+ name: "InitializeProposalEvent",
785
+ fields: [
786
+ {
787
+ name: "common",
788
+ type: {
789
+ defined: "CommonFields",
790
+ },
791
+ index: false,
792
+ },
793
+ {
794
+ name: "proposal",
795
+ type: "publicKey",
796
+ index: false,
797
+ },
798
+ {
799
+ name: "dao",
800
+ type: "publicKey",
801
+ index: false,
802
+ },
803
+ {
804
+ name: "question",
805
+ type: "publicKey",
806
+ index: false,
807
+ },
808
+ {
809
+ name: "quoteVault",
810
+ type: "publicKey",
811
+ index: false,
812
+ },
813
+ {
814
+ name: "baseVault",
815
+ type: "publicKey",
816
+ index: false,
817
+ },
818
+ {
819
+ name: "passAmm",
820
+ type: "publicKey",
821
+ index: false,
822
+ },
823
+ {
824
+ name: "failAmm",
825
+ type: "publicKey",
826
+ index: false,
827
+ },
828
+ {
829
+ name: "passLpMint",
830
+ type: "publicKey",
831
+ index: false,
832
+ },
833
+ {
834
+ name: "failLpMint",
835
+ type: "publicKey",
836
+ index: false,
837
+ },
838
+ {
839
+ name: "proposer",
840
+ type: "publicKey",
841
+ index: false,
842
+ },
843
+ {
844
+ name: "nonce",
845
+ type: "u64",
846
+ index: false,
847
+ },
848
+ {
849
+ name: "number",
850
+ type: "u32",
851
+ index: false,
852
+ },
853
+ {
854
+ name: "passLpTokensLocked",
855
+ type: "u64",
856
+ index: false,
857
+ },
858
+ {
859
+ name: "failLpTokensLocked",
860
+ type: "u64",
861
+ index: false,
862
+ },
863
+ {
864
+ name: "pdaBump",
865
+ type: "u8",
866
+ index: false,
867
+ },
868
+ {
869
+ name: "instruction",
870
+ type: {
871
+ defined: "ProposalInstruction",
872
+ },
873
+ index: false,
874
+ },
875
+ {
876
+ name: "durationInSlots",
877
+ type: "u64",
878
+ index: false,
879
+ },
880
+ ],
881
+ },
882
+ {
883
+ name: "FinalizeProposalEvent",
884
+ fields: [
885
+ {
886
+ name: "common",
887
+ type: {
888
+ defined: "CommonFields",
889
+ },
890
+ index: false,
891
+ },
892
+ {
893
+ name: "proposal",
894
+ type: "publicKey",
895
+ index: false,
896
+ },
897
+ {
898
+ name: "dao",
899
+ type: "publicKey",
900
+ index: false,
901
+ },
902
+ {
903
+ name: "passMarketTwap",
904
+ type: "u128",
905
+ index: false,
906
+ },
907
+ {
908
+ name: "failMarketTwap",
909
+ type: "u128",
910
+ index: false,
911
+ },
912
+ {
913
+ name: "threshold",
914
+ type: "u128",
915
+ index: false,
916
+ },
917
+ {
918
+ name: "state",
919
+ type: {
920
+ defined: "ProposalState",
921
+ },
922
+ index: false,
923
+ },
924
+ ],
925
+ },
926
+ {
927
+ name: "ExecuteProposalEvent",
928
+ fields: [
929
+ {
930
+ name: "common",
931
+ type: {
932
+ defined: "CommonFields",
933
+ },
934
+ index: false,
935
+ },
936
+ {
937
+ name: "proposal",
938
+ type: "publicKey",
939
+ index: false,
940
+ },
941
+ {
942
+ name: "dao",
943
+ type: "publicKey",
944
+ index: false,
945
+ },
946
+ ],
947
+ },
948
+ ],
949
+ errors: [
950
+ {
951
+ code: 6000,
952
+ name: "AmmTooOld",
953
+ msg: "Amms must have been created within 5 minutes (counted in slots) of proposal initialization",
954
+ },
955
+ {
956
+ code: 6001,
957
+ name: "InvalidInitialObservation",
958
+ msg: "An amm has an `initial_observation` that doesn't match the `dao`'s config",
959
+ },
960
+ {
961
+ code: 6002,
962
+ name: "InvalidMaxObservationChange",
963
+ msg: "An amm has a `max_observation_change_per_update` that doesn't match the `dao`'s config",
964
+ },
965
+ {
966
+ code: 6003,
967
+ name: "InvalidStartDelaySlots",
968
+ msg: "An amm has a `start_delay_slots` that doesn't match the `dao`'s config",
969
+ },
970
+ {
971
+ code: 6004,
972
+ name: "InvalidSettlementAuthority",
973
+ msg: "One of the vaults has an invalid `settlement_authority`",
974
+ },
975
+ {
976
+ code: 6005,
977
+ name: "ProposalTooYoung",
978
+ msg: "Proposal is too young to be executed or rejected",
979
+ },
980
+ {
981
+ code: 6006,
982
+ name: "MarketsTooYoung",
983
+ msg: "Markets too young for proposal to be finalized. TWAP might need to be cranked",
984
+ },
985
+ {
986
+ code: 6007,
987
+ name: "ProposalAlreadyFinalized",
988
+ msg: "This proposal has already been finalized",
989
+ },
990
+ {
991
+ code: 6008,
992
+ name: "InvalidVaultNonce",
993
+ msg: "A conditional vault has an invalid nonce. A nonce should encode the proposal number",
994
+ },
995
+ {
996
+ code: 6009,
997
+ name: "ProposalNotPassed",
998
+ msg: "This proposal can't be executed because it isn't in the passed state",
999
+ },
1000
+ {
1001
+ code: 6010,
1002
+ name: "InsufficientLpTokenBalance",
1003
+ msg: "The proposer has fewer pass or fail LP tokens than they requested to lock",
1004
+ },
1005
+ {
1006
+ code: 6011,
1007
+ name: "InsufficientLpTokenLock",
1008
+ msg: "The LP tokens passed in have less liquidity than the DAO's `min_quote_futarchic_liquidity` or `min_base_futachic_liquidity`",
1009
+ },
1010
+ {
1011
+ code: 6012,
1012
+ name: "ProposalDurationTooShort",
1013
+ msg: "Proposal duration must be longer than TWAP start delay",
1014
+ },
1015
+ {
1016
+ code: 6013,
1017
+ name: "QuestionMustBeBinary",
1018
+ msg: "Question must have exactly 2 outcomes for binary futarchy",
1019
+ },
1020
+ ],
1021
+ };
1022
+ //# sourceMappingURL=autocrat.js.map