outsmart 2.0.0-alpha.0

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 (235) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +568 -0
  3. package/dist/cli.d.ts +44 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +1251 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/dex/byreal-clmm.d.ts +16 -0
  8. package/dist/dex/byreal-clmm.d.ts.map +1 -0
  9. package/dist/dex/byreal-clmm.js +39 -0
  10. package/dist/dex/byreal-clmm.js.map +1 -0
  11. package/dist/dex/dflow.d.ts +27 -0
  12. package/dist/dex/dflow.d.ts.map +1 -0
  13. package/dist/dex/dflow.js +200 -0
  14. package/dist/dex/dflow.js.map +1 -0
  15. package/dist/dex/fusion-amm.d.ts +44 -0
  16. package/dist/dex/fusion-amm.d.ts.map +1 -0
  17. package/dist/dex/fusion-amm.js +546 -0
  18. package/dist/dex/fusion-amm.js.map +1 -0
  19. package/dist/dex/futarchy-amm.d.ts +32 -0
  20. package/dist/dex/futarchy-amm.d.ts.map +1 -0
  21. package/dist/dex/futarchy-amm.js +443 -0
  22. package/dist/dex/futarchy-amm.js.map +1 -0
  23. package/dist/dex/futarchy-idl.d.ts +2568 -0
  24. package/dist/dex/futarchy-idl.d.ts.map +1 -0
  25. package/dist/dex/futarchy-idl.js +2570 -0
  26. package/dist/dex/futarchy-idl.js.map +1 -0
  27. package/dist/dex/futarchy-launchpad.d.ts +68 -0
  28. package/dist/dex/futarchy-launchpad.d.ts.map +1 -0
  29. package/dist/dex/futarchy-launchpad.js +377 -0
  30. package/dist/dex/futarchy-launchpad.js.map +1 -0
  31. package/dist/dex/index.d.ts +88 -0
  32. package/dist/dex/index.d.ts.map +1 -0
  33. package/dist/dex/index.js +159 -0
  34. package/dist/dex/index.js.map +1 -0
  35. package/dist/dex/jupiter-ultra.d.ts +27 -0
  36. package/dist/dex/jupiter-ultra.d.ts.map +1 -0
  37. package/dist/dex/jupiter-ultra.js +369 -0
  38. package/dist/dex/jupiter-ultra.js.map +1 -0
  39. package/dist/dex/meteora-damm-v1.d.ts +36 -0
  40. package/dist/dex/meteora-damm-v1.d.ts.map +1 -0
  41. package/dist/dex/meteora-damm-v1.js +314 -0
  42. package/dist/dex/meteora-damm-v1.js.map +1 -0
  43. package/dist/dex/meteora-damm-v2.d.ts +103 -0
  44. package/dist/dex/meteora-damm-v2.d.ts.map +1 -0
  45. package/dist/dex/meteora-damm-v2.js +1146 -0
  46. package/dist/dex/meteora-damm-v2.js.map +1 -0
  47. package/dist/dex/meteora-dbc.d.ts +38 -0
  48. package/dist/dex/meteora-dbc.d.ts.map +1 -0
  49. package/dist/dex/meteora-dbc.js +374 -0
  50. package/dist/dex/meteora-dbc.js.map +1 -0
  51. package/dist/dex/meteora-dlmm.d.ts +79 -0
  52. package/dist/dex/meteora-dlmm.d.ts.map +1 -0
  53. package/dist/dex/meteora-dlmm.js +735 -0
  54. package/dist/dex/meteora-dlmm.js.map +1 -0
  55. package/dist/dex/orca.d.ts +31 -0
  56. package/dist/dex/orca.d.ts.map +1 -0
  57. package/dist/dex/orca.js +536 -0
  58. package/dist/dex/orca.js.map +1 -0
  59. package/dist/dex/pancakeswap-clmm.d.ts +16 -0
  60. package/dist/dex/pancakeswap-clmm.d.ts.map +1 -0
  61. package/dist/dex/pancakeswap-clmm.js +39 -0
  62. package/dist/dex/pancakeswap-clmm.js.map +1 -0
  63. package/dist/dex/pumpfun-amm.d.ts +46 -0
  64. package/dist/dex/pumpfun-amm.d.ts.map +1 -0
  65. package/dist/dex/pumpfun-amm.js +692 -0
  66. package/dist/dex/pumpfun-amm.js.map +1 -0
  67. package/dist/dex/pumpfun.d.ts +41 -0
  68. package/dist/dex/pumpfun.d.ts.map +1 -0
  69. package/dist/dex/pumpfun.js +555 -0
  70. package/dist/dex/pumpfun.js.map +1 -0
  71. package/dist/dex/raydium-amm-v4.d.ts +11 -0
  72. package/dist/dex/raydium-amm-v4.d.ts.map +1 -0
  73. package/dist/dex/raydium-amm-v4.js +649 -0
  74. package/dist/dex/raydium-amm-v4.js.map +1 -0
  75. package/dist/dex/raydium-clmm.d.ts +12 -0
  76. package/dist/dex/raydium-clmm.d.ts.map +1 -0
  77. package/dist/dex/raydium-clmm.js +675 -0
  78. package/dist/dex/raydium-clmm.js.map +1 -0
  79. package/dist/dex/raydium-cpmm.d.ts +10 -0
  80. package/dist/dex/raydium-cpmm.d.ts.map +1 -0
  81. package/dist/dex/raydium-cpmm.js +613 -0
  82. package/dist/dex/raydium-cpmm.js.map +1 -0
  83. package/dist/dex/raydium-launchlab.d.ts +12 -0
  84. package/dist/dex/raydium-launchlab.d.ts.map +1 -0
  85. package/dist/dex/raydium-launchlab.js +530 -0
  86. package/dist/dex/raydium-launchlab.js.map +1 -0
  87. package/dist/dex/shared/clmm-base.d.ts +58 -0
  88. package/dist/dex/shared/clmm-base.d.ts.map +1 -0
  89. package/dist/dex/shared/clmm-base.js +891 -0
  90. package/dist/dex/shared/clmm-base.js.map +1 -0
  91. package/dist/dex/types.d.ts +601 -0
  92. package/dist/dex/types.d.ts.map +1 -0
  93. package/dist/dex/types.js +137 -0
  94. package/dist/dex/types.js.map +1 -0
  95. package/dist/dexscreener/index.d.ts +2 -0
  96. package/dist/dexscreener/index.d.ts.map +1 -0
  97. package/dist/dexscreener/index.js +18 -0
  98. package/dist/dexscreener/index.js.map +1 -0
  99. package/dist/dexscreener/info.d.ts +22 -0
  100. package/dist/dexscreener/info.d.ts.map +1 -0
  101. package/dist/dexscreener/info.js +104 -0
  102. package/dist/dexscreener/info.js.map +1 -0
  103. package/dist/helpers/check_balance.d.ts +10 -0
  104. package/dist/helpers/check_balance.d.ts.map +1 -0
  105. package/dist/helpers/check_balance.js +34 -0
  106. package/dist/helpers/check_balance.js.map +1 -0
  107. package/dist/helpers/config.d.ts +51 -0
  108. package/dist/helpers/config.d.ts.map +1 -0
  109. package/dist/helpers/config.js +118 -0
  110. package/dist/helpers/config.js.map +1 -0
  111. package/dist/helpers/index.d.ts +8 -0
  112. package/dist/helpers/index.d.ts.map +1 -0
  113. package/dist/helpers/index.js +29 -0
  114. package/dist/helpers/index.js.map +1 -0
  115. package/dist/helpers/logger.d.ts +27 -0
  116. package/dist/helpers/logger.d.ts.map +1 -0
  117. package/dist/helpers/logger.js +39 -0
  118. package/dist/helpers/logger.js.map +1 -0
  119. package/dist/helpers/token-2022.d.ts +32 -0
  120. package/dist/helpers/token-2022.d.ts.map +1 -0
  121. package/dist/helpers/token-2022.js +48 -0
  122. package/dist/helpers/token-2022.js.map +1 -0
  123. package/dist/helpers/unwrap_sol.d.ts +2 -0
  124. package/dist/helpers/unwrap_sol.d.ts.map +1 -0
  125. package/dist/helpers/unwrap_sol.js +67 -0
  126. package/dist/helpers/unwrap_sol.js.map +1 -0
  127. package/dist/helpers/util.d.ts +698 -0
  128. package/dist/helpers/util.d.ts.map +1 -0
  129. package/dist/helpers/util.js +181 -0
  130. package/dist/helpers/util.js.map +1 -0
  131. package/dist/helpers/utils.d.ts +10 -0
  132. package/dist/helpers/utils.d.ts.map +1 -0
  133. package/dist/helpers/utils.js +97 -0
  134. package/dist/helpers/utils.js.map +1 -0
  135. package/dist/helpers/wrap_sol.d.ts +3 -0
  136. package/dist/helpers/wrap_sol.d.ts.map +1 -0
  137. package/dist/helpers/wrap_sol.js +88 -0
  138. package/dist/helpers/wrap_sol.js.map +1 -0
  139. package/dist/index.d.ts +14 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +32 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/transactions/bloXroute_tips_tx_executor.d.ts +4 -0
  144. package/dist/transactions/bloXroute_tips_tx_executor.d.ts.map +1 -0
  145. package/dist/transactions/bloXroute_tips_tx_executor.js +70 -0
  146. package/dist/transactions/bloXroute_tips_tx_executor.js.map +1 -0
  147. package/dist/transactions/index.d.ts +6 -0
  148. package/dist/transactions/index.d.ts.map +1 -0
  149. package/dist/transactions/index.js +30 -0
  150. package/dist/transactions/index.js.map +1 -0
  151. package/dist/transactions/jito_tips_tx_executor.d.ts +15 -0
  152. package/dist/transactions/jito_tips_tx_executor.d.ts.map +1 -0
  153. package/dist/transactions/jito_tips_tx_executor.js +99 -0
  154. package/dist/transactions/jito_tips_tx_executor.js.map +1 -0
  155. package/dist/transactions/landing/index.d.ts +30 -0
  156. package/dist/transactions/landing/index.d.ts.map +1 -0
  157. package/dist/transactions/landing/index.js +60 -0
  158. package/dist/transactions/landing/index.js.map +1 -0
  159. package/dist/transactions/landing/nonce-manager.d.ts +116 -0
  160. package/dist/transactions/landing/nonce-manager.d.ts.map +1 -0
  161. package/dist/transactions/landing/nonce-manager.js +393 -0
  162. package/dist/transactions/landing/nonce-manager.js.map +1 -0
  163. package/dist/transactions/landing/orchestrator.d.ts +104 -0
  164. package/dist/transactions/landing/orchestrator.d.ts.map +1 -0
  165. package/dist/transactions/landing/orchestrator.js +329 -0
  166. package/dist/transactions/landing/orchestrator.js.map +1 -0
  167. package/dist/transactions/landing/providers/astralane.d.ts +12 -0
  168. package/dist/transactions/landing/providers/astralane.d.ts.map +1 -0
  169. package/dist/transactions/landing/providers/astralane.js +132 -0
  170. package/dist/transactions/landing/providers/astralane.js.map +1 -0
  171. package/dist/transactions/landing/providers/blockrazor.d.ts +11 -0
  172. package/dist/transactions/landing/providers/blockrazor.d.ts.map +1 -0
  173. package/dist/transactions/landing/providers/blockrazor.js +134 -0
  174. package/dist/transactions/landing/providers/blockrazor.js.map +1 -0
  175. package/dist/transactions/landing/providers/bloxroute.d.ts +12 -0
  176. package/dist/transactions/landing/providers/bloxroute.d.ts.map +1 -0
  177. package/dist/transactions/landing/providers/bloxroute.js +102 -0
  178. package/dist/transactions/landing/providers/bloxroute.js.map +1 -0
  179. package/dist/transactions/landing/providers/flashblock.d.ts +10 -0
  180. package/dist/transactions/landing/providers/flashblock.d.ts.map +1 -0
  181. package/dist/transactions/landing/providers/flashblock.js +102 -0
  182. package/dist/transactions/landing/providers/flashblock.js.map +1 -0
  183. package/dist/transactions/landing/providers/helius-sender.d.ts +11 -0
  184. package/dist/transactions/landing/providers/helius-sender.d.ts.map +1 -0
  185. package/dist/transactions/landing/providers/helius-sender.js +101 -0
  186. package/dist/transactions/landing/providers/helius-sender.js.map +1 -0
  187. package/dist/transactions/landing/providers/jito.d.ts +16 -0
  188. package/dist/transactions/landing/providers/jito.d.ts.map +1 -0
  189. package/dist/transactions/landing/providers/jito.js +110 -0
  190. package/dist/transactions/landing/providers/jito.js.map +1 -0
  191. package/dist/transactions/landing/providers/nextblock.d.ts +11 -0
  192. package/dist/transactions/landing/providers/nextblock.d.ts.map +1 -0
  193. package/dist/transactions/landing/providers/nextblock.js +109 -0
  194. package/dist/transactions/landing/providers/nextblock.js.map +1 -0
  195. package/dist/transactions/landing/providers/node1.d.ts +11 -0
  196. package/dist/transactions/landing/providers/node1.d.ts.map +1 -0
  197. package/dist/transactions/landing/providers/node1.js +101 -0
  198. package/dist/transactions/landing/providers/node1.js.map +1 -0
  199. package/dist/transactions/landing/providers/nozomi.d.ts +11 -0
  200. package/dist/transactions/landing/providers/nozomi.d.ts.map +1 -0
  201. package/dist/transactions/landing/providers/nozomi.js +124 -0
  202. package/dist/transactions/landing/providers/nozomi.js.map +1 -0
  203. package/dist/transactions/landing/providers/soyas.d.ts +16 -0
  204. package/dist/transactions/landing/providers/soyas.d.ts.map +1 -0
  205. package/dist/transactions/landing/providers/soyas.js +192 -0
  206. package/dist/transactions/landing/providers/soyas.js.map +1 -0
  207. package/dist/transactions/landing/providers/stellium.d.ts +11 -0
  208. package/dist/transactions/landing/providers/stellium.d.ts.map +1 -0
  209. package/dist/transactions/landing/providers/stellium.js +102 -0
  210. package/dist/transactions/landing/providers/stellium.js.map +1 -0
  211. package/dist/transactions/landing/providers/zero-slot.d.ts +10 -0
  212. package/dist/transactions/landing/providers/zero-slot.d.ts.map +1 -0
  213. package/dist/transactions/landing/providers/zero-slot.js +92 -0
  214. package/dist/transactions/landing/providers/zero-slot.js.map +1 -0
  215. package/dist/transactions/landing/tip-accounts.d.ts +22 -0
  216. package/dist/transactions/landing/tip-accounts.d.ts.map +1 -0
  217. package/dist/transactions/landing/tip-accounts.js +140 -0
  218. package/dist/transactions/landing/tip-accounts.js.map +1 -0
  219. package/dist/transactions/landing/types.d.ts +98 -0
  220. package/dist/transactions/landing/types.d.ts.map +1 -0
  221. package/dist/transactions/landing/types.js +30 -0
  222. package/dist/transactions/landing/types.js.map +1 -0
  223. package/dist/transactions/nozomi/tx-submission.d.ts +14 -0
  224. package/dist/transactions/nozomi/tx-submission.d.ts.map +1 -0
  225. package/dist/transactions/nozomi/tx-submission.js +107 -0
  226. package/dist/transactions/nozomi/tx-submission.js.map +1 -0
  227. package/dist/transactions/send-rpc.d.ts +54 -0
  228. package/dist/transactions/send-rpc.d.ts.map +1 -0
  229. package/dist/transactions/send-rpc.js +126 -0
  230. package/dist/transactions/send-rpc.js.map +1 -0
  231. package/dist/transactions/simple_tx_executor.d.ts +10 -0
  232. package/dist/transactions/simple_tx_executor.d.ts.map +1 -0
  233. package/dist/transactions/simple_tx_executor.js +33 -0
  234. package/dist/transactions/simple_tx_executor.js.map +1 -0
  235. package/package.json +112 -0
