@metadaoproject/futarchy 0.4.0-alpha.33 → 0.4.0-alpha.34

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 (109) hide show
  1. package/package.json +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -2
  4. package/dist/index.js.map +0 -1
  5. package/dist/v0.3/AmmClient.d.ts +0 -223
  6. package/dist/v0.3/AmmClient.js +0 -186
  7. package/dist/v0.3/AmmClient.js.map +0 -1
  8. package/dist/v0.3/AutocratClient.d.ts +0 -234
  9. package/dist/v0.3/AutocratClient.js +0 -270
  10. package/dist/v0.3/AutocratClient.js.map +0 -1
  11. package/dist/v0.3/ConditionalVaultClient.d.ts +0 -281
  12. package/dist/v0.3/ConditionalVaultClient.js +0 -135
  13. package/dist/v0.3/ConditionalVaultClient.js.map +0 -1
  14. package/dist/v0.3/FutarchyClient.d.ts +0 -26
  15. package/dist/v0.3/FutarchyClient.js +0 -47
  16. package/dist/v0.3/FutarchyClient.js.map +0 -1
  17. package/dist/v0.3/constants.d.ts +0 -9
  18. package/dist/v0.3/constants.js +0 -10
  19. package/dist/v0.3/constants.js.map +0 -1
  20. package/dist/v0.3/index.d.ts +0 -7
  21. package/dist/v0.3/index.js +0 -8
  22. package/dist/v0.3/index.js.map +0 -1
  23. package/dist/v0.3/types/amm.d.ts +0 -542
  24. package/dist/v0.3/types/amm.js +0 -542
  25. package/dist/v0.3/types/amm.js.map +0 -1
  26. package/dist/v0.3/types/autocrat.d.ts +0 -632
  27. package/dist/v0.3/types/autocrat.js +0 -632
  28. package/dist/v0.3/types/autocrat.js.map +0 -1
  29. package/dist/v0.3/types/conditional_vault.d.ts +0 -448
  30. package/dist/v0.3/types/conditional_vault.js +0 -448
  31. package/dist/v0.3/types/conditional_vault.js.map +0 -1
  32. package/dist/v0.3/types/index.d.ts +0 -21
  33. package/dist/v0.3/types/index.js +0 -4
  34. package/dist/v0.3/types/index.js.map +0 -1
  35. package/dist/v0.3/types/utils.d.ts +0 -3
  36. package/dist/v0.3/types/utils.js +0 -2
  37. package/dist/v0.3/types/utils.js.map +0 -1
  38. package/dist/v0.3/utils/ammMath.d.ts +0 -39
  39. package/dist/v0.3/utils/ammMath.js +0 -142
  40. package/dist/v0.3/utils/ammMath.js.map +0 -1
  41. package/dist/v0.3/utils/cu.d.ts +0 -10
  42. package/dist/v0.3/utils/cu.js +0 -11
  43. package/dist/v0.3/utils/cu.js.map +0 -1
  44. package/dist/v0.3/utils/filters.d.ts +0 -3
  45. package/dist/v0.3/utils/filters.js +0 -14
  46. package/dist/v0.3/utils/filters.js.map +0 -1
  47. package/dist/v0.3/utils/index.d.ts +0 -16
  48. package/dist/v0.3/utils/index.js +0 -30
  49. package/dist/v0.3/utils/index.js.map +0 -1
  50. package/dist/v0.3/utils/instruction.d.ts +0 -4
  51. package/dist/v0.3/utils/instruction.js +0 -10
  52. package/dist/v0.3/utils/instruction.js.map +0 -1
  53. package/dist/v0.3/utils/metadata.d.ts +0 -4
  54. package/dist/v0.3/utils/metadata.js +0 -26
  55. package/dist/v0.3/utils/metadata.js.map +0 -1
  56. package/dist/v0.3/utils/pda.d.ts +0 -10
  57. package/dist/v0.3/utils/pda.js +0 -47
  58. package/dist/v0.3/utils/pda.js.map +0 -1
  59. package/dist/v0.4/AmmClient.d.ts +0 -266
  60. package/dist/v0.4/AmmClient.js +0 -186
  61. package/dist/v0.4/AmmClient.js.map +0 -1
  62. package/dist/v0.4/AutocratClient.d.ts +0 -234
  63. package/dist/v0.4/AutocratClient.js +0 -377
  64. package/dist/v0.4/AutocratClient.js.map +0 -1
  65. package/dist/v0.4/ConditionalVaultClient.d.ts +0 -315
  66. package/dist/v0.4/ConditionalVaultClient.js +0 -209
  67. package/dist/v0.4/ConditionalVaultClient.js.map +0 -1
  68. package/dist/v0.4/constants.d.ts +0 -9
  69. package/dist/v0.4/constants.js +0 -10
  70. package/dist/v0.4/constants.js.map +0 -1
  71. package/dist/v0.4/index.d.ts +0 -6
  72. package/dist/v0.4/index.js +0 -7
  73. package/dist/v0.4/index.js.map +0 -1
  74. package/dist/v0.4/types/amm.d.ts +0 -813
  75. package/dist/v0.4/types/amm.js +0 -813
  76. package/dist/v0.4/types/amm.js.map +0 -1
  77. package/dist/v0.4/types/autocrat.d.ts +0 -641
  78. package/dist/v0.4/types/autocrat.js +0 -641
  79. package/dist/v0.4/types/autocrat.js.map +0 -1
  80. package/dist/v0.4/types/conditional_vault.d.ts +0 -920
  81. package/dist/v0.4/types/conditional_vault.js +0 -920
  82. package/dist/v0.4/types/conditional_vault.js.map +0 -1
  83. package/dist/v0.4/types/index.d.ts +0 -30
  84. package/dist/v0.4/types/index.js +0 -7
  85. package/dist/v0.4/types/index.js.map +0 -1
  86. package/dist/v0.4/types/utils.d.ts +0 -3
  87. package/dist/v0.4/types/utils.js +0 -2
  88. package/dist/v0.4/types/utils.js.map +0 -1
  89. package/dist/v0.4/utils/cu.d.ts +0 -10
  90. package/dist/v0.4/utils/cu.js +0 -11
  91. package/dist/v0.4/utils/cu.js.map +0 -1
  92. package/dist/v0.4/utils/filters.d.ts +0 -3
  93. package/dist/v0.4/utils/filters.js +0 -14
  94. package/dist/v0.4/utils/filters.js.map +0 -1
  95. package/dist/v0.4/utils/index.d.ts +0 -16
  96. package/dist/v0.4/utils/index.js +0 -30
  97. package/dist/v0.4/utils/index.js.map +0 -1
  98. package/dist/v0.4/utils/instruction.d.ts +0 -4
  99. package/dist/v0.4/utils/instruction.js +0 -10
  100. package/dist/v0.4/utils/instruction.js.map +0 -1
  101. package/dist/v0.4/utils/metadata.d.ts +0 -4
  102. package/dist/v0.4/utils/metadata.js +0 -26
  103. package/dist/v0.4/utils/metadata.js.map +0 -1
  104. package/dist/v0.4/utils/pda.d.ts +0 -17
  105. package/dist/v0.4/utils/pda.js +0 -75
  106. package/dist/v0.4/utils/pda.js.map +0 -1
  107. package/dist/v0.4/utils/priceMath.d.ts +0 -54
  108. package/dist/v0.4/utils/priceMath.js +0 -116
  109. package/dist/v0.4/utils/priceMath.js.map +0 -1
