@metadaoproject/futarchy 0.7.4-alpha.1 → 0.7.4-alpha.3

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.
@@ -188,6 +188,14 @@ export declare class FutarchyClient {
188
188
  name: "ammFailQuoteVault";
189
189
  isMut: true;
190
190
  isSigner: false;
191
+ }, {
192
+ name: "squadsMultisig";
193
+ isMut: false;
194
+ isSigner: false;
195
+ }, {
196
+ name: "squadsProposal";
197
+ isMut: false;
198
+ isSigner: false;
191
199
  }, {
192
200
  name: "systemProgram";
193
201
  isMut: false;
@@ -481,6 +489,10 @@ export declare class FutarchyClient {
481
489
  name: "squadsProposal";
482
490
  isMut: false;
483
491
  isSigner: false;
492
+ }, {
493
+ name: "squadsMultisig";
494
+ isMut: false;
495
+ isSigner: false;
484
496
  }, {
485
497
  name: "dao";
486
498
  isMut: true;
@@ -118,6 +118,11 @@ export type Futarchy = {
118
118
  isMut: false;
119
119
  isSigner: false;
120
120
  },
121
+ {
122
+ name: "squadsMultisig";
123
+ isMut: false;
124
+ isSigner: false;
125
+ },
121
126
  {
122
127
  name: "dao";
123
128
  isMut: true;
@@ -370,6 +375,16 @@ export type Futarchy = {
370
375
  isMut: true;
371
376
  isSigner: false;
372
377
  },
378
+ {
379
+ name: "squadsMultisig";
380
+ isMut: false;
381
+ isSigner: false;
382
+ },
383
+ {
384
+ name: "squadsProposal";
385
+ isMut: false;
386
+ isSigner: false;
387
+ },
373
388
  {
374
389
  name: "systemProgram";
375
390
  isMut: false;
@@ -562,6 +577,27 @@ export type Futarchy = {
562
577
  }
563
578
  ];
564
579
  },
580
+ {
581
+ name: "resizeDao";
582
+ accounts: [
583
+ {
584
+ name: "dao";
585
+ isMut: true;
586
+ isSigner: false;
587
+ },
588
+ {
589
+ name: "payer";
590
+ isMut: true;
591
+ isSigner: true;
592
+ },
593
+ {
594
+ name: "systemProgram";
595
+ isMut: false;
596
+ isSigner: false;
597
+ }
598
+ ];
599
+ args: [];
600
+ },
565
601
  {
566
602
  name: "spotSwap";
567
603
  accounts: [
@@ -1169,6 +1205,186 @@ export type Futarchy = {
1169
1205
  }
1170
1206
  ];
1171
1207
  args: [];
1208
+ },
1209
+ {
1210
+ name: "initiateVaultSpendOptimisticProposal";
1211
+ accounts: [
1212
+ {
1213
+ name: "squadsMultisig";
1214
+ isMut: true;
1215
+ isSigner: false;
1216
+ },
1217
+ {
1218
+ name: "squadsMultisigVault";
1219
+ isMut: false;
1220
+ isSigner: false;
1221
+ },
1222
+ {
1223
+ name: "squadsSpendingLimit";
1224
+ isMut: false;
1225
+ isSigner: false;
1226
+ },
1227
+ {
1228
+ name: "squadsProposal";
1229
+ isMut: true;
1230
+ isSigner: false;
1231
+ },
1232
+ {
1233
+ name: "squadsVaultTransaction";
1234
+ isMut: true;
1235
+ isSigner: false;
1236
+ },
1237
+ {
1238
+ name: "squadsMultisigPermissionlessAccount";
1239
+ isMut: false;
1240
+ isSigner: true;
1241
+ },
1242
+ {
1243
+ name: "dao";
1244
+ isMut: true;
1245
+ isSigner: false;
1246
+ },
1247
+ {
1248
+ name: "daoQuoteVaultAccount";
1249
+ isMut: true;
1250
+ isSigner: false;
1251
+ },
1252
+ {
1253
+ name: "proposer";
1254
+ isMut: true;
1255
+ isSigner: true;
1256
+ },
1257
+ {
1258
+ name: "recipient";
1259
+ isMut: false;
1260
+ isSigner: false;
1261
+ },
1262
+ {
1263
+ name: "recipientQuoteAccount";
1264
+ isMut: true;
1265
+ isSigner: false;
1266
+ },
1267
+ {
1268
+ name: "payer";
1269
+ isMut: true;
1270
+ isSigner: true;
1271
+ },
1272
+ {
1273
+ name: "systemProgram";
1274
+ isMut: false;
1275
+ isSigner: false;
1276
+ },
1277
+ {
1278
+ name: "squadsProgram";
1279
+ isMut: false;
1280
+ isSigner: false;
1281
+ },
1282
+ {
1283
+ name: "tokenProgram";
1284
+ isMut: false;
1285
+ isSigner: false;
1286
+ },
1287
+ {
1288
+ name: "eventAuthority";
1289
+ isMut: false;
1290
+ isSigner: false;
1291
+ },
1292
+ {
1293
+ name: "program";
1294
+ isMut: false;
1295
+ isSigner: false;
1296
+ }
1297
+ ];
1298
+ args: [
1299
+ {
1300
+ name: "params";
1301
+ type: {
1302
+ defined: "InitiateVaultSpendOptimisticProposalParams";
1303
+ };
1304
+ }
1305
+ ];
1306
+ },
1307
+ {
1308
+ name: "finalizeOptimisticProposal";
1309
+ accounts: [
1310
+ {
1311
+ name: "squadsMultisig";
1312
+ isMut: true;
1313
+ isSigner: false;
1314
+ },
1315
+ {
1316
+ name: "squadsProposal";
1317
+ isMut: true;
1318
+ isSigner: false;
1319
+ },
1320
+ {
1321
+ name: "dao";
1322
+ isMut: true;
1323
+ isSigner: false;
1324
+ },
1325
+ {
1326
+ name: "squadsProgram";
1327
+ isMut: false;
1328
+ isSigner: false;
1329
+ },
1330
+ {
1331
+ name: "eventAuthority";
1332
+ isMut: false;
1333
+ isSigner: false;
1334
+ },
1335
+ {
1336
+ name: "program";
1337
+ isMut: false;
1338
+ isSigner: false;
1339
+ }
1340
+ ];
1341
+ args: [];
1342
+ },
1343
+ {
1344
+ name: "adminApproveExecuteMultisigProposal";
1345
+ accounts: [
1346
+ {
1347
+ name: "dao";
1348
+ isMut: true;
1349
+ isSigner: false;
1350
+ },
1351
+ {
1352
+ name: "admin";
1353
+ isMut: true;
1354
+ isSigner: true;
1355
+ },
1356
+ {
1357
+ name: "squadsMultisig";
1358
+ isMut: true;
1359
+ isSigner: false;
1360
+ },
1361
+ {
1362
+ name: "squadsMultisigProposal";
1363
+ isMut: true;
1364
+ isSigner: false;
1365
+ },
1366
+ {
1367
+ name: "squadsMultisigVaultTransaction";
1368
+ isMut: true;
1369
+ isSigner: false;
1370
+ },
1371
+ {
1372
+ name: "squadsMultisigProgram";
1373
+ isMut: false;
1374
+ isSigner: false;
1375
+ },
1376
+ {
1377
+ name: "eventAuthority";
1378
+ isMut: false;
1379
+ isSigner: false;
1380
+ },
1381
+ {
1382
+ name: "program";
1383
+ isMut: false;
1384
+ isSigner: false;
1385
+ }
1386
+ ];
1387
+ args: [];
1172
1388
  }
1173
1389
  ];
1174
1390
  accounts: [
@@ -1321,6 +1537,154 @@ export type Futarchy = {
1321
1537
  ];
1322
1538
  type: "i16";
1323
1539
  },
1540
+ {
1541
+ name: "teamAddress";
1542
+ type: "publicKey";
1543
+ },
1544
+ {
1545
+ name: "optimisticProposal";
1546
+ type: {
1547
+ option: {
1548
+ defined: "OptimisticProposal";
1549
+ };
1550
+ };
1551
+ },
1552
+ {
1553
+ name: "isOptimisticGovernanceEnabled";
1554
+ type: "bool";
1555
+ }
1556
+ ];
1557
+ };
1558
+ },
1559
+ {
1560
+ name: "oldDao";
1561
+ type: {
1562
+ kind: "struct";
1563
+ fields: [
1564
+ {
1565
+ name: "amm";
1566
+ docs: ["Embedded FutarchyAmm - 1:1 relationship"];
1567
+ type: {
1568
+ defined: "FutarchyAmm";
1569
+ };
1570
+ },
1571
+ {
1572
+ name: "nonce";
1573
+ docs: ["`nonce` + `dao_creator` are PDA seeds"];
1574
+ type: "u64";
1575
+ },
1576
+ {
1577
+ name: "daoCreator";
1578
+ type: "publicKey";
1579
+ },
1580
+ {
1581
+ name: "pdaBump";
1582
+ type: "u8";
1583
+ },
1584
+ {
1585
+ name: "squadsMultisig";
1586
+ type: "publicKey";
1587
+ },
1588
+ {
1589
+ name: "squadsMultisigVault";
1590
+ type: "publicKey";
1591
+ },
1592
+ {
1593
+ name: "baseMint";
1594
+ type: "publicKey";
1595
+ },
1596
+ {
1597
+ name: "quoteMint";
1598
+ type: "publicKey";
1599
+ },
1600
+ {
1601
+ name: "proposalCount";
1602
+ type: "u32";
1603
+ },
1604
+ {
1605
+ name: "passThresholdBps";
1606
+ type: "u16";
1607
+ },
1608
+ {
1609
+ name: "secondsPerProposal";
1610
+ type: "u32";
1611
+ },
1612
+ {
1613
+ name: "twapInitialObservation";
1614
+ docs: [
1615
+ "For manipulation-resistance the TWAP is a time-weighted average observation,",
1616
+ "where observation tries to approximate price but can only move by",
1617
+ "`twap_max_observation_change_per_update` per update. Because it can only move",
1618
+ "a little bit per update, you need to check that it has a good initial observation.",
1619
+ "Otherwise, an attacker could create a very high initial observation in the pass",
1620
+ "market and a very low one in the fail market to force the proposal to pass.",
1621
+ "",
1622
+ "We recommend setting an initial observation around the spot price of the token,",
1623
+ "and max observation change per update around 2% the spot price of the token.",
1624
+ "For example, if the spot price of META is $400, we'd recommend setting an initial",
1625
+ "observation of 400 (converted into the AMM prices) and a max observation change per",
1626
+ "update of 8 (also converted into the AMM prices). Observations can be updated once",
1627
+ "a minute, so 2% allows the proposal market to reach double the spot price or 0",
1628
+ "in 50 minutes."
1629
+ ];
1630
+ type: "u128";
1631
+ },
1632
+ {
1633
+ name: "twapMaxObservationChangePerUpdate";
1634
+ type: "u128";
1635
+ },
1636
+ {
1637
+ name: "twapStartDelaySeconds";
1638
+ docs: [
1639
+ "Forces TWAP calculation to start after `twap_start_delay_seconds` seconds"
1640
+ ];
1641
+ type: "u32";
1642
+ },
1643
+ {
1644
+ name: "minQuoteFutarchicLiquidity";
1645
+ docs: [
1646
+ "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
1647
+ "in both futarchic markets in order to create a proposal.",
1648
+ "",
1649
+ "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
1650
+ "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
1651
+ "10 * 1_000_000_000 (10 META)."
1652
+ ];
1653
+ type: "u64";
1654
+ },
1655
+ {
1656
+ name: "minBaseFutarchicLiquidity";
1657
+ type: "u64";
1658
+ },
1659
+ {
1660
+ name: "baseToStake";
1661
+ docs: [
1662
+ "Minimum amount of base tokens that must be staked to launch a proposal"
1663
+ ];
1664
+ type: "u64";
1665
+ },
1666
+ {
1667
+ name: "seqNum";
1668
+ type: "u64";
1669
+ },
1670
+ {
1671
+ name: "initialSpendingLimit";
1672
+ type: {
1673
+ option: {
1674
+ defined: "InitialSpendingLimit";
1675
+ };
1676
+ };
1677
+ },
1678
+ {
1679
+ name: "teamSponsoredPassThresholdBps";
1680
+ docs: [
1681
+ "The percentage, in basis points, the pass price needs to be above the",
1682
+ "fail price in order for the proposal to pass for team-sponsored proposals.",
1683
+ "",
1684
+ "Can be negative to allow for team-sponsored proposals to pass by default."
1685
+ ];
1686
+ type: "i16";
1687
+ },
1324
1688
  {
1325
1689
  name: "teamAddress";
1326
1690
  type: "publicKey";
@@ -1536,6 +1900,18 @@ export type Futarchy = {
1536
1900
  ];
1537
1901
  };
1538
1902
  },
1903
+ {
1904
+ name: "InitiateVaultSpendOptimisticProposalParams";
1905
+ type: {
1906
+ kind: "struct";
1907
+ fields: [
1908
+ {
1909
+ name: "amount";
1910
+ type: "u64";
1911
+ }
1912
+ ];
1913
+ };
1914
+ },
1539
1915
  {
1540
1916
  name: "ProvideLiquidityParams";
1541
1917
  type: {
@@ -1677,6 +2053,12 @@ export type Futarchy = {
1677
2053
  type: {
1678
2054
  option: "publicKey";
1679
2055
  };
2056
+ },
2057
+ {
2058
+ name: "isOptimisticGovernanceEnabled";
2059
+ type: {
2060
+ option: "bool";
2061
+ };
1680
2062
  }
1681
2063
  ];
1682
2064
  };
@@ -1704,6 +2086,28 @@ export type Futarchy = {
1704
2086
  ];
1705
2087
  };
1706
2088
  },
