@glamsystems/glam-sdk 1.0.12 → 1.0.13-test

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 (110) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -1
  3. package/index.cjs.js +1 -57320
  4. package/index.esm.js +1 -57081
  5. package/package.json +26 -15
  6. package/src/assets.d.ts +10 -17
  7. package/src/client/access.d.ts +13 -0
  8. package/src/client/base.d.ts +30 -7
  9. package/src/client/bridge.d.ts +183 -0
  10. package/src/client/bridgeRegistry.d.ts +32 -0
  11. package/src/client/epi.d.ts +78 -0
  12. package/src/client/fees.d.ts +4 -0
  13. package/src/client/invest.d.ts +1 -1
  14. package/src/client/jupiter.d.ts +27 -20
  15. package/src/client/loopscale.d.ts +84 -0
  16. package/src/client/mint.d.ts +54 -1
  17. package/src/client/price.d.ts +26 -39
  18. package/src/client.d.ts +9 -5
  19. package/src/constants.d.ts +11 -7
  20. package/src/deser/index.d.ts +1 -1
  21. package/src/deser/integrationPolicies.d.ts +30 -20
  22. package/src/deser/tokenAclLayouts.d.ts +67 -0
  23. package/src/error.d.ts +2 -1
  24. package/src/glamExports.d.ts +1351 -1546
  25. package/src/globalConfig.d.ts +27 -0
  26. package/src/index.d.ts +5 -1
  27. package/src/models/state.d.ts +2 -0
  28. package/src/utils/accounts.d.ts +9 -1
  29. package/src/utils/bitmask.d.ts +3 -0
  30. package/src/utils/common.d.ts +2 -0
  31. package/src/utils/glamPDAs.d.ts +6 -0
  32. package/src/utils/index.d.ts +0 -1
  33. package/src/utils/pkmap.d.ts +23 -18
  34. package/src/utils/positionCategorizer.d.ts +3 -21
  35. package/target/idl/ext_bridge-staging.json +2379 -0
  36. package/target/idl/ext_bridge.json +2379 -0
  37. package/target/idl/ext_cctp.json +1 -1
  38. package/target/idl/ext_drift.json +1613 -142
  39. package/target/idl/ext_epi-staging.json +2169 -0
  40. package/target/idl/ext_epi.json +2169 -0
  41. package/target/idl/ext_kamino-staging.json +1 -1
  42. package/target/idl/ext_kamino.json +109 -1
  43. package/target/idl/{ext_drift-staging.json → ext_loopscale-staging.json} +986 -1438
  44. package/target/idl/ext_loopscale.json +3541 -0
  45. package/target/idl/ext_marinade-staging.json +1587 -0
  46. package/target/idl/ext_spl-staging.json +1 -1
  47. package/target/idl/ext_spl.json +1 -1
  48. package/target/idl/glam_config.json +78 -9
  49. package/target/idl/glam_mint-staging.json +3002 -1244
  50. package/target/idl/glam_mint.json +239 -8
  51. package/target/idl/glam_policies.json +2 -7
  52. package/target/idl/glam_protocol-staging.json +187 -266
  53. package/target/idl/glam_protocol.json +217 -114
  54. package/target/idl/mock_layerzero_endpoint.json +144 -0
  55. package/target/idl/mock_layerzero_oft.json +155 -0
  56. package/target/types/ext_bridge-staging.d.ts +2385 -0
  57. package/target/types/ext_bridge-staging.ts +2385 -0
  58. package/target/types/ext_bridge.d.ts +2385 -0
  59. package/target/types/ext_bridge.ts +2385 -0
  60. package/target/types/ext_cctp.d.ts +1 -1
  61. package/target/types/ext_cctp.ts +1 -1
  62. package/target/types/ext_drift.d.ts +1609 -138
  63. package/target/types/ext_drift.ts +1613 -142
  64. package/target/types/ext_epi-staging.d.ts +2175 -0
  65. package/target/types/ext_epi-staging.ts +2175 -0
  66. package/target/types/ext_epi.d.ts +2175 -0
  67. package/target/types/ext_epi.ts +2175 -0
  68. package/target/types/ext_kamino-staging.d.ts +3433 -0
  69. package/target/types/ext_kamino-staging.ts +1 -1
  70. package/target/types/ext_kamino.d.ts +109 -1
  71. package/target/types/ext_kamino.ts +109 -1
  72. package/target/types/ext_loopscale-staging.d.ts +3547 -0
  73. package/target/types/{ext_drift-staging.ts → ext_loopscale-staging.ts} +988 -1440
  74. package/target/types/ext_loopscale.d.ts +3547 -0
  75. package/target/types/ext_loopscale.ts +3547 -0
  76. package/target/types/ext_marinade-staging.d.ts +1593 -0
  77. package/target/types/ext_marinade-staging.ts +1593 -0
  78. package/target/types/{ext_offchain.d.ts → ext_spl-staging.d.ts} +219 -19
  79. package/target/types/ext_spl-staging.ts +1 -1
  80. package/target/types/ext_spl.d.ts +1 -1
  81. package/target/types/ext_spl.ts +1 -1
  82. package/target/types/ext_stake_pool-staging.d.ts +1622 -0
  83. package/target/types/glam_config.d.ts +78 -9
  84. package/target/types/glam_config.ts +78 -9
  85. package/target/types/glam_mint-staging.d.ts +7856 -0
  86. package/target/types/glam_mint-staging.ts +3002 -1244
  87. package/target/types/glam_mint.d.ts +239 -8
  88. package/target/types/glam_mint.ts +239 -8
  89. package/target/types/glam_policies.d.ts +477 -0
  90. package/target/types/glam_policies.ts +2 -7
  91. package/target/types/glam_protocol-staging.d.ts +3292 -0
  92. package/target/types/glam_protocol-staging.ts +187 -266
  93. package/target/types/glam_protocol.d.ts +217 -114
  94. package/target/types/glam_protocol.ts +217 -114
  95. package/target/types/mock_layerzero_endpoint.d.ts +150 -0
  96. package/target/types/mock_layerzero_endpoint.ts +150 -0
  97. package/target/types/mock_layerzero_oft.d.ts +161 -0
  98. package/target/types/mock_layerzero_oft.ts +161 -0
  99. package/src/client/drift/index.d.ts +0 -2
  100. package/src/client/drift/protocol-v2.d.ts +0 -93
  101. package/src/client/drift/vaults.d.ts +0 -60
  102. package/src/deser/driftLayouts.d.ts +0 -217
  103. package/src/react/cluster-provider.d.ts +0 -22
  104. package/src/react/glam.d.ts +0 -51
  105. package/src/react/index.d.ts +0 -5
  106. package/src/react/query-keys.d.ts +0 -40
  107. package/src/react/useVaultBalanceSubscription.d.ts +0 -17
  108. package/src/utils/drift/index.d.ts +0 -2
  109. package/src/utils/drift/orderParams.d.ts +0 -28
  110. package/src/utils/drift/types.d.ts +0 -522
