@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,1274 @@
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_spl.json`.
6
+ */
7
+ export type ExtSpl = {
8
+ "address": "G1NTsQ36mjPe89HtPYqxKsjY5HmYsDR6CbD2gd2U2pta";
9
+ "metadata": {
10
+ "name": "extSpl";
11
+ "version": "1.0.1";
12
+ "spec": "0.1.0";
13
+ "description": "SPL integration for GLAM Protocol";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "setTokenTransferPolicy";
18
+ "discriminator": [
19
+ 0,
20
+ 144,
21
+ 15,
22
+ 4,
23
+ 149,
24
+ 22,
25
+ 95,
26
+ 50
27
+ ];
28
+ "accounts": [
29
+ {
30
+ "name": "glamState";
31
+ "writable": true;
32
+ },
33
+ {
34
+ "name": "glamSigner";
35
+ "writable": true;
36
+ "signer": true;
37
+ },
38
+ {
39
+ "name": "glamProtocolProgram";
40
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz";
41
+ }
42
+ ];
43
+ "args": [
44
+ {
45
+ "name": "policy";
46
+ "type": {
47
+ "defined": {
48
+ "name": "transferPolicy";
49
+ };
50
+ };
51
+ }
52
+ ];
53
+ },
54
+ {
55
+ "name": "tokenCloseAccount";
56
+ "discriminator": [
57
+ 240,
58
+ 32,
59
+ 179,
60
+ 154,
61
+ 96,
62
+ 110,
63
+ 43,
64
+ 79
65
+ ];
66
+ "accounts": [
67
+ {
68
+ "name": "glamState";
69
+ "writable": true;
70
+ },
71
+ {
72
+ "name": "glamVault";
73
+ "writable": true;
74
+ "pda": {
75
+ "seeds": [
76
+ {
77
+ "kind": "const";
78
+ "value": [
79
+ 118,
80
+ 97,
81
+ 117,
82
+ 108,
83
+ 116
84
+ ];
85
+ },
86
+ {
87
+ "kind": "account";
88
+ "path": "glamState";
89
+ }
90
+ ];
91
+ "program": {
92
+ "kind": "account";
93
+ "path": "glamProtocolProgram";
94
+ };
95
+ };
96
+ },
97
+ {
98
+ "name": "glamSigner";
99
+ "writable": true;
100
+ "signer": true;
101
+ },
102
+ {
103
+ "name": "integrationAuthority";
104
+ "pda": {
105
+ "seeds": [
106
+ {
107
+ "kind": "const";
108
+ "value": [
109
+ 105,
110
+ 110,
111
+ 116,
112
+ 101,
113
+ 103,
114
+ 114,
115
+ 97,
116
+ 116,
117
+ 105,
118
+ 111,
119
+ 110,
120
+ 45,
121
+ 97,
122
+ 117,
123
+ 116,
124
+ 104,
125
+ 111,
126
+ 114,
127
+ 105,
128
+ 116,
129
+ 121
130
+ ];
131
+ }
132
+ ];
133
+ };
134
+ },
135
+ {
136
+ "name": "cpiProgram";
137
+ },
138
+ {
139
+ "name": "glamProtocolProgram";
140
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz";
141
+ },
142
+ {
143
+ "name": "systemProgram";
144
+ "address": "11111111111111111111111111111111";
145
+ },
146
+ {
147
+ "name": "tokenAccount";
148
+ "writable": true;
149
+ }
150
+ ];
151
+ "args": [];
152
+ },
153
+ {
154
+ "name": "tokenTransferChecked";
155
+ "discriminator": [
156
+ 169,
157
+ 178,
158
+ 117,
159
+ 156,
160
+ 169,
161
+ 191,
162
+ 199,
163
+ 116
164
+ ];
165
+ "accounts": [
166
+ {
167
+ "name": "glamState";
168
+ "writable": true;
169
+ },
170
+ {
171
+ "name": "glamVault";
172
+ "writable": true;
173
+ "pda": {
174
+ "seeds": [
175
+ {
176
+ "kind": "const";
177
+ "value": [
178
+ 118,
179
+ 97,
180
+ 117,
181
+ 108,
182
+ 116
183
+ ];
184
+ },
185
+ {
186
+ "kind": "account";
187
+ "path": "glamState";
188
+ }
189
+ ];
190
+ "program": {
191
+ "kind": "account";
192
+ "path": "glamProtocolProgram";
193
+ };
194
+ };
195
+ },
196
+ {
197
+ "name": "glamSigner";
198
+ "writable": true;
199
+ "signer": true;
200
+ },
201
+ {
202
+ "name": "integrationAuthority";
203
+ "pda": {
204
+ "seeds": [
205
+ {
206
+ "kind": "const";
207
+ "value": [
208
+ 105,
209
+ 110,
210
+ 116,
211
+ 101,
212
+ 103,
213
+ 114,
214
+ 97,
215
+ 116,
216
+ 105,
217
+ 111,
218
+ 110,
219
+ 45,
220
+ 97,
221
+ 117,
222
+ 116,
223
+ 104,
224
+ 111,
225
+ 114,
226
+ 105,
227
+ 116,
228
+ 121
229
+ ];
230
+ }
231
+ ];
232
+ };
233
+ },
234
+ {
235
+ "name": "cpiProgram";
236
+ },
237
+ {
238
+ "name": "glamProtocolProgram";
239
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz";
240
+ },
241
+ {
242
+ "name": "systemProgram";
243
+ "address": "11111111111111111111111111111111";
244
+ },
245
+ {
246
+ "name": "from";
247
+ "writable": true;
248
+ },
249
+ {
250
+ "name": "mint";
251
+ },
252
+ {
253
+ "name": "to";
254
+ "writable": true;
255
+ }
256
+ ];
257
+ "args": [
258
+ {
259
+ "name": "amount";
260
+ "type": "u64";
261
+ },
262
+ {
263
+ "name": "decimals";
264
+ "type": "u8";
265
+ }
266
+ ];
267
+ }
268
+ ];
269
+ "accounts": [
270
+ {
271
+ "name": "stateAccount";
272
+ "discriminator": [
273
+ 142,
274
+ 247,
275
+ 54,
276
+ 95,
277
+ 85,
278
+ 133,
279
+ 249,
280
+ 103
281
+ ];
282
+ }
283
+ ];
284
+ "types": [
285
+ {
286
+ "name": "accountType";
287
+ "type": {
288
+ "kind": "enum";
289
+ "variants": [
290
+ {
291
+ "name": "vault";
292
+ },
293
+ {
294
+ "name": "tokenizedVault";
295
+ },
296
+ {
297
+ "name": "mint";
298
+ },
299
+ {
300
+ "name": "singleAssetVault";
301
+ }
302
+ ];
303
+ };
304
+ },
305
+ {
306
+ "name": "accruedFees";
307
+ "type": {
308
+ "kind": "struct";
309
+ "fields": [
310
+ {
311
+ "name": "vaultSubscriptionFee";
312
+ "type": "u128";
313
+ },
314
+ {
315
+ "name": "vaultRedemptionFee";
316
+ "type": "u128";
317
+ },
318
+ {
319
+ "name": "managerSubscriptionFee";
320
+ "type": "u128";
321
+ },
322
+ {
323
+ "name": "managerRedemptionFee";
324
+ "type": "u128";
325
+ },
326
+ {
327
+ "name": "managementFee";
328
+ "type": "u128";
329
+ },
330
+ {
331
+ "name": "performanceFee";
332
+ "type": "u128";
333
+ },
334
+ {
335
+ "name": "protocolBaseFee";
336
+ "type": "u128";
337
+ },
338
+ {
339
+ "name": "protocolFlowFee";
340
+ "type": "u128";
341
+ }
342
+ ];
343
+ };
344
+ },
345
+ {
346
+ "name": "createdModel";
347
+ "type": {
348
+ "kind": "struct";
349
+ "fields": [
350
+ {
351
+ "name": "key";
352
+ "type": {
353
+ "array": [
354
+ "u8",
355
+ 8
356
+ ];
357
+ };
358
+ },
359
+ {
360
+ "name": "createdBy";
361
+ "type": "pubkey";
362
+ },
363
+ {
364
+ "name": "createdAt";
365
+ "type": "i64";
366
+ }
367
+ ];
368
+ };
369
+ },
370
+ {
371
+ "name": "delegateAcl";
372
+ "type": {
373
+ "kind": "struct";
374
+ "fields": [
375
+ {
376
+ "name": "pubkey";
377
+ "type": "pubkey";
378
+ },
379
+ {
380
+ "name": "integrationPermissions";
381
+ "type": {
382
+ "vec": {
383
+ "defined": {
384
+ "name": "integrationPermissions";
385
+ };
386
+ };
387
+ };
388
+ },
389
+ {
390
+ "name": "expiresAt";
391
+ "type": "i64";
392
+ }
393
+ ];
394
+ };
395
+ },
396
+ {
397
+ "name": "engineField";
398
+ "type": {
399
+ "kind": "struct";
400
+ "fields": [
401
+ {
402
+ "name": "name";
403
+ "type": {
404
+ "defined": {
405
+ "name": "engineFieldName";
406
+ };
407
+ };
408
+ },
409
+ {
410
+ "name": "value";
411
+ "type": {
412
+ "defined": {
413
+ "name": "engineFieldValue";
414
+ };
415
+ };
416
+ }
417
+ ];
418
+ };
419
+ },
420
+ {
421
+ "name": "engineFieldName";
422
+ "type": {
423
+ "kind": "enum";
424
+ "variants": [
425
+ {
426
+ "name": "owner";
427
+ },
428
+ {
429
+ "name": "portfolioManagerName";
430
+ },
431
+ {
432
+ "name": "name";
433
+ },
434
+ {
435
+ "name": "uri";
436
+ },
437
+ {
438
+ "name": "assets";
439
+ },
440
+ {
441
+ "name": "delegateAcls";
442
+ },
443
+ {
444
+ "name": "integrationAcls";
445
+ },
446
+ {
447
+ "name": "timelockDuration";
448
+ },
449
+ {
450
+ "name": "borrowable";
451
+ },
452
+ {
453
+ "name": "defaultAccountStateFrozen";
454
+ },
455
+ {
456
+ "name": "permanentDelegate";
457
+ },
458
+ {
459
+ "name": "notifyAndSettle";
460
+ },
461
+ {
462
+ "name": "feeStructure";
463
+ },
464
+ {
465
+ "name": "feeParams";
466
+ },
467
+ {
468
+ "name": "claimableFees";
469
+ },
470
+ {
471
+ "name": "claimedFees";
472
+ },
473
+ {
474
+ "name": "oracleConfigs";
475
+ }
476
+ ];
477
+ };
478
+ },
479
+ {
480
+ "name": "engineFieldValue";
481
+ "type": {
482
+ "kind": "enum";
483
+ "variants": [
484
+ {
485
+ "name": "boolean";
486
+ "fields": [
487
+ {
488
+ "name": "val";
489
+ "type": "bool";
490
+ }
491
+ ];
492
+ },
493
+ {
494
+ "name": "u8";
495
+ "fields": [
496
+ {
497
+ "name": "val";
498
+ "type": "u8";
499
+ }
500
+ ];
501
+ },
502
+ {
503
+ "name": "u32";
504
+ "fields": [
505
+ {
506
+ "name": "val";
507
+ "type": "u32";
508
+ }
509
+ ];
510
+ },
511
+ {
512
+ "name": "u64";
513
+ "fields": [
514
+ {
515
+ "name": "val";
516
+ "type": "u64";
517
+ }
518
+ ];
519
+ },
520
+ {
521
+ "name": "string";
522
+ "fields": [
523
+ {
524
+ "name": "val";
525
+ "type": "string";
526
+ }
527
+ ];
528
+ },
529
+ {
530
+ "name": "pubkey";
531
+ "fields": [
532
+ {
533
+ "name": "val";
534
+ "type": "pubkey";
535
+ }
536
+ ];
537
+ },
538
+ {
539
+ "name": "vecPubkey";
540
+ "fields": [
541
+ {
542
+ "name": "val";
543
+ "type": {
544
+ "vec": "pubkey";
545
+ };
546
+ }
547
+ ];
548
+ },
549
+ {
550
+ "name": "vecU8";
551
+ "fields": [
552
+ {
553
+ "name": "val";
554
+ "type": "bytes";
555
+ }
556
+ ];
557
+ },
558
+ {
559
+ "name": "vecU32";
560
+ "fields": [
561
+ {
562
+ "name": "val";
563
+ "type": {
564
+ "vec": "u32";
565
+ };
566
+ }
567
+ ];
568
+ },
569
+ {
570
+ "name": "vecDelegateAcl";
571
+ "fields": [
572
+ {
573
+ "name": "val";
574
+ "type": {
575
+ "vec": {
576
+ "defined": {
577
+ "name": "delegateAcl";
578
+ };
579
+ };
580
+ };
581
+ }
582
+ ];
583
+ },
584
+ {
585
+ "name": "vecIntegrationAcl";
586
+ "fields": [
587
+ {
588
+ "name": "val";
589
+ "type": {
590
+ "vec": {
591
+ "defined": {
592
+ "name": "integrationAcl";
593
+ };
594
+ };
595
+ };
596
+ }
597
+ ];
598
+ },
599
+ {
600
+ "name": "feeStructure";
601
+ "fields": [
602
+ {
603
+ "name": "val";
604
+ "type": {
605
+ "defined": {
606
+ "name": "feeStructure";
607
+ };
608
+ };
609
+ }
610
+ ];
611
+ },
612
+ {
613
+ "name": "feeParams";
614
+ "fields": [
615
+ {
616
+ "name": "val";
617
+ "type": {
618
+ "defined": {
619
+ "name": "feeParams";
620
+ };
621
+ };
622
+ }
623
+ ];
624
+ },
625
+ {
626
+ "name": "accruedFees";
627
+ "fields": [
628
+ {
629
+ "name": "val";
630
+ "type": {
631
+ "defined": {
632
+ "name": "accruedFees";
633
+ };
634
+ };
635
+ }
636
+ ];
637
+ },
638
+ {
639
+ "name": "notifyAndSettle";
640
+ "fields": [
641
+ {
642
+ "name": "val";
643
+ "type": {
644
+ "defined": {
645
+ "name": "notifyAndSettle";
646
+ };
647
+ };
648
+ }
649
+ ];
650
+ },
651
+ {
652
+ "name": "oracleConfigs";
653
+ "fields": [
654
+ {
655
+ "name": "val";
656
+ "type": {
657
+ "defined": {
658
+ "name": "oracleConfigs";
659
+ };
660
+ };
661
+ }
662
+ ];
663
+ }
664
+ ];
665
+ };
666
+ },
667
+ {
668
+ "name": "entryExitFees";
669
+ "type": {
670
+ "kind": "struct";
671
+ "fields": [
672
+ {
673
+ "name": "subscriptionFeeBps";
674
+ "type": "u16";
675
+ },
676
+ {
677
+ "name": "redemptionFeeBps";
678
+ "type": "u16";
679
+ }
680
+ ];
681
+ };
682
+ },
683
+ {
684
+ "name": "feeParams";
685
+ "type": {
686
+ "kind": "struct";
687
+ "fields": [
688
+ {
689
+ "name": "yearInSeconds";
690
+ "type": "u32";
691
+ },
692
+ {
693
+ "name": "paHighWaterMark";
694
+ "type": "i128";
695
+ },
696
+ {
697
+ "name": "paLastNav";
698
+ "type": "i128";
699
+ },
700
+ {
701
+ "name": "lastAum";
702
+ "type": "i128";
703
+ },
704
+ {
705
+ "name": "lastPerformanceFeeCrystallized";
706
+ "type": "i64";
707
+ },
708
+ {
709
+ "name": "lastManagementFeeCrystallized";
710
+ "type": "i64";
711
+ },
712
+ {
713
+ "name": "lastProtocolFeeCrystallized";
714
+ "type": "i64";
715
+ }
716
+ ];
717
+ };
718
+ },
719
+ {
720
+ "name": "feeStructure";
721
+ "type": {
722
+ "kind": "struct";
723
+ "fields": [
724
+ {
725
+ "name": "vault";
726
+ "type": {
727
+ "defined": {
728
+ "name": "entryExitFees";
729
+ };
730
+ };
731
+ },
732
+ {
733
+ "name": "manager";
734
+ "type": {
735
+ "defined": {
736
+ "name": "entryExitFees";
737
+ };
738
+ };
739
+ },
740
+ {
741
+ "name": "management";
742
+ "type": {
743
+ "defined": {
744
+ "name": "managementFee";
745
+ };
746
+ };
747
+ },
748
+ {
749
+ "name": "performance";
750
+ "type": {
751
+ "defined": {
752
+ "name": "performanceFee";
753
+ };
754
+ };
755
+ },
756
+ {
757
+ "name": "protocol";
758
+ "type": {
759
+ "defined": {
760
+ "name": "protocolFees";
761
+ };
762
+ };
763
+ }
764
+ ];
765
+ };
766
+ },
767
+ {
768
+ "name": "hurdleType";
769
+ "type": {
770
+ "kind": "enum";
771
+ "variants": [
772
+ {
773
+ "name": "hard";
774
+ },
775
+ {
776
+ "name": "soft";
777
+ }
778
+ ];
779
+ };
780
+ },
781
+ {
782
+ "name": "integrationAcl";
783
+ "docs": [
784
+ "An integration program can have multiple protocols supported.",
785
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
786
+ ];
787
+ "type": {
788
+ "kind": "struct";
789
+ "fields": [
790
+ {
791
+ "name": "integrationProgram";
792
+ "type": "pubkey";
793
+ },
794
+ {
795
+ "name": "protocolsBitmask";
796
+ "type": "u16";
797
+ },
798
+ {
799
+ "name": "protocolPolicies";
800
+ "type": {
801
+ "vec": {
802
+ "defined": {
803
+ "name": "protocolPolicy";
804
+ };
805
+ };
806
+ };
807
+ }
808
+ ];
809
+ };
810
+ },
811
+ {
812
+ "name": "integrationPermissions";
813
+ "docs": [
814
+ "Stores delegate permissions for an integration program."
815
+ ];
816
+ "type": {
817
+ "kind": "struct";
818
+ "fields": [
819
+ {
820
+ "name": "integrationProgram";
821
+ "type": "pubkey";
822
+ },
823
+ {
824
+ "name": "protocolPermissions";
825
+ "type": {
826
+ "vec": {
827
+ "defined": {
828
+ "name": "protocolPermissions";
829
+ };
830
+ };
831
+ };
832
+ }
833
+ ];
834
+ };
835
+ },
836
+ {
837
+ "name": "managementFee";
838
+ "type": {
839
+ "kind": "struct";
840
+ "fields": [
841
+ {
842
+ "name": "feeBps";
843
+ "type": "u16";
844
+ }
845
+ ];
846
+ };
847
+ },
848
+ {
849
+ "name": "noticePeriodType";
850
+ "type": {
851
+ "kind": "enum";
852
+ "variants": [
853
+ {
854
+ "name": "hard";
855
+ },
856
+ {
857
+ "name": "soft";
858
+ }
859
+ ];
860
+ };
861
+ },
862
+ {
863
+ "name": "notifyAndSettle";
864
+ "type": {
865
+ "kind": "struct";
866
+ "fields": [
867
+ {
868
+ "name": "model";
869
+ "type": {
870
+ "defined": {
871
+ "name": "valuationModel";
872
+ };
873
+ };
874
+ },
875
+ {
876
+ "name": "permissionlessFulfillment";
877
+ "type": "bool";
878
+ },
879
+ {
880
+ "name": "subscribeNoticePeriodType";
881
+ "type": {
882
+ "defined": {
883
+ "name": "noticePeriodType";
884
+ };
885
+ };
886
+ },
887
+ {
888
+ "name": "subscribeNoticePeriod";
889
+ "type": "u64";
890
+ },
891
+ {
892
+ "name": "subscribeSettlementPeriod";
893
+ "type": "u64";
894
+ },
895
+ {
896
+ "name": "subscribeCancellationWindow";
897
+ "type": "u64";
898
+ },
899
+ {
900
+ "name": "redeemNoticePeriodType";
901
+ "type": {
902
+ "defined": {
903
+ "name": "noticePeriodType";
904
+ };
905
+ };
906
+ },
907
+ {
908
+ "name": "redeemNoticePeriod";
909
+ "type": "u64";
910
+ },
911
+ {
912
+ "name": "redeemSettlementPeriod";
913
+ "type": "u64";
914
+ },
915
+ {
916
+ "name": "redeemCancellationWindow";
917
+ "type": "u64";
918
+ },
919
+ {
920
+ "name": "timeUnit";
921
+ "type": {
922
+ "defined": {
923
+ "name": "timeUnit";
924
+ };
925
+ };
926
+ },
927
+ {
928
+ "name": "padding";
929
+ "type": {
930
+ "array": [
931
+ "u8",
932
+ 3
933
+ ];
934
+ };
935
+ }
936
+ ];
937
+ };
938
+ },
939
+ {
940
+ "name": "oracleConfigs";
941
+ "docs": [
942
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
943
+ ];
944
+ "type": {
945
+ "kind": "struct";
946
+ "fields": [
947
+ {
948
+ "name": "maxAgesSeconds";
949
+ "type": {
950
+ "vec": {
951
+ "array": [
952
+ "u16",
953
+ 2
954
+ ];
955
+ };
956
+ };
957
+ },
958
+ {
959
+ "name": "padding";
960
+ "type": {
961
+ "array": [
962
+ "u8",
963
+ 12
964
+ ];
965
+ };
966
+ }
967
+ ];
968
+ };
969
+ },
970
+ {
971
+ "name": "performanceFee";
972
+ "type": {
973
+ "kind": "struct";
974
+ "fields": [
975
+ {
976
+ "name": "feeBps";
977
+ "type": "u16";
978
+ },
979
+ {
980
+ "name": "hurdleRateBps";
981
+ "type": "u16";
982
+ },
983
+ {
984
+ "name": "hurdleType";
985
+ "type": {
986
+ "defined": {
987
+ "name": "hurdleType";
988
+ };
989
+ };
990
+ }
991
+ ];
992
+ };
993
+ },
994
+ {
995
+ "name": "pricedProtocol";
996
+ "type": {
997
+ "kind": "struct";
998
+ "fields": [
999
+ {
1000
+ "name": "rent";
1001
+ "type": "u64";
1002
+ },
1003
+ {
1004
+ "name": "amount";
1005
+ "type": "i128";
1006
+ },
1007
+ {
1008
+ "name": "decimals";
1009
+ "type": "u8";
1010
+ },
1011
+ {
1012
+ "name": "lastUpdatedSlot";
1013
+ "type": "u64";
1014
+ },
1015
+ {
1016
+ "name": "integrationProgram";
1017
+ "type": "pubkey";
1018
+ },
1019
+ {
1020
+ "name": "protocolBitflag";
1021
+ "type": "u16";
1022
+ },
1023
+ {
1024
+ "name": "positions";
1025
+ "type": {
1026
+ "vec": "pubkey";
1027
+ };
1028
+ }
1029
+ ];
1030
+ };
1031
+ },
1032
+ {
1033
+ "name": "protocolFees";
1034
+ "type": {
1035
+ "kind": "struct";
1036
+ "fields": [
1037
+ {
1038
+ "name": "baseFeeBps";
1039
+ "type": "u16";
1040
+ },
1041
+ {
1042
+ "name": "flowFeeBps";
1043
+ "type": "u16";
1044
+ }
1045
+ ];
1046
+ };
1047
+ },
1048
+ {
1049
+ "name": "protocolPermissions";
1050
+ "docs": [
1051
+ "Represents a delegate's permissions for a specific protocol"
1052
+ ];
1053
+ "type": {
1054
+ "kind": "struct";
1055
+ "fields": [
1056
+ {
1057
+ "name": "protocolBitflag";
1058
+ "type": "u16";
1059
+ },
1060
+ {
1061
+ "name": "permissionsBitmask";
1062
+ "type": "u64";
1063
+ }
1064
+ ];
1065
+ };
1066
+ },
1067
+ {
1068
+ "name": "protocolPolicy";
1069
+ "docs": [
1070
+ "Stores policy data for an integrated protocol.",
1071
+ "Integration programs serialize/deserialize this data."
1072
+ ];
1073
+ "type": {
1074
+ "kind": "struct";
1075
+ "fields": [
1076
+ {
1077
+ "name": "protocolBitflag";
1078
+ "type": "u16";
1079
+ },
1080
+ {
1081
+ "name": "data";
1082
+ "type": "bytes";
1083
+ }
1084
+ ];
1085
+ };
1086
+ },
1087
+ {
1088
+ "name": "stateAccount";
1089
+ "type": {
1090
+ "kind": "struct";
1091
+ "fields": [
1092
+ {
1093
+ "name": "accountType";
1094
+ "type": {
1095
+ "defined": {
1096
+ "name": "accountType";
1097
+ };
1098
+ };
1099
+ },
1100
+ {
1101
+ "name": "enabled";
1102
+ "type": "bool";
1103
+ },
1104
+ {
1105
+ "name": "vault";
1106
+ "type": "pubkey";
1107
+ },
1108
+ {
1109
+ "name": "owner";
1110
+ "type": "pubkey";
1111
+ },
1112
+ {
1113
+ "name": "portfolioManagerName";
1114
+ "type": {
1115
+ "array": [
1116
+ "u8",
1117
+ 32
1118
+ ];
1119
+ };
1120
+ },
1121
+ {
1122
+ "name": "created";
1123
+ "type": {
1124
+ "defined": {
1125
+ "name": "createdModel";
1126
+ };
1127
+ };
1128
+ },
1129
+ {
1130
+ "name": "baseAssetMint";
1131
+ "type": "pubkey";
1132
+ },
1133
+ {
1134
+ "name": "baseAssetDecimals";
1135
+ "type": "u8";
1136
+ },
1137
+ {
1138
+ "name": "baseAssetTokenProgram";
1139
+ "type": "u8";
1140
+ },
1141
+ {
1142
+ "name": "name";
1143
+ "type": {
1144
+ "array": [
1145
+ "u8",
1146
+ 32
1147
+ ];
1148
+ };
1149
+ },
1150
+ {
1151
+ "name": "timelockDuration";
1152
+ "type": "u32";
1153
+ },
1154
+ {
1155
+ "name": "timelockExpiresAt";
1156
+ "type": "u64";
1157
+ },
1158
+ {
1159
+ "name": "mint";
1160
+ "type": "pubkey";
1161
+ },
1162
+ {
1163
+ "name": "assets";
1164
+ "type": {
1165
+ "vec": "pubkey";
1166
+ };
1167
+ },
1168
+ {
1169
+ "name": "integrationAcls";
1170
+ "type": {
1171
+ "vec": {
1172
+ "defined": {
1173
+ "name": "integrationAcl";
1174
+ };
1175
+ };
1176
+ };
1177
+ },
1178
+ {
1179
+ "name": "delegateAcls";
1180
+ "type": {
1181
+ "vec": {
1182
+ "defined": {
1183
+ "name": "delegateAcl";
1184
+ };
1185
+ };
1186
+ };
1187
+ },
1188
+ {
1189
+ "name": "externalPositions";
1190
+ "type": {
1191
+ "vec": "pubkey";
1192
+ };
1193
+ },
1194
+ {
1195
+ "name": "pricedProtocols";
1196
+ "type": {
1197
+ "vec": {
1198
+ "defined": {
1199
+ "name": "pricedProtocol";
1200
+ };
1201
+ };
1202
+ };
1203
+ },
1204
+ {
1205
+ "name": "params";
1206
+ "type": {
1207
+ "vec": {
1208
+ "vec": {
1209
+ "defined": {
1210
+ "name": "engineField";
1211
+ };
1212
+ };
1213
+ };
1214
+ };
1215
+ }
1216
+ ];
1217
+ };
1218
+ },
1219
+ {
1220
+ "name": "timeUnit";
1221
+ "type": {
1222
+ "kind": "enum";
1223
+ "variants": [
1224
+ {
1225
+ "name": "second";
1226
+ },
1227
+ {
1228
+ "name": "slot";
1229
+ }
1230
+ ];
1231
+ };
1232
+ },
1233
+ {
1234
+ "name": "transferPolicy";
1235
+ "type": {
1236
+ "kind": "struct";
1237
+ "fields": [
1238
+ {
1239
+ "name": "allowlist";
1240
+ "type": {
1241
+ "vec": "pubkey";
1242
+ };
1243
+ }
1244
+ ];
1245
+ };
1246
+ },
1247
+ {
1248
+ "name": "valuationModel";
1249
+ "type": {
1250
+ "kind": "enum";
1251
+ "variants": [
1252
+ {
1253
+ "name": "continuous";
1254
+ },
1255
+ {
1256
+ "name": "periodic";
1257
+ }
1258
+ ];
1259
+ };
1260
+ }
1261
+ ];
1262
+ "constants": [
1263
+ {
1264
+ "name": "protoToken";
1265
+ "type": "u16";
1266
+ "value": "1";
1267
+ },
1268
+ {
1269
+ "name": "protoTokenPermTransfer";
1270
+ "type": "u64";
1271
+ "value": "1";
1272
+ }
1273
+ ];
1274
+ };