@metadaoproject/futarchy 0.4.0-alpha.7 → 0.4.0-alpha.70

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 (95) 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 +35 -26
  56. package/dist/v0.4/AmmClient.js +17 -108
  57. package/dist/v0.4/AmmClient.js.map +1 -1
  58. package/dist/v0.4/AutocratClient.d.ts +40 -3
  59. package/dist/v0.4/AutocratClient.js +23 -15
  60. package/dist/v0.4/AutocratClient.js.map +1 -1
  61. package/dist/v0.4/ConditionalVaultClient.d.ts +66 -10
  62. package/dist/v0.4/ConditionalVaultClient.js +17 -33
  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 +32 -1
  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/package.json +2 -1
@@ -0,0 +1,632 @@
1
+ export const IDL = {
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
+ //# sourceMappingURL=autocrat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocrat.js","sourceRoot":"","sources":["../../../src/v0.3/types/autocrat.ts"],"names":[],"mappings":"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"}