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