2089
+ {
2090
+ name: "OptimisticProposal";
2091
+ type: {
2092
+ kind: "struct";
2093
+ fields: [
2094
+ {
2095
+ name: "squadsProposal";
2096
+ docs: [
2097
+ "The squads proposal currently enqueued for execution if not challenged by a new proposal."
2098
+ ];
2099
+ type: "publicKey";
2100
+ },
2101
+ {
2102
+ name: "enqueuedTimestamp";
2103
+ docs: [
2104
+ "The timestamp when the active optimistic squads proposal was enqueued."
2105
+ ];
2106
+ type: "i64";
2107
+ }
2108
+ ];
2109
+ };
2110
+ },
1707
2111
  {
1708
2112
  name: "InitialSpendingLimit";
1709
2113
  type: {
@@ -2197,6 +2601,11 @@ export type Futarchy = {
2197
2601
  name: "teamAddress";
2198
2602
  type: "publicKey";
2199
2603
  index: false;
2604
+ },
2605
+ {
2606
+ name: "isOptimisticGovernanceEnabled";
2607
+ type: "bool";
2608
+ index: false;
2200
2609
  }
2201
2610
  ];
2202
2611
  },
@@ -2741,6 +3150,90 @@ export type Futarchy = {
2741
3150
  index: false;
2742
3151
  }
