@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
+ };