@@ -0,0 +1,1593 @@
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/ext_marinade.json`.
6
+ */
7
+ export type ExtMarinade = {
8
+ "address": "gstgmvM2o7h7GcScvXymH1oFgWskukWWxRHC1UJJ9FJ";
9
+ "metadata": {
10
+ "name": "extMarinade";
11
+ "version": "0.1.0";
12
+ "spec": "0.1.0";
13
+ "description": "GLAM extension for Marinade Finance";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "deposit";
18
+ "docs": [
19
+ "Deposits SOL to get mSOL"
20
+ ];
21
+ "discriminator": [
22
+ 242,
23
+ 35,
24
+ 198,
25
+ 137,
26
+ 82,
27
+ 225,
28
+ 242,
29
+ 182
30
+ ];
31
+ "accounts": [
32
+ {
33
+ "name": "glamState";
34
+ "writable": true;
35
+ },
36
+ {
37
+ "name": "glamVault";
38
+ "writable": true;
39
+ "pda": {
40
+ "seeds": [
41
+ {
42
+ "kind": "const";
43
+ "value": [
44
+ 118,
45
+ 97,
46
+ 117,
47
+ 108,
48
+ 116
49
+ ];
50
+ },
51
+ {
52
+ "kind": "account";
53
+ "path": "glamState";
54
+ }
55
+ ];
56
+ "program": {
57
+ "kind": "account";
58
+ "path": "glamProtocolProgram";
59
+ };
60
+ };
61
+ },
62
+ {
63
+ "name": "glamSigner";
64
+ "writable": true;
65
+ "signer": true;
66
+ },
67
+ {
68
+ "name": "integrationAuthority";
69
+ "pda": {
70
+ "seeds": [
71
+ {
72
+ "kind": "const";
73
+ "value": [
74
+ 105,
75
+ 110,
76
+ 116,
77
+ 101,
78
+ 103,
79
+ 114,
80
+ 97,
81
+ 116,
82
+ 105,
83
+ 111,
84
+ 110,
85
+ 45,
86
+ 97,
87
+ 117,
88
+ 116,
89
+ 104,
90
+ 111,
91
+ 114,
92
+ 105,
93
+ 116,
94
+ 121
95
+ ];
96
+ }
97
+ ];
98
+ };
99
+ },
100
+ {
101
+ "name": "cpiProgram";
102
+ "address": "MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD";
103
+ },
104
+ {
105
+ "name": "glamProtocolProgram";
106
+ "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz";
107
+ },
108
+ {
109
+ "name": "systemProgram";
110
+ "address": "11111111111111111111111111111111";
111
+ },
112
+ {
113
+ "name": "state";
114
+ "writable": true;
115
+ },
116
+ {
117
+ "name": "msolMint";
118
+ "writable": true;
119
+ },
120
+ {
121
+ "name": "liqPoolSolLegPda";
122
+ "writable": true;
123
+ },
124
+ {
125
+ "name": "liqPoolMsolLeg";
126
+ "writable": true;
127
+ },
128
+ {
129
+ "name": "liqPoolMsolLegAuthority";
130
+ },
131
+ {
132
+ "name": "reservePda";
133
+ "writable": true;
134
+ },
135
+ {
136
+ "name": "mintTo";
137
+ "writable": true;
138
+ },
139
+ {
140
+ "name": "msolMintAuthority";
141
+ },
142
+ {
143
+ "name": "tokenProgram";
144
+ }
145
+ ];
146
+ "args": [
147
+ {
148
+ "name": "lamports";
149
+ "type": "u64";
150
+ }
151
+ ];
152
+ },
153
+ {
154
+ "name": "depositStakeAccount";
155
+ "docs": [
156
+ "Deposits a stake account"
157
+ ];
158
+ "discriminator": [
159
+ 110,
160
+ 130,
161
+ 115,
162
+ 41,
163
+ 164,
164
+ 102,
165
+ 2,
166
+ 59
167
+ ];
168
+ "accounts": [
169
+ {
170
+ "name": "glamState";
171
+ "writable": true;
172
+ },
173
+ {
174
+ "name": "glamVault";
175
+ "writable": true;
176
+ "pda": {
177
+ "seeds": [
178
+ {
179
+ "kind": "const";
180
+ "value": [
181
+ 118,
182
+ 97,
183
+ 117,
184
+ 108,
185
+ 116
186
+ ];
187
+ },
188
+ {
189
+ "kind": "account";
190
+ "path": "glamState";
191
+ }
192
+ ];
193
+ "program": {
194
+ "kind": "account";
195
+ "path": "glamProtocolProgram";
196
+ };
197
+ };
198
+ },
199
+ {
200
+ "name": "glamSigner";
201
+ "writable": true;
202
+ "signer": true;
203
+ },
204
+ {
205
+ "name": "integrationAuthority";
206
+ "pda": {
207
+ "seeds": [
208
+ {
209
+ "kind": "const";
210
+ "value": [
211
+ 105,
212
+ 110,
213
+ 116,
214
+ 101,
215
+ 103,
216
+ 114,
217
+ 97,
218
+ 116,
219
+ 105,
220
+ 111,
221
+ 110,
222
+ 45,
223
+ 97,
224
+ 117,
225
+ 116,
226
+ 104,
227
+ 111,
228
+ 114,
229
+ 105,
230
+ 116,
231
+ 121
232
+ ];
233
+ }
234
+ ];
235
+ };
236
+ },
237
+ {
238
+ "name": "cpiProgram";
239
+ "address": "MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD";
240
+ },
241
+ {
242
+ "name": "glamProtocolProgram";
243
+ "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz";
244
+ },
245
+ {
246
+ "name": "systemProgram";
247
+ "address": "11111111111111111111111111111111";
248
+ },
249
+ {
250
+ "name": "state";
251
+ "writable": true;
252
+ },
253
+ {
254
+ "name": "validatorList";
255
+ "writable": true;
256
+ },
257
+ {
258
+ "name": "stakeList";
259
+ "writable": true;
260
+ },
261
+ {
262
+ "name": "stakeAccount";
263
+ "writable": true;
264
+ },
265
+ {
266
+ "name": "duplicationFlag";
267
+ "writable": true;
268
+ },
269
+ {
270
+ "name": "msolMint";
271
+ "writable": true;
272
+ },
273
+ {
274
+ "name": "mintTo";
275
+ "writable": true;
276
+ },
277
+ {
278
+ "name": "msolMintAuthority";
279
+ },
280
+ {
281
+ "name": "clock";
282
+ },
283
+ {
284
+ "name": "rent";
285
+ "address": "SysvarRent111111111111111111111111111111111";
286
+ },
287
+ {
288
+ "name": "tokenProgram";
289
+ },
290
+ {
291
+ "name": "stakeProgram";
292
+ }
293
+ ];
294
+ "args": [
295
+ {
296
+ "name": "validatorIndex";
297
+ "type": "u32";
298
+ }
299
+ ];
300
+ },
301
+ {
302
+ "name": "liquidUnstake";
303
+ "docs": [
304
+ "Burns mSOL and receives SOL"
305
+ ];
306
+ "discriminator": [
307
+ 30,
308
+ 30,
309
+ 119,
310
+ 240,
311
+ 191,
312
+ 227,
313
+ 12,
314
+ 16
315
+ ];
316
+ "accounts": [
317
+ {
318
+ "name": "glamState";
319
+ "writable": true;
320
+ },
321
+ {
322
+ "name": "glamVault";
323
+ "writable": true;
324
+ "pda": {
325
+ "seeds": [
326
+ {
327
+ "kind": "const";
328
+ "value": [
329
+ 118,
330
+ 97,
331
+ 117,
332
+ 108,
333
+ 116
334
+ ];
335
+ },
336
+ {
337
+ "kind": "account";
338
+ "path": "glamState";
339
+ }
340
+ ];
341
+ "program": {
342
+ "kind": "account";
343
+ "path": "glamProtocolProgram";
344
+ };
345
+ };
346
+ },
347
+ {
348
+ "name": "glamSigner";
349
+ "writable": true;
350
+ "signer": true;
351
+ },
352
+ {
353
+ "name": "integrationAuthority";
354
+ "pda": {
355
+ "seeds": [
356
+ {
357
+ "kind": "const";
358
+ "value": [
359
+ 105,
360
+ 110,
361
+ 116,
362
+ 101,
363
+ 103,
364
+ 114,
365
+ 97,
366
+ 116,
367
+ 105,
368
+ 111,
369
+ 110,
370
+ 45,
371
+ 97,
372
+ 117,
373
+ 116,
374
+ 104,
375
+ 111,
376
+ 114,
377
+ 105,
378
+ 116,
379
+ 121
380
+ ];
381
+ }
382
+ ];
383
+ };
384
+ },
385
+ {
386
+ "name": "cpiProgram";
387
+ "address": "MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD";
388
+ },
389
+ {
390
+ "name": "glamProtocolProgram";
391
+ "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz";
392
+ },
393
+ {
394
+ "name": "systemProgram";
395
+ "address": "11111111111111111111111111111111";
396
+ },
397
+ {
398
+ "name": "state";
399
+ "writable": true;
400
+ },
401
+ {
402
+ "name": "msolMint";
403
+ "writable": true;
404
+ },
405
+ {
406
+ "name": "liqPoolSolLegPda";
407
+ "writable": true;
408
+ },
409
+ {
410
+ "name": "liqPoolMsolLeg";
411
+ "writable": true;
412
+ },
413
+ {
414
+ "name": "treasuryMsolAccount";
415
+ "writable": true;
416
+ },
417
+ {
418
+ "name": "getMsolFrom";
419
+ "writable": true;
420
+ },
421
+ {
422
+ "name": "tokenProgram";
423
+ }
424
+ ];
425
+ "args": [
426
+ {
427
+ "name": "msolAmount";
428
+ "type": "u64";
429
+ }
430
+ ];
431
+ },
432
+ {
433
+ "name": "withdrawStakeAccount";
434
+ "docs": [
435
+ "Burns mSOL and receives a stake account"
436
+ ];
437
+ "discriminator": [
438
+ 211,
439
+ 85,
440
+ 184,
441
+ 65,
442
+ 183,
443
+ 177,
444
+ 233,
445
+ 217
446
+ ];
447
+ "accounts": [
448
+ {
449
+ "name": "glamState";
450
+ "writable": true;
451
+ },
452
+ {
453
+ "name": "glamVault";
454
+ "writable": true;
455
+ "pda": {
456
+ "seeds": [
457
+ {
458
+ "kind": "const";
459
+ "value": [
460
+ 118,
461
+ 97,
462
+ 117,
463
+ 108,
464
+ 116
465
+ ];
466
+ },
467
+ {
468
+ "kind": "account";
469
+ "path": "glamState";
470
+ }
471
+ ];
472
+ "program": {
473
+ "kind": "account";
474
+ "path": "glamProtocolProgram";
475
+ };
476
+ };
477
+ },
478
+ {
479
+ "name": "glamSigner";
480
+ "writable": true;
481
+ "signer": true;
482
+ },
483
+ {
484
+ "name": "integrationAuthority";
485
+ "pda": {
486
+ "seeds": [
487
+ {
488
+ "kind": "const";
489
+ "value": [
490
+ 105,
491
+ 110,
492
+ 116,
493
+ 101,
494
+ 103,
495
+ 114,
496
+ 97,
497
+ 116,
498
+ 105,
499
+ 111,
500
+ 110,
501
+ 45,
502
+ 97,
503
+ 117,
504
+ 116,
505
+ 104,
506
+ 111,
507
+ 114,
508
+ 105,
509
+ 116,
510
+ 121
511
+ ];
512
+ }
513
+ ];
514
+ };
515
+ },
516
+ {
517
+ "name": "cpiProgram";
518
+ "address": "MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD";
519
+ },
520
+ {
521
+ "name": "glamProtocolProgram";
522
+ "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz";
523
+ },
524
+ {
525
+ "name": "systemProgram";
526
+ "address": "11111111111111111111111111111111";
527
+ },
528
+ {
529
+ "name": "state";
530
+ "writable": true;
531
+ },
532
+ {
533
+ "name": "msolMint";
534
+ "writable": true;
535
+ },
536
+ {
537
+ "name": "burnMsolFrom";
538
+ "writable": true;
539
+ },
540
+ {
541
+ "name": "treasuryMsolAccount";
542
+ "writable": true;
543
+ },
544
+ {
545
+ "name": "validatorList";
546
+ "writable": true;
547
+ },
548
+ {
549
+ "name": "stakeList";
550
+ "writable": true;
551
+ },
552
+ {
553
+ "name": "stakeWithdrawAuthority";
554
+ },
555
+ {
556
+ "name": "stakeDepositAuthority";
557
+ },
558
+ {
559
+ "name": "stakeAccount";
560
+ "writable": true;
561
+ },
562
+ {
563
+ "name": "splitStakeAccount";
564
+ "writable": true;
565
+ "signer": true;
566
+ },
567
+ {
568
+ "name": "clock";
569
+ },
570
+ {
571
+ "name": "tokenProgram";
572
+ },
573
+ {
574
+ "name": "stakeProgram";
575
+ }
576
+ ];
577
+ "args": [
578
+ {
579
+ "name": "stakeIndex";
580
+ "type": "u32";
581
+ },
582
+ {
583
+ "name": "validatorIndex";
584
+ "type": "u32";
585
+ },
586
+ {
587
+ "name": "msolAmount";
588
+ "type": "u64";
589
+ },
590
+ {
591
+ "name": "beneficiary";
592
+ "type": "pubkey";
593
+ }
594
+ ];
595
+ }
596
+ ];
597
+ "accounts": [
598
+ {
599
+ "name": "stateAccount";
600
+ "discriminator": [
601
+ 142,
602
+ 247,
603
+ 54,
604
+ 95,
605
+ 85,
606
+ 133,
607
+ 249,
608
+ 103
609
+ ];
610
+ }
611
+ ];
612
+ "types": [
613
+ {
614
+ "name": "accountType";
615
+ "type": {
616
+ "kind": "enum";
617
+ "variants": [
618
+ {
619
+ "name": "vault";
620
+ },
621
+ {
622
+ "name": "tokenizedVault";
623
+ },
624
+ {
625
+ "name": "mint";
626
+ },
627
+ {
628
+ "name": "singleAssetVault";
629
+ }
630
+ ];
631
+ };
632
+ },
633
+ {
634
+ "name": "accruedFees";
635
+ "type": {
636
+ "kind": "struct";
637
+ "fields": [
638
+ {
639
+ "name": "vaultSubscriptionFee";
640
+ "type": "u128";
641
+ },
642
+ {
643
+ "name": "vaultRedemptionFee";
644
+ "type": "u128";
645
+ },
646
+ {
647
+ "name": "managerSubscriptionFee";
648
+ "type": "u128";
649
+ },
650
+ {
651
+ "name": "managerRedemptionFee";
652
+ "type": "u128";
653
+ },
654
+ {
655
+ "name": "managementFee";
656
+ "type": "u128";
657
+ },
658
+ {
659
+ "name": "performanceFee";
660
+ "type": "u128";
661
+ },
662
+ {
663
+ "name": "protocolBaseFee";
664
+ "type": "u128";
665
+ },
666
+ {
667
+ "name": "protocolFlowFee";
668
+ "type": "u128";
669
+ }
670
+ ];
671
+ };
672
+ },
673
+ {
674
+ "name": "createdModel";
675
+ "type": {
676
+ "kind": "struct";
677
+ "fields": [
678
+ {
679
+ "name": "key";
680
+ "type": {
681
+ "array": [
682
+ "u8",
683
+ 8
684
+ ];
685
+ };
686
+ },
687
+ {
688
+ "name": "createdBy";
689
+ "type": "pubkey";
690
+ },
691
+ {
692
+ "name": "createdAt";
693
+ "type": "i64";
694
+ }
695
+ ];
696
+ };
697
+ },
698
+ {
699
+ "name": "delegateAcl";
700
+ "type": {
701
+ "kind": "struct";
702
+ "fields": [
703
+ {
704
+ "name": "pubkey";
705
+ "type": "pubkey";
706
+ },
707
+ {
708
+ "name": "integrationPermissions";
709
+ "type": {
710
+ "vec": {
711
+ "defined": {
712
+ "name": "integrationPermissions";
713
+ };
714
+ };
715
+ };
716
+ },
717
+ {
718
+ "name": "expiresAt";
719
+ "type": "i64";
720
+ }
721
+ ];
722
+ };
723
+ },
724
+ {
725
+ "name": "engineField";
726
+ "type": {
727
+ "kind": "struct";
728
+ "fields": [
729
+ {
730
+ "name": "name";
731
+ "type": {
732
+ "defined": {
733
+ "name": "engineFieldName";
734
+ };
735
+ };
736
+ },
737
+ {
738
+ "name": "value";
739
+ "type": {
740
+ "defined": {
741
+ "name": "engineFieldValue";
742
+ };
743
+ };
744
+ }
745
+ ];
746
+ };
747
+ },
748
+ {
749
+ "name": "engineFieldName";
750
+ "type": {
751
+ "kind": "enum";
752
+ "variants": [
753
+ {
754
+ "name": "owner";
755
+ },
756
+ {
757
+ "name": "portfolioManagerName";
758
+ },
759
+ {
760
+ "name": "name";
761
+ },
762
+ {
763
+ "name": "uri";
764
+ },
765
+ {
766
+ "name": "assets";
767
+ },
768
+ {
769
+ "name": "delegateAcls";
770
+ },
771
+ {
772
+ "name": "integrationAcls";
773
+ },
774
+ {
775
+ "name": "timelockDuration";
776
+ },
777
+ {
778
+ "name": "borrowable";
779
+ },
780
+ {
781
+ "name": "defaultAccountStateFrozen";
782
+ },
783
+ {
784
+ "name": "permanentDelegate";
785
+ },
786
+ {
787
+ "name": "notifyAndSettle";
788
+ },
789
+ {
790
+ "name": "feeStructure";
791
+ },
792
+ {
793
+ "name": "feeParams";
794
+ },
795
+ {
796
+ "name": "claimableFees";
797
+ },
798
+ {
799
+ "name": "claimedFees";
800
+ },
801
+ {
802
+ "name": "oracleConfigs";
803
+ }
804
+ ];
805
+ };
806
+ },
807
+ {
808
+ "name": "engineFieldValue";
809
+ "type": {
810
+ "kind": "enum";
811
+ "variants": [
812
+ {
813
+ "name": "boolean";
814
+ "fields": [
815
+ {
816
+ "name": "val";
817
+ "type": "bool";
818
+ }
819
+ ];
820
+ },
821
+ {
822
+ "name": "u8";
823
+ "fields": [
824
+ {
825
+ "name": "val";
826
+ "type": "u8";
827
+ }
828
+ ];
829
+ },
830
+ {
831
+ "name": "u32";
832
+ "fields": [
833
+ {
834
+ "name": "val";
835
+ "type": "u32";
836
+ }
837
+ ];
838
+ },
839
+ {
840
+ "name": "u64";
841
+ "fields": [
842
+ {
843
+ "name": "val";
844
+ "type": "u64";
845
+ }
846
+ ];
847
+ },
848
+ {
849
+ "name": "string";
850
+ "fields": [
851
+ {
852
+ "name": "val";
853
+ "type": "string";
854
+ }
855
+ ];
856
+ },
857
+ {
858
+ "name": "pubkey";
859
+ "fields": [
860
+ {
861
+ "name": "val";
862
+ "type": "pubkey";
863
+ }
864
+ ];
865
+ },
866
+ {
867
+ "name": "vecPubkey";
868
+ "fields": [
869
+ {
870
+ "name": "val";
871
+ "type": {
872
+ "vec": "pubkey";
873
+ };
874
+ }
875
+ ];
876
+ },
877
+ {
878
+ "name": "vecU8";
879
+ "fields": [
880
+ {
881
+ "name": "val";
882
+ "type": "bytes";
883
+ }
884
+ ];
885
+ },
886
+ {
887
+ "name": "vecU32";
888
+ "fields": [
889
+ {
890
+ "name": "val";
891
+ "type": {
892
+ "vec": "u32";
893
+ };
894
+ }
895
+ ];
896
+ },
897
+ {
898
+ "name": "vecDelegateAcl";
899
+ "fields": [
900
+ {
901
+ "name": "val";
902
+ "type": {
903
+ "vec": {
904
+ "defined": {
905
+ "name": "delegateAcl";
906
+ };
907
+ };
908
+ };
909
+ }
910
+ ];
911
+ },
912
+ {
913
+ "name": "vecIntegrationAcl";
914
+ "fields": [
915
+ {
916
+ "name": "val";
917
+ "type": {
918
+ "vec": {
919
+ "defined": {
920
+ "name": "integrationAcl";
921
+ };
922
+ };
923
+ };
924
+ }
925
+ ];
926
+ },
927
+ {
928
+ "name": "feeStructure";
929
+ "fields": [
930
+ {
931
+ "name": "val";
932
+ "type": {
933
+ "defined": {
934
+ "name": "feeStructure";
935
+ };
936
+ };
937
+ }
938
+ ];
939
+ },
940
+ {
941
+ "name": "feeParams";
942
+ "fields": [
943
+ {
944
+ "name": "val";
945
+ "type": {
946
+ "defined": {
947
+ "name": "feeParams";
948
+ };
949
+ };
950
+ }
951
+ ];
952
+ },
953
+ {
954
+ "name": "accruedFees";
955
+ "fields": [
956
+ {
957
+ "name": "val";
958
+ "type": {
959
+ "defined": {
960
+ "name": "accruedFees";
961
+ };
962
+ };
963
+ }
964
+ ];
965
+ },
966
+ {
967
+ "name": "notifyAndSettle";
968
+ "fields": [
969
+ {
970
+ "name": "val";
971
+ "type": {
972
+ "defined": {
973
+ "name": "notifyAndSettle";
974
+ };
975
+ };
976
+ }
977
+ ];
978
+ },
979
+ {
980
+ "name": "oracleConfigs";
981
+ "fields": [
982
+ {
983
+ "name": "val";
984
+ "type": {
985
+ "defined": {
986
+ "name": "oracleConfigs";
987
+ };
988
+ };
989
+ }
990
+ ];
991
+ }
992
+ ];
993
+ };
994
+ },
995
+ {
996
+ "name": "entryExitFees";
997
+ "type": {
998
+ "kind": "struct";
999
+ "fields": [
1000
+ {
1001
+ "name": "subscriptionFeeBps";
1002
+ "type": "u16";
1003
+ },
1004
+ {
1005
+ "name": "redemptionFeeBps";
1006
+ "type": "u16";
1007
+ }
1008
+ ];
1009
+ };
1010
+ },
1011
+ {
1012
+ "name": "feeParams";
1013
+ "type": {
1014
+ "kind": "struct";
1015
+ "fields": [
1016
+ {
1017
+ "name": "yearInSeconds";
1018
+ "type": "u32";
1019
+ },
1020
+ {
1021
+ "name": "paHighWaterMark";
1022
+ "type": "i128";
1023
+ },
1024
+ {
1025
+ "name": "paLastNav";
1026
+ "type": "i128";
1027
+ },
1028
+ {
1029
+ "name": "lastAum";
1030
+ "type": "i128";
1031
+ },
1032
+ {
1033
+ "name": "lastPerformanceFeeCrystallized";
1034
+ "type": "i64";
1035
+ },
1036
+ {
1037
+ "name": "lastManagementFeeCrystallized";
1038
+ "type": "i64";
1039
+ },
1040
+ {
1041
+ "name": "lastProtocolFeeCrystallized";
1042
+ "type": "i64";
1043
+ }
1044
+ ];
1045
+ };
1046
+ },
1047
+ {
1048
+ "name": "feeStructure";
1049
+ "type": {
1050
+ "kind": "struct";
1051
+ "fields": [
1052
+ {
1053
+ "name": "vault";
1054
+ "type": {
1055
+ "defined": {
1056
+ "name": "entryExitFees";
1057
+ };
1058
+ };
1059
+ },
1060
+ {
1061
+ "name": "manager";
1062
+ "type": {
1063
+ "defined": {
1064
+ "name": "entryExitFees";
1065
+ };
1066
+ };
1067
+ },
1068
+ {
1069
+ "name": "management";
1070
+ "type": {
1071
+ "defined": {
1072
+ "name": "managementFee";
1073
+ };
1074
+ };
1075
+ },
1076
+ {
1077
+ "name": "performance";
1078
+ "type": {
1079
+ "defined": {
1080
+ "name": "performanceFee";
1081
+ };
1082
+ };
1083
+ },
1084
+ {
1085
+ "name": "protocol";
1086
+ "type": {
1087
+ "defined": {
1088
+ "name": "protocolFees";
1089
+ };
1090
+ };
1091
+ }
1092
+ ];
1093
+ };
1094
+ },
1095
+ {
1096
+ "name": "hurdleType";
1097
+ "type": {
1098
+ "kind": "enum";
1099
+ "variants": [
1100
+ {
1101
+ "name": "hard";
1102
+ },
1103
+ {
1104
+ "name": "soft";
1105
+ }
1106
+ ];
1107
+ };
1108
+ },
1109
+ {
1110
+ "name": "integrationAcl";
1111
+ "docs": [
1112
+ "An integration program can have multiple protocols supported.",
1113
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
1114
+ ];
1115
+ "type": {
1116
+ "kind": "struct";
1117
+ "fields": [
1118
+ {
1119
+ "name": "integrationProgram";
1120
+ "type": "pubkey";
1121
+ },
1122
+ {
1123
+ "name": "protocolsBitmask";
1124
+ "type": "u16";
1125
+ },
1126
+ {
1127
+ "name": "protocolPolicies";
1128
+ "type": {
1129
+ "vec": {
1130
+ "defined": {
1131
+ "name": "protocolPolicy";
1132
+ };
1133
+ };
1134
+ };
1135
+ }
1136
+ ];
1137
+ };
1138
+ },
1139
+ {
1140
+ "name": "integrationPermissions";
1141
+ "docs": [
1142
+ "Stores delegate permissions for an integration program."
1143
+ ];
1144
+ "type": {
1145
+ "kind": "struct";
1146
+ "fields": [
1147
+ {
1148
+ "name": "integrationProgram";
1149
+ "type": "pubkey";
1150
+ },
1151
+ {
1152
+ "name": "protocolPermissions";
1153
+ "type": {
1154
+ "vec": {
1155
+ "defined": {
1156
+ "name": "protocolPermissions";
1157
+ };
1158
+ };
1159
+ };
1160
+ }
1161
+ ];
1162
+ };
1163
+ },
1164
+ {
1165
+ "name": "managementFee";
1166
+ "type": {
1167
+ "kind": "struct";
1168
+ "fields": [
1169
+ {
1170
+ "name": "feeBps";
1171
+ "type": "u16";
1172
+ }
1173
+ ];
1174
+ };
1175
+ },
1176
+ {
1177
+ "name": "noticePeriodType";
1178
+ "type": {
1179
+ "kind": "enum";
1180
+ "variants": [
1181
+ {
1182
+ "name": "hard";
1183
+ },
1184
+ {
1185
+ "name": "soft";
1186
+ }
1187
+ ];
1188
+ };
1189
+ },
1190
+ {
1191
+ "name": "notifyAndSettle";
1192
+ "type": {
1193
+ "kind": "struct";
1194
+ "fields": [
1195
+ {
1196
+ "name": "model";
1197
+ "type": {
1198
+ "defined": {
1199
+ "name": "valuationModel";
1200
+ };
1201
+ };
1202
+ },
1203
+ {
1204
+ "name": "permissionlessFulfillment";
1205
+ "type": "bool";
1206
+ },
1207
+ {
1208
+ "name": "subscribeNoticePeriodType";
1209
+ "type": {
1210
+ "defined": {
1211
+ "name": "noticePeriodType";
1212
+ };
1213
+ };
1214
+ },
1215
+ {
1216
+ "name": "subscribeNoticePeriod";
1217
+ "type": "u64";
1218
+ },
1219
+ {
1220
+ "name": "subscribeSettlementPeriod";
1221
+ "type": "u64";
1222
+ },
1223
+ {
1224
+ "name": "subscribeCancellationWindow";
1225
+ "type": "u64";
1226
+ },
1227
+ {
1228
+ "name": "redeemNoticePeriodType";
1229
+ "type": {
1230
+ "defined": {
1231
+ "name": "noticePeriodType";
1232
+ };
1233
+ };
1234
+ },
1235
+ {
1236
+ "name": "redeemNoticePeriod";
1237
+ "type": "u64";
1238
+ },
1239
+ {
1240
+ "name": "redeemSettlementPeriod";
1241
+ "type": "u64";
1242
+ },
1243
+ {
1244
+ "name": "redeemCancellationWindow";
1245
+ "type": "u64";
1246
+ },
1247
+ {
1248
+ "name": "timeUnit";
1249
+ "type": {
1250
+ "defined": {
1251
+ "name": "timeUnit";
1252
+ };
1253
+ };
1254
+ },
1255
+ {
1256
+ "name": "padding";
1257
+ "type": {
1258
+ "array": [
1259
+ "u8",
1260
+ 3
1261
+ ];
1262
+ };
1263
+ }
1264
+ ];
1265
+ };
1266
+ },
1267
+ {
1268
+ "name": "oracleConfigs";
1269
+ "docs": [
1270
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
1271
+ ];
1272
+ "type": {
1273
+ "kind": "struct";
1274
+ "fields": [
1275
+ {
1276
+ "name": "maxAgesSeconds";
1277
+ "type": {
1278
+ "vec": {
1279
+ "array": [
1280
+ "u16",
1281
+ 2
1282
+ ];
1283
+ };
1284
+ };
1285
+ },
1286
+ {
1287
+ "name": "padding";
1288
+ "type": {
1289
+ "array": [
1290
+ "u8",
1291
+ 12
1292
+ ];
1293
+ };
1294
+ }
1295
+ ];
1296
+ };
1297
+ },
1298
+ {
1299
+ "name": "performanceFee";
1300
+ "type": {
1301
+ "kind": "struct";
1302
+ "fields": [
1303
+ {
1304
+ "name": "feeBps";
1305
+ "type": "u16";
1306
+ },
1307
+ {
1308
+ "name": "hurdleRateBps";
1309
+ "type": "u16";
1310
+ },
1311
+ {
1312
+ "name": "hurdleType";
1313
+ "type": {
1314
+ "defined": {
1315
+ "name": "hurdleType";
1316
+ };
1317
+ };
1318
+ }
1319
+ ];
1320
+ };
1321
+ },
1322
+ {
1323
+ "name": "pricedProtocol";
1324
+ "type": {
1325
+ "kind": "struct";
1326
+ "fields": [
1327
+ {
1328
+ "name": "rent";
1329
+ "type": "u64";
1330
+ },
1331
+ {
1332
+ "name": "amount";
1333
+ "type": "i128";
1334
+ },
1335
+ {
1336
+ "name": "decimals";
1337
+ "type": "u8";
1338
+ },
1339
+ {
1340
+ "name": "lastUpdatedSlot";
1341
+ "type": "u64";
1342
+ },
1343
+ {
1344
+ "name": "integrationProgram";
1345
+ "type": "pubkey";
1346
+ },
1347
+ {
1348
+ "name": "protocolBitflag";
1349
+ "type": "u16";
1350
+ },
1351
+ {
1352
+ "name": "positions";
1353
+ "type": {
1354
+ "vec": "pubkey";
1355
+ };
1356
+ }
1357
+ ];
1358
+ };
1359
+ },
1360
+ {
1361
+ "name": "protocolFees";
1362
+ "type": {
1363
+ "kind": "struct";
1364
+ "fields": [
1365
+ {
1366
+ "name": "baseFeeBps";
1367
+ "type": "u16";
1368
+ },
1369
+ {
1370
+ "name": "flowFeeBps";
1371
+ "type": "u16";
1372
+ }
1373
+ ];
1374
+ };
1375
+ },
1376
+ {
1377
+ "name": "protocolPermissions";
1378
+ "docs": [
1379
+ "Represents a delegate's permissions for a specific protocol"
1380
+ ];
1381
+ "type": {
1382
+ "kind": "struct";
1383
+ "fields": [
1384
+ {
1385
+ "name": "protocolBitflag";
1386
+ "type": "u16";
1387
+ },
1388
+ {
1389
+ "name": "permissionsBitmask";
1390
+ "type": "u64";
1391
+ }
1392
+ ];
1393
+ };
1394
+ },
1395
+ {
1396
+ "name": "protocolPolicy";
1397
+ "docs": [
1398
+ "Stores policy data for an integrated protocol.",
1399
+ "Integration programs serialize/deserialize this data."
1400
+ ];
1401
+ "type": {
1402
+ "kind": "struct";
1403
+ "fields": [
1404
+ {
1405
+ "name": "protocolBitflag";
1406
+ "type": "u16";
1407
+ },
1408
+ {
1409
+ "name": "data";
1410
+ "type": "bytes";
1411
+ }
1412
+ ];
1413
+ };
1414
+ },
1415
+ {
1416
+ "name": "stateAccount";
1417
+ "type": {
1418
+ "kind": "struct";
1419
+ "fields": [
1420
+ {
1421
+ "name": "accountType";
1422
+ "type": {
1423
+ "defined": {
1424
+ "name": "accountType";
1425
+ };
1426
+ };
1427
+ },
1428
+ {
1429
+ "name": "enabled";
1430
+ "type": "bool";
1431
+ },
1432
+ {
1433
+ "name": "vault";
1434
+ "type": "pubkey";
1435
+ },
1436
+ {
1437
+ "name": "owner";
1438
+ "type": "pubkey";
1439
+ },
1440
+ {
1441
+ "name": "portfolioManagerName";
1442
+ "type": {
1443
+ "array": [
1444
+ "u8",
1445
+ 32
1446
+ ];
1447
+ };
1448
+ },
1449
+ {
1450
+ "name": "created";
1451
+ "type": {
1452
+ "defined": {
1453
+ "name": "createdModel";
1454
+ };
1455
+ };
1456
+ },
1457
+ {
1458
+ "name": "baseAssetMint";
1459
+ "type": "pubkey";
1460
+ },
1461
+ {
1462
+ "name": "baseAssetDecimals";
1463
+ "type": "u8";
1464
+ },
1465
+ {
1466
+ "name": "baseAssetTokenProgram";
1467
+ "type": "u8";
1468
+ },
1469
+ {
1470
+ "name": "name";
1471
+ "type": {
1472
+ "array": [
1473
+ "u8",
1474
+ 32
1475
+ ];
1476
+ };
1477
+ },
1478
+ {
1479
+ "name": "timelockDuration";
1480
+ "type": "u32";
1481
+ },
1482
+ {
1483
+ "name": "timelockExpiresAt";
1484
+ "type": "u64";
1485
+ },
1486
+ {
1487
+ "name": "mint";
1488
+ "type": "pubkey";
1489
+ },
1490
+ {
1491
+ "name": "assets";
1492
+ "type": {
1493
+ "vec": "pubkey";
1494
+ };
1495
+ },
1496
+ {
1497
+ "name": "integrationAcls";
1498
+ "type": {
1499
+ "vec": {
1500
+ "defined": {
1501
+ "name": "integrationAcl";
1502
+ };
1503
+ };
1504
+ };
1505
+ },
1506
+ {
1507
+ "name": "delegateAcls";
1508
+ "type": {
1509
+ "vec": {
1510
+ "defined": {
1511
+ "name": "delegateAcl";
1512
+ };
1513
+ };
1514
+ };
1515
+ },
1516
+ {
1517
+ "name": "externalPositions";
1518
+ "type": {
1519
+ "vec": "pubkey";
1520
+ };
1521
+ },
1522
+ {
1523
+ "name": "pricedProtocols";
1524
+ "type": {
1525
+ "vec": {
1526
+ "defined": {
1527
+ "name": "pricedProtocol";
1528
+ };
1529
+ };
1530
+ };
1531
+ },
1532
+ {
1533
+ "name": "params";
1534
+ "type": {
1535
+ "vec": {
1536
+ "vec": {
1537
+ "defined": {
1538
+ "name": "engineField";
1539
+ };
1540
+ };
1541
+ };
1542
+ };
1543
+ }
1544
+ ];
1545
+ };
1546
+ },
1547
+ {
1548
+ "name": "timeUnit";
1549
+ "type": {
1550
+ "kind": "enum";
1551
+ "variants": [
1552
+ {
1553
+ "name": "second";
1554
+ },
1555
+ {
1556
+ "name": "slot";
1557
+ }
1558
+ ];
1559
+ };
1560
+ },
1561
+ {
1562
+ "name": "valuationModel";
1563
+ "type": {
1564
+ "kind": "enum";
1565
+ "variants": [
1566
+ {
1567
+ "name": "continuous";
1568
+ },
1569
+ {
1570
+ "name": "periodic";
1571
+ }
1572
+ ];
1573
+ };
1574
+ }
1575
+ ];
1576
+ "constants": [
1577
+ {
1578
+ "name": "protoMarinade";
1579
+ "type": "u16";
1580
+ "value": "1";
1581
+ },
1582
+ {
1583
+ "name": "protoMarinadePermStake";
1584
+ "type": "u64";
1585
+ "value": "1";
1586
+ },
1587
+ {
1588
+ "name": "protoMarinadePermUnstake";
1589
+ "type": "u64";
1590
+ "value": "2";
1591
+ }
1592
+ ];
1593
+ };