@@ -1,632 +0,0 @@
1
- export type Autocrat = {
2
- version: "0.3.0";
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
- args: [
35
- {
36
- name: "params";
37
- type: {
38
- defined: "InitializeDaoParams";
39
- };
40
- }
41
- ];
42
- },
43
- {
44
- name: "initializeProposal";
45
- accounts: [
46
- {
47
- name: "proposal";
48
- isMut: true;
49
- isSigner: false;
50
- },
51
- {
52
- name: "dao";
53
- isMut: true;
54
- isSigner: false;
55
- },
56
- {
57
- name: "quoteVault";
58
- isMut: false;
59
- isSigner: false;
60
- },
61
- {
62
- name: "baseVault";
63
- isMut: false;
64
- isSigner: false;
65
- },
66
- {
67
- name: "passAmm";
68
- isMut: false;
69
- isSigner: false;
70
- },
71
- {
72
- name: "passLpMint";
73
- isMut: false;
74
- isSigner: false;
75
- },
76
- {
77
- name: "failLpMint";
78
- isMut: false;
79
- isSigner: false;
80
- },
81
- {
82
- name: "failAmm";
83
- isMut: false;
84
- isSigner: false;
85
- },
86
- {
87
- name: "passLpUserAccount";
88
- isMut: true;
89
- isSigner: false;
90
- },
91
- {
92
- name: "failLpUserAccount";
93
- isMut: true;
94
- isSigner: false;
95
- },
96
- {
97
- name: "passLpVaultAccount";
98
- isMut: true;
99
- isSigner: false;
100
- },
101
- {
102
- name: "failLpVaultAccount";
103
- isMut: true;
104
- isSigner: false;
105
- },
106
- {
107
- name: "proposer";
108
- isMut: true;
109
- isSigner: true;
110
- },
111
- {
112
- name: "tokenProgram";
113
- isMut: false;
114
- isSigner: false;
115
- },
116
- {
117
- name: "systemProgram";
118
- isMut: false;
119
- isSigner: false;
120
- }
121
- ];
122
- args: [
123
- {
124
- name: "params";
125
- type: {
126
- defined: "InitializeProposalParams";
127
- };
128
- }
129
- ];
130
- },
131
- {
132
- name: "finalizeProposal";
133
- accounts: [
134
- {
135
- name: "proposal";
136
- isMut: true;
137
- isSigner: false;
138
- },
139
- {
140
- name: "passAmm";
141
- isMut: false;
142
- isSigner: false;
143
- },
144
- {
145
- name: "failAmm";
146
- isMut: false;
147
- isSigner: false;
148
- },
149
- {
150
- name: "dao";
151
- isMut: false;
152
- isSigner: false;
153
- },
154
- {
155
- name: "baseVault";
156
- isMut: true;
157
- isSigner: false;
158
- },
159
- {
160
- name: "quoteVault";
161
- isMut: true;
162
- isSigner: false;
163
- },
164
- {
165
- name: "treasury";
166
- isMut: false;
167
- isSigner: false;
168
- },
169
- {
170
- name: "passLpUserAccount";
171
- isMut: true;
172
- isSigner: false;
173
- },
174
- {
175
- name: "failLpUserAccount";
176
- isMut: true;
177
- isSigner: false;
178
- },
179
- {
180
- name: "passLpVaultAccount";
181
- isMut: true;
182
- isSigner: false;
183
- },
184
- {
185
- name: "failLpVaultAccount";
186
- isMut: true;
187
- isSigner: false;
188
- },
189
- {
190
- name: "tokenProgram";
191
- isMut: false;
192
- isSigner: false;
193
- },
194
- {
195
- name: "vaultProgram";
196
- isMut: false;
197
- isSigner: false;
198
- }
199
- ];
200
- args: [];
201
- },
202
- {
203
- name: "executeProposal";
204
- accounts: [
205
- {
206
- name: "proposal";
207
- isMut: true;
208
- isSigner: false;
209
- },
210
- {
211
- name: "dao";
212
- isMut: false;
213
- isSigner: false;
214
- }
215
- ];
216
- args: [];
217
- },
218
- {
219
- name: "updateDao";
220
- accounts: [
221
- {
222
- name: "dao";
223
- isMut: true;
224
- isSigner: false;
225
- },
226
- {
227
- name: "treasury";
228
- isMut: false;
229
- isSigner: true;
230
- }
231
- ];
232
- args: [
233
- {
234
- name: "daoParams";
235
- type: {
236
- defined: "UpdateDaoParams";
237
- };
238
- }
239
- ];
240
- }
241
- ];
242
- accounts: [
243
- {
244
- name: "dao";
245
- type: {
246
- kind: "struct";
247
- fields: [
248
- {
249
- name: "treasuryPdaBump";
250
- type: "u8";
251
- },
252
- {
253
- name: "treasury";
254
- type: "publicKey";
255
- },
256
- {
257
- name: "tokenMint";
258
- type: "publicKey";
259
- },
260
- {
261
- name: "usdcMint";
262
- type: "publicKey";
263
- },
264
- {
265
- name: "proposalCount";
266
- type: "u32";
267
- },
268
- {
269
- name: "passThresholdBps";
270
- type: "u16";
271
- },
272
- {
273
- name: "slotsPerProposal";
274
- type: "u64";
275
- },
276
- {
277
- name: "twapInitialObservation";
278
- docs: [
279
- "For manipulation-resistance the TWAP is a time-weighted average observation,",
280
- "where observation tries to approximate price but can only move by",
281
- "`twap_max_observation_change_per_update` per update. Because it can only move",
282
- "a little bit per update, you need to check that it has a good initial observation.",
283
- "Otherwise, an attacker could create a very high initial observation in the pass",
284
- "market and a very low one in the fail market to force the proposal to pass.",
285
- "",
286
- "We recommend setting an initial observation around the spot price of the token,",
287
- "and max observation change per update around 2% the spot price of the token.",
288
- "For example, if the spot price of META is $400, we'd recommend setting an initial",
289
- "observation of 400 (converted into the AMM prices) and a max observation change per",
290
- "update of 8 (also converted into the AMM prices). Observations can be updated once",
291
- "a minute, so 2% allows the proposal market to reach double the spot price or 0",
292
- "in 50 minutes."
293
- ];
294
- type: "u128";
295
- },
296
- {
297
- name: "twapMaxObservationChangePerUpdate";
298
- type: "u128";
299
- },
300
- {
301
- name: "minQuoteFutarchicLiquidity";
302
- docs: [
303
- "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
304
- "in both futarchic markets in order to create a proposal.",
305
- "",
306
- "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
307
- "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
308
- "10 * 1_000_000_000 (10 META)."
309
- ];
310
- type: "u64";
311
- },
312
- {
313
- name: "minBaseFutarchicLiquidity";
314
- type: "u64";
315
- }
316
- ];
317
- };
318
- },
319
- {
320
- name: "proposal";
321
- type: {
322
- kind: "struct";
323
- fields: [
324
- {
325
- name: "number";
326
- type: "u32";
327
- },
328
- {
329
- name: "proposer";
330
- type: "publicKey";
331
- },
332
- {
333
- name: "descriptionUrl";
334
- type: "string";
335
- },
336
- {
337
- name: "slotEnqueued";
338
- type: "u64";
339
- },
340
- {
341
- name: "state";
342
- type: {
343
- defined: "ProposalState";
344
- };
345
- },
346
- {
347
- name: "instruction";
348
- type: {
349
- defined: "ProposalInstruction";
350
- };
351
- },
352
- {
353
- name: "passAmm";
354
- type: "publicKey";
355
- },
356
- {
357
- name: "failAmm";
358
- type: "publicKey";
359
- },
360
- {
361
- name: "baseVault";
362
- type: "publicKey";
363
- },
364
- {
365
- name: "quoteVault";
366
- type: "publicKey";
367
- },
368
- {
369
- name: "dao";
370
- type: "publicKey";
371
- },
372
- {
373
- name: "passLpTokensLocked";
374
- type: "u64";
375
- },
376
- {
377
- name: "failLpTokensLocked";
378
- type: "u64";
379
- },
380
- {
381
- name: "nonce";
382
- docs: [
383
- "We need to include a per-proposer nonce to prevent some weird proposal",
384
- "front-running edge cases. Using a `u64` means that proposers are unlikely",
385
- "to run into collisions, even if they generate nonces randomly - I've run",
386
- "the math :D"
387
- ];
388
- type: "u64";
389
- },
390
- {
391
- name: "pdaBump";
392
- type: "u8";
393
- }
394
- ];
395
- };
396
- }
397
- ];
398
- types: [
399
- {
400
- name: "InitializeDaoParams";
401
- type: {
402
- kind: "struct";
403
- fields: [
404
- {
405
- name: "twapInitialObservation";
406
- type: "u128";
407
- },
408
- {
409
- name: "twapMaxObservationChangePerUpdate";
410
- type: "u128";
411
- },
412
- {
413
- name: "minQuoteFutarchicLiquidity";
414
- type: "u64";
415
- },
416
- {
417
- name: "minBaseFutarchicLiquidity";
418
- type: "u64";
419
- },
420
- {
421
- name: "passThresholdBps";
422
- type: {
423
- option: "u16";
424
- };
425
- },
426
- {
427
- name: "slotsPerProposal";
428
- type: {
429
- option: "u64";
430
- };
431
- }
432
- ];
433
- };
434
- },
435
- {
436
- name: "InitializeProposalParams";
437
- type: {
438
- kind: "struct";
439
- fields: [
440
- {
441
- name: "descriptionUrl";
442
- type: "string";
443
- },
444
- {
445
- name: "instruction";
446
- type: {
447
- defined: "ProposalInstruction";
448
- };
449
- },
450
- {
451
- name: "passLpTokensToLock";
452
- type: "u64";
453
- },
454
- {
455
- name: "failLpTokensToLock";
456
- type: "u64";
457
- },
458
- {
459
- name: "nonce";
460
- type: "u64";
461
- }
462
- ];
463
- };
464
- },
465
- {
466
- name: "UpdateDaoParams";
467
- type: {
468
- kind: "struct";
469
- fields: [
470
- {
471
- name: "passThresholdBps";
472
- type: {
473
- option: "u16";
474
- };
475
- },
476
- {
477
- name: "slotsPerProposal";
478
- type: {
479
- option: "u64";
480
- };
481
- },
482
- {
483
- name: "twapInitialObservation";
484
- type: {
485
- option: "u128";
486
- };
487
- },
488
- {
489
- name: "twapMaxObservationChangePerUpdate";
490
- type: {
491
- option: "u128";
492
- };
493
- },
494
- {
495
- name: "minQuoteFutarchicLiquidity";
496
- type: {
497
- option: "u64";
498
- };
499
- },
500
- {
501
- name: "minBaseFutarchicLiquidity";
502
- type: {
503
- option: "u64";
504
- };
505
- }
506
- ];
507
- };
508
- },
509
- {
510
- name: "ProposalAccount";
511
- type: {
512
- kind: "struct";
513
- fields: [
514
- {
515
- name: "pubkey";
516
- type: "publicKey";
517
- },
518
- {
519
- name: "isSigner";
520
- type: "bool";
521
- },
522
- {
523
- name: "isWritable";
524
- type: "bool";
525
- }
526
- ];
527
- };
528
- },
529
- {
530
- name: "ProposalInstruction";
531
- type: {
532
- kind: "struct";
533
- fields: [
534
- {
535
- name: "programId";
536
- type: "publicKey";
537
- },
538
- {
539
- name: "accounts";
540
- type: {
541
- vec: {
542
- defined: "ProposalAccount";
543
- };
544
- };
545
- },
546
- {
547
- name: "data";
548
- type: "bytes";
549
- }
550
- ];
551
- };
552
- },
553
- {
554
- name: "ProposalState";
555
- type: {
556
- kind: "enum";
557
- variants: [
558
- {
559
- name: "Pending";
560
- },
561
- {
562
- name: "Passed";
563
- },
564
- {
565
- name: "Failed";
566
- },
567
- {
568
- name: "Executed";
569
- }
570
- ];
571
- };
572
- }
573
- ];
574
- errors: [
575
- {
576
- code: 6000;
577
- name: "AmmTooOld";
578
- msg: "Amms must have been created within 5 minutes (counted in slots) of proposal initialization";
579
- },
580
- {
581
- code: 6001;
582
- name: "InvalidInitialObservation";
583
- msg: "An amm has an `initial_observation` that doesn't match the `dao`'s config";
584
- },
585
- {
586
- code: 6002;
587
- name: "InvalidMaxObservationChange";
588
- msg: "An amm has a `max_observation_change_per_update` that doesn't match the `dao`'s config";
589
- },
590
- {
591
- code: 6003;
592
- name: "InvalidSettlementAuthority";
593
- msg: "One of the vaults has an invalid `settlement_authority`";
594
- },
595
- {
596
- code: 6004;
597
- name: "ProposalTooYoung";
598
- msg: "Proposal is too young to be executed or rejected";
599
- },
600
- {
601
- code: 6005;
602
- name: "MarketsTooYoung";
603
- msg: "Markets too young for proposal to be finalized. TWAP might need to be cranked";
604
- },
605
- {
606
- code: 6006;
607
- name: "ProposalAlreadyFinalized";
608
- msg: "This proposal has already been finalized";
609
- },
610
- {
611
- code: 6007;
612
- name: "InvalidVaultNonce";
613
- msg: "A conditional vault has an invalid nonce. A nonce should encode the proposal number";
614
- },
615
- {
616
- code: 6008;
617
- name: "ProposalNotPassed";
618
- msg: "This proposal can't be executed because it isn't in the passed state";
619
- },
620
- {
621
- code: 6009;
622
- name: "InsufficientLpTokenBalance";
623
- msg: "The proposer has fewer pass or fail LP tokens than they requested to lock";
624
- },
625
- {
626
- code: 6010;
627
- name: "InsufficientLpTokenLock";
628
- msg: "The LP tokens passed in have less liquidity than the DAO's `min_quote_futarchic_liquidity` or `min_base_futachic_liquidity`";
629
- }
630
- ];
631
- };
632
- export declare const IDL: Autocrat;