@glamsystems/glam-sdk 1.1.0-alpha.5 → 1.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 (137) hide show
  1. package/LICENSE +201 -0
  2. package/buffer-layout.d.ts +88 -0
  3. package/index.cjs.d.ts +1 -0
  4. package/index.cjs.js +1 -92594
  5. package/index.esm.d.ts +1 -0
  6. package/index.esm.js +1 -92146
  7. package/package.json +29 -17
  8. package/src/assets.d.ts +39 -0
  9. package/src/client/access.d.ts +57 -0
  10. package/src/client/base.d.ts +234 -0
  11. package/src/client/bridge.d.ts +205 -0
  12. package/src/client/bridgeRegistry.d.ts +32 -0
  13. package/src/client/cctp.d.ts +164 -0
  14. package/src/client/epi.d.ts +228 -0
  15. package/src/client/fees.d.ts +33 -0
  16. package/src/client/invest.d.ts +37 -0
  17. package/src/client/jupiter-lend/borrow.d.ts +92 -0
  18. package/src/client/jupiter-lend/earn.d.ts +64 -0
  19. package/src/client/jupiter-lend/index.d.ts +3 -0
  20. package/src/client/jupiter-lend/shared.d.ts +129 -0
  21. package/src/client/jupiter.d.ts +53 -0
  22. package/src/client/kamino/farm.d.ts +39 -0
  23. package/src/client/kamino/index.d.ts +4 -0
  24. package/src/client/kamino/lending.d.ts +94 -0
  25. package/src/client/kamino/types.d.ts +56 -0
  26. package/src/client/kamino/vaults.d.ts +39 -0
  27. package/src/client/loopscale/borrow.d.ts +118 -0
  28. package/src/client/loopscale/core.d.ts +604 -0
  29. package/src/client/loopscale/index.d.ts +5 -0
  30. package/src/client/loopscale/lend.d.ts +123 -0
  31. package/src/client/loopscale/vault.d.ts +43 -0
  32. package/src/client/marinade.d.ts +42 -0
  33. package/src/client/mint.d.ts +143 -0
  34. package/src/client/orca.d.ts +255 -0
  35. package/src/client/phoenix.d.ts +214 -0
  36. package/src/client/price.d.ts +182 -0
  37. package/src/client/stake-pool.d.ts +39 -0
  38. package/src/client/stake.d.ts +34 -0
  39. package/src/client/state.d.ts +56 -0
  40. package/src/client/timelock.d.ts +31 -0
  41. package/src/client/vault.d.ts +98 -0
  42. package/src/client.d.ts +82 -0
  43. package/src/clientConfig.d.ts +32 -0
  44. package/src/constants.d.ts +111 -0
  45. package/src/deser/base.d.ts +18 -0
  46. package/src/deser/index.d.ts +4 -0
  47. package/src/deser/integrationPolicies.d.ts +195 -0
  48. package/src/deser/kaminoLayouts.d.ts +264 -0
  49. package/src/deser/loopscaleLayouts.d.ts +157 -0
  50. package/src/deser/tokenAclLayouts.d.ts +67 -0
  51. package/src/error.d.ts +29 -0
  52. package/src/glamExports.d.ts +6260 -0
  53. package/src/globalConfig.d.ts +27 -0
  54. package/src/index.d.ts +24 -0
  55. package/src/models/acl.d.ts +43 -0
  56. package/src/models/index.d.ts +8 -0
  57. package/src/models/mint.d.ts +57 -0
  58. package/src/models/state.d.ts +94 -0
  59. package/src/models/types.d.ts +28 -0
  60. package/src/protocols.d.ts +29 -0
  61. package/src/utils/accounts.d.ts +71 -0
  62. package/src/utils/bitmask.d.ts +53 -0
  63. package/src/utils/blockhash.d.ts +11 -0
  64. package/src/utils/common.d.ts +73 -0
  65. package/src/utils/computeBudget.d.ts +15 -0
  66. package/src/utils/evm.d.ts +10 -0
  67. package/src/utils/fraction.d.ts +29 -0
  68. package/src/utils/glamPDAs.d.ts +15 -0
  69. package/src/utils/helius.d.ts +66 -0
  70. package/src/utils/index.d.ts +17 -0
  71. package/src/utils/jupiterApi.d.ts +95 -0
  72. package/src/utils/lookupTables.d.ts +83 -0
  73. package/src/utils/phoenixApi.d.ts +146 -0
  74. package/src/utils/pkmap.d.ts +87 -0
  75. package/src/utils/pkset.d.ts +73 -0
  76. package/src/utils/positionCategorizer.d.ts +38 -0
  77. package/src/utils/rpc.d.ts +18 -0
  78. package/src/utils/timelock.d.ts +52 -0
  79. package/src/utils/transaction.d.ts +13 -0
  80. package/target/idl/ext_bridge-staging.json +2379 -0
  81. package/target/idl/ext_bridge.json +2379 -0
  82. package/target/idl/ext_drift.json +5464 -0
  83. package/target/idl/ext_epi-staging.json +2862 -0
  84. package/target/idl/ext_epi.json +2862 -0
  85. package/target/idl/ext_loopscale-staging.json +4708 -0
  86. package/target/idl/ext_loopscale.json +4708 -0
  87. package/target/idl/ext_marinade-staging.json +1587 -0
  88. package/target/idl/ext_phoenix-staging.json +3525 -0
  89. package/target/idl/ext_phoenix.json +3525 -0
  90. package/target/idl/mock_layerzero_endpoint.json +144 -0
  91. package/target/idl/mock_layerzero_oft.json +155 -0
  92. package/target/idl/mock_wormhole_verify_vaa_shim.json +58 -0
  93. package/target/types/ext_bridge-staging.d.ts +2385 -0
  94. package/target/types/ext_bridge-staging.ts +2385 -0
  95. package/target/types/ext_bridge.d.ts +2385 -0
  96. package/target/types/ext_bridge.ts +2385 -0
  97. package/target/types/ext_cctp-staging.d.ts +1268 -0
  98. package/target/types/ext_cctp.d.ts +1268 -0
  99. package/target/types/ext_drift.d.ts +5470 -0
  100. package/target/types/ext_drift.ts +5470 -0
  101. package/target/types/ext_epi-staging.d.ts +2868 -0
  102. package/target/types/ext_epi-staging.ts +2868 -0
  103. package/target/types/ext_epi.d.ts +2868 -0
  104. package/target/types/ext_epi.ts +2868 -0
  105. package/target/types/ext_jupiter-staging.d.ts +1966 -0
  106. package/target/types/ext_jupiter.d.ts +1966 -0
  107. package/target/types/ext_kamino-staging.d.ts +3433 -0
  108. package/target/types/ext_kamino.d.ts +3433 -0
  109. package/target/types/ext_loopscale-staging.d.ts +4714 -0
  110. package/target/types/ext_loopscale-staging.ts +4714 -0
  111. package/target/types/ext_loopscale.d.ts +4714 -0
  112. package/target/types/ext_loopscale.ts +4714 -0
  113. package/target/types/ext_marinade-staging.d.ts +1593 -0
  114. package/target/types/ext_marinade-staging.ts +1593 -0
  115. package/target/types/ext_marinade.d.ts +1593 -0
  116. package/target/types/ext_orca-staging.d.ts +2829 -0
  117. package/target/types/ext_orca.d.ts +2829 -0
  118. package/target/types/ext_phoenix-staging.d.ts +3531 -0
  119. package/target/types/ext_phoenix-staging.ts +3531 -0
  120. package/target/types/ext_phoenix.d.ts +3531 -0
  121. package/target/types/ext_phoenix.ts +3531 -0
  122. package/target/types/ext_spl-staging.d.ts +1274 -0
  123. package/target/types/ext_spl.d.ts +1274 -0
  124. package/target/types/ext_stake_pool-staging.d.ts +1622 -0
  125. package/target/types/ext_stake_pool.d.ts +1622 -0
  126. package/target/types/glam_config.d.ts +755 -0
  127. package/target/types/glam_mint-staging.d.ts +8802 -0
  128. package/target/types/glam_mint.d.ts +6349 -0
  129. package/target/types/glam_policies.d.ts +477 -0
  130. package/target/types/glam_protocol-staging.d.ts +3362 -0
  131. package/target/types/glam_protocol.d.ts +2783 -0
  132. package/target/types/mock_layerzero_endpoint.d.ts +150 -0
  133. package/target/types/mock_layerzero_endpoint.ts +150 -0
  134. package/target/types/mock_layerzero_oft.d.ts +161 -0
  135. package/target/types/mock_layerzero_oft.ts +161 -0
  136. package/target/types/mock_wormhole_verify_vaa_shim.d.ts +64 -0
  137. package/target/types/mock_wormhole_verify_vaa_shim.ts +64 -0