@@ -0,0 +1,2570 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IDL = void 0;
4
+ exports.IDL = {
5
+ version: "0.6.0",
6
+ name: "futarchy",
7
+ instructions: [
8
+ {
9
+ name: "initializeDao",
10
+ accounts: [
11
+ {
12
+ name: "dao",
13
+ isMut: true,
14
+ isSigner: false,
15
+ },
16
+ {
17
+ name: "daoCreator",
18
+ isMut: false,
19
+ isSigner: true,
20
+ },
21
+ {
22
+ name: "payer",
23
+ isMut: true,
24
+ isSigner: true,
25
+ },
26
+ {
27
+ name: "systemProgram",
28
+ isMut: false,
29
+ isSigner: false,
30
+ },
31
+ {
32
+ name: "baseMint",
33
+ isMut: false,
34
+ isSigner: false,
35
+ },
36
+ {
37
+ name: "quoteMint",
38
+ isMut: false,
39
+ isSigner: false,
40
+ },
41
+ {
42
+ name: "squadsMultisig",
43
+ isMut: true,
44
+ isSigner: false,
45
+ },
46
+ {
47
+ name: "squadsMultisigVault",
48
+ isMut: false,
49
+ isSigner: false,
50
+ },
51
+ {
52
+ name: "squadsProgram",
53
+ isMut: false,
54
+ isSigner: false,
55
+ },
56
+ {
57
+ name: "squadsProgramConfig",
58
+ isMut: false,
59
+ isSigner: false,
60
+ },
61
+ {
62
+ name: "squadsProgramConfigTreasury",
63
+ isMut: true,
64
+ isSigner: false,
65
+ },
66
+ {
67
+ name: "spendingLimit",
68
+ isMut: true,
69
+ isSigner: false,
70
+ },
71
+ {
72
+ name: "futarchyAmmBaseVault",
73
+ isMut: true,
74
+ isSigner: false,
75
+ },
76
+ {
77
+ name: "futarchyAmmQuoteVault",
78
+ isMut: true,
79
+ isSigner: false,
80
+ },
81
+ {
82
+ name: "tokenProgram",
83
+ isMut: false,
84
+ isSigner: false,
85
+ },
86
+ {
87
+ name: "associatedTokenProgram",
88
+ isMut: false,
89
+ isSigner: false,
90
+ },
91
+ {
92
+ name: "eventAuthority",
93
+ isMut: false,
94
+ isSigner: false,
95
+ },
96
+ {
97
+ name: "program",
98
+ isMut: false,
99
+ isSigner: false,
100
+ },
101
+ ],
102
+ args: [
103
+ {
104
+ name: "params",
105
+ type: {
106
+ defined: "InitializeDaoParams",
107
+ },
108
+ },
109
+ ],
110
+ },
111
+ {
112
+ name: "initializeProposal",
113
+ accounts: [
114
+ {
115
+ name: "proposal",
116
+ isMut: true,
117
+ isSigner: false,
118
+ },
119
+ {
120
+ name: "squadsProposal",
121
+ isMut: false,
122
+ isSigner: false,
123
+ },
124
+ {
125
+ name: "dao",
126
+ isMut: true,
127
+ isSigner: false,
128
+ },
129
+ {
130
+ name: "question",
131
+ isMut: false,
132
+ isSigner: false,
133
+ },
134
+ {
135
+ name: "quoteVault",
136
+ isMut: false,
137
+ isSigner: false,
138
+ },
139
+ {
140
+ name: "baseVault",
141
+ isMut: false,
142
+ isSigner: false,
143
+ },
144
+ {
145
+ name: "proposer",
146
+ isMut: false,
147
+ isSigner: true,
148
+ },
149
+ {
150
+ name: "payer",
151
+ isMut: true,
152
+ isSigner: true,
153
+ },
154
+ {
155
+ name: "systemProgram",
156
+ isMut: false,
157
+ isSigner: false,
158
+ },
159
+ {
160
+ name: "eventAuthority",
161
+ isMut: false,
162
+ isSigner: false,
163
+ },
164
+ {
165
+ name: "program",
166
+ isMut: false,
167
+ isSigner: false,
168
+ },
169
+ ],
170
+ args: [],
171
+ },
172
+ {
173
+ name: "stakeToProposal",
174
+ accounts: [
175
+ {
176
+ name: "proposal",
177
+ isMut: true,
178
+ isSigner: false,
179
+ },
180
+ {
181
+ name: "dao",
182
+ isMut: true,
183
+ isSigner: false,
184
+ },
185
+ {
186
+ name: "stakerBaseAccount",
187
+ isMut: true,
188
+ isSigner: false,
189
+ },
190
+ {
191
+ name: "proposalBaseAccount",
192
+ isMut: true,
193
+ isSigner: false,
194
+ },
195
+ {
196
+ name: "stakeAccount",
197
+ isMut: true,
198
+ isSigner: false,
199
+ },
200
+ {
201
+ name: "staker",
202
+ isMut: false,
203
+ isSigner: true,
204
+ },
205
+ {
206
+ name: "payer",
207
+ isMut: true,
208
+ isSigner: true,
209
+ },
210
+ {
211
+ name: "tokenProgram",
212
+ isMut: false,
213
+ isSigner: false,
214
+ },
215
+ {
216
+ name: "associatedTokenProgram",
217
+ isMut: false,
218
+ isSigner: false,
219
+ },
220
+ {
221
+ name: "systemProgram",
222
+ isMut: false,
223
+ isSigner: false,
224
+ },
225
+ {
226
+ name: "eventAuthority",
227
+ isMut: false,
228
+ isSigner: false,
229
+ },
230
+ {
231
+ name: "program",
232
+ isMut: false,
233
+ isSigner: false,
234
+ },
235
+ ],
236
+ args: [
237
+ {
238
+ name: "params",
239
+ type: {
240
+ defined: "StakeToProposalParams",
241
+ },
242
+ },
243
+ ],
244
+ },
245
+ {
246
+ name: "unstakeFromProposal",
247
+ accounts: [
248
+ {
249
+ name: "proposal",
250
+ isMut: true,
251
+ isSigner: false,
252
+ },
253
+ {
254
+ name: "dao",
255
+ isMut: true,
256
+ isSigner: false,
257
+ },
258
+ {
259
+ name: "stakerBaseAccount",
260
+ isMut: true,
261
+ isSigner: false,
262
+ },
263
+ {
264
+ name: "proposalBaseAccount",
265
+ isMut: true,
266
+ isSigner: false,
267
+ },
268
+ {
269
+ name: "stakeAccount",
270
+ isMut: true,
271
+ isSigner: false,
272
+ },
273
+ {
274
+ name: "staker",
275
+ isMut: false,
276
+ isSigner: true,
277
+ },
278
+ {
279
+ name: "tokenProgram",
280
+ isMut: false,
281
+ isSigner: false,
282
+ },
283
+ {
284
+ name: "associatedTokenProgram",
285
+ isMut: false,
286
+ isSigner: false,
287
+ },
288
+ {
289
+ name: "eventAuthority",
290
+ isMut: false,
291
+ isSigner: false,
292
+ },
293
+ {
294
+ name: "program",
295
+ isMut: false,
296
+ isSigner: false,
297
+ },
298
+ ],
299
+ args: [
300
+ {
301
+ name: "params",
302
+ type: {
303
+ defined: "UnstakeFromProposalParams",
304
+ },
305
+ },
306
+ ],
307
+ },
308
+ {
309
+ name: "launchProposal",
310
+ accounts: [
311
+ {
312
+ name: "proposal",
313
+ isMut: true,
314
+ isSigner: false,
315
+ },
316
+ {
317
+ name: "baseVault",
318
+ isMut: false,
319
+ isSigner: false,
320
+ },
321
+ {
322
+ name: "quoteVault",
323
+ isMut: false,
324
+ isSigner: false,
325
+ },
326
+ {
327
+ name: "passBaseMint",
328
+ isMut: false,
329
+ isSigner: false,
330
+ },
331
+ {
332
+ name: "passQuoteMint",
333
+ isMut: false,
334
+ isSigner: false,
335
+ },
336
+ {
337
+ name: "failBaseMint",
338
+ isMut: false,
339
+ isSigner: false,
340
+ },
341
+ {
342
+ name: "failQuoteMint",
343
+ isMut: false,
344
+ isSigner: false,
345
+ },
346
+ {
347
+ name: "dao",
348
+ isMut: true,
349
+ isSigner: false,
350
+ },
351
+ {
352
+ name: "payer",
353
+ isMut: true,
354
+ isSigner: true,
355
+ },
356
+ {
357
+ name: "ammPassBaseVault",
358
+ isMut: true,
359
+ isSigner: false,
360
+ },
361
+ {
362
+ name: "ammPassQuoteVault",
363
+ isMut: true,
364
+ isSigner: false,
365
+ },
366
+ {
367
+ name: "ammFailBaseVault",
368
+ isMut: true,
369
+ isSigner: false,
370
+ },
371
+ {
372
+ name: "ammFailQuoteVault",
373
+ isMut: true,
374
+ isSigner: false,
375
+ },
376
+ {
377
+ name: "systemProgram",
378
+ isMut: false,
379
+ isSigner: false,
380
+ },
381
+ {
382
+ name: "tokenProgram",
383
+ isMut: false,
384
+ isSigner: false,
385
+ },
386
+ {
387
+ name: "associatedTokenProgram",
388
+ isMut: false,
389
+ isSigner: false,
390
+ },
391
+ {
392
+ name: "eventAuthority",
393
+ isMut: false,
394
+ isSigner: false,
395
+ },
396
+ {
397
+ name: "program",
398
+ isMut: false,
399
+ isSigner: false,
400
+ },
401
+ ],
402
+ args: [],
403
+ },
404
+ {
405
+ name: "finalizeProposal",
406
+ accounts: [
407
+ {
408
+ name: "proposal",
409
+ isMut: true,
410
+ isSigner: false,
411
+ },
412
+ {
413
+ name: "dao",
414
+ isMut: true,
415
+ isSigner: false,
416
+ },
417
+ {
418
+ name: "question",
419
+ isMut: true,
420
+ isSigner: false,
421
+ },
422
+ {
423
+ name: "squadsProposal",
424
+ isMut: true,
425
+ isSigner: false,
426
+ },
427
+ {
428
+ name: "squadsMultisig",
429
+ isMut: false,
430
+ isSigner: false,
431
+ },
432
+ {
433
+ name: "squadsMultisigProgram",
434
+ isMut: false,
435
+ isSigner: false,
436
+ },
437
+ {
438
+ name: "ammPassBaseVault",
439
+ isMut: true,
440
+ isSigner: false,
441
+ },
442
+ {
443
+ name: "ammPassQuoteVault",
444
+ isMut: true,
445
+ isSigner: false,
446
+ },
447
+ {
448
+ name: "ammFailBaseVault",
449
+ isMut: true,
450
+ isSigner: false,
451
+ },
452
+ {
453
+ name: "ammFailQuoteVault",
454
+ isMut: true,
455
+ isSigner: false,
456
+ },
457
+ {
458
+ name: "ammBaseVault",
459
+ isMut: true,
460
+ isSigner: false,
461
+ },
462
+ {
463
+ name: "ammQuoteVault",
464
+ isMut: true,
465
+ isSigner: false,
466
+ },
467
+ {
468
+ name: "vaultProgram",
469
+ isMut: false,
470
+ isSigner: false,
471
+ },
472
+ {
473
+ name: "vaultEventAuthority",
474
+ isMut: false,
475
+ isSigner: false,
476
+ },
477
+ {
478
+ name: "tokenProgram",
479
+ isMut: false,
480
+ isSigner: false,
481
+ },
482
+ {
483
+ name: "quoteVault",
484
+ isMut: true,
485
+ isSigner: false,
486
+ },
487
+ {
488
+ name: "quoteVaultUnderlyingTokenAccount",
489
+ isMut: true,
490
+ isSigner: false,
491
+ },
492
+ {
493
+ name: "passQuoteMint",
494
+ isMut: true,
495
+ isSigner: false,
496
+ },
497
+ {
498
+ name: "failQuoteMint",
499
+ isMut: true,
500
+ isSigner: false,
501
+ },
502
+ {
503
+ name: "passBaseMint",
504
+ isMut: true,
505
+ isSigner: false,
506
+ },
507
+ {
508
+ name: "failBaseMint",
509
+ isMut: true,
510
+ isSigner: false,
511
+ },
512
+ {
513
+ name: "baseVault",
514
+ isMut: true,
515
+ isSigner: false,
516
+ },
517
+ {
518
+ name: "baseVaultUnderlyingTokenAccount",
519
+ isMut: true,
520
+ isSigner: false,
521
+ },
522
+ {
523
+ name: "eventAuthority",
524
+ isMut: false,
525
+ isSigner: false,
526
+ },
527
+ {
528
+ name: "program",
529
+ isMut: false,
530
+ isSigner: false,
531
+ },
532
+ ],
533
+ args: [],
534
+ },
535
+ {
536
+ name: "updateDao",
537
+ accounts: [
538
+ {
539
+ name: "dao",
540
+ isMut: true,
541
+ isSigner: false,
542
+ },
543
+ {
544
+ name: "squadsMultisigVault",
545
+ isMut: false,
546
+ isSigner: true,
547
+ },
548
+ {
549
+ name: "eventAuthority",
550
+ isMut: false,
551
+ isSigner: false,
552
+ },
553
+ {
554
+ name: "program",
555
+ isMut: false,
556
+ isSigner: false,
557
+ },
558
+ ],
559
+ args: [
560
+ {
561
+ name: "daoParams",
562
+ type: {
563
+ defined: "UpdateDaoParams",
564
+ },
565
+ },
566
+ ],
567
+ },
568
+ {
569
+ name: "spotSwap",
570
+ accounts: [
571
+ {
572
+ name: "dao",
573
+ isMut: true,
574
+ isSigner: false,
575
+ },
576
+ {
577
+ name: "userBaseAccount",
578
+ isMut: true,
579
+ isSigner: false,
580
+ },
581
+ {
582
+ name: "userQuoteAccount",
583
+ isMut: true,
584
+ isSigner: false,
585
+ },
586
+ {
587
+ name: "ammBaseVault",
588
+ isMut: true,
589
+ isSigner: false,
590
+ },
591
+ {
592
+ name: "ammQuoteVault",
593
+ isMut: true,
594
+ isSigner: false,
595
+ },
596
+ {
597
+ name: "user",
598
+ isMut: false,
599
+ isSigner: true,
600
+ },
601
+ {
602
+ name: "tokenProgram",
603
+ isMut: false,
604
+ isSigner: false,
605
+ },
606
+ {
607
+ name: "eventAuthority",
608
+ isMut: false,
609
+ isSigner: false,
610
+ },
611
+ {
612
+ name: "program",
613
+ isMut: false,
614
+ isSigner: false,
615
+ },
616
+ ],
617
+ args: [
618
+ {
619
+ name: "params",
620
+ type: {
621
+ defined: "SpotSwapParams",
622
+ },
623
+ },
624
+ ],
625
+ },
626
+ {
627
+ name: "conditionalSwap",
628
+ accounts: [
629
+ {
630
+ name: "dao",
631
+ isMut: true,
632
+ isSigner: false,
633
+ },
634
+ {
635
+ name: "ammBaseVault",
636
+ isMut: true,
637
+ isSigner: false,
638
+ },
639
+ {
640
+ name: "ammQuoteVault",
641
+ isMut: true,
642
+ isSigner: false,
643
+ },
644
+ {
645
+ name: "proposal",
646
+ isMut: false,
647
+ isSigner: false,
648
+ },
649
+ {
650
+ name: "ammPassBaseVault",
651
+ isMut: true,
652
+ isSigner: false,
653
+ },
654
+ {
655
+ name: "ammPassQuoteVault",
656
+ isMut: true,
657
+ isSigner: false,
658
+ },
659
+ {
660
+ name: "ammFailBaseVault",
661
+ isMut: true,
662
+ isSigner: false,
663
+ },
664
+ {
665
+ name: "ammFailQuoteVault",
666
+ isMut: true,
667
+ isSigner: false,
668
+ },
669
+ {
670
+ name: "trader",
671
+ isMut: false,
672
+ isSigner: true,
673
+ },
674
+ {
675
+ name: "userInputAccount",
676
+ isMut: true,
677
+ isSigner: false,
678
+ },
679
+ {
680
+ name: "userOutputAccount",
681
+ isMut: true,
682
+ isSigner: false,
683
+ },
684
+ {
685
+ name: "baseVault",
686
+ isMut: true,
687
+ isSigner: false,
688
+ },
689
+ {
690
+ name: "baseVaultUnderlyingTokenAccount",
691
+ isMut: true,
692
+ isSigner: false,
693
+ },
694
+ {
695
+ name: "quoteVault",
696
+ isMut: true,
697
+ isSigner: false,
698
+ },
699
+ {
700
+ name: "quoteVaultUnderlyingTokenAccount",
701
+ isMut: true,
702
+ isSigner: false,
703
+ },
704
+ {
705
+ name: "passBaseMint",
706
+ isMut: true,
707
+ isSigner: false,
708
+ },
709
+ {
710
+ name: "failBaseMint",
711
+ isMut: true,
712
+ isSigner: false,
713
+ },
714
+ {
715
+ name: "passQuoteMint",
716
+ isMut: true,
717
+ isSigner: false,
718
+ },
719
+ {
720
+ name: "failQuoteMint",
721
+ isMut: true,
722
+ isSigner: false,
723
+ },
724
+ {
725
+ name: "conditionalVaultProgram",
726
+ isMut: false,
727
+ isSigner: false,
728
+ },
729
+ {
730
+ name: "vaultEventAuthority",
731
+ isMut: false,
732
+ isSigner: false,
733
+ },
734
+ {
735
+ name: "question",
736
+ isMut: false,
737
+ isSigner: false,
738
+ },
739
+ {
740
+ name: "tokenProgram",
741
+ isMut: false,
742
+ isSigner: false,
743
+ },
744
+ {
745
+ name: "eventAuthority",
746
+ isMut: false,
747
+ isSigner: false,
748
+ },
749
+ {
750
+ name: "program",
751
+ isMut: false,
752
+ isSigner: false,
753
+ },
754
+ ],
755
+ args: [
756
+ {
757
+ name: "params",
758
+ type: {
759
+ defined: "ConditionalSwapParams",
760
+ },
761
+ },
762
+ ],
763
+ },
764
+ {
765
+ name: "provideLiquidity",
766
+ accounts: [
767
+ {
768
+ name: "dao",
769
+ isMut: true,
770
+ isSigner: false,
771
+ },
772
+ {
773
+ name: "liquidityProvider",
774
+ isMut: false,
775
+ isSigner: true,
776
+ },
777
+ {
778
+ name: "liquidityProviderBaseAccount",
779
+ isMut: true,
780
+ isSigner: false,
781
+ },
782
+ {
783
+ name: "liquidityProviderQuoteAccount",
784
+ isMut: true,
785
+ isSigner: false,
786
+ },
787
+ {
788
+ name: "payer",
789
+ isMut: true,
790
+ isSigner: true,
791
+ },
792
+ {
793
+ name: "systemProgram",
794
+ isMut: false,
795
+ isSigner: false,
796
+ },
797
+ {
798
+ name: "ammBaseVault",
799
+ isMut: true,
800
+ isSigner: false,
801
+ },
802
+ {
803
+ name: "ammQuoteVault",
804
+ isMut: true,
805
+ isSigner: false,
806
+ },
807
+ {
808
+ name: "ammPosition",
809
+ isMut: true,
810
+ isSigner: false,
811
+ },
812
+ {
813
+ name: "tokenProgram",
814
+ isMut: false,
815
+ isSigner: false,
816
+ },
817
+ {
818
+ name: "eventAuthority",
819
+ isMut: false,
820
+ isSigner: false,
821
+ },
822
+ {
823
+ name: "program",
824
+ isMut: false,
825
+ isSigner: false,
826
+ },
827
+ ],
828
+ args: [
829
+ {
830
+ name: "params",
831
+ type: {
832
+ defined: "ProvideLiquidityParams",
833
+ },
834
+ },
835
+ ],
836
+ },
837
+ {
838
+ name: "withdrawLiquidity",
839
+ accounts: [
840
+ {
841
+ name: "dao",
842
+ isMut: true,
843
+ isSigner: false,
844
+ },
845
+ {
846
+ name: "positionAuthority",
847
+ isMut: false,
848
+ isSigner: true,
849
+ },
850
+ {
851
+ name: "liquidityProviderBaseAccount",
852
+ isMut: true,
853
+ isSigner: false,
854
+ },
855
+ {
856
+ name: "liquidityProviderQuoteAccount",
857
+ isMut: true,
858
+ isSigner: false,
859
+ },
860
+ {
861
+ name: "ammBaseVault",
862
+ isMut: true,
863
+ isSigner: false,
864
+ },
865
+ {
866
+ name: "ammQuoteVault",
867
+ isMut: true,
868
+ isSigner: false,
869
+ },
870
+ {
871
+ name: "ammPosition",
872
+ isMut: true,
873
+ isSigner: false,
874
+ },
875
+ {
876
+ name: "tokenProgram",
877
+ isMut: false,
878
+ isSigner: false,
879
+ },
880
+ {
881
+ name: "eventAuthority",
882
+ isMut: false,
883
+ isSigner: false,
884
+ },
885
+ {
886
+ name: "program",
887
+ isMut: false,
888
+ isSigner: false,
889
+ },
890
+ ],
891
+ args: [
892
+ {
893
+ name: "params",
894
+ type: {
895
+ defined: "WithdrawLiquidityParams",
896
+ },
897
+ },
898
+ ],
899
+ },
900
+ {
901
+ name: "collectFees",
902
+ accounts: [
903
+ {
904
+ name: "dao",
905
+ isMut: true,
906
+ isSigner: false,
907
+ },
908
+ {
909
+ name: "admin",
910
+ isMut: false,
911
+ isSigner: true,
912
+ },
913
+ {
914
+ name: "baseTokenAccount",
915
+ isMut: true,
916
+ isSigner: false,
917
+ },
918
+ {
919
+ name: "quoteTokenAccount",
920
+ isMut: true,
921
+ isSigner: false,
922
+ },
923
+ {
924
+ name: "ammBaseVault",
925
+ isMut: true,
926
+ isSigner: false,
927
+ },
928
+ {
929
+ name: "ammQuoteVault",
930
+ isMut: true,
931
+ isSigner: false,
932
+ },
933
+ {
934
+ name: "tokenProgram",
935
+ isMut: false,
936
+ isSigner: false,
937
+ },
938
+ {
939
+ name: "eventAuthority",
940
+ isMut: false,
941
+ isSigner: false,
942
+ },
943
+ {
944
+ name: "program",
945
+ isMut: false,
946
+ isSigner: false,
947
+ },
948
+ ],
949
+ args: [],
950
+ },
951
+ {
952
+ name: "executeSpendingLimitChange",
953
+ accounts: [
954
+ {
955
+ name: "proposal",
956
+ isMut: true,
957
+ isSigner: false,
958
+ },
959
+ {
960
+ name: "dao",
961
+ isMut: true,
962
+ isSigner: false,
963
+ },
964
+ {
965
+ name: "squadsProposal",
966
+ isMut: true,
967
+ isSigner: false,
968
+ },
969
+ {
970
+ name: "squadsMultisig",
971
+ isMut: false,
972
+ isSigner: false,
973
+ },
974
+ {
975
+ name: "squadsMultisigProgram",
976
+ isMut: false,
977
+ isSigner: false,
978
+ },
979
+ {
980
+ name: "vaultTransaction",
981
+ isMut: false,
982
+ isSigner: false,
983
+ },
984
+ {
985
+ name: "eventAuthority",
986
+ isMut: false,
987
+ isSigner: false,
988
+ },
989
+ {
990
+ name: "program",
991
+ isMut: false,
992
+ isSigner: false,
993
+ },
994
+ ],
995
+ args: [],
996
+ },
997
+ ],
998
+ accounts: [
999
+ {
1000
+ name: "ammPosition",
1001
+ type: {
1002
+ kind: "struct",
1003
+ fields: [
1004
+ {
1005
+ name: "dao",
1006
+ type: "publicKey",
1007
+ },
1008
+ {
1009
+ name: "positionAuthority",
1010
+ type: "publicKey",
1011
+ },
1012
+ {
1013
+ name: "liquidity",
1014
+ type: "u128",
1015
+ },
1016
+ ],
1017
+ },
1018
+ },
1019
+ {
1020
+ name: "dao",
1021
+ type: {
1022
+ kind: "struct",
1023
+ fields: [
1024
+ {
1025
+ name: "amm",
1026
+ docs: ["Embedded FutarchyAmm - 1:1 relationship"],
1027
+ type: {
1028
+ defined: "FutarchyAmm",
1029
+ },
1030
+ },
1031
+ {
1032
+ name: "nonce",
1033
+ docs: ["`nonce` + `dao_creator` are PDA seeds"],
1034
+ type: "u64",
1035
+ },
1036
+ {
1037
+ name: "daoCreator",
1038
+ type: "publicKey",
1039
+ },
1040
+ {
1041
+ name: "pdaBump",
1042
+ type: "u8",
1043
+ },
1044
+ {
1045
+ name: "squadsMultisig",
1046
+ type: "publicKey",
1047
+ },
1048
+ {
1049
+ name: "squadsMultisigVault",
1050
+ type: "publicKey",
1051
+ },
1052
+ {
1053
+ name: "baseMint",
1054
+ type: "publicKey",
1055
+ },
1056
+ {
1057
+ name: "quoteMint",
1058
+ type: "publicKey",
1059
+ },
1060
+ {
1061
+ name: "proposalCount",
1062
+ type: "u32",
1063
+ },
1064
+ {
1065
+ name: "passThresholdBps",
1066
+ type: "u16",
1067
+ },
1068
+ {
1069
+ name: "secondsPerProposal",
1070
+ type: "u32",
1071
+ },
1072
+ {
1073
+ name: "twapInitialObservation",
1074
+ docs: [
1075
+ "For manipulation-resistance the TWAP is a time-weighted average observation,",
1076
+ "where observation tries to approximate price but can only move by",
1077
+ "`twap_max_observation_change_per_update` per update. Because it can only move",
1078
+ "a little bit per update, you need to check that it has a good initial observation.",
1079
+ "Otherwise, an attacker could create a very high initial observation in the pass",
1080
+ "market and a very low one in the fail market to force the proposal to pass.",
1081
+ "",
1082
+ "We recommend setting an initial observation around the spot price of the token,",
1083
+ "and max observation change per update around 2% the spot price of the token.",
1084
+ "For example, if the spot price of META is $400, we'd recommend setting an initial",
1085
+ "observation of 400 (converted into the AMM prices) and a max observation change per",
1086
+ "update of 8 (also converted into the AMM prices). Observations can be updated once",
1087
+ "a minute, so 2% allows the proposal market to reach double the spot price or 0",
1088
+ "in 50 minutes.",
1089
+ ],
1090
+ type: "u128",
1091
+ },
1092
+ {
1093
+ name: "twapMaxObservationChangePerUpdate",
1094
+ type: "u128",
1095
+ },
1096
+ {
1097
+ name: "twapStartDelaySeconds",
1098
+ docs: [
1099
+ "Forces TWAP calculation to start after `twap_start_delay_seconds` seconds",
1100
+ ],
1101
+ type: "u32",
1102
+ },
1103
+ {
1104
+ name: "minQuoteFutarchicLiquidity",
1105
+ docs: [
1106
+ "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
1107
+ "in both futarchic markets in order to create a proposal.",
1108
+ "",
1109
+ "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
1110
+ "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
1111
+ "10 * 1_000_000_000 (10 META).",
1112
+ ],
1113
+ type: "u64",
1114
+ },
1115
+ {
1116
+ name: "minBaseFutarchicLiquidity",
1117
+ type: "u64",
1118
+ },
1119
+ {
1120
+ name: "baseToStake",
1121
+ docs: [
1122
+ "Minimum amount of base tokens that must be staked to launch a proposal",
1123
+ ],
1124
+ type: "u64",
1125
+ },
1126
+ {
1127
+ name: "seqNum",
1128
+ type: "u64",
1129
+ },
1130
+ {
1131
+ name: "initialSpendingLimit",
1132
+ type: {
1133
+ option: {
1134
+ defined: "InitialSpendingLimit",
1135
+ },
1136
+ },
1137
+ },
1138
+ ],
1139
+ },
1140
+ },
1141
+ {
1142
+ name: "proposal",
1143
+ type: {
1144
+ kind: "struct",
1145
+ fields: [
1146
+ {
1147
+ name: "number",
1148
+ type: "u32",
1149
+ },
1150
+ {
1151
+ name: "proposer",
1152
+ type: "publicKey",
1153
+ },
1154
+ {
1155
+ name: "timestampEnqueued",
1156
+ type: "i64",
1157
+ },
1158
+ {
1159
+ name: "state",
1160
+ type: {
1161
+ defined: "ProposalState",
1162
+ },
1163
+ },
1164
+ {
1165
+ name: "baseVault",
1166
+ type: "publicKey",
1167
+ },
1168
+ {
1169
+ name: "quoteVault",
1170
+ type: "publicKey",
1171
+ },
1172
+ {
1173
+ name: "dao",
1174
+ type: "publicKey",
1175
+ },
1176
+ {
1177
+ name: "pdaBump",
1178
+ type: "u8",
1179
+ },
1180
+ {
1181
+ name: "question",
1182
+ type: "publicKey",
1183
+ },
1184
+ {
1185
+ name: "durationInSeconds",
1186
+ type: "u32",
1187
+ },
1188
+ {
1189
+ name: "squadsProposal",
1190
+ type: "publicKey",
1191
+ },
1192
+ {
1193
+ name: "passBaseMint",
1194
+ type: "publicKey",
1195
+ },
1196
+ {
1197
+ name: "passQuoteMint",
1198
+ type: "publicKey",
1199
+ },
1200
+ {
1201
+ name: "failBaseMint",
1202
+ type: "publicKey",
1203
+ },
1204
+ {
1205
+ name: "failQuoteMint",
1206
+ type: "publicKey",
1207
+ },
1208
+ ],
1209
+ },
1210
+ },
1211
+ {
1212
+ name: "stakeAccount",
1213
+ type: {
1214
+ kind: "struct",
1215
+ fields: [
1216
+ {
1217
+ name: "proposal",
1218
+ type: "publicKey",
1219
+ },
1220
+ {
1221
+ name: "staker",
1222
+ type: "publicKey",
1223
+ },
1224
+ {
1225
+ name: "amount",
1226
+ type: "u64",
1227
+ },
1228
+ {
1229
+ name: "bump",
1230
+ type: "u8",
1231
+ },
1232
+ ],
1233
+ },
1234
+ },
1235
+ ],
1236
+ types: [
1237
+ {
1238
+ name: "CommonFields",
1239
+ type: {
1240
+ kind: "struct",
1241
+ fields: [
1242
+ {
1243
+ name: "slot",
1244
+ type: "u64",
1245
+ },
1246
+ {
1247
+ name: "unixTimestamp",
1248
+ type: "i64",
1249
+ },
1250
+ {
1251
+ name: "daoSeqNum",
1252
+ type: "u64",
1253
+ },
1254
+ ],
1255
+ },
1256
+ },
1257
+ {
1258
+ name: "ConditionalSwapParams",
1259
+ type: {
1260
+ kind: "struct",
1261
+ fields: [
1262
+ {
1263
+ name: "market",
1264
+ type: {
1265
+ defined: "Market",
1266
+ },
1267
+ },
1268
+ {
1269
+ name: "swapType",
1270
+ type: {
1271
+ defined: "SwapType",
1272
+ },
1273
+ },
1274
+ {
1275
+ name: "inputAmount",
1276
+ type: "u64",
1277
+ },
1278
+ {
1279
+ name: "minOutputAmount",
1280
+ type: "u64",
1281
+ },
1282
+ ],
1283
+ },
1284
+ },
1285
+ {
1286
+ name: "InitializeDaoParams",
1287
+ type: {
1288
+ kind: "struct",
1289
+ fields: [
1290
+ {
1291
+ name: "twapInitialObservation",
1292
+ type: "u128",
1293
+ },
1294
+ {
1295
+ name: "twapMaxObservationChangePerUpdate",
1296
+ type: "u128",
1297
+ },
1298
+ {
1299
+ name: "twapStartDelaySeconds",
1300
+ type: "u32",
1301
+ },
1302
+ {
1303
+ name: "minQuoteFutarchicLiquidity",
1304
+ type: "u64",
1305
+ },
1306
+ {
1307
+ name: "minBaseFutarchicLiquidity",
1308
+ type: "u64",
1309
+ },
1310
+ {
1311
+ name: "baseToStake",
1312
+ type: "u64",
1313
+ },
1314
+ {
1315
+ name: "passThresholdBps",
1316
+ type: "u16",
1317
+ },
1318
+ {
1319
+ name: "secondsPerProposal",
1320
+ type: "u32",
1321
+ },
1322
+ {
1323
+ name: "nonce",
1324
+ type: "u64",
1325
+ },
1326
+ {
1327
+ name: "initialSpendingLimit",
1328
+ type: {
1329
+ option: {
1330
+ defined: "InitialSpendingLimit",
1331
+ },
1332
+ },
1333
+ },
1334
+ ],
1335
+ },
1336
+ },
1337
+ {
1338
+ name: "ProvideLiquidityParams",
1339
+ type: {
1340
+ kind: "struct",
1341
+ fields: [
1342
+ {
1343
+ name: "quoteAmount",
1344
+ docs: ["How much quote token you will deposit to the pool"],
1345
+ type: "u64",
1346
+ },
1347
+ {
1348
+ name: "maxBaseAmount",
1349
+ docs: ["The maximum base token you will deposit to the pool"],
1350
+ type: "u64",
1351
+ },
1352
+ {
1353
+ name: "minLiquidity",
1354
+ docs: ["The minimum liquidity you will be assigned"],
1355
+ type: "u128",
1356
+ },
1357
+ {
1358
+ name: "positionAuthority",
1359
+ docs: [
1360
+ "The account that will own the LP position, usually the same as the",
1361
+ "liquidity provider",
1362
+ ],
1363
+ type: "publicKey",
1364
+ },
1365
+ ],
1366
+ },
1367
+ },
1368
+ {
1369
+ name: "SpotSwapParams",
1370
+ type: {
1371
+ kind: "struct",
1372
+ fields: [
1373
+ {
1374
+ name: "inputAmount",
1375
+ type: "u64",
1376
+ },
1377
+ {
1378
+ name: "swapType",
1379
+ type: {
1380
+ defined: "SwapType",
1381
+ },
1382
+ },
1383
+ {
1384
+ name: "minOutputAmount",
1385
+ type: "u64",
1386
+ },
1387
+ ],
1388
+ },
1389
+ },
1390
+ {
1391
+ name: "StakeToProposalParams",
1392
+ type: {
1393
+ kind: "struct",
1394
+ fields: [
1395
+ {
1396
+ name: "amount",
1397
+ type: "u64",
1398
+ },
1399
+ ],
1400
+ },
1401
+ },
1402
+ {
1403
+ name: "UnstakeFromProposalParams",
1404
+ type: {
1405
+ kind: "struct",
1406
+ fields: [
1407
+ {
1408
+ name: "amount",
1409
+ type: "u64",
1410
+ },
1411
+ ],
1412
+ },
1413
+ },
1414
+ {
1415
+ name: "UpdateDaoParams",
1416
+ type: {
1417
+ kind: "struct",
1418
+ fields: [
1419
+ {
1420
+ name: "passThresholdBps",
1421
+ type: {
1422
+ option: "u16",
1423
+ },
1424
+ },
1425
+ {
1426
+ name: "secondsPerProposal",
1427
+ type: {
1428
+ option: "u32",
1429
+ },
1430
+ },
1431
+ {
1432
+ name: "twapInitialObservation",
1433
+ type: {
1434
+ option: "u128",
1435
+ },
1436
+ },
1437
+ {
1438
+ name: "twapMaxObservationChangePerUpdate",
1439
+ type: {
1440
+ option: "u128",
1441
+ },
1442
+ },
1443
+ {
1444
+ name: "minQuoteFutarchicLiquidity",
1445
+ type: {
1446
+ option: "u64",
1447
+ },
1448
+ },
1449
+ {
1450
+ name: "minBaseFutarchicLiquidity",
1451
+ type: {
1452
+ option: "u64",
1453
+ },
1454
+ },
1455
+ {
1456
+ name: "baseToStake",
1457
+ type: {
1458
+ option: "u64",
1459
+ },
1460
+ },
1461
+ ],
1462
+ },
1463
+ },
1464
+ {
1465
+ name: "WithdrawLiquidityParams",
1466
+ type: {
1467
+ kind: "struct",
1468
+ fields: [
1469
+ {
1470
+ name: "liquidityToWithdraw",
1471
+ docs: ["How much liquidity to withdraw"],
1472
+ type: "u128",
1473
+ },
1474
+ {
1475
+ name: "minBaseAmount",
1476
+ docs: ["Minimum base tokens to receive"],
1477
+ type: "u64",
1478
+ },
1479
+ {
1480
+ name: "minQuoteAmount",
1481
+ docs: ["Minimum quote tokens to receive"],
1482
+ type: "u64",
1483
+ },
1484
+ ],
1485
+ },
1486
+ },
1487
+ {
1488
+ name: "InitialSpendingLimit",
1489
+ type: {
1490
+ kind: "struct",
1491
+ fields: [
1492
+ {
1493
+ name: "amountPerMonth",
1494
+ type: "u64",
1495
+ },
1496
+ {
1497
+ name: "members",
1498
+ type: {
1499
+ vec: "publicKey",
1500
+ },
1501
+ },
1502
+ ],
1503
+ },
1504
+ },
1505
+ {
1506
+ name: "FutarchyAmm",
1507
+ type: {
1508
+ kind: "struct",
1509
+ fields: [
1510
+ {
1511
+ name: "state",
1512
+ type: {
1513
+ defined: "PoolState",
1514
+ },
1515
+ },
1516
+ {
1517
+ name: "totalLiquidity",
1518
+ type: "u128",
1519
+ },
1520
+ {
1521
+ name: "baseMint",
1522
+ type: "publicKey",
1523
+ },
1524
+ {
1525
+ name: "quoteMint",
1526
+ type: "publicKey",
1527
+ },
1528
+ {
1529
+ name: "ammBaseVault",
1530
+ type: "publicKey",
1531
+ },
1532
+ {
1533
+ name: "ammQuoteVault",
1534
+ type: "publicKey",
1535
+ },
1536
+ ],
1537
+ },
1538
+ },
1539
+ {
1540
+ name: "TwapOracle",
1541
+ type: {
1542
+ kind: "struct",
1543
+ fields: [
1544
+ {
1545
+ name: "aggregator",
1546
+ docs: [
1547
+ "Running sum of slots_per_last_update * last_observation.",
1548
+ "",
1549
+ "Assuming latest observations are as big as possible (u64::MAX * 1e12),",
1550
+ "we can store 18 million slots worth of observations, which turns out to",
1551
+ "be ~85 days worth of slots.",
1552
+ "",
1553
+ "Assuming that latest observations are 100x smaller than they could theoretically",
1554
+ "be, we can store 8500 days (23 years) worth of them. Even this is a very",
1555
+ "very conservative assumption - META/USDC prices should be between 1e9 and",
1556
+ "1e15, which would overflow after 1e15 years worth of slots.",
1557
+ "",
1558
+ "So in the case of an overflow, the aggregator rolls back to 0. It's the",
1559
+ "client's responsibility to sanity check the assets or to handle an",
1560
+ "aggregator at T2 being smaller than an aggregator at T1.",
1561
+ ],
1562
+ type: "u128",
1563
+ },
1564
+ {
1565
+ name: "lastUpdatedTimestamp",
1566
+ type: "i64",
1567
+ },
1568
+ {
1569
+ name: "createdAtTimestamp",
1570
+ type: "i64",
1571
+ },
1572
+ {
1573
+ name: "lastPrice",
1574
+ docs: [
1575
+ "A price is the number of quote units per base unit multiplied by 1e12.",
1576
+ "You cannot simply divide by 1e12 to get a price you can display in the UI",
1577
+ "because the base and quote decimals may be different. Instead, do:",
1578
+ "ui_price = (price * (10**(base_decimals - quote_decimals))) / 1e12",
1579
+ ],
1580
+ type: "u128",
1581
+ },
1582
+ {
1583
+ name: "lastObservation",
1584
+ docs: [
1585
+ "If we did a raw TWAP over prices, someone could push the TWAP heavily with",
1586
+ "a few extremely large outliers. So we use observations, which can only move",
1587
+ "by `max_observation_change_per_update` per update.",
1588
+ ],
1589
+ type: "u128",
1590
+ },
1591
+ {
1592
+ name: "maxObservationChangePerUpdate",
1593
+ docs: ["The most that an observation can change per update."],
1594
+ type: "u128",
1595
+ },
1596
+ {
1597
+ name: "initialObservation",
1598
+ docs: ["What the initial `latest_observation` is set to."],
1599
+ type: "u128",
1600
+ },
1601
+ {
1602
+ name: "startDelaySeconds",
1603
+ docs: [
1604
+ "Number of seconds after amm.created_at_slot to start recording TWAP",
1605
+ ],
1606
+ type: "u32",
1607
+ },
1608
+ ],
1609
+ },
1610
+ },
1611
+ {
1612
+ name: "Pool",
1613
+ type: {
1614
+ kind: "struct",
1615
+ fields: [
1616
+ {
1617
+ name: "oracle",
1618
+ type: {
1619
+ defined: "TwapOracle",
1620
+ },
1621
+ },
1622
+ {
1623
+ name: "quoteReserves",
1624
+ type: "u64",
1625
+ },
1626
+ {
1627
+ name: "baseReserves",
1628
+ type: "u64",
1629
+ },
1630
+ {
1631
+ name: "quoteProtocolFeeBalance",
1632
+ type: "u64",
1633
+ },
1634
+ {
1635
+ name: "baseProtocolFeeBalance",
1636
+ type: "u64",
1637
+ },
1638
+ ],
1639
+ },
1640
+ },
1641
+ {
1642
+ name: "PoolState",
1643
+ type: {
1644
+ kind: "enum",
1645
+ variants: [
1646
+ {
1647
+ name: "Spot",
1648
+ fields: [
1649
+ {
1650
+ name: "spot",
1651
+ type: {
1652
+ defined: "Pool",
1653
+ },
1654
+ },
1655
+ ],
1656
+ },
1657
+ {
1658
+ name: "Futarchy",
1659
+ fields: [
1660
+ {
1661
+ name: "spot",
1662
+ type: {
1663
+ defined: "Pool",
1664
+ },
1665
+ },
1666
+ {
1667
+ name: "pass",
1668
+ type: {
1669
+ defined: "Pool",
1670
+ },
1671
+ },
1672
+ {
1673
+ name: "fail",
1674
+ type: {
1675
+ defined: "Pool",
1676
+ },
1677
+ },
1678
+ ],
1679
+ },
1680
+ ],
1681
+ },
1682
+ },
1683
+ {
1684
+ name: "Market",
1685
+ type: {
1686
+ kind: "enum",
1687
+ variants: [
1688
+ {
1689
+ name: "Spot",
1690
+ },
1691
+ {
1692
+ name: "Pass",
1693
+ },
1694
+ {
1695
+ name: "Fail",
1696
+ },
1697
+ ],
1698
+ },
1699
+ },
1700
+ {
1701
+ name: "SwapType",
1702
+ type: {
1703
+ kind: "enum",
1704
+ variants: [
1705
+ {
1706
+ name: "Buy",
1707
+ },
1708
+ {
1709
+ name: "Sell",
1710
+ },
1711
+ ],
1712
+ },
1713
+ },
1714
+ {
1715
+ name: "Token",
1716
+ type: {
1717
+ kind: "enum",
1718
+ variants: [
1719
+ {
1720
+ name: "Base",
1721
+ },
1722
+ {
1723
+ name: "Quote",
1724
+ },
1725
+ ],
1726
+ },
1727
+ },
1728
+ {
1729
+ name: "ProposalState",
1730
+ type: {
1731
+ kind: "enum",
1732
+ variants: [
1733
+ {
1734
+ name: "Draft",
1735
+ fields: [
1736
+ {
1737
+ name: "amountStaked",
1738
+ type: "u64",
1739
+ },
1740
+ ],
1741
+ },
1742
+ {
1743
+ name: "Pending",
1744
+ },
1745
+ {
1746
+ name: "Passed",
1747
+ },
1748
+ {
1749
+ name: "Failed",
1750
+ },
1751
+ ],
1752
+ },
1753
+ },
1754
+ ],
1755
+ events: [
1756
+ {
1757
+ name: "CollectFeesEvent",
1758
+ fields: [
1759
+ {
1760
+ name: "common",
1761
+ type: {
1762
+ defined: "CommonFields",
1763
+ },
1764
+ index: false,
1765
+ },
1766
+ {
1767
+ name: "dao",
1768
+ type: "publicKey",
1769
+ index: false,
1770
+ },
1771
+ {
1772
+ name: "baseTokenAccount",
1773
+ type: "publicKey",
1774
+ index: false,
1775
+ },
1776
+ {
1777
+ name: "quoteTokenAccount",
1778
+ type: "publicKey",
1779
+ index: false,
1780
+ },
1781
+ {
1782
+ name: "ammBaseVault",
1783
+ type: "publicKey",
1784
+ index: false,
1785
+ },
1786
+ {
1787
+ name: "ammQuoteVault",
1788
+ type: "publicKey",
1789
+ index: false,
1790
+ },
1791
+ {
1792
+ name: "quoteMint",
1793
+ type: "publicKey",
1794
+ index: false,
1795
+ },
1796
+ {
1797
+ name: "baseMint",
1798
+ type: "publicKey",
1799
+ index: false,
1800
+ },
1801
+ {
1802
+ name: "quoteFeesCollected",
1803
+ type: "u64",
1804
+ index: false,
1805
+ },
1806
+ {
1807
+ name: "baseFeesCollected",
1808
+ type: "u64",
1809
+ index: false,
1810
+ },
1811
+ {
1812
+ name: "postAmmState",
1813
+ type: {
1814
+ defined: "FutarchyAmm",
1815
+ },
1816
+ index: false,
1817
+ },
1818
+ ],
1819
+ },
1820
+ {
1821
+ name: "InitializeDaoEvent",
1822
+ fields: [
1823
+ {
1824
+ name: "common",
1825
+ type: {
1826
+ defined: "CommonFields",
1827
+ },
1828
+ index: false,
1829
+ },
1830
+ {
1831
+ name: "dao",
1832
+ type: "publicKey",
1833
+ index: false,
1834
+ },
1835
+ {
1836
+ name: "baseMint",
1837
+ type: "publicKey",
1838
+ index: false,
1839
+ },
1840
+ {
1841
+ name: "quoteMint",
1842
+ type: "publicKey",
1843
+ index: false,
1844
+ },
1845
+ {
1846
+ name: "passThresholdBps",
1847
+ type: "u16",
1848
+ index: false,
1849
+ },
1850
+ {
1851
+ name: "secondsPerProposal",
1852
+ type: "u32",
1853
+ index: false,
1854
+ },
1855
+ {
1856
+ name: "twapInitialObservation",
1857
+ type: "u128",
1858
+ index: false,
1859
+ },
1860
+ {
1861
+ name: "twapMaxObservationChangePerUpdate",
1862
+ type: "u128",
1863
+ index: false,
1864
+ },
1865
+ {
1866
+ name: "minQuoteFutarchicLiquidity",
1867
+ type: "u64",
1868
+ index: false,
1869
+ },
1870
+ {
1871
+ name: "minBaseFutarchicLiquidity",
1872
+ type: "u64",
1873
+ index: false,
1874
+ },
1875
+ {
1876
+ name: "baseToStake",
1877
+ type: "u64",
1878
+ index: false,
1879
+ },
1880
+ {
1881
+ name: "initialSpendingLimit",
1882
+ type: {
1883
+ option: {
1884
+ defined: "InitialSpendingLimit",
1885
+ },
1886
+ },
1887
+ index: false,
1888
+ },
1889
+ {
1890
+ name: "squadsMultisig",
1891
+ type: "publicKey",
1892
+ index: false,
1893
+ },
1894
+ {
1895
+ name: "squadsMultisigVault",
1896
+ type: "publicKey",
1897
+ index: false,
1898
+ },
1899
+ ],
1900
+ },
1901
+ {
1902
+ name: "UpdateDaoEvent",
1903
+ fields: [
1904
+ {
1905
+ name: "common",
1906
+ type: {
1907
+ defined: "CommonFields",
1908
+ },
1909
+ index: false,
1910
+ },
1911
+ {
1912
+ name: "dao",
1913
+ type: "publicKey",
1914
+ index: false,
1915
+ },
1916
+ {
1917
+ name: "passThresholdBps",
1918
+ type: "u16",
1919
+ index: false,
1920
+ },
1921
+ {
1922
+ name: "secondsPerProposal",
1923
+ type: "u32",
1924
+ index: false,
1925
+ },
1926
+ {
1927
+ name: "twapInitialObservation",
1928
+ type: "u128",
1929
+ index: false,
1930
+ },
1931
+ {
1932
+ name: "twapMaxObservationChangePerUpdate",
1933
+ type: "u128",
1934
+ index: false,
1935
+ },
1936
+ {
1937
+ name: "minQuoteFutarchicLiquidity",
1938
+ type: "u64",
1939
+ index: false,
1940
+ },
1941
+ {
1942
+ name: "minBaseFutarchicLiquidity",
1943
+ type: "u64",
1944
+ index: false,
1945
+ },
1946
+ {
1947
+ name: "baseToStake",
1948
+ type: "u64",
1949
+ index: false,
1950
+ },
1951
+ ],
1952
+ },
1953
+ {
1954
+ name: "InitializeProposalEvent",
1955
+ fields: [
1956
+ {
1957
+ name: "common",
1958
+ type: {
1959
+ defined: "CommonFields",
1960
+ },
1961
+ index: false,
1962
+ },
1963
+ {
1964
+ name: "proposal",
1965
+ type: "publicKey",
1966
+ index: false,
1967
+ },
1968
+ {
1969
+ name: "dao",
1970
+ type: "publicKey",
1971
+ index: false,
1972
+ },
1973
+ {
1974
+ name: "question",
1975
+ type: "publicKey",
1976
+ index: false,
1977
+ },
1978
+ {
1979
+ name: "quoteVault",
1980
+ type: "publicKey",
1981
+ index: false,
1982
+ },
1983
+ {
1984
+ name: "baseVault",
1985
+ type: "publicKey",
1986
+ index: false,
1987
+ },
1988
+ {
1989
+ name: "proposer",
1990
+ type: "publicKey",
1991
+ index: false,
1992
+ },
1993
+ {
1994
+ name: "number",
1995
+ type: "u32",
1996
+ index: false,
1997
+ },
1998
+ {
1999
+ name: "pdaBump",
2000
+ type: "u8",
2001
+ index: false,
2002
+ },
2003
+ {
2004
+ name: "durationInSeconds",
2005
+ type: "u32",
2006
+ index: false,
2007
+ },
2008
+ {
2009
+ name: "squadsProposal",
2010
+ type: "publicKey",
2011
+ index: false,
2012
+ },
2013
+ {
2014
+ name: "squadsMultisig",
2015
+ type: "publicKey",
2016
+ index: false,
2017
+ },
2018
+ {
2019
+ name: "squadsMultisigVault",
2020
+ type: "publicKey",
2021
+ index: false,
2022
+ },
2023
+ ],
2024
+ },
2025
+ {
2026
+ name: "StakeToProposalEvent",
2027
+ fields: [
2028
+ {
2029
+ name: "common",
2030
+ type: {
2031
+ defined: "CommonFields",
2032
+ },
2033
+ index: false,
2034
+ },
2035
+ {
2036
+ name: "proposal",
2037
+ type: "publicKey",
2038
+ index: false,
2039
+ },
2040
+ {
2041
+ name: "staker",
2042
+ type: "publicKey",
2043
+ index: false,
2044
+ },
2045
+ {
2046
+ name: "amount",
2047
+ type: "u64",
2048
+ index: false,
2049
+ },
2050
+ {
2051
+ name: "totalStaked",
2052
+ type: "u64",
2053
+ index: false,
2054
+ },
2055
+ ],
2056
+ },
2057
+ {
2058
+ name: "UnstakeFromProposalEvent",
2059
+ fields: [
2060
+ {
2061
+ name: "common",
2062
+ type: {
2063
+ defined: "CommonFields",
2064
+ },
2065
+ index: false,
2066
+ },
2067
+ {
2068
+ name: "proposal",
2069
+ type: "publicKey",
2070
+ index: false,
2071
+ },
2072
+ {
2073
+ name: "staker",
2074
+ type: "publicKey",
2075
+ index: false,
2076
+ },
2077
+ {
2078
+ name: "amount",
2079
+ type: "u64",
2080
+ index: false,
2081
+ },
2082
+ {
2083
+ name: "totalStaked",
2084
+ type: "u64",
2085
+ index: false,
2086
+ },
2087
+ ],
2088
+ },
2089
+ {
2090
+ name: "LaunchProposalEvent",
2091
+ fields: [
2092
+ {
2093
+ name: "common",
2094
+ type: {
2095
+ defined: "CommonFields",
2096
+ },
2097
+ index: false,
2098
+ },
2099
+ {
2100
+ name: "proposal",
2101
+ type: "publicKey",
2102
+ index: false,
2103
+ },
2104
+ {
2105
+ name: "dao",
2106
+ type: "publicKey",
2107
+ index: false,
2108
+ },
2109
+ {
2110
+ name: "totalStaked",
2111
+ type: "u64",
2112
+ index: false,
2113
+ },
2114
+ {
2115
+ name: "postAmmState",
2116
+ type: {
2117
+ defined: "FutarchyAmm",
2118
+ },
2119
+ index: false,
2120
+ },
2121
+ ],
2122
+ },
2123
+ {
2124
+ name: "FinalizeProposalEvent",
2125
+ fields: [
2126
+ {
2127
+ name: "common",
2128
+ type: {
2129
+ defined: "CommonFields",
2130
+ },
2131
+ index: false,
2132
+ },
2133
+ {
2134
+ name: "proposal",
2135
+ type: "publicKey",
2136
+ index: false,
2137
+ },
2138
+ {
2139
+ name: "dao",
2140
+ type: "publicKey",
2141
+ index: false,
2142
+ },
2143
+ {
2144
+ name: "passMarketTwap",
2145
+ type: "u128",
2146
+ index: false,
2147
+ },
2148
+ {
2149
+ name: "failMarketTwap",
2150
+ type: "u128",
2151
+ index: false,
2152
+ },
2153
+ {
2154
+ name: "threshold",
2155
+ type: "u128",
2156
+ index: false,
2157
+ },
2158
+ {
2159
+ name: "state",
2160
+ type: {
2161
+ defined: "ProposalState",
2162
+ },
2163
+ index: false,
2164
+ },
2165
+ {
2166
+ name: "squadsProposal",
2167
+ type: "publicKey",
2168
+ index: false,
2169
+ },
2170
+ {
2171
+ name: "squadsMultisig",
2172
+ type: "publicKey",
2173
+ index: false,
2174
+ },
2175
+ {
2176
+ name: "postAmmState",
2177
+ type: {
2178
+ defined: "FutarchyAmm",
2179
+ },
2180
+ index: false,
2181
+ },
2182
+ ],
2183
+ },
2184
+ {
2185
+ name: "SpotSwapEvent",
2186
+ fields: [
2187
+ {
2188
+ name: "common",
2189
+ type: {
2190
+ defined: "CommonFields",
2191
+ },
2192
+ index: false,
2193
+ },
2194
+ {
2195
+ name: "dao",
2196
+ type: "publicKey",
2197
+ index: false,
2198
+ },
2199
+ {
2200
+ name: "user",
2201
+ type: "publicKey",
2202
+ index: false,
2203
+ },
2204
+ {
2205
+ name: "swapType",
2206
+ type: {
2207
+ defined: "SwapType",
2208
+ },
2209
+ index: false,
2210
+ },
2211
+ {
2212
+ name: "inputAmount",
2213
+ type: "u64",
2214
+ index: false,
2215
+ },
2216
+ {
2217
+ name: "outputAmount",
2218
+ type: "u64",
2219
+ index: false,
2220
+ },
2221
+ {
2222
+ name: "minOutputAmount",
2223
+ type: "u64",
2224
+ index: false,
2225
+ },
2226
+ {
2227
+ name: "postAmmState",
2228
+ type: {
2229
+ defined: "FutarchyAmm",
2230
+ },
2231
+ index: false,
2232
+ },
2233
+ ],
2234
+ },
2235
+ {
2236
+ name: "ConditionalSwapEvent",
2237
+ fields: [
2238
+ {
2239
+ name: "common",
2240
+ type: {
2241
+ defined: "CommonFields",
2242
+ },
2243
+ index: false,
2244
+ },
2245
+ {
2246
+ name: "dao",
2247
+ type: "publicKey",
2248
+ index: false,
2249
+ },
2250
+ {
2251
+ name: "proposal",
2252
+ type: "publicKey",
2253
+ index: false,
2254
+ },
2255
+ {
2256
+ name: "trader",
2257
+ type: "publicKey",
2258
+ index: false,
2259
+ },
2260
+ {
2261
+ name: "market",
2262
+ type: {
2263
+ defined: "Market",
2264
+ },
2265
+ index: false,
2266
+ },
2267
+ {
2268
+ name: "swapType",
2269
+ type: {
2270
+ defined: "SwapType",
2271
+ },
2272
+ index: false,
2273
+ },
2274
+ {
2275
+ name: "inputAmount",
2276
+ type: "u64",
2277
+ index: false,
2278
+ },
2279
+ {
2280
+ name: "outputAmount",
2281
+ type: "u64",
2282
+ index: false,
2283
+ },
2284
+ {
2285
+ name: "minOutputAmount",
2286
+ type: "u64",
2287
+ index: false,
2288
+ },
2289
+ {
2290
+ name: "postAmmState",
2291
+ type: {
2292
+ defined: "FutarchyAmm",
2293
+ },
2294
+ index: false,
2295
+ },
2296
+ ],
2297
+ },
2298
+ {
2299
+ name: "ProvideLiquidityEvent",
2300
+ fields: [
2301
+ {
2302
+ name: "common",
2303
+ type: {
2304
+ defined: "CommonFields",
2305
+ },
2306
+ index: false,
2307
+ },
2308
+ {
2309
+ name: "dao",
2310
+ type: "publicKey",
2311
+ index: false,
2312
+ },
2313
+ {
2314
+ name: "liquidityProvider",
2315
+ type: "publicKey",
2316
+ index: false,
2317
+ },
2318
+ {
2319
+ name: "positionAuthority",
2320
+ type: "publicKey",
2321
+ index: false,
2322
+ },
2323
+ {
2324
+ name: "quoteAmount",
2325
+ type: "u64",
2326
+ index: false,
2327
+ },
2328
+ {
2329
+ name: "baseAmount",
2330
+ type: "u64",
2331
+ index: false,
2332
+ },
2333
+ {
2334
+ name: "liquidityMinted",
2335
+ type: "u128",
2336
+ index: false,
2337
+ },
2338
+ {
2339
+ name: "minLiquidity",
2340
+ type: "u128",
2341
+ index: false,
2342
+ },
2343
+ {
2344
+ name: "postAmmState",
2345
+ type: {
2346
+ defined: "FutarchyAmm",
2347
+ },
2348
+ index: false,
2349
+ },
2350
+ ],
2351
+ },
2352
+ {
2353
+ name: "WithdrawLiquidityEvent",
2354
+ fields: [
2355
+ {
2356
+ name: "common",
2357
+ type: {
2358
+ defined: "CommonFields",
2359
+ },
2360
+ index: false,
2361
+ },
2362
+ {
2363
+ name: "dao",
2364
+ type: "publicKey",
2365
+ index: false,
2366
+ },
2367
+ {
2368
+ name: "liquidityProvider",
2369
+ type: "publicKey",
2370
+ index: false,
2371
+ },
2372
+ {
2373
+ name: "liquidityWithdrawn",
2374
+ type: "u128",
2375
+ index: false,
2376
+ },
2377
+ {
2378
+ name: "minBaseAmount",
2379
+ type: "u64",
2380
+ index: false,
2381
+ },
2382
+ {
2383
+ name: "minQuoteAmount",
2384
+ type: "u64",
2385
+ index: false,
2386
+ },
2387
+ {
2388
+ name: "baseAmount",
2389
+ type: "u64",
2390
+ index: false,
2391
+ },
2392
+ {
2393
+ name: "quoteAmount",
2394
+ type: "u64",
2395
+ index: false,
2396
+ },
2397
+ {
2398
+ name: "postAmmState",
2399
+ type: {
2400
+ defined: "FutarchyAmm",
2401
+ },
2402
+ index: false,
2403
+ },
2404
+ ],
2405
+ },
2406
+ ],
2407
+ errors: [
2408
+ {
2409
+ code: 6000,
2410
+ name: "AmmTooOld",
2411
+ msg: "Amms must have been created within 5 minutes (counted in slots) of proposal initialization",
2412
+ },
2413
+ {
2414
+ code: 6001,
2415
+ name: "InvalidInitialObservation",
2416
+ msg: "An amm has an `initial_observation` that doesn't match the `dao`'s config",
2417
+ },
2418
+ {
2419
+ code: 6002,
2420
+ name: "InvalidMaxObservationChange",
2421
+ msg: "An amm has a `max_observation_change_per_update` that doesn't match the `dao`'s config",
2422
+ },
2423
+ {
2424
+ code: 6003,
2425
+ name: "InvalidStartDelaySlots",
2426
+ msg: "An amm has a `start_delay_slots` that doesn't match the `dao`'s config",
2427
+ },
2428
+ {
2429
+ code: 6004,
2430
+ name: "InvalidSettlementAuthority",
2431
+ msg: "One of the vaults has an invalid `settlement_authority`",
2432
+ },
2433
+ {
2434
+ code: 6005,
2435
+ name: "ProposalTooYoung",
2436
+ msg: "Proposal is too young to be executed or rejected",
2437
+ },
2438
+ {
2439
+ code: 6006,
2440
+ name: "MarketsTooYoung",
2441
+ msg: "Markets too young for proposal to be finalized. TWAP might need to be cranked",
2442
+ },
2443
+ {
2444
+ code: 6007,
2445
+ name: "ProposalAlreadyFinalized",
2446
+ msg: "This proposal has already been finalized",
2447
+ },
2448
+ {
2449
+ code: 6008,
2450
+ name: "InvalidVaultNonce",
2451
+ msg: "A conditional vault has an invalid nonce. A nonce should encode the proposal number",
2452
+ },
2453
+ {
2454
+ code: 6009,
2455
+ name: "ProposalNotPassed",
2456
+ msg: "This proposal can't be executed because it isn't in the passed state",
2457
+ },
2458
+ {
2459
+ code: 6010,
2460
+ name: "InsufficientLiquidity",
2461
+ msg: "More liquidity needs to be in the AMM to launch this proposal",
2462
+ },
2463
+ {
2464
+ code: 6011,
2465
+ name: "ProposalDurationTooShort",
2466
+ msg: "Proposal duration must be longer 1 day and longer than 2 times the TWAP start delay",
2467
+ },
2468
+ {
2469
+ code: 6012,
2470
+ name: "PassThresholdTooHigh",
2471
+ msg: "Pass threshold must be less than 10%",
2472
+ },
2473
+ {
2474
+ code: 6013,
2475
+ name: "QuestionMustBeBinary",
2476
+ msg: "Question must have exactly 2 outcomes for binary futarchy",
2477
+ },
2478
+ {
2479
+ code: 6014,
2480
+ name: "InvalidSquadsProposalStatus",
2481
+ msg: "Squads proposal must be in Draft status",
2482
+ },
2483
+ {
2484
+ code: 6015,
2485
+ name: "CastingOverflow",
2486
+ msg: "Casting overflow. If you're seeing this, please report this",
2487
+ },
2488
+ {
2489
+ code: 6016,
2490
+ name: "InsufficientBalance",
2491
+ msg: "Insufficient balance",
2492
+ },
2493
+ {
2494
+ code: 6017,
2495
+ name: "ZeroLiquidityRemove",
2496
+ msg: "Cannot remove zero liquidity",
2497
+ },
2498
+ {
2499
+ code: 6018,
2500
+ name: "SwapSlippageExceeded",
2501
+ msg: "Swap slippage exceeded",
2502
+ },
2503
+ {
2504
+ code: 6019,
2505
+ name: "AssertFailed",
2506
+ msg: "Assert failed",
2507
+ },
2508
+ {
2509
+ code: 6020,
2510
+ name: "InvalidAdmin",
2511
+ msg: "Invalid admin",
2512
+ },
2513
+ {
2514
+ code: 6021,
2515
+ name: "ProposalNotInDraftState",
2516
+ msg: "Proposal is not in draft state",
2517
+ },
2518
+ {
2519
+ code: 6022,
2520
+ name: "InsufficientTokenBalance",
2521
+ msg: "Insufficient token balance",
2522
+ },
2523
+ {
2524
+ code: 6023,
2525
+ name: "InvalidAmount",
2526
+ msg: "Invalid amount",
2527
+ },
2528
+ {
2529
+ code: 6024,
2530
+ name: "InsufficientStakeToLaunch",
2531
+ msg: "Insufficient stake to launch proposal",
2532
+ },
2533
+ {
2534
+ code: 6025,
2535
+ name: "StakerNotFound",
2536
+ msg: "Staker not found in proposal",
2537
+ },
2538
+ {
2539
+ code: 6026,
2540
+ name: "PoolNotInSpotState",
2541
+ msg: "Pool must be in spot state",
2542
+ },
2543
+ {
2544
+ code: 6027,
2545
+ name: "InvalidDaoCreateLiquidity",
2546
+ msg: "If you're providing liquidity, you must provide both base and quote token accounts",
2547
+ },
2548
+ {
2549
+ code: 6028,
2550
+ name: "InvalidStakeAccount",
2551
+ msg: "Invalid stake account",
2552
+ },
2553
+ {
2554
+ code: 6029,
2555
+ name: "InvariantViolated",
2556
+ msg: "An invariant was violated. You should get in contact with the MetaDAO team if you see this",
2557
+ },
2558
+ {
2559
+ code: 6030,
2560
+ name: "ProposalNotActive",
2561
+ msg: "Proposal needs to be active to perform a conditional swap",
2562
+ },
2563
+ {
2564
+ code: 6031,
2565
+ name: "InvalidTransaction",
2566
+ msg: "This Squads transaction should only contain calls to update spending limits",
2567
+ },
2568
+ ],
2569
+ };
2570
+ //# sourceMappingURL=futarchy-idl.js.map