2743
3152
  ];
3153
+ },
3154
+ {
3155
+ name: "InitiateVaultSpendOptimisticProposalEvent";
3156
+ fields: [
3157
+ {
3158
+ name: "common";
3159
+ type: {
3160
+ defined: "CommonFields";
3161
+ };
3162
+ index: false;
3163
+ },
3164
+ {
3165
+ name: "dao";
3166
+ type: "publicKey";
3167
+ index: false;
3168
+ },
3169
+ {
3170
+ name: "proposer";
3171
+ type: "publicKey";
3172
+ index: false;
3173
+ },
3174
+ {
3175
+ name: "squadsProposal";
3176
+ type: "publicKey";
3177
+ index: false;
3178
+ },
3179
+ {
3180
+ name: "squadsMultisig";
3181
+ type: "publicKey";
3182
+ index: false;
3183
+ },
3184
+ {
3185
+ name: "squadsMultisigVault";
3186
+ type: "publicKey";
3187
+ index: false;
3188
+ },
3189
+ {
3190
+ name: "amount";
3191
+ type: "u64";
3192
+ index: false;
3193
+ },
3194
+ {
3195
+ name: "recipient";
3196
+ type: "publicKey";
3197
+ index: false;
3198
+ },
3199
+ {
3200
+ name: "daoQuoteVaultAccount";
3201
+ type: "publicKey";
3202
+ index: false;
3203
+ },
3204
+ {
3205
+ name: "recipientQuoteAccount";
3206
+ type: "publicKey";
3207
+ index: false;
3208
+ },
3209
+ {
3210
+ name: "enqueuedTimestamp";
3211
+ type: "i64";
3212
+ index: false;
3213
+ }
3214
+ ];
3215
+ },
3216
+ {
3217
+ name: "FinalizeOptimisticProposalEvent";
3218
+ fields: [
3219
+ {
3220
+ name: "common";
3221
+ type: {
3222
+ defined: "CommonFields";
3223
+ };
3224
+ index: false;
3225
+ },
3226
+ {
3227
+ name: "dao";
3228
+ type: "publicKey";
3229
+ index: false;
3230
+ },
3231
+ {
3232
+ name: "squadsProposal";
3233
+ type: "publicKey";
3234
+ index: false;
3235
+ }
3236
+ ];
2744
3237
  }