@@ -0,0 +1,2783 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/glam_protocol.json`.
6
+ */
7
+ export type GlamProtocol = {
8
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz";
9
+ "metadata": {
10
+ "name": "glamProtocol";
11
+ "version": "1.0.4";
12
+ "spec": "0.1.0";
13
+ "description": "Glam Protocol";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "cancelTimelock";
18
+ "discriminator": [
19
+ 158,
20
+ 180,
21
+ 47,
22
+ 81,
23
+ 133,
24
+ 231,
25
+ 168,
26
+ 238
27
+ ];
28
+ "accounts": [
29
+ {
30
+ "name": "glamState";
31
+ "writable": true;
32
+ },
33
+ {
34
+ "name": "glamSigner";
35
+ "writable": true;
36
+ "signer": true;
37
+ }
38
+ ];
39
+ "args": [];
40
+ },
41
+ {
42
+ "name": "closeState";
43
+ "discriminator": [
44
+ 25,
45
+ 1,
46
+ 184,
47
+ 101,
48
+ 200,
49
+ 245,
50
+ 210,
51
+ 246
52
+ ];
53
+ "accounts": [
54
+ {
55
+ "name": "glamState";
56
+ "writable": true;
57
+ },
58
+ {
59
+ "name": "glamVault";
60
+ "writable": true;
61
+ "pda": {
62
+ "seeds": [
63
+ {
64
+ "kind": "const";
65
+ "value": [
66
+ 118,
67
+ 97,
68
+ 117,
69
+ 108,
70
+ 116
71
+ ];
72
+ },
73
+ {
74
+ "kind": "account";
75
+ "path": "glamState";
76
+ }
77
+ ];
78
+ };
79
+ },
80
+ {
81
+ "name": "glamSigner";
82
+ "writable": true;
83
+ "signer": true;
84
+ },
85
+ {
86
+ "name": "systemProgram";
87
+ "address": "11111111111111111111111111111111";
88
+ }
89
+ ];
90
+ "args": [];
91
+ },
92
+ {
93
+ "name": "cpiProxy";
94
+ "docs": [
95
+ "Only accessible by integration programs"
96
+ ];
97
+ "discriminator": [
98
+ 65,
99
+ 134,
100
+ 48,
101
+ 2,
102
+ 7,
103
+ 232,
104
+ 199,
105
+ 46
106
+ ];
107
+ "accounts": [
108
+ {
109
+ "name": "glamState";
110
+ "writable": true;
111
+ },
112
+ {
113
+ "name": "glamVault";
114
+ "writable": true;
115
+ "pda": {
116
+ "seeds": [
117
+ {
118
+ "kind": "const";
119
+ "value": [
120
+ 118,
121
+ 97,
122
+ 117,
123
+ 108,
124
+ 116
125
+ ];
126
+ },
127
+ {
128
+ "kind": "account";
129
+ "path": "glamState";
130
+ }
131
+ ];
132
+ };
133
+ },
134
+ {
135
+ "name": "glamSigner";
136
+ "writable": true;
137
+ "signer": true;
138
+ },
139
+ {
140
+ "name": "cpiProgram";
141
+ },
142
+ {
143
+ "name": "integrationAuthority";
144
+ "signer": true;
145
+ },
146
+ {
147
+ "name": "systemProgram";
148
+ "address": "11111111111111111111111111111111";
149
+ }
150
+ ];
151
+ "args": [
152
+ {
153
+ "name": "data";
154
+ "type": "bytes";
155
+ },
156
+ {
157
+ "name": "extraParams";
158
+ "type": {
159
+ "vec": {
160
+ "defined": {
161
+ "name": "extraParams";
162
+ };
163
+ };
164
+ };
165
+ }
166
+ ];
167
+ },
168
+ {
169
+ "name": "emergencyAccessUpdate";
170
+ "docs": [
171
+ "Bypasses the timelock for emergency updates on access control rules. Allowed operations:",
172
+ "- removing an integration program",
173
+ "- removing a delegate",
174
+ "- enabling/disabling glam state"
175
+ ];
176
+ "discriminator": [
177
+ 207,
178
+ 247,
179
+ 157,
180
+ 14,
181
+ 87,
182
+ 132,
183
+ 230,
184
+ 0
185
+ ];
186
+ "accounts": [
187
+ {
188
+ "name": "glamState";
189
+ "writable": true;
190
+ },
191
+ {
192
+ "name": "glamSigner";
193
+ "writable": true;
194
+ "signer": true;
195
+ }
196
+ ];
197
+ "args": [
198
+ {
199
+ "name": "args";
200
+ "type": {
201
+ "defined": {
202
+ "name": "emergencyAccessUpdateArgs";
203
+ };
204
+ };
205
+ }
206
+ ];
207
+ },
208
+ {
209
+ "name": "enableDisableProtocols";
210
+ "discriminator": [
211
+ 222,
212
+ 198,
213
+ 164,
214
+ 163,
215
+ 194,
216
+ 161,
217
+ 11,
218
+ 171
219
+ ];
220
+ "accounts": [
221
+ {
222
+ "name": "glamState";
223
+ "writable": true;
224
+ },
225
+ {
226
+ "name": "glamSigner";
227
+ "writable": true;
228
+ "signer": true;
229
+ }
230
+ ];
231
+ "args": [
232
+ {
233
+ "name": "integrationProgram";
234
+ "type": "pubkey";
235
+ },
236
+ {
237
+ "name": "protocolsBitmask";
238
+ "type": "u16";
239
+ },
240
+ {
241
+ "name": "setEnabled";
242
+ "type": "bool";
243
+ }
244
+ ];
245
+ },
246
+ {
247
+ "name": "extendState";
248
+ "discriminator": [
249
+ 34,
250
+ 147,
251
+ 151,
252
+ 206,
253
+ 134,
254
+ 128,
255
+ 82,
256
+ 228
257
+ ];
258
+ "accounts": [
259
+ {
260
+ "name": "glamState";
261
+ "writable": true;
262
+ },
263
+ {
264
+ "name": "glamSigner";
265
+ "writable": true;
266
+ "signer": true;
267
+ },
268
+ {
269
+ "name": "systemProgram";
270
+ "address": "11111111111111111111111111111111";
271
+ }
272
+ ];
273
+ "args": [
274
+ {
275
+ "name": "bytes";
276
+ "type": "u32";
277
+ }
278
+ ];
279
+ },
280
+ {
281
+ "name": "grantRevokeDelegatePermissions";
282
+ "discriminator": [
283
+ 162,
284
+ 21,
285
+ 218,
286
+ 157,
287
+ 218,
288
+ 86,
289
+ 114,
290
+ 171
291
+ ];
292
+ "accounts": [
293
+ {
294
+ "name": "glamState";
295
+ "writable": true;
296
+ },
297
+ {
298
+ "name": "glamSigner";
299
+ "writable": true;
300
+ "signer": true;
301
+ }
302
+ ];
303
+ "args": [
304
+ {
305
+ "name": "delegate";
306
+ "type": "pubkey";
307
+ },
308
+ {
309
+ "name": "integrationProgram";
310
+ "type": "pubkey";
311
+ },
312
+ {
313
+ "name": "protocolBitflag";
314
+ "type": "u16";
315
+ },
316
+ {
317
+ "name": "permissionsBitmask";
318
+ "type": "u64";
319
+ },
320
+ {
321
+ "name": "setGranted";
322
+ "type": "bool";
323
+ }
324
+ ];
325
+ },
326
+ {
327
+ "name": "initializeState";
328
+ "discriminator": [
329
+ 190,
330
+ 171,
331
+ 224,
332
+ 219,
333
+ 217,
334
+ 72,
335
+ 199,
336
+ 176
337
+ ];
338
+ "accounts": [
339
+ {
340
+ "name": "glamState";
341
+ "writable": true;
342
+ "pda": {
343
+ "seeds": [
344
+ {
345
+ "kind": "const";
346
+ "value": [
347
+ 115,
348
+ 116,
349
+ 97,
350
+ 116,
351
+ 101
352
+ ];
353
+ },
354
+ {
355
+ "kind": "account";
356
+ "path": "glamSigner";
357
+ },
358
+ {
359
+ "kind": "arg";
360
+ "path": "state_model.created";
361
+ }
362
+ ];
363
+ };
364
+ },
365
+ {
366
+ "name": "glamSigner";
367
+ "writable": true;
368
+ "signer": true;
369
+ },
370
+ {
371
+ "name": "systemProgram";
372
+ "address": "11111111111111111111111111111111";
373
+ },
374
+ {
375
+ "name": "baseAssetMint";
376
+ }
377
+ ];
378
+ "args": [
379
+ {
380
+ "name": "state";
381
+ "type": {
382
+ "defined": {
383
+ "name": "stateModel";
384
+ };
385
+ };
386
+ }
387
+ ];
388
+ },
389
+ {
390
+ "name": "jupiterSwap";
391
+ "discriminator": [
392
+ 116,
393
+ 207,
394
+ 0,
395
+ 196,
396
+ 252,
397
+ 120,
398
+ 243,
399
+ 18
400
+ ];
401
+ "accounts": [
402
+ {
403
+ "name": "glamState";
404
+ "writable": true;
405
+ },
406
+ {
407
+ "name": "glamVault";
408
+ "writable": true;
409
+ "pda": {
410
+ "seeds": [
411
+ {
412
+ "kind": "const";
413
+ "value": [
414
+ 118,
415
+ 97,
416
+ 117,
417
+ 108,
418
+ 116
419
+ ];
420
+ },
421
+ {
422
+ "kind": "account";
423
+ "path": "glamState";
424
+ }
425
+ ];
426
+ };
427
+ },
428
+ {
429
+ "name": "glamSigner";
430
+ "writable": true;
431
+ "signer": true;
432
+ },
433
+ {
434
+ "name": "cpiProgram";
435
+ "address": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
436
+ },
437
+ {
438
+ "name": "inputStakePool";
439
+ "optional": true;
440
+ },
441
+ {
442
+ "name": "outputStakePool";
443
+ "optional": true;
444
+ }
445
+ ];
446
+ "args": [
447
+ {
448
+ "name": "data";
449
+ "type": "bytes";
450
+ }
451
+ ];
452
+ },
453
+ {
454
+ "name": "jupiterSwapV2";
455
+ "discriminator": [
456
+ 28,
457
+ 155,
458
+ 14,
459
+ 63,
460
+ 87,
461
+ 96,
462
+ 62,
463
+ 221
464
+ ];
465
+ "accounts": [
466
+ {
467
+ "name": "glamState";
468
+ "writable": true;
469
+ },
470
+ {
471
+ "name": "glamVault";
472
+ "writable": true;
473
+ "pda": {
474
+ "seeds": [
475
+ {
476
+ "kind": "const";
477
+ "value": [
478
+ 118,
479
+ 97,
480
+ 117,
481
+ 108,
482
+ 116
483
+ ];
484
+ },
485
+ {
486
+ "kind": "account";
487
+ "path": "glamState";
488
+ }
489
+ ];
490
+ };
491
+ },
492
+ {
493
+ "name": "glamSigner";
494
+ "writable": true;
495
+ "signer": true;
496
+ },
497
+ {
498
+ "name": "cpiProgram";
499
+ "address": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
500
+ },
501
+ {
502
+ "name": "inputStakePool";
503
+ "optional": true;
504
+ },
505
+ {
506
+ "name": "outputStakePool";
507
+ "optional": true;
508
+ },
509
+ {
510
+ "name": "glamConfig";
511
+ "optional": true;
512
+ "pda": {
513
+ "seeds": [
514
+ {
515
+ "kind": "const";
516
+ "value": [
517
+ 103,
518
+ 108,
519
+ 111,
520
+ 98,
521
+ 97,
522
+ 108,
523
+ 45,
524
+ 99,
525
+ 111,
526
+ 110,
527
+ 102,
528
+ 105,
529
+ 103
530
+ ];
531
+ }
532
+ ];
533
+ "program": {
534
+ "kind": "const";
535
+ "value": [
536
+ 10,
537
+ 11,
538
+ 0,
539
+ 83,
540
+ 72,
541
+ 16,
542
+ 46,
543
+ 144,
544
+ 46,
545
+ 42,
546
+ 79,
547
+ 22,
548
+ 157,
549
+ 123,
550
+ 21,
551
+ 242,
552
+ 192,
553
+ 146,
554
+ 1,
555
+ 78,
556
+ 88,
557
+ 59,
558
+ 102,
559
+ 9,
560
+ 190,
561
+ 226,
562
+ 92,
563
+ 189,
564
+ 187,
565
+ 232,
566
+ 83,
567
+ 220
568
+ ];
569
+ };
570
+ };
571
+ },
572
+ {
573
+ "name": "solUsdOracle";
574
+ "optional": true;
575
+ },
576
+ {
577
+ "name": "inputTokenOracle";
578
+ "optional": true;
579
+ },
580
+ {
581
+ "name": "outputTokenOracle";
582
+ "optional": true;
583
+ }
584
+ ];
585
+ "args": [
586
+ {
587
+ "name": "skipQuotePriceCheck";
588
+ "type": "bool";
589
+ },
590
+ {
591
+ "name": "data";
592
+ "type": "bytes";
593
+ }
594
+ ];
595
+ },
596
+ {
597
+ "name": "linkUnlinkMintByMintAuthority";
598
+ "docs": [
599
+ "For glam mint program's use only"
600
+ ];
601
+ "discriminator": [
602
+ 85,
603
+ 67,
604
+ 58,
605
+ 245,
606
+ 175,
607
+ 14,
608
+ 122,
609
+ 6
610
+ ];
611
+ "accounts": [
612
+ {
613
+ "name": "glamState";
614
+ "writable": true;
615
+ },
616
+ {
617
+ "name": "glamMint";
618
+ },
619
+ {
620
+ "name": "glamMintAuthority";
621
+ "signer": true;
622
+ }
623
+ ];
624
+ "args": [
625
+ {
626
+ "name": "link";
627
+ "type": "bool";
628
+ }
629
+ ];
630
+ },
631
+ {
632
+ "name": "resetPricedProtocolsByMintAuthority";
633
+ "docs": [
634
+ "For glam mint program's use only"
635
+ ];
636
+ "discriminator": [
637
+ 86,
638
+ 95,
639
+ 153,
640
+ 145,
641
+ 179,
642
+ 181,
643
+ 107,
644
+ 235
645
+ ];
646
+ "accounts": [
647
+ {
648
+ "name": "glamState";
649
+ "writable": true;
650
+ },
651
+ {
652
+ "name": "glamMint";
653
+ },
654
+ {
655
+ "name": "glamMintAuthority";
656
+ "signer": true;
657
+ }
658
+ ];
659
+ "args": [];
660
+ },
661
+ {
662
+ "name": "setJupiterSwapPolicy";
663
+ "discriminator": [
664
+ 189,
665
+ 182,
666
+ 227,
667
+ 165,
668
+ 127,
669
+ 148,
670
+ 246,
671
+ 189
672
+ ];
673
+ "accounts": [
674
+ {
675
+ "name": "glamState";
676
+ "writable": true;
677
+ },
678
+ {
679
+ "name": "glamSigner";
680
+ "writable": true;
681
+ "signer": true;
682
+ }
683
+ ];
684
+ "args": [
685
+ {
686
+ "name": "policy";
687
+ "type": {
688
+ "defined": {
689
+ "name": "jupiterSwapPolicy";
690
+ };
691
+ };
692
+ }
693
+ ];
694
+ },
695
+ {
696
+ "name": "setProtocolPolicy";
697
+ "discriminator": [
698
+ 37,
699
+ 99,
700
+ 61,
701
+ 122,
702
+ 227,
703
+ 102,
704
+ 182,
705
+ 180
706
+ ];
707
+ "accounts": [
708
+ {
709
+ "name": "glamState";
710
+ "writable": true;
711
+ },
712
+ {
713
+ "name": "glamSigner";
714
+ "writable": true;
715
+ "signer": true;
716
+ }
717
+ ];
718
+ "args": [
719
+ {
720
+ "name": "integrationProgram";
721
+ "type": "pubkey";
722
+ },
723
+ {
724
+ "name": "protocolBitflag";
725
+ "type": "u16";
726
+ },
727
+ {
728
+ "name": "data";
729
+ "type": "bytes";
730
+ }
731
+ ];
732
+ },
733
+ {
734
+ "name": "setProtocolPolicyByIntegrationAuthority";
735
+ "discriminator": [
736
+ 225,
737
+ 50,
738
+ 176,
739
+ 197,
740
+ 142,
741
+ 211,
742
+ 77,
743
+ 101
744
+ ];
745
+ "accounts": [
746
+ {
747
+ "name": "glamState";
748
+ "writable": true;
749
+ },
750
+ {
751
+ "name": "integrationProgram";
752
+ },
753
+ {
754
+ "name": "integrationAuthority";
755
+ "signer": true;
756
+ "pda": {
757
+ "seeds": [
758
+ {
759
+ "kind": "const";
760
+ "value": [
761
+ 105,
762
+ 110,
763
+ 116,
764
+ 101,
765
+ 103,
766
+ 114,
767
+ 97,
768
+ 116,
769
+ 105,
770
+ 111,
771
+ 110,
772
+ 45,
773
+ 97,
774
+ 117,
775
+ 116,
776
+ 104,
777
+ 111,
778
+ 114,
779
+ 105,
780
+ 116,
781
+ 121
782
+ ];
783
+ }
784
+ ];
785
+ "program": {
786
+ "kind": "account";
787
+ "path": "integrationProgram";
788
+ };
789
+ };
790
+ }
791
+ ];
792
+ "args": [
793
+ {
794
+ "name": "protocolBitflag";
795
+ "type": "u16";
796
+ },
797
+ {
798
+ "name": "data";
799
+ "type": "bytes";
800
+ }
801
+ ];
802
+ },
803
+ {
804
+ "name": "setSystemTransferPolicy";
805
+ "discriminator": [
806
+ 102,
807
+ 21,
808
+ 157,
809
+ 101,
810
+ 19,
811
+ 4,
812
+ 100,
813
+ 213
814
+ ];
815
+ "accounts": [
816
+ {
817
+ "name": "glamState";
818
+ "writable": true;
819
+ },
820
+ {
821
+ "name": "glamSigner";
822
+ "writable": true;
823
+ "signer": true;
824
+ }
825
+ ];
826
+ "args": [
827
+ {
828
+ "name": "policy";
829
+ "type": {
830
+ "defined": {
831
+ "name": "transferPolicy";
832
+ };
833
+ };
834
+ }
835
+ ];
836
+ },
837
+ {
838
+ "name": "systemTransfer";
839
+ "docs": [
840
+ "Transfers SOL from the vault to another account.",
841
+ "",
842
+ "Token program ID is required as a remaining account when wrapping SOL (i.e., transfer to wSOL token account)."
843
+ ];
844
+ "discriminator": [
845
+ 167,
846
+ 164,
847
+ 195,
848
+ 155,
849
+ 219,
850
+ 152,
851
+ 191,
852
+ 230
853
+ ];
854
+ "accounts": [
855
+ {
856
+ "name": "glamState";
857
+ },
858
+ {
859
+ "name": "glamVault";
860
+ "writable": true;
861
+ "pda": {
862
+ "seeds": [
863
+ {
864
+ "kind": "const";
865
+ "value": [
866
+ 118,
867
+ 97,
868
+ 117,
869
+ 108,
870
+ 116
871
+ ];
872
+ },
873
+ {
874
+ "kind": "account";
875
+ "path": "glamState";
876
+ }
877
+ ];
878
+ };
879
+ },
880
+ {
881
+ "name": "glamSigner";
882
+ "writable": true;
883
+ "signer": true;
884
+ },
885
+ {
886
+ "name": "cpiProgram";
887
+ "address": "11111111111111111111111111111111";
888
+ },
889
+ {
890
+ "name": "to";
891
+ "writable": true;
892
+ }
893
+ ];
894
+ "args": [
895
+ {
896
+ "name": "lamports";
897
+ "type": "u64";
898
+ }
899
+ ];
900
+ },
901
+ {
902
+ "name": "tokenTransferCheckedByMintAuthority";
903
+ "docs": [
904
+ "For glam mint program's use only"
905
+ ];
906
+ "discriminator": [
907
+ 37,
908
+ 131,
909
+ 188,
910
+ 85,
911
+ 45,
912
+ 183,
913
+ 8,
914
+ 81
915
+ ];
916
+ "accounts": [
917
+ {
918
+ "name": "glamState";
919
+ },
920
+ {
921
+ "name": "glamVault";
922
+ "writable": true;
923
+ "pda": {
924
+ "seeds": [
925
+ {
926
+ "kind": "const";
927
+ "value": [
928
+ 118,
929
+ 97,
930
+ 117,
931
+ 108,
932
+ 116
933
+ ];
934
+ },
935
+ {
936
+ "kind": "account";
937
+ "path": "glamState";
938
+ }
939
+ ];
940
+ };
941
+ },
942
+ {
943
+ "name": "glamMint";
944
+ "writable": true;
945
+ },
946
+ {
947
+ "name": "glamMintAuthority";
948
+ "writable": true;
949
+ "signer": true;
950
+ },
951
+ {
952
+ "name": "from";
953
+ "writable": true;
954
+ },
955
+ {
956
+ "name": "to";
957
+ "writable": true;
958
+ },
959
+ {
960
+ "name": "mint";
961
+ },
962
+ {
963
+ "name": "tokenProgram";
964
+ }
965
+ ];
966
+ "args": [
967
+ {
968
+ "name": "amount";
969
+ "type": "u64";
970
+ },
971
+ {
972
+ "name": "decimals";
973
+ "type": "u8";
974
+ }
975
+ ];
976
+ },
977
+ {
978
+ "name": "updateMintParams";
979
+ "discriminator": [
980
+ 45,
981
+ 42,
982
+ 115,
983
+ 25,
984
+ 179,
985
+ 27,
986
+ 57,
987
+ 191
988
+ ];
989
+ "accounts": [
990
+ {
991
+ "name": "glamState";
992
+ "writable": true;
993
+ },
994
+ {
995
+ "name": "glamSigner";
996
+ "writable": true;
997
+ "signer": true;
998
+ }
999
+ ];
1000
+ "args": [
1001
+ {
1002
+ "name": "params";
1003
+ "type": {
1004
+ "vec": {
1005
+ "defined": {
1006
+ "name": "engineField";
1007
+ };
1008
+ };
1009
+ };
1010
+ }
1011
+ ];
1012
+ },
1013
+ {
1014
+ "name": "updateMintParamsByMintAuthority";
1015
+ "docs": [
1016
+ "For glam mint program's use only, timelock is not enforced"
1017
+ ];
1018
+ "discriminator": [
1019
+ 94,
1020
+ 160,
1021
+ 55,
1022
+ 53,
1023
+ 175,
1024
+ 225,
1025
+ 62,
1026
+ 118
1027
+ ];
1028
+ "accounts": [
1029
+ {
1030
+ "name": "glamState";
1031
+ "writable": true;
1032
+ },
1033
+ {
1034
+ "name": "glamMint";
1035
+ },
1036
+ {
1037
+ "name": "glamMintAuthority";
1038
+ "signer": true;
1039
+ }
1040
+ ];
1041
+ "args": [
1042
+ {
1043
+ "name": "params";
1044
+ "type": {
1045
+ "vec": {
1046
+ "defined": {
1047
+ "name": "engineField";
1048
+ };
1049
+ };
1050
+ };
1051
+ }
1052
+ ];
1053
+ },
1054
+ {
1055
+ "name": "updatePricedProtocol";
1056
+ "docs": [
1057
+ "Only accessible by integration programs"
1058
+ ];
1059
+ "discriminator": [
1060
+ 10,
1061
+ 106,
1062
+ 94,
1063
+ 171,
1064
+ 118,
1065
+ 217,
1066
+ 62,
1067
+ 98
1068
+ ];
1069
+ "accounts": [
1070
+ {
1071
+ "name": "glamState";
1072
+ "writable": true;
1073
+ },
1074
+ {
1075
+ "name": "integrationAuthority";
1076
+ "signer": true;
1077
+ }
1078
+ ];
1079
+ "args": [
1080
+ {
1081
+ "name": "pricedProtocol";
1082
+ "type": {
1083
+ "defined": {
1084
+ "name": "pricedProtocol";
1085
+ };
1086
+ };
1087
+ }
1088
+ ];
1089
+ },
1090
+ {
1091
+ "name": "updateState";
1092
+ "discriminator": [
1093
+ 135,
1094
+ 112,
1095
+ 215,
1096
+ 75,
1097
+ 247,
1098
+ 185,
1099
+ 53,
1100
+ 176
1101
+ ];
1102
+ "accounts": [
1103
+ {
1104
+ "name": "glamState";
1105
+ "writable": true;
1106
+ },
1107
+ {
1108
+ "name": "glamSigner";
1109
+ "writable": true;
1110
+ "signer": true;
1111
+ }
1112
+ ];
1113
+ "args": [
1114
+ {
1115
+ "name": "state";
1116
+ "type": {
1117
+ "defined": {
1118
+ "name": "stateModel";
1119
+ };
1120
+ };
1121
+ }
1122
+ ];
1123
+ },
1124
+ {
1125
+ "name": "updateStateApplyTimelock";
1126
+ "discriminator": [
1127
+ 66,
1128
+ 12,
1129
+ 138,
1130
+ 80,
1131
+ 133,
1132
+ 85,
1133
+ 46,
1134
+ 220
1135
+ ];
1136
+ "accounts": [
1137
+ {
1138
+ "name": "glamState";
1139
+ "writable": true;
1140
+ },
1141
+ {
1142
+ "name": "glamSigner";
1143
+ "writable": true;
1144
+ "signer": true;
1145
+ }
1146
+ ];
1147
+ "args": [];
1148
+ }
1149
+ ];
1150
+ "accounts": [
1151
+ {
1152
+ "name": "stateAccount";
1153
+ "discriminator": [
1154
+ 142,
1155
+ 247,
1156
+ 54,
1157
+ 95,
1158
+ 85,
1159
+ 133,
1160
+ 249,
1161
+ 103
1162
+ ];
1163
+ }
1164
+ ];
1165
+ "errors": [
1166
+ {
1167
+ "code": 48000;
1168
+ "name": "unauthorizedSigner";
1169
+ "msg": "Signer is not authorized";
1170
+ },
1171
+ {
1172
+ "code": 48001;
1173
+ "name": "unauthorizedIntegrationProgram";
1174
+ "msg": "Integration program is not authorized";
1175
+ },
1176
+ {
1177
+ "code": 48002;
1178
+ "name": "integrationNotEnabled";
1179
+ "msg": "Integration is not enabled";
1180
+ },
1181
+ {
1182
+ "code": 48003;
1183
+ "name": "protocolNotEnabled";
1184
+ "msg": "Protocol is not enabled";
1185
+ },
1186
+ {
1187
+ "code": 48004;
1188
+ "name": "glamStateDisabled";
1189
+ "msg": "GLAM state is disabled";
1190
+ },
1191
+ {
1192
+ "code": 48005;
1193
+ "name": "protocolPolicyViolation";
1194
+ "msg": "Protocol policy violation";
1195
+ },
1196
+ {
1197
+ "code": 48006;
1198
+ "name": "emergencyUpdateDenied";
1199
+ "msg": "Emergency update denied";
1200
+ },
1201
+ {
1202
+ "code": 48007;
1203
+ "name": "timelockStillActive";
1204
+ "msg": "Timelock still active";
1205
+ },
1206
+ {
1207
+ "code": 48008;
1208
+ "name": "cannotApplyChanges";
1209
+ "msg": "Pending changes cannot be applied due to unfulfilled requests";
1210
+ },
1211
+ {
1212
+ "code": 48009;
1213
+ "name": "assetNotBorrowable";
1214
+ "msg": "Asset is not allowed to borrow";
1215
+ },
1216
+ {
1217
+ "code": 48010;
1218
+ "name": "unexpectedProgramOwner";
1219
+ "msg": "Account is owned by an unexpected program";
1220
+ },
1221
+ {
1222
+ "code": 48011;
1223
+ "name": "invalidAuthority";
1224
+ "msg": "Invalid authority";
1225
+ },
1226
+ {
1227
+ "code": 49000;
1228
+ "name": "invalidAccountType";
1229
+ "msg": "Invalid account type";
1230
+ },
1231
+ {
1232
+ "code": 49001;
1233
+ "name": "invalidName";
1234
+ "msg": "Invalid name";
1235
+ },
1236
+ {
1237
+ "code": 49002;
1238
+ "name": "invalidSymbol";
1239
+ "msg": "Symbol too long: max 32 chars";
1240
+ },
1241
+ {
1242
+ "code": 49003;
1243
+ "name": "invalidUri";
1244
+ "msg": "Uri too long: max 128 chars";
1245
+ },
1246
+ {
1247
+ "code": 49004;
1248
+ "name": "invalidAssetsLen";
1249
+ "msg": "Too many assets: max 100";
1250
+ },
1251
+ {
1252
+ "code": 49005;
1253
+ "name": "invalidIxArgs";
1254
+ "msg": "Invalid instruction arguments";
1255
+ },
1256
+ {
1257
+ "code": 49006;
1258
+ "name": "cannotCloseState";
1259
+ "msg": "Glam state cannot be closed: mint must be closed and state must be disabled";
1260
+ },
1261
+ {
1262
+ "code": 49007;
1263
+ "name": "invalidMintParams";
1264
+ "msg": "Invalid mint params";
1265
+ },
1266
+ {
1267
+ "code": 49008;
1268
+ "name": "invalidRemainingAccounts";
1269
+ "msg": "Invalid accounts: the transaction is malformed";
1270
+ },
1271
+ {
1272
+ "code": 49009;
1273
+ "name": "invalidVaultTokenAccount";
1274
+ "msg": "Invalid vault ata";
1275
+ },
1276
+ {
1277
+ "code": 49010;
1278
+ "name": "nonZeroSupply";
1279
+ "msg": "Glam mint supply not zero";
1280
+ },
1281
+ {
1282
+ "code": 49011;
1283
+ "name": "missingAccount";
1284
+ "msg": "An account required by the instruction is missing";
1285
+ },
1286
+ {
1287
+ "code": 49012;
1288
+ "name": "invalidTimestamp";
1289
+ "msg": "Invalid timestamp";
1290
+ },
1291
+ {
1292
+ "code": 49013;
1293
+ "name": "engineFieldNotFound";
1294
+ "msg": "Engine field not found";
1295
+ },
1296
+ {
1297
+ "code": 49014;
1298
+ "name": "invalidBaseAsset";
1299
+ "msg": "Invalid base asset";
1300
+ },
1301
+ {
1302
+ "code": 49015;
1303
+ "name": "invalidProtocolBitflag";
1304
+ "msg": "Invalid protocol bitflag";
1305
+ },
1306
+ {
1307
+ "code": 49016;
1308
+ "name": "staleDriftInterest";
1309
+ "msg": "Drift spot market cumulative interest is stale";
1310
+ },
1311
+ {
1312
+ "code": 49017;
1313
+ "name": "assetBalanceNotZero";
1314
+ "msg": "Cannot delete asset: vault token account balance is not zero";
1315
+ },
1316
+ {
1317
+ "code": 49018;
1318
+ "name": "cannotDeleteBaseAsset";
1319
+ "msg": "Cannot delete base asset from allowlist";
1320
+ },
1321
+ {
1322
+ "code": 49019;
1323
+ "name": "integrationAclLimitExceeded";
1324
+ "msg": "Integration ACL limit exceeded";
1325
+ },
1326
+ {
1327
+ "code": 49020;
1328
+ "name": "delegateAclLimitExceeded";
1329
+ "msg": "Delegate ACL limit exceeded";
1330
+ },
1331
+ {
1332
+ "code": 49021;
1333
+ "name": "invalidFeeStructure";
1334
+ "msg": "Invalid fee structure";
1335
+ },
1336
+ {
1337
+ "code": 50000;
1338
+ "name": "withdrawDenied";
1339
+ "msg": "Withdraw denied. Only vaults allow withdraws (funds and mints don't)";
1340
+ },
1341
+ {
1342
+ "code": 50001;
1343
+ "name": "invalidAssetForSwap";
1344
+ "msg": "Asset cannot be swapped";
1345
+ },
1346
+ {
1347
+ "code": 50002;
1348
+ "name": "unsupportedSwapIx";
1349
+ "msg": "Unsupported swap instruction";
1350
+ },
1351
+ {
1352
+ "code": 50003;
1353
+ "name": "slippageLimitExceeded";
1354
+ "msg": "Max slippage exceeded";
1355
+ },
1356
+ {
1357
+ "code": 50004;
1358
+ "name": "invalidPlatformFeeForSwap";
1359
+ "msg": "Invalid platform fee";
1360
+ },
1361
+ {
1362
+ "code": 50005;
1363
+ "name": "invalidTokenAccount";
1364
+ "msg": "Invalid token account";
1365
+ },
1366
+ {
1367
+ "code": 50006;
1368
+ "name": "invalidSwapAmount";
1369
+ "msg": "Invalid swap amount";
1370
+ },
1371
+ {
1372
+ "code": 50007;
1373
+ "name": "multipleStakeAccountsDisallowed";
1374
+ "msg": "Multiple stake accounts disallowed";
1375
+ },
1376
+ {
1377
+ "code": 50008;
1378
+ "name": "maxDeviationExceeded";
1379
+ "msg": "Max deviation exceeded";
1380
+ },
1381
+ {
1382
+ "code": 51000;
1383
+ "name": "invalidAssetPrice";
1384
+ "msg": "Invalid asset price";
1385
+ },
1386
+ {
1387
+ "code": 51001;
1388
+ "name": "invalidStableCoinPriceForSubscribe";
1389
+ "msg": "Subscription not allowed: invalid stable coin price";
1390
+ },
1391
+ {
1392
+ "code": 51100;
1393
+ "name": "invalidPricingOracle";
1394
+ "msg": "Invalid oracle for asset price";
1395
+ },
1396
+ {
1397
+ "code": 51101;
1398
+ "name": "pricingError";
1399
+ "msg": "Pricing error";
1400
+ },
1401
+ {
1402
+ "code": 51102;
1403
+ "name": "priceTooOld";
1404
+ "msg": "Price is too old";
1405
+ },
1406
+ {
1407
+ "code": 51103;
1408
+ "name": "externalPositionsNotPriced";
1409
+ "msg": "Not all external vault accounts are priced";
1410
+ },
1411
+ {
1412
+ "code": 51104;
1413
+ "name": "vaultTokensNotPriced";
1414
+ "msg": "Not all vault tokens are priced";
1415
+ },
1416
+ {
1417
+ "code": 51105;
1418
+ "name": "priceDivergenceTooLarge";
1419
+ "msg": "No priced assets found";
1420
+ },
1421
+ {
1422
+ "code": 51106;
1423
+ "name": "positiveAumRequired";
1424
+ "msg": "AUM must be positive";
1425
+ },
1426
+ {
1427
+ "code": 51107;
1428
+ "name": "mathError";
1429
+ "msg": "Math error";
1430
+ },
1431
+ {
1432
+ "code": 51108;
1433
+ "name": "typeCastingError";
1434
+ "msg": "Type casting error";
1435
+ },
1436
+ {
1437
+ "code": 51109;
1438
+ "name": "baseAssetNotSupported";
1439
+ "msg": "Base asset must have 6 decimals.";
1440
+ },
1441
+ {
1442
+ "code": 51110;
1443
+ "name": "invalidQuoteSpotMarket";
1444
+ "msg": "Unsupported spot market for perp quotes";
1445
+ },
1446
+ {
1447
+ "code": 51111;
1448
+ "name": "unknownExternalVaultAsset";
1449
+ "msg": "Unknown external vault account";
1450
+ },
1451
+ {
1452
+ "code": 51112;
1453
+ "name": "invalidPriceDenom";
1454
+ "msg": "Invalid price denom";
1455
+ },
1456
+ {
1457
+ "code": 51113;
1458
+ "name": "unexpectedDiscriminator";
1459
+ "msg": "Invalid account: discriminator mismatch";
1460
+ },
1461
+ {
1462
+ "code": 51114;
1463
+ "name": "invalidAccountData";
1464
+ "msg": "Invalid account data";
1465
+ },
1466
+ {
1467
+ "code": 51115;
1468
+ "name": "oraclePriceSuspended";
1469
+ "msg": "Oracle price is suspended";
1470
+ },
1471
+ {
1472
+ "code": 51116;
1473
+ "name": "assetNotInPricingSet";
1474
+ "msg": "Asset not in pricing set";
1475
+ },
1476
+ {
1477
+ "code": 50100;
1478
+ "name": "transferRateLimitExceeded";
1479
+ "msg": "Transfer rate limit exceeded";
1480
+ },
1481
+ {
1482
+ "code": 50101;
1483
+ "name": "transferRateLimitDenied";
1484
+ "msg": "Transfer denied: no rate limit defined for this asset";
1485
+ },
1486
+ {
1487
+ "code": 52000;
1488
+ "name": "transfersDisabled";
1489
+ "msg": "Policy violation: transfers disabled";
1490
+ },
1491
+ {
1492
+ "code": 52001;
1493
+ "name": "invalidPolicyAccount";
1494
+ "msg": "Policy account is mandatory";
1495
+ },
1496
+ {
1497
+ "code": 52002;
1498
+ "name": "amountTooBig";
1499
+ "msg": "Policy violation: amount too big";
1500
+ },
1501
+ {
1502
+ "code": 52003;
1503
+ "name": "lockUp";
1504
+ "msg": "Policy violation: lock-up has not expired";
1505
+ },
1506
+ {
1507
+ "code": 52004;
1508
+ "name": "policyNotSet";
1509
+ "msg": "Protocol policy not set";
1510
+ },
1511
+ {
1512
+ "code": 52005;
1513
+ "name": "unsupportedOracleSource";
1514
+ "msg": "Oracle source not supported in this context";
1515
+ }
1516
+ ];
1517
+ "types": [
1518
+ {
1519
+ "name": "accountType";
1520
+ "type": {
1521
+ "kind": "enum";
1522
+ "variants": [
1523
+ {
1524
+ "name": "vault";
1525
+ },
1526
+ {
1527
+ "name": "tokenizedVault";
1528
+ },
1529
+ {
1530
+ "name": "mint";
1531
+ },
1532
+ {
1533
+ "name": "singleAssetVault";
1534
+ }
1535
+ ];
1536
+ };
1537
+ },
1538
+ {
1539
+ "name": "accruedFees";
1540
+ "type": {
1541
+ "kind": "struct";
1542
+ "fields": [
1543
+ {
1544
+ "name": "vaultSubscriptionFee";
1545
+ "type": "u128";
1546
+ },
1547
+ {
1548
+ "name": "vaultRedemptionFee";
1549
+ "type": "u128";
1550
+ },
1551
+ {
1552
+ "name": "managerSubscriptionFee";
1553
+ "type": "u128";
1554
+ },
1555
+ {
1556
+ "name": "managerRedemptionFee";
1557
+ "type": "u128";
1558
+ },
1559
+ {
1560
+ "name": "managementFee";
1561
+ "type": "u128";
1562
+ },
1563
+ {
1564
+ "name": "performanceFee";
1565
+ "type": "u128";
1566
+ },
1567
+ {
1568
+ "name": "protocolBaseFee";
1569
+ "type": "u128";
1570
+ },
1571
+ {
1572
+ "name": "protocolFlowFee";
1573
+ "type": "u128";
1574
+ }
1575
+ ];
1576
+ };
1577
+ },
1578
+ {
1579
+ "name": "actionType";
1580
+ "type": {
1581
+ "kind": "enum";
1582
+ "variants": [
1583
+ {
1584
+ "name": "addExternalAccount";
1585
+ },
1586
+ {
1587
+ "name": "deleteExternalAccount";
1588
+ },
1589
+ {
1590
+ "name": "deleteExternalAccountIfZeroLamports";
1591
+ },
1592
+ {
1593
+ "name": "deleteExternalAccountIfZeroBalance";
1594
+ },
1595
+ {
1596
+ "name": "addAsset";
1597
+ },
1598
+ {
1599
+ "name": "deleteAsset";
1600
+ }
1601
+ ];
1602
+ };
1603
+ },
1604
+ {
1605
+ "name": "createdModel";
1606
+ "type": {
1607
+ "kind": "struct";
1608
+ "fields": [
1609
+ {
1610
+ "name": "key";
1611
+ "type": {
1612
+ "array": [
1613
+ "u8",
1614
+ 8
1615
+ ];
1616
+ };
1617
+ },
1618
+ {
1619
+ "name": "createdBy";
1620
+ "type": "pubkey";
1621
+ },
1622
+ {
1623
+ "name": "createdAt";
1624
+ "type": "i64";
1625
+ }
1626
+ ];
1627
+ };
1628
+ },
1629
+ {
1630
+ "name": "delegateAcl";
1631
+ "type": {
1632
+ "kind": "struct";
1633
+ "fields": [
1634
+ {
1635
+ "name": "pubkey";
1636
+ "type": "pubkey";
1637
+ },
1638
+ {
1639
+ "name": "integrationPermissions";
1640
+ "type": {
1641
+ "vec": {
1642
+ "defined": {
1643
+ "name": "integrationPermissions";
1644
+ };
1645
+ };
1646
+ };
1647
+ },
1648
+ {
1649
+ "name": "expiresAt";
1650
+ "type": "i64";
1651
+ }
1652
+ ];
1653
+ };
1654
+ },
1655
+ {
1656
+ "name": "emergencyAccessUpdateArgs";
1657
+ "type": {
1658
+ "kind": "struct";
1659
+ "fields": [
1660
+ {
1661
+ "name": "disabledIntegrations";
1662
+ "type": {
1663
+ "vec": "pubkey";
1664
+ };
1665
+ },
1666
+ {
1667
+ "name": "disabledDelegates";
1668
+ "type": {
1669
+ "vec": "pubkey";
1670
+ };
1671
+ },
1672
+ {
1673
+ "name": "stateEnabled";
1674
+ "type": {
1675
+ "option": "bool";
1676
+ };
1677
+ }
1678
+ ];
1679
+ };
1680
+ },
1681
+ {
1682
+ "name": "engineField";
1683
+ "type": {
1684
+ "kind": "struct";
1685
+ "fields": [
1686
+ {
1687
+ "name": "name";
1688
+ "type": {
1689
+ "defined": {
1690
+ "name": "engineFieldName";
1691
+ };
1692
+ };
1693
+ },
1694
+ {
1695
+ "name": "value";
1696
+ "type": {
1697
+ "defined": {
1698
+ "name": "engineFieldValue";
1699
+ };
1700
+ };
1701
+ }
1702
+ ];
1703
+ };
1704
+ },
1705
+ {
1706
+ "name": "engineFieldName";
1707
+ "type": {
1708
+ "kind": "enum";
1709
+ "variants": [
1710
+ {
1711
+ "name": "owner";
1712
+ },
1713
+ {
1714
+ "name": "portfolioManagerName";
1715
+ },
1716
+ {
1717
+ "name": "name";
1718
+ },
1719
+ {
1720
+ "name": "uri";
1721
+ },
1722
+ {
1723
+ "name": "assets";
1724
+ },
1725
+ {
1726
+ "name": "delegateAcls";
1727
+ },
1728
+ {
1729
+ "name": "integrationAcls";
1730
+ },
1731
+ {
1732
+ "name": "timelockDuration";
1733
+ },
1734
+ {
1735
+ "name": "borrowable";
1736
+ },
1737
+ {
1738
+ "name": "defaultAccountStateFrozen";
1739
+ },
1740
+ {
1741
+ "name": "permanentDelegate";
1742
+ },
1743
+ {
1744
+ "name": "notifyAndSettle";
1745
+ },
1746
+ {
1747
+ "name": "feeStructure";
1748
+ },
1749
+ {
1750
+ "name": "feeParams";
1751
+ },
1752
+ {
1753
+ "name": "claimableFees";
1754
+ },
1755
+ {
1756
+ "name": "claimedFees";
1757
+ },
1758
+ {
1759
+ "name": "oracleConfigs";
1760
+ }
1761
+ ];
1762
+ };
1763
+ },
1764
+ {
1765
+ "name": "engineFieldValue";
1766
+ "type": {
1767
+ "kind": "enum";
1768
+ "variants": [
1769
+ {
1770
+ "name": "boolean";
1771
+ "fields": [
1772
+ {
1773
+ "name": "val";
1774
+ "type": "bool";
1775
+ }
1776
+ ];
1777
+ },
1778
+ {
1779
+ "name": "u8";
1780
+ "fields": [
1781
+ {
1782
+ "name": "val";
1783
+ "type": "u8";
1784
+ }
1785
+ ];
1786
+ },
1787
+ {
1788
+ "name": "u32";
1789
+ "fields": [
1790
+ {
1791
+ "name": "val";
1792
+ "type": "u32";
1793
+ }
1794
+ ];
1795
+ },
1796
+ {
1797
+ "name": "u64";
1798
+ "fields": [
1799
+ {
1800
+ "name": "val";
1801
+ "type": "u64";
1802
+ }
1803
+ ];
1804
+ },
1805
+ {
1806
+ "name": "string";
1807
+ "fields": [
1808
+ {
1809
+ "name": "val";
1810
+ "type": "string";
1811
+ }
1812
+ ];
1813
+ },
1814
+ {
1815
+ "name": "pubkey";
1816
+ "fields": [
1817
+ {
1818
+ "name": "val";
1819
+ "type": "pubkey";
1820
+ }
1821
+ ];
1822
+ },
1823
+ {
1824
+ "name": "vecPubkey";
1825
+ "fields": [
1826
+ {
1827
+ "name": "val";
1828
+ "type": {
1829
+ "vec": "pubkey";
1830
+ };
1831
+ }
1832
+ ];
1833
+ },
1834
+ {
1835
+ "name": "vecU8";
1836
+ "fields": [
1837
+ {
1838
+ "name": "val";
1839
+ "type": "bytes";
1840
+ }
1841
+ ];
1842
+ },
1843
+ {
1844
+ "name": "vecU32";
1845
+ "fields": [
1846
+ {
1847
+ "name": "val";
1848
+ "type": {
1849
+ "vec": "u32";
1850
+ };
1851
+ }
1852
+ ];
1853
+ },
1854
+ {
1855
+ "name": "vecDelegateAcl";
1856
+ "fields": [
1857
+ {
1858
+ "name": "val";
1859
+ "type": {
1860
+ "vec": {
1861
+ "defined": {
1862
+ "name": "delegateAcl";
1863
+ };
1864
+ };
1865
+ };
1866
+ }
1867
+ ];
1868
+ },
1869
+ {
1870
+ "name": "vecIntegrationAcl";
1871
+ "fields": [
1872
+ {
1873
+ "name": "val";
1874
+ "type": {
1875
+ "vec": {
1876
+ "defined": {
1877
+ "name": "integrationAcl";
1878
+ };
1879
+ };
1880
+ };
1881
+ }
1882
+ ];
1883
+ },
1884
+ {
1885
+ "name": "feeStructure";
1886
+ "fields": [
1887
+ {
1888
+ "name": "val";
1889
+ "type": {
1890
+ "defined": {
1891
+ "name": "feeStructure";
1892
+ };
1893
+ };
1894
+ }
1895
+ ];
1896
+ },
1897
+ {
1898
+ "name": "feeParams";
1899
+ "fields": [
1900
+ {
1901
+ "name": "val";
1902
+ "type": {
1903
+ "defined": {
1904
+ "name": "feeParams";
1905
+ };
1906
+ };
1907
+ }
1908
+ ];
1909
+ },
1910
+ {
1911
+ "name": "accruedFees";
1912
+ "fields": [
1913
+ {
1914
+ "name": "val";
1915
+ "type": {
1916
+ "defined": {
1917
+ "name": "accruedFees";
1918
+ };
1919
+ };
1920
+ }
1921
+ ];
1922
+ },
1923
+ {
1924
+ "name": "notifyAndSettle";
1925
+ "fields": [
1926
+ {
1927
+ "name": "val";
1928
+ "type": {
1929
+ "defined": {
1930
+ "name": "notifyAndSettle";
1931
+ };
1932
+ };
1933
+ }
1934
+ ];
1935
+ },
1936
+ {
1937
+ "name": "oracleConfigs";
1938
+ "fields": [
1939
+ {
1940
+ "name": "val";
1941
+ "type": {
1942
+ "defined": {
1943
+ "name": "oracleConfigs";
1944
+ };
1945
+ };
1946
+ }
1947
+ ];
1948
+ }
1949
+ ];
1950
+ };
1951
+ },
1952
+ {
1953
+ "name": "entryExitFees";
1954
+ "type": {
1955
+ "kind": "struct";
1956
+ "fields": [
1957
+ {
1958
+ "name": "subscriptionFeeBps";
1959
+ "type": "u16";
1960
+ },
1961
+ {
1962
+ "name": "redemptionFeeBps";
1963
+ "type": "u16";
1964
+ }
1965
+ ];
1966
+ };
1967
+ },
1968
+ {
1969
+ "name": "extraParams";
1970
+ "type": {
1971
+ "kind": "struct";
1972
+ "fields": [
1973
+ {
1974
+ "name": "actionType";
1975
+ "type": {
1976
+ "defined": {
1977
+ "name": "actionType";
1978
+ };
1979
+ };
1980
+ },
1981
+ {
1982
+ "name": "pubkey";
1983
+ "type": "pubkey";
1984
+ },
1985
+ {
1986
+ "name": "amount";
1987
+ "type": {
1988
+ "option": "u64";
1989
+ };
1990
+ }
1991
+ ];
1992
+ };
1993
+ },
1994
+ {
1995
+ "name": "feeParams";
1996
+ "type": {
1997
+ "kind": "struct";
1998
+ "fields": [
1999
+ {
2000
+ "name": "yearInSeconds";
2001
+ "type": "u32";
2002
+ },
2003
+ {
2004
+ "name": "paHighWaterMark";
2005
+ "type": "i128";
2006
+ },
2007
+ {
2008
+ "name": "paLastNav";
2009
+ "type": "i128";
2010
+ },
2011
+ {
2012
+ "name": "lastAum";
2013
+ "type": "i128";
2014
+ },
2015
+ {
2016
+ "name": "lastPerformanceFeeCrystallized";
2017
+ "type": "i64";
2018
+ },
2019
+ {
2020
+ "name": "lastManagementFeeCrystallized";
2021
+ "type": "i64";
2022
+ },
2023
+ {
2024
+ "name": "lastProtocolFeeCrystallized";
2025
+ "type": "i64";
2026
+ }
2027
+ ];
2028
+ };
2029
+ },
2030
+ {
2031
+ "name": "feeStructure";
2032
+ "type": {
2033
+ "kind": "struct";
2034
+ "fields": [
2035
+ {
2036
+ "name": "vault";
2037
+ "type": {
2038
+ "defined": {
2039
+ "name": "entryExitFees";
2040
+ };
2041
+ };
2042
+ },
2043
+ {
2044
+ "name": "manager";
2045
+ "type": {
2046
+ "defined": {
2047
+ "name": "entryExitFees";
2048
+ };
2049
+ };
2050
+ },
2051
+ {
2052
+ "name": "management";
2053
+ "type": {
2054
+ "defined": {
2055
+ "name": "managementFee";
2056
+ };
2057
+ };
2058
+ },
2059
+ {
2060
+ "name": "performance";
2061
+ "type": {
2062
+ "defined": {
2063
+ "name": "performanceFee";
2064
+ };
2065
+ };
2066
+ },
2067
+ {
2068
+ "name": "protocol";
2069
+ "type": {
2070
+ "defined": {
2071
+ "name": "protocolFees";
2072
+ };
2073
+ };
2074
+ }
2075
+ ];
2076
+ };
2077
+ },
2078
+ {
2079
+ "name": "hurdleType";
2080
+ "type": {
2081
+ "kind": "enum";
2082
+ "variants": [
2083
+ {
2084
+ "name": "hard";
2085
+ },
2086
+ {
2087
+ "name": "soft";
2088
+ }
2089
+ ];
2090
+ };
2091
+ },
2092
+ {
2093
+ "name": "integrationAcl";
2094
+ "docs": [
2095
+ "An integration program can have multiple protocols supported.",
2096
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
2097
+ ];
2098
+ "type": {
2099
+ "kind": "struct";
2100
+ "fields": [
2101
+ {
2102
+ "name": "integrationProgram";
2103
+ "type": "pubkey";
2104
+ },
2105
+ {
2106
+ "name": "protocolsBitmask";
2107
+ "type": "u16";
2108
+ },
2109
+ {
2110
+ "name": "protocolPolicies";
2111
+ "type": {
2112
+ "vec": {
2113
+ "defined": {
2114
+ "name": "protocolPolicy";
2115
+ };
2116
+ };
2117
+ };
2118
+ }
2119
+ ];
2120
+ };
2121
+ },
2122
+ {
2123
+ "name": "integrationPermissions";
2124
+ "docs": [
2125
+ "Stores delegate permissions for an integration program."
2126
+ ];
2127
+ "type": {
2128
+ "kind": "struct";
2129
+ "fields": [
2130
+ {
2131
+ "name": "integrationProgram";
2132
+ "type": "pubkey";
2133
+ },
2134
+ {
2135
+ "name": "protocolPermissions";
2136
+ "type": {
2137
+ "vec": {
2138
+ "defined": {
2139
+ "name": "protocolPermissions";
2140
+ };
2141
+ };
2142
+ };
2143
+ }
2144
+ ];
2145
+ };
2146
+ },
2147
+ {
2148
+ "name": "jupiterSwapPolicy";
2149
+ "type": {
2150
+ "kind": "struct";
2151
+ "fields": [
2152
+ {
2153
+ "name": "maxSlippageBps";
2154
+ "type": "u16";
2155
+ },
2156
+ {
2157
+ "name": "swapAllowlist";
2158
+ "type": {
2159
+ "option": {
2160
+ "vec": "pubkey";
2161
+ };
2162
+ };
2163
+ },
2164
+ {
2165
+ "name": "maxDeviationBps";
2166
+ "type": "i16";
2167
+ }
2168
+ ];
2169
+ };
2170
+ },
2171
+ {
2172
+ "name": "managementFee";
2173
+ "type": {
2174
+ "kind": "struct";
2175
+ "fields": [
2176
+ {
2177
+ "name": "feeBps";
2178
+ "type": "u16";
2179
+ }
2180
+ ];
2181
+ };
2182
+ },
2183
+ {
2184
+ "name": "noticePeriodType";
2185
+ "type": {
2186
+ "kind": "enum";
2187
+ "variants": [
2188
+ {
2189
+ "name": "hard";
2190
+ },
2191
+ {
2192
+ "name": "soft";
2193
+ }
2194
+ ];
2195
+ };
2196
+ },
2197
+ {
2198
+ "name": "notifyAndSettle";
2199
+ "type": {
2200
+ "kind": "struct";
2201
+ "fields": [
2202
+ {
2203
+ "name": "model";
2204
+ "type": {
2205
+ "defined": {
2206
+ "name": "valuationModel";
2207
+ };
2208
+ };
2209
+ },
2210
+ {
2211
+ "name": "permissionlessFulfillment";
2212
+ "type": "bool";
2213
+ },
2214
+ {
2215
+ "name": "subscribeNoticePeriodType";
2216
+ "type": {
2217
+ "defined": {
2218
+ "name": "noticePeriodType";
2219
+ };
2220
+ };
2221
+ },
2222
+ {
2223
+ "name": "subscribeNoticePeriod";
2224
+ "type": "u64";
2225
+ },
2226
+ {
2227
+ "name": "subscribeSettlementPeriod";
2228
+ "type": "u64";
2229
+ },
2230
+ {
2231
+ "name": "subscribeCancellationWindow";
2232
+ "type": "u64";
2233
+ },
2234
+ {
2235
+ "name": "redeemNoticePeriodType";
2236
+ "type": {
2237
+ "defined": {
2238
+ "name": "noticePeriodType";
2239
+ };
2240
+ };
2241
+ },
2242
+ {
2243
+ "name": "redeemNoticePeriod";
2244
+ "type": "u64";
2245
+ },
2246
+ {
2247
+ "name": "redeemSettlementPeriod";
2248
+ "type": "u64";
2249
+ },
2250
+ {
2251
+ "name": "redeemCancellationWindow";
2252
+ "type": "u64";
2253
+ },
2254
+ {
2255
+ "name": "timeUnit";
2256
+ "type": {
2257
+ "defined": {
2258
+ "name": "timeUnit";
2259
+ };
2260
+ };
2261
+ },
2262
+ {
2263
+ "name": "padding";
2264
+ "type": {
2265
+ "array": [
2266
+ "u8",
2267
+ 3
2268
+ ];
2269
+ };
2270
+ }
2271
+ ];
2272
+ };
2273
+ },
2274
+ {
2275
+ "name": "oracleConfigs";
2276
+ "docs": [
2277
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
2278
+ ];
2279
+ "type": {
2280
+ "kind": "struct";
2281
+ "fields": [
2282
+ {
2283
+ "name": "maxAgesSeconds";
2284
+ "type": {
2285
+ "vec": {
2286
+ "array": [
2287
+ "u16",
2288
+ 2
2289
+ ];
2290
+ };
2291
+ };
2292
+ },
2293
+ {
2294
+ "name": "padding";
2295
+ "type": {
2296
+ "array": [
2297
+ "u8",
2298
+ 12
2299
+ ];
2300
+ };
2301
+ }
2302
+ ];
2303
+ };
2304
+ },
2305
+ {
2306
+ "name": "performanceFee";
2307
+ "type": {
2308
+ "kind": "struct";
2309
+ "fields": [
2310
+ {
2311
+ "name": "feeBps";
2312
+ "type": "u16";
2313
+ },
2314
+ {
2315
+ "name": "hurdleRateBps";
2316
+ "type": "u16";
2317
+ },
2318
+ {
2319
+ "name": "hurdleType";
2320
+ "type": {
2321
+ "defined": {
2322
+ "name": "hurdleType";
2323
+ };
2324
+ };
2325
+ }
2326
+ ];
2327
+ };
2328
+ },
2329
+ {
2330
+ "name": "pricedProtocol";
2331
+ "type": {
2332
+ "kind": "struct";
2333
+ "fields": [
2334
+ {
2335
+ "name": "rent";
2336
+ "type": "u64";
2337
+ },
2338
+ {
2339
+ "name": "amount";
2340
+ "type": "i128";
2341
+ },
2342
+ {
2343
+ "name": "decimals";
2344
+ "type": "u8";
2345
+ },
2346
+ {
2347
+ "name": "lastUpdatedSlot";
2348
+ "type": "u64";
2349
+ },
2350
+ {
2351
+ "name": "integrationProgram";
2352
+ "type": "pubkey";
2353
+ },
2354
+ {
2355
+ "name": "protocolBitflag";
2356
+ "type": "u16";
2357
+ },
2358
+ {
2359
+ "name": "positions";
2360
+ "type": {
2361
+ "vec": "pubkey";
2362
+ };
2363
+ }
2364
+ ];
2365
+ };
2366
+ },
2367
+ {
2368
+ "name": "protocolFees";
2369
+ "type": {
2370
+ "kind": "struct";
2371
+ "fields": [
2372
+ {
2373
+ "name": "baseFeeBps";
2374
+ "type": "u16";
2375
+ },
2376
+ {
2377
+ "name": "flowFeeBps";
2378
+ "type": "u16";
2379
+ }
2380
+ ];
2381
+ };
2382
+ },
2383
+ {
2384
+ "name": "protocolPermissions";
2385
+ "docs": [
2386
+ "Represents a delegate's permissions for a specific protocol"
2387
+ ];
2388
+ "type": {
2389
+ "kind": "struct";
2390
+ "fields": [
2391
+ {
2392
+ "name": "protocolBitflag";
2393
+ "type": "u16";
2394
+ },
2395
+ {
2396
+ "name": "permissionsBitmask";
2397
+ "type": "u64";
2398
+ }
2399
+ ];
2400
+ };
2401
+ },
2402
+ {
2403
+ "name": "protocolPolicy";
2404
+ "docs": [
2405
+ "Stores policy data for an integrated protocol.",
2406
+ "Integration programs serialize/deserialize this data."
2407
+ ];
2408
+ "type": {
2409
+ "kind": "struct";
2410
+ "fields": [
2411
+ {
2412
+ "name": "protocolBitflag";
2413
+ "type": "u16";
2414
+ },
2415
+ {
2416
+ "name": "data";
2417
+ "type": "bytes";
2418
+ }
2419
+ ];
2420
+ };
2421
+ },
2422
+ {
2423
+ "name": "stateAccount";
2424
+ "type": {
2425
+ "kind": "struct";
2426
+ "fields": [
2427
+ {
2428
+ "name": "accountType";
2429
+ "type": {
2430
+ "defined": {
2431
+ "name": "accountType";
2432
+ };
2433
+ };
2434
+ },
2435
+ {
2436
+ "name": "enabled";
2437
+ "type": "bool";
2438
+ },
2439
+ {
2440
+ "name": "vault";
2441
+ "type": "pubkey";
2442
+ },
2443
+ {
2444
+ "name": "owner";
2445
+ "type": "pubkey";
2446
+ },
2447
+ {
2448
+ "name": "portfolioManagerName";
2449
+ "type": {
2450
+ "array": [
2451
+ "u8",
2452
+ 32
2453
+ ];
2454
+ };
2455
+ },
2456
+ {
2457
+ "name": "created";
2458
+ "type": {
2459
+ "defined": {
2460
+ "name": "createdModel";
2461
+ };
2462
+ };
2463
+ },
2464
+ {
2465
+ "name": "baseAssetMint";
2466
+ "type": "pubkey";
2467
+ },
2468
+ {
2469
+ "name": "baseAssetDecimals";
2470
+ "type": "u8";
2471
+ },
2472
+ {
2473
+ "name": "baseAssetTokenProgram";
2474
+ "type": "u8";
2475
+ },
2476
+ {
2477
+ "name": "name";
2478
+ "type": {
2479
+ "array": [
2480
+ "u8",
2481
+ 32
2482
+ ];
2483
+ };
2484
+ },
2485
+ {
2486
+ "name": "timelockDuration";
2487
+ "type": "u32";
2488
+ },
2489
+ {
2490
+ "name": "timelockExpiresAt";
2491
+ "type": "u64";
2492
+ },
2493
+ {
2494
+ "name": "mint";
2495
+ "type": "pubkey";
2496
+ },
2497
+ {
2498
+ "name": "assets";
2499
+ "type": {
2500
+ "vec": "pubkey";
2501
+ };
2502
+ },
2503
+ {
2504
+ "name": "integrationAcls";
2505
+ "type": {
2506
+ "vec": {
2507
+ "defined": {
2508
+ "name": "integrationAcl";
2509
+ };
2510
+ };
2511
+ };
2512
+ },
2513
+ {
2514
+ "name": "delegateAcls";
2515
+ "type": {
2516
+ "vec": {
2517
+ "defined": {
2518
+ "name": "delegateAcl";
2519
+ };
2520
+ };
2521
+ };
2522
+ },
2523
+ {
2524
+ "name": "externalPositions";
2525
+ "type": {
2526
+ "vec": "pubkey";
2527
+ };
2528
+ },
2529
+ {
2530
+ "name": "pricedProtocols";
2531
+ "type": {
2532
+ "vec": {
2533
+ "defined": {
2534
+ "name": "pricedProtocol";
2535
+ };
2536
+ };
2537
+ };
2538
+ },
2539
+ {
2540
+ "name": "params";
2541
+ "type": {
2542
+ "vec": {
2543
+ "vec": {
2544
+ "defined": {
2545
+ "name": "engineField";
2546
+ };
2547
+ };
2548
+ };
2549
+ };
2550
+ }
2551
+ ];
2552
+ };
2553
+ },
2554
+ {
2555
+ "name": "stateModel";
2556
+ "type": {
2557
+ "kind": "struct";
2558
+ "fields": [
2559
+ {
2560
+ "name": "accountType";
2561
+ "type": {
2562
+ "option": {
2563
+ "defined": {
2564
+ "name": "accountType";
2565
+ };
2566
+ };
2567
+ };
2568
+ },
2569
+ {
2570
+ "name": "name";
2571
+ "type": {
2572
+ "option": {
2573
+ "array": [
2574
+ "u8",
2575
+ 32
2576
+ ];
2577
+ };
2578
+ };
2579
+ },
2580
+ {
2581
+ "name": "uri";
2582
+ "type": {
2583
+ "option": "string";
2584
+ };
2585
+ },
2586
+ {
2587
+ "name": "enabled";
2588
+ "type": {
2589
+ "option": "bool";
2590
+ };
2591
+ },
2592
+ {
2593
+ "name": "assets";
2594
+ "type": {
2595
+ "option": {
2596
+ "vec": "pubkey";
2597
+ };
2598
+ };
2599
+ },
2600
+ {
2601
+ "name": "created";
2602
+ "type": {
2603
+ "option": {
2604
+ "defined": {
2605
+ "name": "createdModel";
2606
+ };
2607
+ };
2608
+ };
2609
+ },
2610
+ {
2611
+ "name": "owner";
2612
+ "type": {
2613
+ "option": "pubkey";
2614
+ };
2615
+ },
2616
+ {
2617
+ "name": "portfolioManagerName";
2618
+ "type": {
2619
+ "option": {
2620
+ "array": [
2621
+ "u8",
2622
+ 32
2623
+ ];
2624
+ };
2625
+ };
2626
+ },
2627
+ {
2628
+ "name": "borrowable";
2629
+ "type": {
2630
+ "option": {
2631
+ "vec": "pubkey";
2632
+ };
2633
+ };
2634
+ },
2635
+ {
2636
+ "name": "timelockDuration";
2637
+ "type": {
2638
+ "option": "u32";
2639
+ };
2640
+ },
2641
+ {
2642
+ "name": "integrationAcls";
2643
+ "type": {
2644
+ "option": {
2645
+ "vec": {
2646
+ "defined": {
2647
+ "name": "integrationAcl";
2648
+ };
2649
+ };
2650
+ };
2651
+ };
2652
+ },
2653
+ {
2654
+ "name": "delegateAcls";
2655
+ "type": {
2656
+ "option": {
2657
+ "vec": {
2658
+ "defined": {
2659
+ "name": "delegateAcl";
2660
+ };
2661
+ };
2662
+ };
2663
+ };
2664
+ }
2665
+ ];
2666
+ };
2667
+ },
2668
+ {
2669
+ "name": "timeUnit";
2670
+ "type": {
2671
+ "kind": "enum";
2672
+ "variants": [
2673
+ {
2674
+ "name": "second";
2675
+ },
2676
+ {
2677
+ "name": "slot";
2678
+ }
2679
+ ];
2680
+ };
2681
+ },
2682
+ {
2683
+ "name": "transferPolicy";
2684
+ "type": {
2685
+ "kind": "struct";
2686
+ "fields": [
2687
+ {
2688
+ "name": "allowlist";
2689
+ "type": {
2690
+ "vec": "pubkey";
2691
+ };
2692
+ }
2693
+ ];
2694
+ };
2695
+ },
2696
+ {
2697
+ "name": "valuationModel";
2698
+ "type": {
2699
+ "kind": "enum";
2700
+ "variants": [
2701
+ {
2702
+ "name": "continuous";
2703
+ },
2704
+ {
2705
+ "name": "periodic";
2706
+ }
2707
+ ];
2708
+ };
2709
+ }
2710
+ ];
2711
+ "constants": [
2712
+ {
2713
+ "name": "protoJupiterSwap";
2714
+ "type": "u16";
2715
+ "value": "4";
2716
+ },
2717
+ {
2718
+ "name": "protoJupiterSwapPermSkipQuotePriceCheck";
2719
+ "type": "u64";
2720
+ "value": "32";
2721
+ },
2722
+ {
2723
+ "name": "protoJupiterSwapPermSkipQuotePriceCheckLimited";
2724
+ "type": "u64";
2725
+ "value": "16";
2726
+ },
2727
+ {
2728
+ "name": "protoJupiterSwapPermSwapAllowlisted";
2729
+ "type": "u64";
2730
+ "value": "4";
2731
+ },
2732
+ {
2733
+ "name": "protoJupiterSwapPermSwapFromAny";
2734
+ "type": "u64";
2735
+ "value": "8";
2736
+ },
2737
+ {
2738
+ "name": "protoJupiterSwapPermSwapLst";
2739
+ "type": "u64";
2740
+ "value": "2";
2741
+ },
2742
+ {
2743
+ "name": "protoJupiterSwapPermSwapToAny";
2744
+ "type": "u64";
2745
+ "value": "1";
2746
+ },
2747
+ {
2748
+ "name": "protoStake";
2749
+ "type": "u16";
2750
+ "value": "2";
2751
+ },
2752
+ {
2753
+ "name": "protoStakePermStake";
2754
+ "type": "u64";
2755
+ "value": "1";
2756
+ },
2757
+ {
2758
+ "name": "protoStakePermUnstake";
2759
+ "type": "u64";
2760
+ "value": "2";
2761
+ },
2762
+ {
2763
+ "name": "protoSystem";
2764
+ "type": "u16";
2765
+ "value": "1";
2766
+ },
2767
+ {
2768
+ "name": "protoSystemPermEmergencyUpdate";
2769
+ "type": "u64";
2770
+ "value": "4";
2771
+ },
2772
+ {
2773
+ "name": "protoSystemPermTransfer";
2774
+ "type": "u64";
2775
+ "value": "2";
2776
+ },
2777
+ {
2778
+ "name": "protoSystemPermWsol";
2779
+ "type": "u64";
2780
+ "value": "1";
2781
+ }
2782
+ ];
2783
+ };