@cubee_ee/sdk 0.1.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 (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +110 -0
  3. package/dist/clients/AdminClient.d.ts +61 -0
  4. package/dist/clients/AdminClient.d.ts.map +1 -0
  5. package/dist/clients/AdminClient.js +196 -0
  6. package/dist/clients/AdminClient.js.map +1 -0
  7. package/dist/clients/CubeBackendClient.d.ts +67 -0
  8. package/dist/clients/CubeBackendClient.d.ts.map +1 -0
  9. package/dist/clients/CubeBackendClient.js +126 -0
  10. package/dist/clients/CubeBackendClient.js.map +1 -0
  11. package/dist/clients/CubicPoolClient.d.ts +73 -0
  12. package/dist/clients/CubicPoolClient.d.ts.map +1 -0
  13. package/dist/clients/CubicPoolClient.js +425 -0
  14. package/dist/clients/CubicPoolClient.js.map +1 -0
  15. package/dist/clients/PoolFactoryClient.d.ts +45 -0
  16. package/dist/clients/PoolFactoryClient.d.ts.map +1 -0
  17. package/dist/clients/PoolFactoryClient.js +83 -0
  18. package/dist/clients/PoolFactoryClient.js.map +1 -0
  19. package/dist/clients/RpcClient.d.ts +28 -0
  20. package/dist/clients/RpcClient.d.ts.map +1 -0
  21. package/dist/clients/RpcClient.js +58 -0
  22. package/dist/clients/RpcClient.js.map +1 -0
  23. package/dist/clients/SingleTokenDepositClient.d.ts +45 -0
  24. package/dist/clients/SingleTokenDepositClient.d.ts.map +1 -0
  25. package/dist/clients/SingleTokenDepositClient.js +63 -0
  26. package/dist/clients/SingleTokenDepositClient.js.map +1 -0
  27. package/dist/clients/index.d.ts +8 -0
  28. package/dist/clients/index.d.ts.map +1 -0
  29. package/dist/clients/index.js +24 -0
  30. package/dist/clients/index.js.map +1 -0
  31. package/dist/clients/tx-builders.d.ts +32 -0
  32. package/dist/clients/tx-builders.d.ts.map +1 -0
  33. package/dist/clients/tx-builders.js +398 -0
  34. package/dist/clients/tx-builders.js.map +1 -0
  35. package/dist/config/index.d.ts +60 -0
  36. package/dist/config/index.d.ts.map +1 -0
  37. package/dist/config/index.js +59 -0
  38. package/dist/config/index.js.map +1 -0
  39. package/dist/config/networks.d.ts +10 -0
  40. package/dist/config/networks.d.ts.map +1 -0
  41. package/dist/config/networks.js +31 -0
  42. package/dist/config/networks.js.map +1 -0
  43. package/dist/config/tokens.d.ts +19 -0
  44. package/dist/config/tokens.d.ts.map +1 -0
  45. package/dist/config/tokens.js +43 -0
  46. package/dist/config/tokens.js.map +1 -0
  47. package/dist/idl/cubic_pool.json +2497 -0
  48. package/dist/idl/index.d.ts +975 -0
  49. package/dist/idl/index.d.ts.map +1 -0
  50. package/dist/idl/index.js +18 -0
  51. package/dist/idl/index.js.map +1 -0
  52. package/dist/idl/protocol_admin.json +1816 -0
  53. package/dist/idl/single_token_liquidity.json +745 -0
  54. package/dist/index.d.ts +48 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +136 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/math/cubicMath.d.ts +40 -0
  59. package/dist/math/cubicMath.d.ts.map +1 -0
  60. package/dist/math/cubicMath.js +75 -0
  61. package/dist/math/cubicMath.js.map +1 -0
  62. package/dist/math/fixedPoint.d.ts +14 -0
  63. package/dist/math/fixedPoint.d.ts.map +1 -0
  64. package/dist/math/fixedPoint.js +46 -0
  65. package/dist/math/fixedPoint.js.map +1 -0
  66. package/dist/math/index.d.ts +7 -0
  67. package/dist/math/index.d.ts.map +1 -0
  68. package/dist/math/index.js +23 -0
  69. package/dist/math/index.js.map +1 -0
  70. package/dist/math/logExp.d.ts +15 -0
  71. package/dist/math/logExp.d.ts.map +1 -0
  72. package/dist/math/logExp.js +91 -0
  73. package/dist/math/logExp.js.map +1 -0
  74. package/dist/math/singleToken.d.ts +53 -0
  75. package/dist/math/singleToken.d.ts.map +1 -0
  76. package/dist/math/singleToken.js +185 -0
  77. package/dist/math/singleToken.js.map +1 -0
  78. package/dist/math/slippage.d.ts +24 -0
  79. package/dist/math/slippage.d.ts.map +1 -0
  80. package/dist/math/slippage.js +54 -0
  81. package/dist/math/slippage.js.map +1 -0
  82. package/dist/math/weightedMath.d.ts +18 -0
  83. package/dist/math/weightedMath.d.ts.map +1 -0
  84. package/dist/math/weightedMath.js +45 -0
  85. package/dist/math/weightedMath.js.map +1 -0
  86. package/dist/parsers/borsh.d.ts +24 -0
  87. package/dist/parsers/borsh.d.ts.map +1 -0
  88. package/dist/parsers/borsh.js +80 -0
  89. package/dist/parsers/borsh.js.map +1 -0
  90. package/dist/parsers/events.d.ts +3 -0
  91. package/dist/parsers/events.d.ts.map +1 -0
  92. package/dist/parsers/events.js +172 -0
  93. package/dist/parsers/events.js.map +1 -0
  94. package/dist/parsers/index.d.ts +5 -0
  95. package/dist/parsers/index.d.ts.map +1 -0
  96. package/dist/parsers/index.js +21 -0
  97. package/dist/parsers/index.js.map +1 -0
  98. package/dist/parsers/mintAccount.d.ts +22 -0
  99. package/dist/parsers/mintAccount.d.ts.map +1 -0
  100. package/dist/parsers/mintAccount.js +22 -0
  101. package/dist/parsers/mintAccount.js.map +1 -0
  102. package/dist/parsers/poolAccount.d.ts +32 -0
  103. package/dist/parsers/poolAccount.d.ts.map +1 -0
  104. package/dist/parsers/poolAccount.js +88 -0
  105. package/dist/parsers/poolAccount.js.map +1 -0
  106. package/dist/types/events.d.ts +82 -0
  107. package/dist/types/events.d.ts.map +1 -0
  108. package/dist/types/events.js +3 -0
  109. package/dist/types/events.js.map +1 -0
  110. package/dist/types/index.d.ts +5 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/types/index.js +21 -0
  113. package/dist/types/index.js.map +1 -0
  114. package/dist/types/pool.d.ts +66 -0
  115. package/dist/types/pool.d.ts.map +1 -0
  116. package/dist/types/pool.js +3 -0
  117. package/dist/types/pool.js.map +1 -0
  118. package/dist/types/result.d.ts +23 -0
  119. package/dist/types/result.d.ts.map +1 -0
  120. package/dist/types/result.js +11 -0
  121. package/dist/types/result.js.map +1 -0
  122. package/dist/types/tx.d.ts +80 -0
  123. package/dist/types/tx.d.ts.map +1 -0
  124. package/dist/types/tx.js +3 -0
  125. package/dist/types/tx.js.map +1 -0
  126. package/dist/utils/errors.d.ts +8 -0
  127. package/dist/utils/errors.d.ts.map +1 -0
  128. package/dist/utils/errors.js +83 -0
  129. package/dist/utils/errors.js.map +1 -0
  130. package/dist/utils/index.d.ts +4 -0
  131. package/dist/utils/index.d.ts.map +1 -0
  132. package/dist/utils/index.js +20 -0
  133. package/dist/utils/index.js.map +1 -0
  134. package/dist/utils/pda.d.ts +8 -0
  135. package/dist/utils/pda.d.ts.map +1 -0
  136. package/dist/utils/pda.js +27 -0
  137. package/dist/utils/pda.js.map +1 -0
  138. package/dist/utils/retry.d.ts +22 -0
  139. package/dist/utils/retry.d.ts.map +1 -0
  140. package/dist/utils/retry.js +62 -0
  141. package/dist/utils/retry.js.map +1 -0
  142. package/package.json +54 -0
  143. package/src/clients/AdminClient.ts +254 -0
  144. package/src/clients/CubeBackendClient.ts +193 -0
  145. package/src/clients/CubicPoolClient.ts +492 -0
  146. package/src/clients/PoolFactoryClient.ts +102 -0
  147. package/src/clients/RpcClient.ts +78 -0
  148. package/src/clients/SingleTokenDepositClient.ts +91 -0
  149. package/src/clients/index.ts +7 -0
  150. package/src/clients/tx-builders.ts +538 -0
  151. package/src/config/index.ts +82 -0
  152. package/src/config/networks.ts +49 -0
  153. package/src/config/tokens.ts +52 -0
  154. package/src/idl/cubic_pool.json +2497 -0
  155. package/src/idl/index.ts +13 -0
  156. package/src/idl/protocol_admin.json +1816 -0
  157. package/src/idl/single_token_liquidity.json +745 -0
  158. package/src/index.ts +154 -0
  159. package/src/math/cubicMath.ts +89 -0
  160. package/src/math/fixedPoint.ts +39 -0
  161. package/src/math/index.ts +6 -0
  162. package/src/math/logExp.ts +82 -0
  163. package/src/math/singleToken.ts +250 -0
  164. package/src/math/slippage.ts +49 -0
  165. package/src/math/weightedMath.ts +48 -0
  166. package/src/parsers/borsh.ts +80 -0
  167. package/src/parsers/events.ts +172 -0
  168. package/src/parsers/index.ts +4 -0
  169. package/src/parsers/mintAccount.ts +37 -0
  170. package/src/parsers/poolAccount.ts +113 -0
  171. package/src/types/events.ts +100 -0
  172. package/src/types/index.ts +4 -0
  173. package/src/types/pool.ts +64 -0
  174. package/src/types/result.ts +45 -0
  175. package/src/types/tx.ts +87 -0
  176. package/src/utils/errors.ts +78 -0
  177. package/src/utils/index.ts +3 -0
  178. package/src/utils/pda.ts +58 -0
  179. package/src/utils/retry.ts +85 -0
@@ -0,0 +1,1816 @@
1
+ {
2
+ "address": "3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81",
3
+ "metadata": {
4
+ "name": "protocol_admin",
5
+ "version": "0.3.0",
6
+ "spec": "0.1.0",
7
+ "description": "Protocol Admin - governance contract for the Cubic Pool protocol"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "accept_admin_transfer",
12
+ "docs": [
13
+ "Step 2 — pending admin claims."
14
+ ],
15
+ "discriminator": [
16
+ 89,
17
+ 211,
18
+ 96,
19
+ 212,
20
+ 233,
21
+ 0,
22
+ 251,
23
+ 7
24
+ ],
25
+ "accounts": [
26
+ {
27
+ "name": "treasury",
28
+ "writable": true
29
+ },
30
+ {
31
+ "name": "new_admin",
32
+ "signer": true
33
+ }
34
+ ],
35
+ "args": []
36
+ },
37
+ {
38
+ "name": "cancel_admin_transfer",
39
+ "docs": [
40
+ "Cancel an in-flight admin transfer."
41
+ ],
42
+ "discriminator": [
43
+ 38,
44
+ 131,
45
+ 157,
46
+ 31,
47
+ 240,
48
+ 137,
49
+ 44,
50
+ 215
51
+ ],
52
+ "accounts": [
53
+ {
54
+ "name": "treasury",
55
+ "writable": true
56
+ },
57
+ {
58
+ "name": "admin",
59
+ "signer": true
60
+ }
61
+ ],
62
+ "args": []
63
+ },
64
+ {
65
+ "name": "close_pool_program",
66
+ "docs": [
67
+ "Permanently close a deployed program (uncallable + uncloseable)."
68
+ ],
69
+ "discriminator": [
70
+ 14,
71
+ 61,
72
+ 137,
73
+ 221,
74
+ 169,
75
+ 57,
76
+ 182,
77
+ 253
78
+ ],
79
+ "accounts": [
80
+ {
81
+ "name": "treasury"
82
+ },
83
+ {
84
+ "name": "admin",
85
+ "signer": true
86
+ },
87
+ {
88
+ "name": "programdata",
89
+ "writable": true
90
+ },
91
+ {
92
+ "name": "program_to_close",
93
+ "writable": true
94
+ },
95
+ {
96
+ "name": "recipient",
97
+ "writable": true
98
+ },
99
+ {
100
+ "name": "bpf_loader_upgradeable"
101
+ }
102
+ ],
103
+ "args": []
104
+ },
105
+ {
106
+ "name": "freeze_pool_program",
107
+ "docs": [
108
+ "Make a deployed program permanently non-upgradeable."
109
+ ],
110
+ "discriminator": [
111
+ 251,
112
+ 160,
113
+ 226,
114
+ 178,
115
+ 188,
116
+ 134,
117
+ 144,
118
+ 169
119
+ ],
120
+ "accounts": [
121
+ {
122
+ "name": "treasury"
123
+ },
124
+ {
125
+ "name": "admin",
126
+ "signer": true
127
+ },
128
+ {
129
+ "name": "programdata",
130
+ "writable": true
131
+ },
132
+ {
133
+ "name": "new_authority_info"
134
+ },
135
+ {
136
+ "name": "bpf_loader_upgradeable"
137
+ }
138
+ ],
139
+ "args": []
140
+ },
141
+ {
142
+ "name": "initialize",
143
+ "docs": [
144
+ "Create the Treasury PDA. Singleton — runs once at deploy time."
145
+ ],
146
+ "discriminator": [
147
+ 175,
148
+ 175,
149
+ 109,
150
+ 31,
151
+ 13,
152
+ 152,
153
+ 155,
154
+ 237
155
+ ],
156
+ "accounts": [
157
+ {
158
+ "name": "treasury",
159
+ "writable": true
160
+ },
161
+ {
162
+ "name": "payer",
163
+ "writable": true,
164
+ "signer": true
165
+ },
166
+ {
167
+ "name": "system_program"
168
+ }
169
+ ],
170
+ "args": [
171
+ {
172
+ "name": "admin",
173
+ "type": "pubkey"
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "name": "initiate_admin_transfer",
179
+ "docs": [
180
+ "Step 1 — current admin nominates a successor."
181
+ ],
182
+ "discriminator": [
183
+ 232,
184
+ 132,
185
+ 133,
186
+ 116,
187
+ 184,
188
+ 197,
189
+ 17,
190
+ 67
191
+ ],
192
+ "accounts": [
193
+ {
194
+ "name": "treasury",
195
+ "writable": true
196
+ },
197
+ {
198
+ "name": "admin",
199
+ "signer": true
200
+ }
201
+ ],
202
+ "args": [
203
+ {
204
+ "name": "new_admin",
205
+ "type": "pubkey"
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "name": "pool_cancel_protocol_admin_transfer",
211
+ "docs": [
212
+ "Cancel an in-flight `protocol_admin` transfer on a config."
213
+ ],
214
+ "discriminator": [
215
+ 185,
216
+ 150,
217
+ 164,
218
+ 250,
219
+ 238,
220
+ 73,
221
+ 26,
222
+ 141
223
+ ],
224
+ "accounts": [
225
+ {
226
+ "name": "treasury"
227
+ },
228
+ {
229
+ "name": "admin",
230
+ "signer": true
231
+ },
232
+ {
233
+ "name": "config",
234
+ "writable": true
235
+ },
236
+ {
237
+ "name": "cubic_pool_program"
238
+ }
239
+ ],
240
+ "args": []
241
+ },
242
+ {
243
+ "name": "pool_collect_protocol_fees",
244
+ "discriminator": [
245
+ 132,
246
+ 186,
247
+ 121,
248
+ 92,
249
+ 60,
250
+ 61,
251
+ 216,
252
+ 168
253
+ ],
254
+ "accounts": [
255
+ {
256
+ "name": "treasury"
257
+ },
258
+ {
259
+ "name": "admin",
260
+ "signer": true
261
+ },
262
+ {
263
+ "name": "config"
264
+ },
265
+ {
266
+ "name": "pool",
267
+ "writable": true
268
+ },
269
+ {
270
+ "name": "cubic_pool_program"
271
+ }
272
+ ],
273
+ "args": []
274
+ },
275
+ {
276
+ "name": "pool_debug_withdraw_liquidity",
277
+ "discriminator": [
278
+ 233,
279
+ 72,
280
+ 237,
281
+ 112,
282
+ 183,
283
+ 177,
284
+ 216,
285
+ 214
286
+ ],
287
+ "accounts": [
288
+ {
289
+ "name": "treasury"
290
+ },
291
+ {
292
+ "name": "admin",
293
+ "signer": true
294
+ },
295
+ {
296
+ "name": "config"
297
+ },
298
+ {
299
+ "name": "pool",
300
+ "writable": true
301
+ },
302
+ {
303
+ "name": "cubic_pool_program"
304
+ }
305
+ ],
306
+ "args": [
307
+ {
308
+ "name": "token_amounts",
309
+ "type": {
310
+ "vec": "u64"
311
+ }
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "name": "pool_initialize_config",
317
+ "discriminator": [
318
+ 208,
319
+ 110,
320
+ 173,
321
+ 188,
322
+ 39,
323
+ 153,
324
+ 144,
325
+ 185
326
+ ],
327
+ "accounts": [
328
+ {
329
+ "name": "treasury"
330
+ },
331
+ {
332
+ "name": "admin",
333
+ "writable": true,
334
+ "signer": true
335
+ },
336
+ {
337
+ "name": "config",
338
+ "docs": [
339
+ "Config keypair — must sign the outer transaction so cubic-pool",
340
+ "can `init` the new account."
341
+ ],
342
+ "writable": true,
343
+ "signer": true
344
+ },
345
+ {
346
+ "name": "cubic_pool_program"
347
+ },
348
+ {
349
+ "name": "system_program"
350
+ }
351
+ ],
352
+ "args": [
353
+ {
354
+ "name": "default_protocol_fee_rate",
355
+ "type": "u16"
356
+ }
357
+ ]
358
+ },
359
+ {
360
+ "name": "pool_initiate_protocol_admin_transfer",
361
+ "docs": [
362
+ "Step 1 — nominate a new `protocol_admin` on `CubicPoolConfig`."
363
+ ],
364
+ "discriminator": [
365
+ 137,
366
+ 10,
367
+ 38,
368
+ 215,
369
+ 20,
370
+ 232,
371
+ 207,
372
+ 135
373
+ ],
374
+ "accounts": [
375
+ {
376
+ "name": "treasury"
377
+ },
378
+ {
379
+ "name": "admin",
380
+ "signer": true
381
+ },
382
+ {
383
+ "name": "config",
384
+ "writable": true
385
+ },
386
+ {
387
+ "name": "cubic_pool_program"
388
+ }
389
+ ],
390
+ "args": [
391
+ {
392
+ "name": "new_admin",
393
+ "type": "pubkey"
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ "name": "pool_set_banned_extensions",
399
+ "discriminator": [
400
+ 192,
401
+ 227,
402
+ 113,
403
+ 153,
404
+ 67,
405
+ 90,
406
+ 48,
407
+ 245
408
+ ],
409
+ "accounts": [
410
+ {
411
+ "name": "treasury"
412
+ },
413
+ {
414
+ "name": "admin",
415
+ "signer": true
416
+ },
417
+ {
418
+ "name": "config",
419
+ "writable": true
420
+ },
421
+ {
422
+ "name": "cubic_pool_program"
423
+ }
424
+ ],
425
+ "args": [
426
+ {
427
+ "name": "banned_extensions",
428
+ "type": "u64"
429
+ }
430
+ ]
431
+ },
432
+ {
433
+ "name": "pool_set_pool_enabled",
434
+ "discriminator": [
435
+ 46,
436
+ 70,
437
+ 41,
438
+ 180,
439
+ 130,
440
+ 43,
441
+ 93,
442
+ 140
443
+ ],
444
+ "accounts": [
445
+ {
446
+ "name": "treasury"
447
+ },
448
+ {
449
+ "name": "admin",
450
+ "signer": true
451
+ },
452
+ {
453
+ "name": "config"
454
+ },
455
+ {
456
+ "name": "pool",
457
+ "writable": true
458
+ },
459
+ {
460
+ "name": "cubic_pool_program"
461
+ }
462
+ ],
463
+ "args": [
464
+ {
465
+ "name": "enabled",
466
+ "type": "bool"
467
+ }
468
+ ]
469
+ },
470
+ {
471
+ "name": "pool_set_protocol_fee_rate",
472
+ "discriminator": [
473
+ 133,
474
+ 48,
475
+ 28,
476
+ 138,
477
+ 99,
478
+ 85,
479
+ 111,
480
+ 77
481
+ ],
482
+ "accounts": [
483
+ {
484
+ "name": "treasury"
485
+ },
486
+ {
487
+ "name": "admin",
488
+ "signer": true
489
+ },
490
+ {
491
+ "name": "config"
492
+ },
493
+ {
494
+ "name": "pool",
495
+ "writable": true
496
+ },
497
+ {
498
+ "name": "cubic_pool_program"
499
+ }
500
+ ],
501
+ "args": [
502
+ {
503
+ "name": "protocol_fee_rate",
504
+ "type": "u16"
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "name": "pool_set_swaps_enabled",
510
+ "discriminator": [
511
+ 43,
512
+ 166,
513
+ 185,
514
+ 94,
515
+ 35,
516
+ 119,
517
+ 58,
518
+ 1
519
+ ],
520
+ "accounts": [
521
+ {
522
+ "name": "treasury"
523
+ },
524
+ {
525
+ "name": "admin",
526
+ "signer": true
527
+ },
528
+ {
529
+ "name": "config"
530
+ },
531
+ {
532
+ "name": "pool",
533
+ "writable": true
534
+ },
535
+ {
536
+ "name": "cubic_pool_program"
537
+ }
538
+ ],
539
+ "args": [
540
+ {
541
+ "name": "enabled",
542
+ "type": "bool"
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "name": "pool_withdraw_sol",
548
+ "discriminator": [
549
+ 29,
550
+ 48,
551
+ 78,
552
+ 101,
553
+ 133,
554
+ 179,
555
+ 78,
556
+ 230
557
+ ],
558
+ "accounts": [
559
+ {
560
+ "name": "treasury"
561
+ },
562
+ {
563
+ "name": "admin",
564
+ "signer": true
565
+ },
566
+ {
567
+ "name": "config",
568
+ "docs": [
569
+ "`protocol_admin == treasury.key()`)."
570
+ ]
571
+ },
572
+ {
573
+ "name": "source",
574
+ "writable": true
575
+ },
576
+ {
577
+ "name": "recipient",
578
+ "writable": true
579
+ },
580
+ {
581
+ "name": "cubic_pool_program"
582
+ }
583
+ ],
584
+ "args": [
585
+ {
586
+ "name": "amount",
587
+ "type": "u64"
588
+ }
589
+ ]
590
+ },
591
+ {
592
+ "name": "register_token",
593
+ "docs": [
594
+ "Register a token mint with the treasury and create its vault PDA."
595
+ ],
596
+ "discriminator": [
597
+ 32,
598
+ 146,
599
+ 36,
600
+ 240,
601
+ 80,
602
+ 183,
603
+ 36,
604
+ 84
605
+ ],
606
+ "accounts": [
607
+ {
608
+ "name": "treasury",
609
+ "writable": true
610
+ },
611
+ {
612
+ "name": "mint"
613
+ },
614
+ {
615
+ "name": "vault",
616
+ "writable": true
617
+ },
618
+ {
619
+ "name": "admin",
620
+ "writable": true,
621
+ "signer": true
622
+ },
623
+ {
624
+ "name": "token_program"
625
+ },
626
+ {
627
+ "name": "system_program"
628
+ }
629
+ ],
630
+ "args": []
631
+ },
632
+ {
633
+ "name": "stld_withdraw_sol",
634
+ "discriminator": [
635
+ 200,
636
+ 145,
637
+ 33,
638
+ 30,
639
+ 126,
640
+ 106,
641
+ 214,
642
+ 133
643
+ ],
644
+ "accounts": [
645
+ {
646
+ "name": "treasury"
647
+ },
648
+ {
649
+ "name": "admin",
650
+ "signer": true
651
+ },
652
+ {
653
+ "name": "config",
654
+ "docs": [
655
+ "`protocol_admin == treasury.key()`)."
656
+ ]
657
+ },
658
+ {
659
+ "name": "source",
660
+ "writable": true
661
+ },
662
+ {
663
+ "name": "recipient",
664
+ "writable": true
665
+ },
666
+ {
667
+ "name": "stld_program"
668
+ }
669
+ ],
670
+ "args": [
671
+ {
672
+ "name": "amount",
673
+ "type": "u64"
674
+ }
675
+ ]
676
+ },
677
+ {
678
+ "name": "transfer_upgrade_authority",
679
+ "docs": [
680
+ "Transfer upgrade authority to a different pubkey."
681
+ ],
682
+ "discriminator": [
683
+ 82,
684
+ 52,
685
+ 117,
686
+ 53,
687
+ 56,
688
+ 196,
689
+ 253,
690
+ 219
691
+ ],
692
+ "accounts": [
693
+ {
694
+ "name": "treasury"
695
+ },
696
+ {
697
+ "name": "admin",
698
+ "signer": true
699
+ },
700
+ {
701
+ "name": "programdata",
702
+ "writable": true
703
+ },
704
+ {
705
+ "name": "new_authority_info"
706
+ },
707
+ {
708
+ "name": "bpf_loader_upgradeable"
709
+ }
710
+ ],
711
+ "args": [
712
+ {
713
+ "name": "new_authority",
714
+ "type": "pubkey"
715
+ }
716
+ ]
717
+ },
718
+ {
719
+ "name": "upgrade_pool_program",
720
+ "docs": [
721
+ "Upgrade an arbitrary on-chain program via the BPF Loader."
722
+ ],
723
+ "discriminator": [
724
+ 38,
725
+ 56,
726
+ 6,
727
+ 64,
728
+ 238,
729
+ 225,
730
+ 3,
731
+ 8
732
+ ],
733
+ "accounts": [
734
+ {
735
+ "name": "treasury"
736
+ },
737
+ {
738
+ "name": "admin",
739
+ "signer": true
740
+ },
741
+ {
742
+ "name": "programdata",
743
+ "writable": true
744
+ },
745
+ {
746
+ "name": "program_to_upgrade",
747
+ "writable": true
748
+ },
749
+ {
750
+ "name": "buffer",
751
+ "writable": true
752
+ },
753
+ {
754
+ "name": "spill",
755
+ "writable": true
756
+ },
757
+ {
758
+ "name": "rent"
759
+ },
760
+ {
761
+ "name": "clock"
762
+ },
763
+ {
764
+ "name": "bpf_loader_upgradeable"
765
+ }
766
+ ],
767
+ "args": []
768
+ },
769
+ {
770
+ "name": "withdraw",
771
+ "docs": [
772
+ "Withdraw `amount` tokens from a registered vault."
773
+ ],
774
+ "discriminator": [
775
+ 183,
776
+ 18,
777
+ 70,
778
+ 156,
779
+ 148,
780
+ 109,
781
+ 161,
782
+ 34
783
+ ],
784
+ "accounts": [
785
+ {
786
+ "name": "treasury"
787
+ },
788
+ {
789
+ "name": "vault",
790
+ "writable": true
791
+ },
792
+ {
793
+ "name": "recipient",
794
+ "writable": true
795
+ },
796
+ {
797
+ "name": "admin",
798
+ "signer": true
799
+ },
800
+ {
801
+ "name": "token_program"
802
+ }
803
+ ],
804
+ "args": [
805
+ {
806
+ "name": "amount",
807
+ "type": "u64"
808
+ }
809
+ ]
810
+ },
811
+ {
812
+ "name": "withdraw_sol",
813
+ "docs": [
814
+ "Drain SOL from the Treasury PDA itself (above rent floor)."
815
+ ],
816
+ "discriminator": [
817
+ 145,
818
+ 131,
819
+ 74,
820
+ 136,
821
+ 65,
822
+ 137,
823
+ 42,
824
+ 38
825
+ ],
826
+ "accounts": [
827
+ {
828
+ "name": "treasury",
829
+ "writable": true
830
+ },
831
+ {
832
+ "name": "admin",
833
+ "signer": true
834
+ },
835
+ {
836
+ "name": "recipient",
837
+ "writable": true
838
+ }
839
+ ],
840
+ "args": [
841
+ {
842
+ "name": "amount",
843
+ "type": "u64"
844
+ }
845
+ ]
846
+ }
847
+ ],
848
+ "accounts": [
849
+ {
850
+ "name": "Treasury",
851
+ "discriminator": [
852
+ 238,
853
+ 239,
854
+ 123,
855
+ 238,
856
+ 89,
857
+ 1,
858
+ 168,
859
+ 253
860
+ ]
861
+ }
862
+ ],
863
+ "events": [
864
+ {
865
+ "name": "AdminTransferCancelled",
866
+ "discriminator": [
867
+ 93,
868
+ 23,
869
+ 69,
870
+ 55,
871
+ 216,
872
+ 128,
873
+ 106,
874
+ 56
875
+ ]
876
+ },
877
+ {
878
+ "name": "AdminTransferInitiated",
879
+ "discriminator": [
880
+ 157,
881
+ 255,
882
+ 0,
883
+ 92,
884
+ 52,
885
+ 106,
886
+ 16,
887
+ 156
888
+ ]
889
+ },
890
+ {
891
+ "name": "AdminTransferred",
892
+ "discriminator": [
893
+ 255,
894
+ 147,
895
+ 182,
896
+ 5,
897
+ 199,
898
+ 217,
899
+ 38,
900
+ 179
901
+ ]
902
+ },
903
+ {
904
+ "name": "FundsWithdrawn",
905
+ "discriminator": [
906
+ 56,
907
+ 130,
908
+ 230,
909
+ 154,
910
+ 35,
911
+ 92,
912
+ 11,
913
+ 118
914
+ ]
915
+ },
916
+ {
917
+ "name": "PoolBannedExtensionsSet",
918
+ "discriminator": [
919
+ 39,
920
+ 190,
921
+ 145,
922
+ 19,
923
+ 238,
924
+ 51,
925
+ 114,
926
+ 31
927
+ ]
928
+ },
929
+ {
930
+ "name": "PoolConfigInitialized",
931
+ "discriminator": [
932
+ 229,
933
+ 220,
934
+ 87,
935
+ 241,
936
+ 175,
937
+ 165,
938
+ 198,
939
+ 28
940
+ ]
941
+ },
942
+ {
943
+ "name": "PoolDebugWithdrawn",
944
+ "discriminator": [
945
+ 248,
946
+ 239,
947
+ 66,
948
+ 141,
949
+ 207,
950
+ 160,
951
+ 148,
952
+ 123
953
+ ]
954
+ },
955
+ {
956
+ "name": "PoolEnabledSet",
957
+ "discriminator": [
958
+ 176,
959
+ 100,
960
+ 94,
961
+ 138,
962
+ 196,
963
+ 137,
964
+ 18,
965
+ 151
966
+ ]
967
+ },
968
+ {
969
+ "name": "PoolFeesCollected",
970
+ "discriminator": [
971
+ 218,
972
+ 74,
973
+ 163,
974
+ 42,
975
+ 8,
976
+ 152,
977
+ 57,
978
+ 242
979
+ ]
980
+ },
981
+ {
982
+ "name": "PoolProtocolAdminTransferCancelled",
983
+ "discriminator": [
984
+ 206,
985
+ 165,
986
+ 112,
987
+ 113,
988
+ 203,
989
+ 64,
990
+ 37,
991
+ 151
992
+ ]
993
+ },
994
+ {
995
+ "name": "PoolProtocolAdminTransferInitiated",
996
+ "discriminator": [
997
+ 37,
998
+ 142,
999
+ 248,
1000
+ 132,
1001
+ 123,
1002
+ 135,
1003
+ 94,
1004
+ 22
1005
+ ]
1006
+ },
1007
+ {
1008
+ "name": "PoolProtocolFeeRateSet",
1009
+ "discriminator": [
1010
+ 189,
1011
+ 101,
1012
+ 241,
1013
+ 38,
1014
+ 49,
1015
+ 174,
1016
+ 49,
1017
+ 23
1018
+ ]
1019
+ },
1020
+ {
1021
+ "name": "PoolSolWithdrawnViaTreasury",
1022
+ "discriminator": [
1023
+ 175,
1024
+ 97,
1025
+ 232,
1026
+ 103,
1027
+ 247,
1028
+ 51,
1029
+ 113,
1030
+ 155
1031
+ ]
1032
+ },
1033
+ {
1034
+ "name": "PoolSwapsEnabledSet",
1035
+ "discriminator": [
1036
+ 115,
1037
+ 111,
1038
+ 238,
1039
+ 152,
1040
+ 235,
1041
+ 26,
1042
+ 198,
1043
+ 168
1044
+ ]
1045
+ },
1046
+ {
1047
+ "name": "ProgramClosed",
1048
+ "discriminator": [
1049
+ 3,
1050
+ 105,
1051
+ 195,
1052
+ 187,
1053
+ 122,
1054
+ 1,
1055
+ 142,
1056
+ 8
1057
+ ]
1058
+ },
1059
+ {
1060
+ "name": "ProgramFrozen",
1061
+ "discriminator": [
1062
+ 173,
1063
+ 128,
1064
+ 53,
1065
+ 239,
1066
+ 15,
1067
+ 38,
1068
+ 235,
1069
+ 203
1070
+ ]
1071
+ },
1072
+ {
1073
+ "name": "ProgramUpgraded",
1074
+ "discriminator": [
1075
+ 116,
1076
+ 102,
1077
+ 220,
1078
+ 4,
1079
+ 220,
1080
+ 250,
1081
+ 209,
1082
+ 13
1083
+ ]
1084
+ },
1085
+ {
1086
+ "name": "SolWithdrawn",
1087
+ "discriminator": [
1088
+ 145,
1089
+ 249,
1090
+ 69,
1091
+ 48,
1092
+ 206,
1093
+ 86,
1094
+ 91,
1095
+ 66
1096
+ ]
1097
+ },
1098
+ {
1099
+ "name": "StldSolWithdrawnViaTreasury",
1100
+ "discriminator": [
1101
+ 247,
1102
+ 191,
1103
+ 127,
1104
+ 71,
1105
+ 114,
1106
+ 147,
1107
+ 79,
1108
+ 80
1109
+ ]
1110
+ },
1111
+ {
1112
+ "name": "TokenRegistered",
1113
+ "discriminator": [
1114
+ 210,
1115
+ 38,
1116
+ 249,
1117
+ 182,
1118
+ 79,
1119
+ 112,
1120
+ 240,
1121
+ 225
1122
+ ]
1123
+ },
1124
+ {
1125
+ "name": "TreasuryInitialized",
1126
+ "discriminator": [
1127
+ 199,
1128
+ 73,
1129
+ 174,
1130
+ 205,
1131
+ 59,
1132
+ 145,
1133
+ 55,
1134
+ 179
1135
+ ]
1136
+ },
1137
+ {
1138
+ "name": "UpgradeAuthorityTransferred",
1139
+ "discriminator": [
1140
+ 133,
1141
+ 198,
1142
+ 107,
1143
+ 90,
1144
+ 50,
1145
+ 182,
1146
+ 192,
1147
+ 64
1148
+ ]
1149
+ }
1150
+ ],
1151
+ "errors": [
1152
+ {
1153
+ "code": 6000,
1154
+ "name": "Unauthorized",
1155
+ "msg": "Unauthorized - not the admin"
1156
+ },
1157
+ {
1158
+ "code": 6001,
1159
+ "name": "MaxTokensReached",
1160
+ "msg": "Maximum number of tokens reached"
1161
+ },
1162
+ {
1163
+ "code": 6002,
1164
+ "name": "InvalidVault",
1165
+ "msg": "Invalid vault - not owned by treasury"
1166
+ },
1167
+ {
1168
+ "code": 6003,
1169
+ "name": "NotPendingAdmin",
1170
+ "msg": "Not the pending admin"
1171
+ },
1172
+ {
1173
+ "code": 6004,
1174
+ "name": "NoPendingAdmin",
1175
+ "msg": "No pending admin transfer"
1176
+ },
1177
+ {
1178
+ "code": 6005,
1179
+ "name": "ZeroAmount",
1180
+ "msg": "Amount must be greater than zero"
1181
+ },
1182
+ {
1183
+ "code": 6006,
1184
+ "name": "WouldBreakRentExempt",
1185
+ "msg": "Withdrawal would break rent exemption"
1186
+ },
1187
+ {
1188
+ "code": 6007,
1189
+ "name": "MathError",
1190
+ "msg": "Math error"
1191
+ }
1192
+ ],
1193
+ "types": [
1194
+ {
1195
+ "name": "AdminTransferCancelled",
1196
+ "type": {
1197
+ "kind": "struct",
1198
+ "fields": [
1199
+ {
1200
+ "name": "treasury",
1201
+ "type": "pubkey"
1202
+ },
1203
+ {
1204
+ "name": "admin",
1205
+ "type": "pubkey"
1206
+ },
1207
+ {
1208
+ "name": "cancelled_pending",
1209
+ "type": "pubkey"
1210
+ },
1211
+ {
1212
+ "name": "timestamp",
1213
+ "type": "i64"
1214
+ }
1215
+ ]
1216
+ }
1217
+ },
1218
+ {
1219
+ "name": "AdminTransferInitiated",
1220
+ "type": {
1221
+ "kind": "struct",
1222
+ "fields": [
1223
+ {
1224
+ "name": "treasury",
1225
+ "type": "pubkey"
1226
+ },
1227
+ {
1228
+ "name": "current_admin",
1229
+ "type": "pubkey"
1230
+ },
1231
+ {
1232
+ "name": "pending_admin",
1233
+ "type": "pubkey"
1234
+ },
1235
+ {
1236
+ "name": "timestamp",
1237
+ "type": "i64"
1238
+ }
1239
+ ]
1240
+ }
1241
+ },
1242
+ {
1243
+ "name": "AdminTransferred",
1244
+ "type": {
1245
+ "kind": "struct",
1246
+ "fields": [
1247
+ {
1248
+ "name": "treasury",
1249
+ "type": "pubkey"
1250
+ },
1251
+ {
1252
+ "name": "old_admin",
1253
+ "type": "pubkey"
1254
+ },
1255
+ {
1256
+ "name": "new_admin",
1257
+ "type": "pubkey"
1258
+ },
1259
+ {
1260
+ "name": "timestamp",
1261
+ "type": "i64"
1262
+ }
1263
+ ]
1264
+ }
1265
+ },
1266
+ {
1267
+ "name": "FundsWithdrawn",
1268
+ "type": {
1269
+ "kind": "struct",
1270
+ "fields": [
1271
+ {
1272
+ "name": "treasury",
1273
+ "type": "pubkey"
1274
+ },
1275
+ {
1276
+ "name": "admin",
1277
+ "type": "pubkey"
1278
+ },
1279
+ {
1280
+ "name": "mint",
1281
+ "type": "pubkey"
1282
+ },
1283
+ {
1284
+ "name": "recipient",
1285
+ "type": "pubkey"
1286
+ },
1287
+ {
1288
+ "name": "amount",
1289
+ "type": "u64"
1290
+ },
1291
+ {
1292
+ "name": "timestamp",
1293
+ "type": "i64"
1294
+ }
1295
+ ]
1296
+ }
1297
+ },
1298
+ {
1299
+ "name": "PoolBannedExtensionsSet",
1300
+ "type": {
1301
+ "kind": "struct",
1302
+ "fields": [
1303
+ {
1304
+ "name": "treasury",
1305
+ "type": "pubkey"
1306
+ },
1307
+ {
1308
+ "name": "config",
1309
+ "type": "pubkey"
1310
+ },
1311
+ {
1312
+ "name": "banned_extensions",
1313
+ "type": "u64"
1314
+ },
1315
+ {
1316
+ "name": "timestamp",
1317
+ "type": "i64"
1318
+ }
1319
+ ]
1320
+ }
1321
+ },
1322
+ {
1323
+ "name": "PoolConfigInitialized",
1324
+ "type": {
1325
+ "kind": "struct",
1326
+ "fields": [
1327
+ {
1328
+ "name": "treasury",
1329
+ "type": "pubkey"
1330
+ },
1331
+ {
1332
+ "name": "config",
1333
+ "type": "pubkey"
1334
+ },
1335
+ {
1336
+ "name": "default_protocol_fee_rate",
1337
+ "type": "u16"
1338
+ },
1339
+ {
1340
+ "name": "timestamp",
1341
+ "type": "i64"
1342
+ }
1343
+ ]
1344
+ }
1345
+ },
1346
+ {
1347
+ "name": "PoolDebugWithdrawn",
1348
+ "type": {
1349
+ "kind": "struct",
1350
+ "fields": [
1351
+ {
1352
+ "name": "treasury",
1353
+ "type": "pubkey"
1354
+ },
1355
+ {
1356
+ "name": "pool",
1357
+ "type": "pubkey"
1358
+ },
1359
+ {
1360
+ "name": "timestamp",
1361
+ "type": "i64"
1362
+ }
1363
+ ]
1364
+ }
1365
+ },
1366
+ {
1367
+ "name": "PoolEnabledSet",
1368
+ "type": {
1369
+ "kind": "struct",
1370
+ "fields": [
1371
+ {
1372
+ "name": "treasury",
1373
+ "type": "pubkey"
1374
+ },
1375
+ {
1376
+ "name": "pool",
1377
+ "type": "pubkey"
1378
+ },
1379
+ {
1380
+ "name": "enabled",
1381
+ "type": "bool"
1382
+ },
1383
+ {
1384
+ "name": "timestamp",
1385
+ "type": "i64"
1386
+ }
1387
+ ]
1388
+ }
1389
+ },
1390
+ {
1391
+ "name": "PoolFeesCollected",
1392
+ "type": {
1393
+ "kind": "struct",
1394
+ "fields": [
1395
+ {
1396
+ "name": "treasury",
1397
+ "type": "pubkey"
1398
+ },
1399
+ {
1400
+ "name": "pool",
1401
+ "type": "pubkey"
1402
+ },
1403
+ {
1404
+ "name": "timestamp",
1405
+ "type": "i64"
1406
+ }
1407
+ ]
1408
+ }
1409
+ },
1410
+ {
1411
+ "name": "PoolProtocolAdminTransferCancelled",
1412
+ "type": {
1413
+ "kind": "struct",
1414
+ "fields": [
1415
+ {
1416
+ "name": "treasury",
1417
+ "type": "pubkey"
1418
+ },
1419
+ {
1420
+ "name": "config",
1421
+ "type": "pubkey"
1422
+ },
1423
+ {
1424
+ "name": "timestamp",
1425
+ "type": "i64"
1426
+ }
1427
+ ]
1428
+ }
1429
+ },
1430
+ {
1431
+ "name": "PoolProtocolAdminTransferInitiated",
1432
+ "type": {
1433
+ "kind": "struct",
1434
+ "fields": [
1435
+ {
1436
+ "name": "treasury",
1437
+ "type": "pubkey"
1438
+ },
1439
+ {
1440
+ "name": "config",
1441
+ "type": "pubkey"
1442
+ },
1443
+ {
1444
+ "name": "new_admin",
1445
+ "type": "pubkey"
1446
+ },
1447
+ {
1448
+ "name": "timestamp",
1449
+ "type": "i64"
1450
+ }
1451
+ ]
1452
+ }
1453
+ },
1454
+ {
1455
+ "name": "PoolProtocolFeeRateSet",
1456
+ "type": {
1457
+ "kind": "struct",
1458
+ "fields": [
1459
+ {
1460
+ "name": "treasury",
1461
+ "type": "pubkey"
1462
+ },
1463
+ {
1464
+ "name": "pool",
1465
+ "type": "pubkey"
1466
+ },
1467
+ {
1468
+ "name": "protocol_fee_rate",
1469
+ "type": "u16"
1470
+ },
1471
+ {
1472
+ "name": "timestamp",
1473
+ "type": "i64"
1474
+ }
1475
+ ]
1476
+ }
1477
+ },
1478
+ {
1479
+ "name": "PoolSolWithdrawnViaTreasury",
1480
+ "type": {
1481
+ "kind": "struct",
1482
+ "fields": [
1483
+ {
1484
+ "name": "treasury",
1485
+ "type": "pubkey"
1486
+ },
1487
+ {
1488
+ "name": "admin",
1489
+ "type": "pubkey"
1490
+ },
1491
+ {
1492
+ "name": "source",
1493
+ "type": "pubkey"
1494
+ },
1495
+ {
1496
+ "name": "recipient",
1497
+ "type": "pubkey"
1498
+ },
1499
+ {
1500
+ "name": "amount",
1501
+ "type": "u64"
1502
+ },
1503
+ {
1504
+ "name": "timestamp",
1505
+ "type": "i64"
1506
+ }
1507
+ ]
1508
+ }
1509
+ },
1510
+ {
1511
+ "name": "PoolSwapsEnabledSet",
1512
+ "type": {
1513
+ "kind": "struct",
1514
+ "fields": [
1515
+ {
1516
+ "name": "treasury",
1517
+ "type": "pubkey"
1518
+ },
1519
+ {
1520
+ "name": "pool",
1521
+ "type": "pubkey"
1522
+ },
1523
+ {
1524
+ "name": "enabled",
1525
+ "type": "bool"
1526
+ },
1527
+ {
1528
+ "name": "timestamp",
1529
+ "type": "i64"
1530
+ }
1531
+ ]
1532
+ }
1533
+ },
1534
+ {
1535
+ "name": "ProgramClosed",
1536
+ "type": {
1537
+ "kind": "struct",
1538
+ "fields": [
1539
+ {
1540
+ "name": "treasury",
1541
+ "type": "pubkey"
1542
+ },
1543
+ {
1544
+ "name": "program",
1545
+ "type": "pubkey"
1546
+ },
1547
+ {
1548
+ "name": "recipient",
1549
+ "type": "pubkey"
1550
+ },
1551
+ {
1552
+ "name": "timestamp",
1553
+ "type": "i64"
1554
+ }
1555
+ ]
1556
+ }
1557
+ },
1558
+ {
1559
+ "name": "ProgramFrozen",
1560
+ "type": {
1561
+ "kind": "struct",
1562
+ "fields": [
1563
+ {
1564
+ "name": "treasury",
1565
+ "type": "pubkey"
1566
+ },
1567
+ {
1568
+ "name": "programdata",
1569
+ "type": "pubkey"
1570
+ },
1571
+ {
1572
+ "name": "timestamp",
1573
+ "type": "i64"
1574
+ }
1575
+ ]
1576
+ }
1577
+ },
1578
+ {
1579
+ "name": "ProgramUpgraded",
1580
+ "type": {
1581
+ "kind": "struct",
1582
+ "fields": [
1583
+ {
1584
+ "name": "treasury",
1585
+ "type": "pubkey"
1586
+ },
1587
+ {
1588
+ "name": "program",
1589
+ "type": "pubkey"
1590
+ },
1591
+ {
1592
+ "name": "timestamp",
1593
+ "type": "i64"
1594
+ }
1595
+ ]
1596
+ }
1597
+ },
1598
+ {
1599
+ "name": "SolWithdrawn",
1600
+ "type": {
1601
+ "kind": "struct",
1602
+ "fields": [
1603
+ {
1604
+ "name": "treasury",
1605
+ "type": "pubkey"
1606
+ },
1607
+ {
1608
+ "name": "admin",
1609
+ "type": "pubkey"
1610
+ },
1611
+ {
1612
+ "name": "recipient",
1613
+ "type": "pubkey"
1614
+ },
1615
+ {
1616
+ "name": "amount",
1617
+ "type": "u64"
1618
+ },
1619
+ {
1620
+ "name": "timestamp",
1621
+ "type": "i64"
1622
+ }
1623
+ ]
1624
+ }
1625
+ },
1626
+ {
1627
+ "name": "StldSolWithdrawnViaTreasury",
1628
+ "type": {
1629
+ "kind": "struct",
1630
+ "fields": [
1631
+ {
1632
+ "name": "treasury",
1633
+ "type": "pubkey"
1634
+ },
1635
+ {
1636
+ "name": "admin",
1637
+ "type": "pubkey"
1638
+ },
1639
+ {
1640
+ "name": "source",
1641
+ "type": "pubkey"
1642
+ },
1643
+ {
1644
+ "name": "recipient",
1645
+ "type": "pubkey"
1646
+ },
1647
+ {
1648
+ "name": "amount",
1649
+ "type": "u64"
1650
+ },
1651
+ {
1652
+ "name": "timestamp",
1653
+ "type": "i64"
1654
+ }
1655
+ ]
1656
+ }
1657
+ },
1658
+ {
1659
+ "name": "TokenRegistered",
1660
+ "type": {
1661
+ "kind": "struct",
1662
+ "fields": [
1663
+ {
1664
+ "name": "treasury",
1665
+ "type": "pubkey"
1666
+ },
1667
+ {
1668
+ "name": "mint",
1669
+ "type": "pubkey"
1670
+ },
1671
+ {
1672
+ "name": "vault",
1673
+ "type": "pubkey"
1674
+ },
1675
+ {
1676
+ "name": "token_index",
1677
+ "type": "u8"
1678
+ },
1679
+ {
1680
+ "name": "timestamp",
1681
+ "type": "i64"
1682
+ }
1683
+ ]
1684
+ }
1685
+ },
1686
+ {
1687
+ "name": "Treasury",
1688
+ "docs": [
1689
+ "Singleton governance account at PDA `[b\"treasury\"]`. Holds the human",
1690
+ "admin pubkey, a list of registered token mints + vault addresses, and",
1691
+ "pending-admin state for the 2-step transfer flow."
1692
+ ],
1693
+ "type": {
1694
+ "kind": "struct",
1695
+ "fields": [
1696
+ {
1697
+ "name": "admin",
1698
+ "docs": [
1699
+ "Pubkey allowed to call every admin wrapper below."
1700
+ ],
1701
+ "type": "pubkey"
1702
+ },
1703
+ {
1704
+ "name": "pending_admin",
1705
+ "docs": [
1706
+ "Pending admin during a 2-step transfer; `Pubkey::default()` when",
1707
+ "no transfer is in flight."
1708
+ ],
1709
+ "type": "pubkey"
1710
+ },
1711
+ {
1712
+ "name": "bump",
1713
+ "docs": [
1714
+ "Bump seed for the treasury PDA."
1715
+ ],
1716
+ "type": "u8"
1717
+ },
1718
+ {
1719
+ "name": "token_count",
1720
+ "docs": [
1721
+ "Active count of `token_mints` / `token_vaults`."
1722
+ ],
1723
+ "type": "u8"
1724
+ },
1725
+ {
1726
+ "name": "token_mints",
1727
+ "docs": [
1728
+ "Registered token mints (index-aligned with `token_vaults`)."
1729
+ ],
1730
+ "type": {
1731
+ "array": [
1732
+ "pubkey",
1733
+ 10
1734
+ ]
1735
+ }
1736
+ },
1737
+ {
1738
+ "name": "token_vaults",
1739
+ "docs": [
1740
+ "Treasury-owned vault accounts (PDA `[b\"vault\", mint]`)."
1741
+ ],
1742
+ "type": {
1743
+ "array": [
1744
+ "pubkey",
1745
+ 10
1746
+ ]
1747
+ }
1748
+ },
1749
+ {
1750
+ "name": "created_at",
1751
+ "docs": [
1752
+ "Creation `Clock::unix_timestamp`."
1753
+ ],
1754
+ "type": "i64"
1755
+ },
1756
+ {
1757
+ "name": "reserved",
1758
+ "docs": [
1759
+ "Padding for forward-compat fields."
1760
+ ],
1761
+ "type": {
1762
+ "array": [
1763
+ "u8",
1764
+ 64
1765
+ ]
1766
+ }
1767
+ }
1768
+ ]
1769
+ }
1770
+ },
1771
+ {
1772
+ "name": "TreasuryInitialized",
1773
+ "type": {
1774
+ "kind": "struct",
1775
+ "fields": [
1776
+ {
1777
+ "name": "treasury",
1778
+ "type": "pubkey"
1779
+ },
1780
+ {
1781
+ "name": "admin",
1782
+ "type": "pubkey"
1783
+ },
1784
+ {
1785
+ "name": "timestamp",
1786
+ "type": "i64"
1787
+ }
1788
+ ]
1789
+ }
1790
+ },
1791
+ {
1792
+ "name": "UpgradeAuthorityTransferred",
1793
+ "type": {
1794
+ "kind": "struct",
1795
+ "fields": [
1796
+ {
1797
+ "name": "treasury",
1798
+ "type": "pubkey"
1799
+ },
1800
+ {
1801
+ "name": "programdata",
1802
+ "type": "pubkey"
1803
+ },
1804
+ {
1805
+ "name": "new_authority",
1806
+ "type": "pubkey"
1807
+ },
1808
+ {
1809
+ "name": "timestamp",
1810
+ "type": "i64"
1811
+ }
1812
+ ]
1813
+ }
1814
+ }
1815
+ ]
1816
+ }