2745
3238
  ];
2746
3239
  errors: [
@@ -2923,6 +3416,41 @@ export type Futarchy = {
2923
3416
  code: 6035;
2924
3417
  name: "InvalidTransactionMessage";
2925
3418
  msg: "Failed to compile transaction message for Squads vault transaction";
3419
+ },
3420
+ {
3421
+ code: 6036;
3422
+ name: "InvalidRecipient";
3423
+ msg: "Invalid recipient";
3424
+ },
3425
+ {
3426
+ code: 6037;
3427
+ name: "OptimisticGovernanceDisabled";
3428
+ msg: "Optimistic governance is disabled";
3429
+ },
3430
+ {
3431
+ code: 6038;
3432
+ name: "ActiveOptimisticProposalAlreadyEnqueued";
3433
+ msg: "An active optimistic proposal is already enqueued";
3434
+ },
3435
+ {
3436
+ code: 6039;
3437
+ name: "NoActiveOptimisticProposal";
3438
+ msg: "No active optimistic proposal";
3439
+ },
3440
+ {
3441
+ code: 6040;
3442
+ name: "OptimisticProposalAlreadyPassed";
3443
+ msg: "Optimistic proposal has already passed";
3444
+ },
3445
+ {
3446
+ code: 6041;
3447
+ name: "CannotSponsorOptimisticProposalChallenge";
3448
+ msg: "Team cannot sponsor a challenge to an optimistic proposal";
3449
+ },
3450
+ {
3451
+ code: 6042;
3452
+ name: "InvalidSpendingLimitMint";
3453
+ msg: "Invalid spending limit mint. Must be the same as the DAO's quote mint";
2926
3454
  }
2927
3455
  ];
2928
3456
  };