@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,3547 @@
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_loopscale.json`.
6
+ */
7
+ export type ExtLoopscale = {
8
+ "address": "G1NTLoPS5orMCxgFjzNDE5H6c3AbxiU1DgqCJBaJ1pfM",
9
+ "metadata": {
10
+ "name": "extLoopscale",
11
+ "version": "0.1.0",
12
+ "spec": "0.1.0",
13
+ "description": "Loopscale integration for GLAM Protocol"
14
+ },
15
+ "instructions": [
16
+ {
17
+ "name": "borrowPrincipal",
18
+ "docs": [
19
+ "Borrow principal against a locked loan.",
20
+ "",
21
+ "- Permission: `BorrowPrincipal`.",
22
+ "- Policy",
23
+ "- `principal_mint` must be present in `LoopscalePolicy::borrow_allowlist`.",
24
+ "- `market_information` must be present in `LoopscalePolicy::market_allowlist`."
25
+ ],
26
+ "discriminator": [
27
+ 106,
28
+ 10,
29
+ 38,
30
+ 204,
31
+ 139,
32
+ 188,
33
+ 124,
34
+ 50
35
+ ],
36
+ "accounts": [
37
+ {
38
+ "name": "glamState",
39
+ "writable": true
40
+ },
41
+ {
42
+ "name": "glamVault",
43
+ "writable": true,
44
+ "pda": {
45
+ "seeds": [
46
+ {
47
+ "kind": "const",
48
+ "value": [
49
+ 118,
50
+ 97,
51
+ 117,
52
+ 108,
53
+ 116
54
+ ]
55
+ },
56
+ {
57
+ "kind": "account",
58
+ "path": "glamState"
59
+ }
60
+ ],
61
+ "program": {
62
+ "kind": "account",
63
+ "path": "glamProtocolProgram"
64
+ }
65
+ }
66
+ },
67
+ {
68
+ "name": "glamSigner",
69
+ "writable": true,
70
+ "signer": true
71
+ },
72
+ {
73
+ "name": "integrationAuthority",
74
+ "pda": {
75
+ "seeds": [
76
+ {
77
+ "kind": "const",
78
+ "value": [
79
+ 105,
80
+ 110,
81
+ 116,
82
+ 101,
83
+ 103,
84
+ 114,
85
+ 97,
86
+ 116,
87
+ 105,
88
+ 111,
89
+ 110,
90
+ 45,
91
+ 97,
92
+ 117,
93
+ 116,
94
+ 104,
95
+ 111,
96
+ 114,
97
+ 105,
98
+ 116,
99
+ 121
100
+ ]
101
+ }
102
+ ]
103
+ }
104
+ },
105
+ {
106
+ "name": "cpiProgram",
107
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
108
+ },
109
+ {
110
+ "name": "glamProtocolProgram",
111
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
112
+ },
113
+ {
114
+ "name": "systemProgram",
115
+ "address": "11111111111111111111111111111111"
116
+ },
117
+ {
118
+ "name": "bsAuth",
119
+ "signer": true,
120
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
121
+ },
122
+ {
123
+ "name": "loan",
124
+ "writable": true
125
+ },
126
+ {
127
+ "name": "strategy",
128
+ "writable": true
129
+ },
130
+ {
131
+ "name": "marketInformation",
132
+ "writable": true
133
+ },
134
+ {
135
+ "name": "principalMint"
136
+ },
137
+ {
138
+ "name": "borrowerTa",
139
+ "writable": true
140
+ },
141
+ {
142
+ "name": "strategyTa",
143
+ "writable": true
144
+ },
145
+ {
146
+ "name": "associatedTokenProgram"
147
+ },
148
+ {
149
+ "name": "tokenProgram"
150
+ },
151
+ {
152
+ "name": "eventAuthority"
153
+ }
154
+ ],
155
+ "args": [
156
+ {
157
+ "name": "params",
158
+ "type": {
159
+ "defined": {
160
+ "name": "borrowPrincipalParams"
161
+ }
162
+ }
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "name": "claimVaultRewards",
168
+ "docs": [
169
+ "Claim accrued rewards on staked user-vault LP positions.",
170
+ "",
171
+ "- Permission: `ClaimVaultRewards`."
172
+ ],
173
+ "discriminator": [
174
+ 0,
175
+ 152,
176
+ 75,
177
+ 29,
178
+ 195,
179
+ 223,
180
+ 12,
181
+ 101
182
+ ],
183
+ "accounts": [
184
+ {
185
+ "name": "glamState",
186
+ "writable": true
187
+ },
188
+ {
189
+ "name": "glamVault",
190
+ "writable": true,
191
+ "pda": {
192
+ "seeds": [
193
+ {
194
+ "kind": "const",
195
+ "value": [
196
+ 118,
197
+ 97,
198
+ 117,
199
+ 108,
200
+ 116
201
+ ]
202
+ },
203
+ {
204
+ "kind": "account",
205
+ "path": "glamState"
206
+ }
207
+ ],
208
+ "program": {
209
+ "kind": "account",
210
+ "path": "glamProtocolProgram"
211
+ }
212
+ }
213
+ },
214
+ {
215
+ "name": "glamSigner",
216
+ "writable": true,
217
+ "signer": true
218
+ },
219
+ {
220
+ "name": "integrationAuthority",
221
+ "pda": {
222
+ "seeds": [
223
+ {
224
+ "kind": "const",
225
+ "value": [
226
+ 105,
227
+ 110,
228
+ 116,
229
+ 101,
230
+ 103,
231
+ 114,
232
+ 97,
233
+ 116,
234
+ 105,
235
+ 111,
236
+ 110,
237
+ 45,
238
+ 97,
239
+ 117,
240
+ 116,
241
+ 104,
242
+ 111,
243
+ 114,
244
+ 105,
245
+ 116,
246
+ 121
247
+ ]
248
+ }
249
+ ]
250
+ }
251
+ },
252
+ {
253
+ "name": "cpiProgram",
254
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
255
+ },
256
+ {
257
+ "name": "glamProtocolProgram",
258
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
259
+ },
260
+ {
261
+ "name": "systemProgram",
262
+ "address": "11111111111111111111111111111111"
263
+ },
264
+ {
265
+ "name": "bsAuth",
266
+ "signer": true,
267
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
268
+ },
269
+ {
270
+ "name": "vault"
271
+ },
272
+ {
273
+ "name": "vaultRewardsInfo",
274
+ "writable": true
275
+ },
276
+ {
277
+ "name": "userRewardsInfo",
278
+ "writable": true
279
+ },
280
+ {
281
+ "name": "stakeAccount",
282
+ "writable": true
283
+ },
284
+ {
285
+ "name": "associatedTokenProgram"
286
+ },
287
+ {
288
+ "name": "eventAuthority"
289
+ }
290
+ ],
291
+ "args": [
292
+ {
293
+ "name": "mints",
294
+ "type": {
295
+ "vec": "pubkey"
296
+ }
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "name": "closeLoan",
302
+ "docs": [
303
+ "Close an existing Loopscale loan PDA.",
304
+ "",
305
+ "- Permission: `ManageLoan`."
306
+ ],
307
+ "discriminator": [
308
+ 96,
309
+ 114,
310
+ 111,
311
+ 204,
312
+ 149,
313
+ 228,
314
+ 235,
315
+ 124
316
+ ],
317
+ "accounts": [
318
+ {
319
+ "name": "glamState",
320
+ "writable": true
321
+ },
322
+ {
323
+ "name": "glamVault",
324
+ "writable": true,
325
+ "pda": {
326
+ "seeds": [
327
+ {
328
+ "kind": "const",
329
+ "value": [
330
+ 118,
331
+ 97,
332
+ 117,
333
+ 108,
334
+ 116
335
+ ]
336
+ },
337
+ {
338
+ "kind": "account",
339
+ "path": "glamState"
340
+ }
341
+ ],
342
+ "program": {
343
+ "kind": "account",
344
+ "path": "glamProtocolProgram"
345
+ }
346
+ }
347
+ },
348
+ {
349
+ "name": "glamSigner",
350
+ "writable": true,
351
+ "signer": true
352
+ },
353
+ {
354
+ "name": "integrationAuthority",
355
+ "pda": {
356
+ "seeds": [
357
+ {
358
+ "kind": "const",
359
+ "value": [
360
+ 105,
361
+ 110,
362
+ 116,
363
+ 101,
364
+ 103,
365
+ 114,
366
+ 97,
367
+ 116,
368
+ 105,
369
+ 111,
370
+ 110,
371
+ 45,
372
+ 97,
373
+ 117,
374
+ 116,
375
+ 104,
376
+ 111,
377
+ 114,
378
+ 105,
379
+ 116,
380
+ 121
381
+ ]
382
+ }
383
+ ]
384
+ }
385
+ },
386
+ {
387
+ "name": "cpiProgram",
388
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
389
+ },
390
+ {
391
+ "name": "glamProtocolProgram",
392
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
393
+ },
394
+ {
395
+ "name": "systemProgram",
396
+ "address": "11111111111111111111111111111111"
397
+ },
398
+ {
399
+ "name": "bsAuth",
400
+ "signer": true,
401
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
402
+ },
403
+ {
404
+ "name": "loan",
405
+ "writable": true
406
+ },
407
+ {
408
+ "name": "eventAuthority"
409
+ }
410
+ ],
411
+ "args": []
412
+ },
413
+ {
414
+ "name": "createLoan",
415
+ "docs": [
416
+ "Create a new Loopscale loan PDA owned by the GLAM vault.",
417
+ "",
418
+ "- Permission: `ManageLoan`."
419
+ ],
420
+ "discriminator": [
421
+ 166,
422
+ 131,
423
+ 118,
424
+ 219,
425
+ 138,
426
+ 218,
427
+ 206,
428
+ 140
429
+ ],
430
+ "accounts": [
431
+ {
432
+ "name": "glamState",
433
+ "writable": true
434
+ },
435
+ {
436
+ "name": "glamVault",
437
+ "writable": true,
438
+ "pda": {
439
+ "seeds": [
440
+ {
441
+ "kind": "const",
442
+ "value": [
443
+ 118,
444
+ 97,
445
+ 117,
446
+ 108,
447
+ 116
448
+ ]
449
+ },
450
+ {
451
+ "kind": "account",
452
+ "path": "glamState"
453
+ }
454
+ ],
455
+ "program": {
456
+ "kind": "account",
457
+ "path": "glamProtocolProgram"
458
+ }
459
+ }
460
+ },
461
+ {
462
+ "name": "glamSigner",
463
+ "writable": true,
464
+ "signer": true
465
+ },
466
+ {
467
+ "name": "integrationAuthority",
468
+ "pda": {
469
+ "seeds": [
470
+ {
471
+ "kind": "const",
472
+ "value": [
473
+ 105,
474
+ 110,
475
+ 116,
476
+ 101,
477
+ 103,
478
+ 114,
479
+ 97,
480
+ 116,
481
+ 105,
482
+ 111,
483
+ 110,
484
+ 45,
485
+ 97,
486
+ 117,
487
+ 116,
488
+ 104,
489
+ 111,
490
+ 114,
491
+ 105,
492
+ 116,
493
+ 121
494
+ ]
495
+ }
496
+ ]
497
+ }
498
+ },
499
+ {
500
+ "name": "cpiProgram",
501
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
502
+ },
503
+ {
504
+ "name": "glamProtocolProgram",
505
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
506
+ },
507
+ {
508
+ "name": "systemProgram",
509
+ "address": "11111111111111111111111111111111"
510
+ },
511
+ {
512
+ "name": "bsAuth",
513
+ "signer": true,
514
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
515
+ },
516
+ {
517
+ "name": "loan",
518
+ "writable": true
519
+ },
520
+ {
521
+ "name": "eventAuthority"
522
+ }
523
+ ],
524
+ "args": [
525
+ {
526
+ "name": "params",
527
+ "type": {
528
+ "defined": {
529
+ "name": "createLoanParams"
530
+ }
531
+ }
532
+ }
533
+ ]
534
+ },
535
+ {
536
+ "name": "depositCollateral",
537
+ "docs": [
538
+ "Deposit collateral into a Loopscale loan.",
539
+ "",
540
+ "- Permission: `DepositCollateral`.",
541
+ "- Policy: `deposit_mint` must be present in `LoopscalePolicy::deposit_allowlist`."
542
+ ],
543
+ "discriminator": [
544
+ 156,
545
+ 131,
546
+ 142,
547
+ 116,
548
+ 146,
549
+ 247,
550
+ 162,
551
+ 120
552
+ ],
553
+ "accounts": [
554
+ {
555
+ "name": "glamState",
556
+ "writable": true
557
+ },
558
+ {
559
+ "name": "glamVault",
560
+ "writable": true,
561
+ "pda": {
562
+ "seeds": [
563
+ {
564
+ "kind": "const",
565
+ "value": [
566
+ 118,
567
+ 97,
568
+ 117,
569
+ 108,
570
+ 116
571
+ ]
572
+ },
573
+ {
574
+ "kind": "account",
575
+ "path": "glamState"
576
+ }
577
+ ],
578
+ "program": {
579
+ "kind": "account",
580
+ "path": "glamProtocolProgram"
581
+ }
582
+ }
583
+ },
584
+ {
585
+ "name": "glamSigner",
586
+ "writable": true,
587
+ "signer": true
588
+ },
589
+ {
590
+ "name": "integrationAuthority",
591
+ "pda": {
592
+ "seeds": [
593
+ {
594
+ "kind": "const",
595
+ "value": [
596
+ 105,
597
+ 110,
598
+ 116,
599
+ 101,
600
+ 103,
601
+ 114,
602
+ 97,
603
+ 116,
604
+ 105,
605
+ 111,
606
+ 110,
607
+ 45,
608
+ 97,
609
+ 117,
610
+ 116,
611
+ 104,
612
+ 111,
613
+ 114,
614
+ 105,
615
+ 116,
616
+ 121
617
+ ]
618
+ }
619
+ ]
620
+ }
621
+ },
622
+ {
623
+ "name": "cpiProgram",
624
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
625
+ },
626
+ {
627
+ "name": "glamProtocolProgram",
628
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
629
+ },
630
+ {
631
+ "name": "systemProgram",
632
+ "address": "11111111111111111111111111111111"
633
+ },
634
+ {
635
+ "name": "bsAuth",
636
+ "signer": true,
637
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
638
+ },
639
+ {
640
+ "name": "loan",
641
+ "writable": true
642
+ },
643
+ {
644
+ "name": "borrowerCollateralTa",
645
+ "writable": true
646
+ },
647
+ {
648
+ "name": "loanCollateralTa",
649
+ "writable": true
650
+ },
651
+ {
652
+ "name": "depositMint"
653
+ },
654
+ {
655
+ "name": "assetIdentifier"
656
+ },
657
+ {
658
+ "name": "tokenProgram"
659
+ },
660
+ {
661
+ "name": "associatedTokenProgram"
662
+ },
663
+ {
664
+ "name": "eventAuthority"
665
+ }
666
+ ],
667
+ "args": [
668
+ {
669
+ "name": "params",
670
+ "type": {
671
+ "defined": {
672
+ "name": "depositCollateralParams"
673
+ }
674
+ }
675
+ }
676
+ ]
677
+ },
678
+ {
679
+ "name": "depositUserVault",
680
+ "docs": [
681
+ "Deposit principal into a Loopscale user vault and mint LP tokens to the GLAM vault.",
682
+ "",
683
+ "- Permission: `DepositUserVault`."
684
+ ],
685
+ "discriminator": [
686
+ 204,
687
+ 190,
688
+ 182,
689
+ 224,
690
+ 15,
691
+ 219,
692
+ 247,
693
+ 121
694
+ ],
695
+ "accounts": [
696
+ {
697
+ "name": "glamState",
698
+ "writable": true
699
+ },
700
+ {
701
+ "name": "glamVault",
702
+ "writable": true,
703
+ "pda": {
704
+ "seeds": [
705
+ {
706
+ "kind": "const",
707
+ "value": [
708
+ 118,
709
+ 97,
710
+ 117,
711
+ 108,
712
+ 116
713
+ ]
714
+ },
715
+ {
716
+ "kind": "account",
717
+ "path": "glamState"
718
+ }
719
+ ],
720
+ "program": {
721
+ "kind": "account",
722
+ "path": "glamProtocolProgram"
723
+ }
724
+ }
725
+ },
726
+ {
727
+ "name": "glamSigner",
728
+ "writable": true,
729
+ "signer": true
730
+ },
731
+ {
732
+ "name": "integrationAuthority",
733
+ "pda": {
734
+ "seeds": [
735
+ {
736
+ "kind": "const",
737
+ "value": [
738
+ 105,
739
+ 110,
740
+ 116,
741
+ 101,
742
+ 103,
743
+ 114,
744
+ 97,
745
+ 116,
746
+ 105,
747
+ 111,
748
+ 110,
749
+ 45,
750
+ 97,
751
+ 117,
752
+ 116,
753
+ 104,
754
+ 111,
755
+ 114,
756
+ 105,
757
+ 116,
758
+ 121
759
+ ]
760
+ }
761
+ ]
762
+ }
763
+ },
764
+ {
765
+ "name": "cpiProgram",
766
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
767
+ },
768
+ {
769
+ "name": "glamProtocolProgram",
770
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
771
+ },
772
+ {
773
+ "name": "systemProgram",
774
+ "address": "11111111111111111111111111111111"
775
+ },
776
+ {
777
+ "name": "bsAuth",
778
+ "signer": true,
779
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
780
+ },
781
+ {
782
+ "name": "vault",
783
+ "writable": true
784
+ },
785
+ {
786
+ "name": "strategy",
787
+ "writable": true
788
+ },
789
+ {
790
+ "name": "marketInformation"
791
+ },
792
+ {
793
+ "name": "lpMint",
794
+ "writable": true
795
+ },
796
+ {
797
+ "name": "userLpTa",
798
+ "writable": true
799
+ },
800
+ {
801
+ "name": "userPrincipalTa",
802
+ "writable": true
803
+ },
804
+ {
805
+ "name": "strategyPrincipalTa",
806
+ "writable": true
807
+ },
808
+ {
809
+ "name": "principalMint"
810
+ },
811
+ {
812
+ "name": "principalTokenProgram"
813
+ },
814
+ {
815
+ "name": "token2022Program"
816
+ },
817
+ {
818
+ "name": "associatedTokenProgram"
819
+ },
820
+ {
821
+ "name": "eventAuthority"
822
+ }
823
+ ],
824
+ "args": [
825
+ {
826
+ "name": "params",
827
+ "type": {
828
+ "defined": {
829
+ "name": "lpParams"
830
+ }
831
+ }
832
+ }
833
+ ]
834
+ },
835
+ {
836
+ "name": "lockLoan",
837
+ "docs": [
838
+ "Lock a loan to commit borrowed principal and collateral.",
839
+ "",
840
+ "- Permission: `ManageLoan`."
841
+ ],
842
+ "discriminator": [
843
+ 28,
844
+ 101,
845
+ 52,
846
+ 240,
847
+ 146,
848
+ 230,
849
+ 95,
850
+ 22
851
+ ],
852
+ "accounts": [
853
+ {
854
+ "name": "glamState",
855
+ "writable": true
856
+ },
857
+ {
858
+ "name": "glamVault",
859
+ "writable": true,
860
+ "pda": {
861
+ "seeds": [
862
+ {
863
+ "kind": "const",
864
+ "value": [
865
+ 118,
866
+ 97,
867
+ 117,
868
+ 108,
869
+ 116
870
+ ]
871
+ },
872
+ {
873
+ "kind": "account",
874
+ "path": "glamState"
875
+ }
876
+ ],
877
+ "program": {
878
+ "kind": "account",
879
+ "path": "glamProtocolProgram"
880
+ }
881
+ }
882
+ },
883
+ {
884
+ "name": "glamSigner",
885
+ "writable": true,
886
+ "signer": true
887
+ },
888
+ {
889
+ "name": "integrationAuthority",
890
+ "pda": {
891
+ "seeds": [
892
+ {
893
+ "kind": "const",
894
+ "value": [
895
+ 105,
896
+ 110,
897
+ 116,
898
+ 101,
899
+ 103,
900
+ 114,
901
+ 97,
902
+ 116,
903
+ 105,
904
+ 111,
905
+ 110,
906
+ 45,
907
+ 97,
908
+ 117,
909
+ 116,
910
+ 104,
911
+ 111,
912
+ 114,
913
+ 105,
914
+ 116,
915
+ 121
916
+ ]
917
+ }
918
+ ]
919
+ }
920
+ },
921
+ {
922
+ "name": "cpiProgram",
923
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
924
+ },
925
+ {
926
+ "name": "glamProtocolProgram",
927
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
928
+ },
929
+ {
930
+ "name": "systemProgram",
931
+ "address": "11111111111111111111111111111111"
932
+ },
933
+ {
934
+ "name": "bsAuth",
935
+ "signer": true,
936
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
937
+ },
938
+ {
939
+ "name": "loan",
940
+ "writable": true
941
+ },
942
+ {
943
+ "name": "instructionsSysvar",
944
+ "address": "Sysvar1nstructions1111111111111111111111111"
945
+ }
946
+ ],
947
+ "args": [
948
+ {
949
+ "name": "params",
950
+ "type": {
951
+ "defined": {
952
+ "name": "lockLoanParams"
953
+ }
954
+ }
955
+ }
956
+ ]
957
+ },
958
+ {
959
+ "name": "refinanceLedger",
960
+ "docs": [
961
+ "Refinance a loan ledger from one strategy to another.",
962
+ "",
963
+ "- Permission: `RefinanceLedger`.",
964
+ "- Policy",
965
+ "- `principal_mint` must be present in `LoopscalePolicy::borrow_allowlist`.",
966
+ "- `new_strategy_market_information` must be present in `LoopscalePolicy::market_allowlist`."
967
+ ],
968
+ "discriminator": [
969
+ 103,
970
+ 41,
971
+ 134,
972
+ 43,
973
+ 140,
974
+ 152,
975
+ 253,
976
+ 74
977
+ ],
978
+ "accounts": [
979
+ {
980
+ "name": "glamState",
981
+ "writable": true
982
+ },
983
+ {
984
+ "name": "glamVault",
985
+ "writable": true,
986
+ "pda": {
987
+ "seeds": [
988
+ {
989
+ "kind": "const",
990
+ "value": [
991
+ 118,
992
+ 97,
993
+ 117,
994
+ 108,
995
+ 116
996
+ ]
997
+ },
998
+ {
999
+ "kind": "account",
1000
+ "path": "glamState"
1001
+ }
1002
+ ],
1003
+ "program": {
1004
+ "kind": "account",
1005
+ "path": "glamProtocolProgram"
1006
+ }
1007
+ }
1008
+ },
1009
+ {
1010
+ "name": "glamSigner",
1011
+ "writable": true,
1012
+ "signer": true
1013
+ },
1014
+ {
1015
+ "name": "integrationAuthority",
1016
+ "pda": {
1017
+ "seeds": [
1018
+ {
1019
+ "kind": "const",
1020
+ "value": [
1021
+ 105,
1022
+ 110,
1023
+ 116,
1024
+ 101,
1025
+ 103,
1026
+ 114,
1027
+ 97,
1028
+ 116,
1029
+ 105,
1030
+ 111,
1031
+ 110,
1032
+ 45,
1033
+ 97,
1034
+ 117,
1035
+ 116,
1036
+ 104,
1037
+ 111,
1038
+ 114,
1039
+ 105,
1040
+ 116,
1041
+ 121
1042
+ ]
1043
+ }
1044
+ ]
1045
+ }
1046
+ },
1047
+ {
1048
+ "name": "cpiProgram",
1049
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1050
+ },
1051
+ {
1052
+ "name": "glamProtocolProgram",
1053
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1054
+ },
1055
+ {
1056
+ "name": "systemProgram",
1057
+ "address": "11111111111111111111111111111111"
1058
+ },
1059
+ {
1060
+ "name": "bsAuth",
1061
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1062
+ },
1063
+ {
1064
+ "name": "loan",
1065
+ "writable": true
1066
+ },
1067
+ {
1068
+ "name": "oldStrategy",
1069
+ "writable": true
1070
+ },
1071
+ {
1072
+ "name": "newStrategy",
1073
+ "writable": true
1074
+ },
1075
+ {
1076
+ "name": "oldStrategyTa",
1077
+ "writable": true
1078
+ },
1079
+ {
1080
+ "name": "newStrategyTa",
1081
+ "writable": true
1082
+ },
1083
+ {
1084
+ "name": "oldStrategyMarketInformation",
1085
+ "writable": true
1086
+ },
1087
+ {
1088
+ "name": "newStrategyMarketInformation",
1089
+ "writable": true
1090
+ },
1091
+ {
1092
+ "name": "principalMint"
1093
+ },
1094
+ {
1095
+ "name": "tokenProgram"
1096
+ },
1097
+ {
1098
+ "name": "associatedTokenProgram"
1099
+ },
1100
+ {
1101
+ "name": "eventAuthority"
1102
+ },
1103
+ {
1104
+ "name": "program"
1105
+ }
1106
+ ],
1107
+ "args": [
1108
+ {
1109
+ "name": "params",
1110
+ "type": {
1111
+ "defined": {
1112
+ "name": "refinanceLedgerParams"
1113
+ }
1114
+ }
1115
+ }
1116
+ ]
1117
+ },
1118
+ {
1119
+ "name": "repayPrincipal",
1120
+ "docs": [
1121
+ "Repay principal on a Loopscale loan.",
1122
+ "",
1123
+ "- Permission: `RepayPrincipal`."
1124
+ ],
1125
+ "discriminator": [
1126
+ 229,
1127
+ 67,
1128
+ 83,
1129
+ 65,
1130
+ 77,
1131
+ 84,
1132
+ 80,
1133
+ 141
1134
+ ],
1135
+ "accounts": [
1136
+ {
1137
+ "name": "glamState",
1138
+ "writable": true
1139
+ },
1140
+ {
1141
+ "name": "glamVault",
1142
+ "writable": true,
1143
+ "pda": {
1144
+ "seeds": [
1145
+ {
1146
+ "kind": "const",
1147
+ "value": [
1148
+ 118,
1149
+ 97,
1150
+ 117,
1151
+ 108,
1152
+ 116
1153
+ ]
1154
+ },
1155
+ {
1156
+ "kind": "account",
1157
+ "path": "glamState"
1158
+ }
1159
+ ],
1160
+ "program": {
1161
+ "kind": "account",
1162
+ "path": "glamProtocolProgram"
1163
+ }
1164
+ }
1165
+ },
1166
+ {
1167
+ "name": "glamSigner",
1168
+ "writable": true,
1169
+ "signer": true
1170
+ },
1171
+ {
1172
+ "name": "integrationAuthority",
1173
+ "pda": {
1174
+ "seeds": [
1175
+ {
1176
+ "kind": "const",
1177
+ "value": [
1178
+ 105,
1179
+ 110,
1180
+ 116,
1181
+ 101,
1182
+ 103,
1183
+ 114,
1184
+ 97,
1185
+ 116,
1186
+ 105,
1187
+ 111,
1188
+ 110,
1189
+ 45,
1190
+ 97,
1191
+ 117,
1192
+ 116,
1193
+ 104,
1194
+ 111,
1195
+ 114,
1196
+ 105,
1197
+ 116,
1198
+ 121
1199
+ ]
1200
+ }
1201
+ ]
1202
+ }
1203
+ },
1204
+ {
1205
+ "name": "cpiProgram",
1206
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1207
+ },
1208
+ {
1209
+ "name": "glamProtocolProgram",
1210
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1211
+ },
1212
+ {
1213
+ "name": "systemProgram",
1214
+ "address": "11111111111111111111111111111111"
1215
+ },
1216
+ {
1217
+ "name": "bsAuth",
1218
+ "signer": true,
1219
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1220
+ },
1221
+ {
1222
+ "name": "loan",
1223
+ "writable": true
1224
+ },
1225
+ {
1226
+ "name": "strategy",
1227
+ "writable": true
1228
+ },
1229
+ {
1230
+ "name": "marketInformation",
1231
+ "writable": true
1232
+ },
1233
+ {
1234
+ "name": "principalMint"
1235
+ },
1236
+ {
1237
+ "name": "borrowerTa",
1238
+ "writable": true
1239
+ },
1240
+ {
1241
+ "name": "strategyTa",
1242
+ "writable": true
1243
+ },
1244
+ {
1245
+ "name": "associatedTokenProgram"
1246
+ },
1247
+ {
1248
+ "name": "tokenProgram"
1249
+ },
1250
+ {
1251
+ "name": "eventAuthority"
1252
+ }
1253
+ ],
1254
+ "args": [
1255
+ {
1256
+ "name": "params",
1257
+ "type": {
1258
+ "defined": {
1259
+ "name": "repayPrincipalParams"
1260
+ }
1261
+ }
1262
+ }
1263
+ ]
1264
+ },
1265
+ {
1266
+ "name": "setLoopscalePolicy",
1267
+ "docs": [
1268
+ "Set the `LoopscalePolicy` (deposit, borrow, and market allowlists) on the GLAM state."
1269
+ ],
1270
+ "discriminator": [
1271
+ 216,
1272
+ 84,
1273
+ 180,
1274
+ 148,
1275
+ 164,
1276
+ 253,
1277
+ 148,
1278
+ 173
1279
+ ],
1280
+ "accounts": [
1281
+ {
1282
+ "name": "glamState",
1283
+ "writable": true
1284
+ },
1285
+ {
1286
+ "name": "glamSigner",
1287
+ "writable": true,
1288
+ "signer": true
1289
+ },
1290
+ {
1291
+ "name": "glamProtocolProgram",
1292
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1293
+ }
1294
+ ],
1295
+ "args": [
1296
+ {
1297
+ "name": "policy",
1298
+ "type": {
1299
+ "defined": {
1300
+ "name": "loopscalePolicy"
1301
+ }
1302
+ }
1303
+ }
1304
+ ]
1305
+ },
1306
+ {
1307
+ "name": "stakeUserVaultLp",
1308
+ "docs": [
1309
+ "Stake user-vault LP tokens to earn rewards.",
1310
+ "",
1311
+ "- Permission: `StakeUserVaultLp`."
1312
+ ],
1313
+ "discriminator": [
1314
+ 114,
1315
+ 132,
1316
+ 194,
1317
+ 209,
1318
+ 208,
1319
+ 149,
1320
+ 43,
1321
+ 136
1322
+ ],
1323
+ "accounts": [
1324
+ {
1325
+ "name": "glamState",
1326
+ "writable": true
1327
+ },
1328
+ {
1329
+ "name": "glamVault",
1330
+ "writable": true,
1331
+ "pda": {
1332
+ "seeds": [
1333
+ {
1334
+ "kind": "const",
1335
+ "value": [
1336
+ 118,
1337
+ 97,
1338
+ 117,
1339
+ 108,
1340
+ 116
1341
+ ]
1342
+ },
1343
+ {
1344
+ "kind": "account",
1345
+ "path": "glamState"
1346
+ }
1347
+ ],
1348
+ "program": {
1349
+ "kind": "account",
1350
+ "path": "glamProtocolProgram"
1351
+ }
1352
+ }
1353
+ },
1354
+ {
1355
+ "name": "glamSigner",
1356
+ "writable": true,
1357
+ "signer": true
1358
+ },
1359
+ {
1360
+ "name": "integrationAuthority",
1361
+ "pda": {
1362
+ "seeds": [
1363
+ {
1364
+ "kind": "const",
1365
+ "value": [
1366
+ 105,
1367
+ 110,
1368
+ 116,
1369
+ 101,
1370
+ 103,
1371
+ 114,
1372
+ 97,
1373
+ 116,
1374
+ 105,
1375
+ 111,
1376
+ 110,
1377
+ 45,
1378
+ 97,
1379
+ 117,
1380
+ 116,
1381
+ 104,
1382
+ 111,
1383
+ 114,
1384
+ 105,
1385
+ 116,
1386
+ 121
1387
+ ]
1388
+ }
1389
+ ]
1390
+ }
1391
+ },
1392
+ {
1393
+ "name": "cpiProgram",
1394
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1395
+ },
1396
+ {
1397
+ "name": "glamProtocolProgram",
1398
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1399
+ },
1400
+ {
1401
+ "name": "systemProgram",
1402
+ "address": "11111111111111111111111111111111"
1403
+ },
1404
+ {
1405
+ "name": "bsAuth",
1406
+ "signer": true,
1407
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1408
+ },
1409
+ {
1410
+ "name": "nonce",
1411
+ "signer": true
1412
+ },
1413
+ {
1414
+ "name": "vault",
1415
+ "writable": true
1416
+ },
1417
+ {
1418
+ "name": "vaultStake",
1419
+ "writable": true
1420
+ },
1421
+ {
1422
+ "name": "lpMint"
1423
+ },
1424
+ {
1425
+ "name": "userLpTa",
1426
+ "writable": true
1427
+ },
1428
+ {
1429
+ "name": "vaultStakeLpTa",
1430
+ "writable": true
1431
+ },
1432
+ {
1433
+ "name": "vaultRewardsInfo",
1434
+ "writable": true
1435
+ },
1436
+ {
1437
+ "name": "userRewardsInfo",
1438
+ "writable": true
1439
+ },
1440
+ {
1441
+ "name": "tokenProgram"
1442
+ },
1443
+ {
1444
+ "name": "associatedTokenProgram"
1445
+ },
1446
+ {
1447
+ "name": "eventAuthority"
1448
+ }
1449
+ ],
1450
+ "args": [
1451
+ {
1452
+ "name": "params",
1453
+ "type": {
1454
+ "defined": {
1455
+ "name": "vaultStakeParams"
1456
+ }
1457
+ }
1458
+ }
1459
+ ]
1460
+ },
1461
+ {
1462
+ "name": "unlockLoan",
1463
+ "docs": [
1464
+ "Unlock a previously locked loan.",
1465
+ "",
1466
+ "- Permission: `ManageLoan`."
1467
+ ],
1468
+ "discriminator": [
1469
+ 121,
1470
+ 226,
1471
+ 178,
1472
+ 98,
1473
+ 215,
1474
+ 209,
1475
+ 240,
1476
+ 38
1477
+ ],
1478
+ "accounts": [
1479
+ {
1480
+ "name": "glamState",
1481
+ "writable": true
1482
+ },
1483
+ {
1484
+ "name": "glamVault",
1485
+ "writable": true,
1486
+ "pda": {
1487
+ "seeds": [
1488
+ {
1489
+ "kind": "const",
1490
+ "value": [
1491
+ 118,
1492
+ 97,
1493
+ 117,
1494
+ 108,
1495
+ 116
1496
+ ]
1497
+ },
1498
+ {
1499
+ "kind": "account",
1500
+ "path": "glamState"
1501
+ }
1502
+ ],
1503
+ "program": {
1504
+ "kind": "account",
1505
+ "path": "glamProtocolProgram"
1506
+ }
1507
+ }
1508
+ },
1509
+ {
1510
+ "name": "glamSigner",
1511
+ "writable": true,
1512
+ "signer": true
1513
+ },
1514
+ {
1515
+ "name": "integrationAuthority",
1516
+ "pda": {
1517
+ "seeds": [
1518
+ {
1519
+ "kind": "const",
1520
+ "value": [
1521
+ 105,
1522
+ 110,
1523
+ 116,
1524
+ 101,
1525
+ 103,
1526
+ 114,
1527
+ 97,
1528
+ 116,
1529
+ 105,
1530
+ 111,
1531
+ 110,
1532
+ 45,
1533
+ 97,
1534
+ 117,
1535
+ 116,
1536
+ 104,
1537
+ 111,
1538
+ 114,
1539
+ 105,
1540
+ 116,
1541
+ 121
1542
+ ]
1543
+ }
1544
+ ]
1545
+ }
1546
+ },
1547
+ {
1548
+ "name": "cpiProgram",
1549
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1550
+ },
1551
+ {
1552
+ "name": "glamProtocolProgram",
1553
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1554
+ },
1555
+ {
1556
+ "name": "systemProgram",
1557
+ "address": "11111111111111111111111111111111"
1558
+ },
1559
+ {
1560
+ "name": "bsAuth",
1561
+ "signer": true,
1562
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1563
+ },
1564
+ {
1565
+ "name": "loan",
1566
+ "writable": true
1567
+ }
1568
+ ],
1569
+ "args": [
1570
+ {
1571
+ "name": "params",
1572
+ "type": {
1573
+ "defined": {
1574
+ "name": "loanUnlockParams"
1575
+ }
1576
+ }
1577
+ }
1578
+ ]
1579
+ },
1580
+ {
1581
+ "name": "unstakeUserVaultLp",
1582
+ "docs": [
1583
+ "Unstake user-vault LP tokens.",
1584
+ "",
1585
+ "- Permission: `UnstakeUserVaultLp`."
1586
+ ],
1587
+ "discriminator": [
1588
+ 83,
1589
+ 78,
1590
+ 230,
1591
+ 123,
1592
+ 226,
1593
+ 40,
1594
+ 158,
1595
+ 97
1596
+ ],
1597
+ "accounts": [
1598
+ {
1599
+ "name": "glamState",
1600
+ "writable": true
1601
+ },
1602
+ {
1603
+ "name": "glamVault",
1604
+ "writable": true,
1605
+ "pda": {
1606
+ "seeds": [
1607
+ {
1608
+ "kind": "const",
1609
+ "value": [
1610
+ 118,
1611
+ 97,
1612
+ 117,
1613
+ 108,
1614
+ 116
1615
+ ]
1616
+ },
1617
+ {
1618
+ "kind": "account",
1619
+ "path": "glamState"
1620
+ }
1621
+ ],
1622
+ "program": {
1623
+ "kind": "account",
1624
+ "path": "glamProtocolProgram"
1625
+ }
1626
+ }
1627
+ },
1628
+ {
1629
+ "name": "glamSigner",
1630
+ "writable": true,
1631
+ "signer": true
1632
+ },
1633
+ {
1634
+ "name": "integrationAuthority",
1635
+ "pda": {
1636
+ "seeds": [
1637
+ {
1638
+ "kind": "const",
1639
+ "value": [
1640
+ 105,
1641
+ 110,
1642
+ 116,
1643
+ 101,
1644
+ 103,
1645
+ 114,
1646
+ 97,
1647
+ 116,
1648
+ 105,
1649
+ 111,
1650
+ 110,
1651
+ 45,
1652
+ 97,
1653
+ 117,
1654
+ 116,
1655
+ 104,
1656
+ 111,
1657
+ 114,
1658
+ 105,
1659
+ 116,
1660
+ 121
1661
+ ]
1662
+ }
1663
+ ]
1664
+ }
1665
+ },
1666
+ {
1667
+ "name": "cpiProgram",
1668
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1669
+ },
1670
+ {
1671
+ "name": "glamProtocolProgram",
1672
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1673
+ },
1674
+ {
1675
+ "name": "systemProgram",
1676
+ "address": "11111111111111111111111111111111"
1677
+ },
1678
+ {
1679
+ "name": "bsAuth",
1680
+ "signer": true,
1681
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1682
+ },
1683
+ {
1684
+ "name": "vault",
1685
+ "writable": true
1686
+ },
1687
+ {
1688
+ "name": "lpMint",
1689
+ "writable": true
1690
+ },
1691
+ {
1692
+ "name": "vaultStake",
1693
+ "writable": true
1694
+ },
1695
+ {
1696
+ "name": "userLpTa",
1697
+ "writable": true
1698
+ },
1699
+ {
1700
+ "name": "vaultStakeLpTa",
1701
+ "writable": true
1702
+ },
1703
+ {
1704
+ "name": "vaultRewardsInfo",
1705
+ "writable": true
1706
+ },
1707
+ {
1708
+ "name": "userRewardsInfo",
1709
+ "writable": true
1710
+ },
1711
+ {
1712
+ "name": "tokenProgram"
1713
+ },
1714
+ {
1715
+ "name": "associatedTokenProgram"
1716
+ },
1717
+ {
1718
+ "name": "eventAuthority"
1719
+ }
1720
+ ],
1721
+ "args": [
1722
+ {
1723
+ "name": "params",
1724
+ "type": {
1725
+ "defined": {
1726
+ "name": "vaultUnstakeParams"
1727
+ }
1728
+ }
1729
+ }
1730
+ ]
1731
+ },
1732
+ {
1733
+ "name": "updateWeightMatrix",
1734
+ "docs": [
1735
+ "Update the collateral weight matrix on a loan.",
1736
+ "",
1737
+ "- Permission: `ManageLoan`."
1738
+ ],
1739
+ "discriminator": [
1740
+ 252,
1741
+ 166,
1742
+ 37,
1743
+ 207,
1744
+ 154,
1745
+ 83,
1746
+ 187,
1747
+ 128
1748
+ ],
1749
+ "accounts": [
1750
+ {
1751
+ "name": "glamState",
1752
+ "writable": true
1753
+ },
1754
+ {
1755
+ "name": "glamVault",
1756
+ "writable": true,
1757
+ "pda": {
1758
+ "seeds": [
1759
+ {
1760
+ "kind": "const",
1761
+ "value": [
1762
+ 118,
1763
+ 97,
1764
+ 117,
1765
+ 108,
1766
+ 116
1767
+ ]
1768
+ },
1769
+ {
1770
+ "kind": "account",
1771
+ "path": "glamState"
1772
+ }
1773
+ ],
1774
+ "program": {
1775
+ "kind": "account",
1776
+ "path": "glamProtocolProgram"
1777
+ }
1778
+ }
1779
+ },
1780
+ {
1781
+ "name": "glamSigner",
1782
+ "writable": true,
1783
+ "signer": true
1784
+ },
1785
+ {
1786
+ "name": "integrationAuthority",
1787
+ "pda": {
1788
+ "seeds": [
1789
+ {
1790
+ "kind": "const",
1791
+ "value": [
1792
+ 105,
1793
+ 110,
1794
+ 116,
1795
+ 101,
1796
+ 103,
1797
+ 114,
1798
+ 97,
1799
+ 116,
1800
+ 105,
1801
+ 111,
1802
+ 110,
1803
+ 45,
1804
+ 97,
1805
+ 117,
1806
+ 116,
1807
+ 104,
1808
+ 111,
1809
+ 114,
1810
+ 105,
1811
+ 116,
1812
+ 121
1813
+ ]
1814
+ }
1815
+ ]
1816
+ }
1817
+ },
1818
+ {
1819
+ "name": "cpiProgram",
1820
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1821
+ },
1822
+ {
1823
+ "name": "glamProtocolProgram",
1824
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1825
+ },
1826
+ {
1827
+ "name": "systemProgram",
1828
+ "address": "11111111111111111111111111111111"
1829
+ },
1830
+ {
1831
+ "name": "bsAuth",
1832
+ "signer": true,
1833
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1834
+ },
1835
+ {
1836
+ "name": "loan",
1837
+ "writable": true
1838
+ }
1839
+ ],
1840
+ "args": [
1841
+ {
1842
+ "name": "params",
1843
+ "type": {
1844
+ "defined": {
1845
+ "name": "updateWeightMatrixParams"
1846
+ }
1847
+ }
1848
+ }
1849
+ ]
1850
+ },
1851
+ {
1852
+ "name": "withdrawCollateral",
1853
+ "docs": [
1854
+ "Withdraw collateral from a Loopscale loan.",
1855
+ "",
1856
+ "- Permission: `WithdrawCollateral`."
1857
+ ],
1858
+ "discriminator": [
1859
+ 115,
1860
+ 135,
1861
+ 168,
1862
+ 106,
1863
+ 139,
1864
+ 214,
1865
+ 138,
1866
+ 150
1867
+ ],
1868
+ "accounts": [
1869
+ {
1870
+ "name": "glamState",
1871
+ "writable": true
1872
+ },
1873
+ {
1874
+ "name": "glamVault",
1875
+ "writable": true,
1876
+ "pda": {
1877
+ "seeds": [
1878
+ {
1879
+ "kind": "const",
1880
+ "value": [
1881
+ 118,
1882
+ 97,
1883
+ 117,
1884
+ 108,
1885
+ 116
1886
+ ]
1887
+ },
1888
+ {
1889
+ "kind": "account",
1890
+ "path": "glamState"
1891
+ }
1892
+ ],
1893
+ "program": {
1894
+ "kind": "account",
1895
+ "path": "glamProtocolProgram"
1896
+ }
1897
+ }
1898
+ },
1899
+ {
1900
+ "name": "glamSigner",
1901
+ "writable": true,
1902
+ "signer": true
1903
+ },
1904
+ {
1905
+ "name": "integrationAuthority",
1906
+ "pda": {
1907
+ "seeds": [
1908
+ {
1909
+ "kind": "const",
1910
+ "value": [
1911
+ 105,
1912
+ 110,
1913
+ 116,
1914
+ 101,
1915
+ 103,
1916
+ 114,
1917
+ 97,
1918
+ 116,
1919
+ 105,
1920
+ 111,
1921
+ 110,
1922
+ 45,
1923
+ 97,
1924
+ 117,
1925
+ 116,
1926
+ 104,
1927
+ 111,
1928
+ 114,
1929
+ 105,
1930
+ 116,
1931
+ 121
1932
+ ]
1933
+ }
1934
+ ]
1935
+ }
1936
+ },
1937
+ {
1938
+ "name": "cpiProgram",
1939
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1940
+ },
1941
+ {
1942
+ "name": "glamProtocolProgram",
1943
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1944
+ },
1945
+ {
1946
+ "name": "systemProgram",
1947
+ "address": "11111111111111111111111111111111"
1948
+ },
1949
+ {
1950
+ "name": "bsAuth",
1951
+ "signer": true,
1952
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
1953
+ },
1954
+ {
1955
+ "name": "loan",
1956
+ "writable": true
1957
+ },
1958
+ {
1959
+ "name": "borrowerTa",
1960
+ "writable": true
1961
+ },
1962
+ {
1963
+ "name": "loanTa",
1964
+ "writable": true
1965
+ },
1966
+ {
1967
+ "name": "assetMint"
1968
+ },
1969
+ {
1970
+ "name": "tokenProgram"
1971
+ },
1972
+ {
1973
+ "name": "associatedTokenProgram"
1974
+ },
1975
+ {
1976
+ "name": "eventAuthority"
1977
+ }
1978
+ ],
1979
+ "args": [
1980
+ {
1981
+ "name": "params",
1982
+ "type": {
1983
+ "defined": {
1984
+ "name": "withdrawCollateralParams"
1985
+ }
1986
+ }
1987
+ }
1988
+ ]
1989
+ },
1990
+ {
1991
+ "name": "withdrawUserVault",
1992
+ "docs": [
1993
+ "Withdraw principal from a Loopscale user vault by redeeming LP tokens.",
1994
+ "",
1995
+ "- Permission: `WithdrawUserVault`."
1996
+ ],
1997
+ "discriminator": [
1998
+ 9,
1999
+ 80,
2000
+ 134,
2001
+ 138,
2002
+ 212,
2003
+ 20,
2004
+ 61,
2005
+ 42
2006
+ ],
2007
+ "accounts": [
2008
+ {
2009
+ "name": "glamState",
2010
+ "writable": true
2011
+ },
2012
+ {
2013
+ "name": "glamVault",
2014
+ "writable": true,
2015
+ "pda": {
2016
+ "seeds": [
2017
+ {
2018
+ "kind": "const",
2019
+ "value": [
2020
+ 118,
2021
+ 97,
2022
+ 117,
2023
+ 108,
2024
+ 116
2025
+ ]
2026
+ },
2027
+ {
2028
+ "kind": "account",
2029
+ "path": "glamState"
2030
+ }
2031
+ ],
2032
+ "program": {
2033
+ "kind": "account",
2034
+ "path": "glamProtocolProgram"
2035
+ }
2036
+ }
2037
+ },
2038
+ {
2039
+ "name": "glamSigner",
2040
+ "writable": true,
2041
+ "signer": true
2042
+ },
2043
+ {
2044
+ "name": "integrationAuthority",
2045
+ "pda": {
2046
+ "seeds": [
2047
+ {
2048
+ "kind": "const",
2049
+ "value": [
2050
+ 105,
2051
+ 110,
2052
+ 116,
2053
+ 101,
2054
+ 103,
2055
+ 114,
2056
+ 97,
2057
+ 116,
2058
+ 105,
2059
+ 111,
2060
+ 110,
2061
+ 45,
2062
+ 97,
2063
+ 117,
2064
+ 116,
2065
+ 104,
2066
+ 111,
2067
+ 114,
2068
+ 105,
2069
+ 116,
2070
+ 121
2071
+ ]
2072
+ }
2073
+ ]
2074
+ }
2075
+ },
2076
+ {
2077
+ "name": "cpiProgram",
2078
+ "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2079
+ },
2080
+ {
2081
+ "name": "glamProtocolProgram",
2082
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
2083
+ },
2084
+ {
2085
+ "name": "systemProgram",
2086
+ "address": "11111111111111111111111111111111"
2087
+ },
2088
+ {
2089
+ "name": "bsAuth",
2090
+ "signer": true,
2091
+ "address": "CyNKPfqsSLAejjZtEeNG3pR4SkPhSPHXdGhuNTyudrNs"
2092
+ },
2093
+ {
2094
+ "name": "vault",
2095
+ "writable": true
2096
+ },
2097
+ {
2098
+ "name": "strategy",
2099
+ "writable": true
2100
+ },
2101
+ {
2102
+ "name": "marketInformation"
2103
+ },
2104
+ {
2105
+ "name": "lpMint",
2106
+ "writable": true
2107
+ },
2108
+ {
2109
+ "name": "userLpTa",
2110
+ "writable": true
2111
+ },
2112
+ {
2113
+ "name": "userPrincipalTa",
2114
+ "writable": true
2115
+ },
2116
+ {
2117
+ "name": "strategyPrincipalTa",
2118
+ "writable": true
2119
+ },
2120
+ {
2121
+ "name": "principalMint"
2122
+ },
2123
+ {
2124
+ "name": "principalTokenProgram"
2125
+ },
2126
+ {
2127
+ "name": "token2022Program"
2128
+ },
2129
+ {
2130
+ "name": "associatedTokenProgram"
2131
+ },
2132
+ {
2133
+ "name": "eventAuthority"
2134
+ }
2135
+ ],
2136
+ "args": [
2137
+ {
2138
+ "name": "params",
2139
+ "type": {
2140
+ "defined": {
2141
+ "name": "lpParams"
2142
+ }
2143
+ }
2144
+ }
2145
+ ]
2146
+ }
2147
+ ],
2148
+ "accounts": [
2149
+ {
2150
+ "name": "stateAccount",
2151
+ "discriminator": [
2152
+ 142,
2153
+ 247,
2154
+ 54,
2155
+ 95,
2156
+ 85,
2157
+ 133,
2158
+ 249,
2159
+ 103
2160
+ ]
2161
+ }
2162
+ ],
2163
+ "types": [
2164
+ {
2165
+ "name": "accountType",
2166
+ "type": {
2167
+ "kind": "enum",
2168
+ "variants": [
2169
+ {
2170
+ "name": "vault"
2171
+ },
2172
+ {
2173
+ "name": "tokenizedVault"
2174
+ },
2175
+ {
2176
+ "name": "mint"
2177
+ },
2178
+ {
2179
+ "name": "singleAssetVault"
2180
+ }
2181
+ ]
2182
+ }
2183
+ },
2184
+ {
2185
+ "name": "accruedFees",
2186
+ "type": {
2187
+ "kind": "struct",
2188
+ "fields": [
2189
+ {
2190
+ "name": "vaultSubscriptionFee",
2191
+ "type": "u128"
2192
+ },
2193
+ {
2194
+ "name": "vaultRedemptionFee",
2195
+ "type": "u128"
2196
+ },
2197
+ {
2198
+ "name": "managerSubscriptionFee",
2199
+ "type": "u128"
2200
+ },
2201
+ {
2202
+ "name": "managerRedemptionFee",
2203
+ "type": "u128"
2204
+ },
2205
+ {
2206
+ "name": "managementFee",
2207
+ "type": "u128"
2208
+ },
2209
+ {
2210
+ "name": "performanceFee",
2211
+ "type": "u128"
2212
+ },
2213
+ {
2214
+ "name": "protocolBaseFee",
2215
+ "type": "u128"
2216
+ },
2217
+ {
2218
+ "name": "protocolFlowFee",
2219
+ "type": "u128"
2220
+ }
2221
+ ]
2222
+ }
2223
+ },
2224
+ {
2225
+ "name": "borrowPrincipalParams",
2226
+ "type": {
2227
+ "kind": "struct",
2228
+ "fields": [
2229
+ {
2230
+ "name": "amount",
2231
+ "type": "u64"
2232
+ },
2233
+ {
2234
+ "name": "assetIndexGuidance",
2235
+ "type": "bytes"
2236
+ },
2237
+ {
2238
+ "name": "duration",
2239
+ "type": "u8"
2240
+ },
2241
+ {
2242
+ "name": "expectedLoanValues",
2243
+ "type": {
2244
+ "defined": {
2245
+ "name": "expectedLoanValues"
2246
+ }
2247
+ }
2248
+ },
2249
+ {
2250
+ "name": "skipSolUnwrap",
2251
+ "type": "bool"
2252
+ }
2253
+ ]
2254
+ }
2255
+ },
2256
+ {
2257
+ "name": "createLoanParams",
2258
+ "type": {
2259
+ "kind": "struct",
2260
+ "fields": [
2261
+ {
2262
+ "name": "nonce",
2263
+ "type": "u64"
2264
+ }
2265
+ ]
2266
+ }
2267
+ },
2268
+ {
2269
+ "name": "createdModel",
2270
+ "type": {
2271
+ "kind": "struct",
2272
+ "fields": [
2273
+ {
2274
+ "name": "key",
2275
+ "type": {
2276
+ "array": [
2277
+ "u8",
2278
+ 8
2279
+ ]
2280
+ }
2281
+ },
2282
+ {
2283
+ "name": "createdBy",
2284
+ "type": "pubkey"
2285
+ },
2286
+ {
2287
+ "name": "createdAt",
2288
+ "type": "i64"
2289
+ }
2290
+ ]
2291
+ }
2292
+ },
2293
+ {
2294
+ "name": "delegateAcl",
2295
+ "type": {
2296
+ "kind": "struct",
2297
+ "fields": [
2298
+ {
2299
+ "name": "pubkey",
2300
+ "type": "pubkey"
2301
+ },
2302
+ {
2303
+ "name": "integrationPermissions",
2304
+ "type": {
2305
+ "vec": {
2306
+ "defined": {
2307
+ "name": "integrationPermissions"
2308
+ }
2309
+ }
2310
+ }
2311
+ },
2312
+ {
2313
+ "name": "expiresAt",
2314
+ "type": "i64"
2315
+ }
2316
+ ]
2317
+ }
2318
+ },
2319
+ {
2320
+ "name": "depositCollateralParams",
2321
+ "type": {
2322
+ "kind": "struct",
2323
+ "fields": [
2324
+ {
2325
+ "name": "amount",
2326
+ "type": "u64"
2327
+ },
2328
+ {
2329
+ "name": "assetType",
2330
+ "type": "u8"
2331
+ },
2332
+ {
2333
+ "name": "assetIdentifier",
2334
+ "type": "pubkey"
2335
+ },
2336
+ {
2337
+ "name": "assetIndexGuidance",
2338
+ "type": "bytes"
2339
+ }
2340
+ ]
2341
+ }
2342
+ },
2343
+ {
2344
+ "name": "engineField",
2345
+ "type": {
2346
+ "kind": "struct",
2347
+ "fields": [
2348
+ {
2349
+ "name": "name",
2350
+ "type": {
2351
+ "defined": {
2352
+ "name": "engineFieldName"
2353
+ }
2354
+ }
2355
+ },
2356
+ {
2357
+ "name": "value",
2358
+ "type": {
2359
+ "defined": {
2360
+ "name": "engineFieldValue"
2361
+ }
2362
+ }
2363
+ }
2364
+ ]
2365
+ }
2366
+ },
2367
+ {
2368
+ "name": "engineFieldName",
2369
+ "type": {
2370
+ "kind": "enum",
2371
+ "variants": [
2372
+ {
2373
+ "name": "owner"
2374
+ },
2375
+ {
2376
+ "name": "portfolioManagerName"
2377
+ },
2378
+ {
2379
+ "name": "name"
2380
+ },
2381
+ {
2382
+ "name": "uri"
2383
+ },
2384
+ {
2385
+ "name": "assets"
2386
+ },
2387
+ {
2388
+ "name": "delegateAcls"
2389
+ },
2390
+ {
2391
+ "name": "integrationAcls"
2392
+ },
2393
+ {
2394
+ "name": "timelockDuration"
2395
+ },
2396
+ {
2397
+ "name": "borrowable"
2398
+ },
2399
+ {
2400
+ "name": "defaultAccountStateFrozen"
2401
+ },
2402
+ {
2403
+ "name": "permanentDelegate"
2404
+ },
2405
+ {
2406
+ "name": "notifyAndSettle"
2407
+ },
2408
+ {
2409
+ "name": "feeStructure"
2410
+ },
2411
+ {
2412
+ "name": "feeParams"
2413
+ },
2414
+ {
2415
+ "name": "claimableFees"
2416
+ },
2417
+ {
2418
+ "name": "claimedFees"
2419
+ },
2420
+ {
2421
+ "name": "oracleConfigs"
2422
+ }
2423
+ ]
2424
+ }
2425
+ },
2426
+ {
2427
+ "name": "engineFieldValue",
2428
+ "type": {
2429
+ "kind": "enum",
2430
+ "variants": [
2431
+ {
2432
+ "name": "boolean",
2433
+ "fields": [
2434
+ {
2435
+ "name": "val",
2436
+ "type": "bool"
2437
+ }
2438
+ ]
2439
+ },
2440
+ {
2441
+ "name": "u8",
2442
+ "fields": [
2443
+ {
2444
+ "name": "val",
2445
+ "type": "u8"
2446
+ }
2447
+ ]
2448
+ },
2449
+ {
2450
+ "name": "u32",
2451
+ "fields": [
2452
+ {
2453
+ "name": "val",
2454
+ "type": "u32"
2455
+ }
2456
+ ]
2457
+ },
2458
+ {
2459
+ "name": "u64",
2460
+ "fields": [
2461
+ {
2462
+ "name": "val",
2463
+ "type": "u64"
2464
+ }
2465
+ ]
2466
+ },
2467
+ {
2468
+ "name": "string",
2469
+ "fields": [
2470
+ {
2471
+ "name": "val",
2472
+ "type": "string"
2473
+ }
2474
+ ]
2475
+ },
2476
+ {
2477
+ "name": "pubkey",
2478
+ "fields": [
2479
+ {
2480
+ "name": "val",
2481
+ "type": "pubkey"
2482
+ }
2483
+ ]
2484
+ },
2485
+ {
2486
+ "name": "vecPubkey",
2487
+ "fields": [
2488
+ {
2489
+ "name": "val",
2490
+ "type": {
2491
+ "vec": "pubkey"
2492
+ }
2493
+ }
2494
+ ]
2495
+ },
2496
+ {
2497
+ "name": "vecU8",
2498
+ "fields": [
2499
+ {
2500
+ "name": "val",
2501
+ "type": "bytes"
2502
+ }
2503
+ ]
2504
+ },
2505
+ {
2506
+ "name": "vecU32",
2507
+ "fields": [
2508
+ {
2509
+ "name": "val",
2510
+ "type": {
2511
+ "vec": "u32"
2512
+ }
2513
+ }
2514
+ ]
2515
+ },
2516
+ {
2517
+ "name": "vecDelegateAcl",
2518
+ "fields": [
2519
+ {
2520
+ "name": "val",
2521
+ "type": {
2522
+ "vec": {
2523
+ "defined": {
2524
+ "name": "delegateAcl"
2525
+ }
2526
+ }
2527
+ }
2528
+ }
2529
+ ]
2530
+ },
2531
+ {
2532
+ "name": "vecIntegrationAcl",
2533
+ "fields": [
2534
+ {
2535
+ "name": "val",
2536
+ "type": {
2537
+ "vec": {
2538
+ "defined": {
2539
+ "name": "integrationAcl"
2540
+ }
2541
+ }
2542
+ }
2543
+ }
2544
+ ]
2545
+ },
2546
+ {
2547
+ "name": "feeStructure",
2548
+ "fields": [
2549
+ {
2550
+ "name": "val",
2551
+ "type": {
2552
+ "defined": {
2553
+ "name": "feeStructure"
2554
+ }
2555
+ }
2556
+ }
2557
+ ]
2558
+ },
2559
+ {
2560
+ "name": "feeParams",
2561
+ "fields": [
2562
+ {
2563
+ "name": "val",
2564
+ "type": {
2565
+ "defined": {
2566
+ "name": "feeParams"
2567
+ }
2568
+ }
2569
+ }
2570
+ ]
2571
+ },
2572
+ {
2573
+ "name": "accruedFees",
2574
+ "fields": [
2575
+ {
2576
+ "name": "val",
2577
+ "type": {
2578
+ "defined": {
2579
+ "name": "accruedFees"
2580
+ }
2581
+ }
2582
+ }
2583
+ ]
2584
+ },
2585
+ {
2586
+ "name": "notifyAndSettle",
2587
+ "fields": [
2588
+ {
2589
+ "name": "val",
2590
+ "type": {
2591
+ "defined": {
2592
+ "name": "notifyAndSettle"
2593
+ }
2594
+ }
2595
+ }
2596
+ ]
2597
+ },
2598
+ {
2599
+ "name": "oracleConfigs",
2600
+ "fields": [
2601
+ {
2602
+ "name": "val",
2603
+ "type": {
2604
+ "defined": {
2605
+ "name": "oracleConfigs"
2606
+ }
2607
+ }
2608
+ }
2609
+ ]
2610
+ }
2611
+ ]
2612
+ }
2613
+ },
2614
+ {
2615
+ "name": "entryExitFees",
2616
+ "type": {
2617
+ "kind": "struct",
2618
+ "fields": [
2619
+ {
2620
+ "name": "subscriptionFeeBps",
2621
+ "type": "u16"
2622
+ },
2623
+ {
2624
+ "name": "redemptionFeeBps",
2625
+ "type": "u16"
2626
+ }
2627
+ ]
2628
+ }
2629
+ },
2630
+ {
2631
+ "name": "exactInParams",
2632
+ "type": {
2633
+ "kind": "struct",
2634
+ "fields": [
2635
+ {
2636
+ "name": "amountIn",
2637
+ "type": "u64"
2638
+ },
2639
+ {
2640
+ "name": "minAmountOut",
2641
+ "type": "u64"
2642
+ }
2643
+ ]
2644
+ }
2645
+ },
2646
+ {
2647
+ "name": "exactOutParams",
2648
+ "type": {
2649
+ "kind": "struct",
2650
+ "fields": [
2651
+ {
2652
+ "name": "amountOut",
2653
+ "type": "u64"
2654
+ },
2655
+ {
2656
+ "name": "maxAmountIn",
2657
+ "type": "u64"
2658
+ }
2659
+ ]
2660
+ }
2661
+ },
2662
+ {
2663
+ "name": "expectedLoanValues",
2664
+ "type": {
2665
+ "kind": "struct",
2666
+ "fields": [
2667
+ {
2668
+ "name": "expectedApy",
2669
+ "type": "u64"
2670
+ },
2671
+ {
2672
+ "name": "expectedLqt",
2673
+ "type": {
2674
+ "array": [
2675
+ "u32",
2676
+ 5
2677
+ ]
2678
+ }
2679
+ }
2680
+ ]
2681
+ }
2682
+ },
2683
+ {
2684
+ "name": "feeParams",
2685
+ "type": {
2686
+ "kind": "struct",
2687
+ "fields": [
2688
+ {
2689
+ "name": "yearInSeconds",
2690
+ "type": "u32"
2691
+ },
2692
+ {
2693
+ "name": "paHighWaterMark",
2694
+ "type": "i128"
2695
+ },
2696
+ {
2697
+ "name": "paLastNav",
2698
+ "type": "i128"
2699
+ },
2700
+ {
2701
+ "name": "lastAum",
2702
+ "type": "i128"
2703
+ },
2704
+ {
2705
+ "name": "lastPerformanceFeeCrystallized",
2706
+ "type": "i64"
2707
+ },
2708
+ {
2709
+ "name": "lastManagementFeeCrystallized",
2710
+ "type": "i64"
2711
+ },
2712
+ {
2713
+ "name": "lastProtocolFeeCrystallized",
2714
+ "type": "i64"
2715
+ }
2716
+ ]
2717
+ }
2718
+ },
2719
+ {
2720
+ "name": "feeStructure",
2721
+ "type": {
2722
+ "kind": "struct",
2723
+ "fields": [
2724
+ {
2725
+ "name": "vault",
2726
+ "type": {
2727
+ "defined": {
2728
+ "name": "entryExitFees"
2729
+ }
2730
+ }
2731
+ },
2732
+ {
2733
+ "name": "manager",
2734
+ "type": {
2735
+ "defined": {
2736
+ "name": "entryExitFees"
2737
+ }
2738
+ }
2739
+ },
2740
+ {
2741
+ "name": "management",
2742
+ "type": {
2743
+ "defined": {
2744
+ "name": "managementFee"
2745
+ }
2746
+ }
2747
+ },
2748
+ {
2749
+ "name": "performance",
2750
+ "type": {
2751
+ "defined": {
2752
+ "name": "performanceFee"
2753
+ }
2754
+ }
2755
+ },
2756
+ {
2757
+ "name": "protocol",
2758
+ "type": {
2759
+ "defined": {
2760
+ "name": "protocolFees"
2761
+ }
2762
+ }
2763
+ }
2764
+ ]
2765
+ }
2766
+ },
2767
+ {
2768
+ "name": "hurdleType",
2769
+ "type": {
2770
+ "kind": "enum",
2771
+ "variants": [
2772
+ {
2773
+ "name": "hard"
2774
+ },
2775
+ {
2776
+ "name": "soft"
2777
+ }
2778
+ ]
2779
+ }
2780
+ },
2781
+ {
2782
+ "name": "integrationAcl",
2783
+ "docs": [
2784
+ "An integration program can have multiple protocols supported.",
2785
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
2786
+ ],
2787
+ "type": {
2788
+ "kind": "struct",
2789
+ "fields": [
2790
+ {
2791
+ "name": "integrationProgram",
2792
+ "type": "pubkey"
2793
+ },
2794
+ {
2795
+ "name": "protocolsBitmask",
2796
+ "type": "u16"
2797
+ },
2798
+ {
2799
+ "name": "protocolPolicies",
2800
+ "type": {
2801
+ "vec": {
2802
+ "defined": {
2803
+ "name": "protocolPolicy"
2804
+ }
2805
+ }
2806
+ }
2807
+ }
2808
+ ]
2809
+ }
2810
+ },
2811
+ {
2812
+ "name": "integrationPermissions",
2813
+ "docs": [
2814
+ "Stores delegate permissions for an integration program."
2815
+ ],
2816
+ "type": {
2817
+ "kind": "struct",
2818
+ "fields": [
2819
+ {
2820
+ "name": "integrationProgram",
2821
+ "type": "pubkey"
2822
+ },
2823
+ {
2824
+ "name": "protocolPermissions",
2825
+ "type": {
2826
+ "vec": {
2827
+ "defined": {
2828
+ "name": "protocolPermissions"
2829
+ }
2830
+ }
2831
+ }
2832
+ }
2833
+ ]
2834
+ }
2835
+ },
2836
+ {
2837
+ "name": "loanUnlockParams",
2838
+ "type": {
2839
+ "kind": "struct",
2840
+ "fields": [
2841
+ {
2842
+ "name": "assetIndexGuidance",
2843
+ "type": "bytes"
2844
+ }
2845
+ ]
2846
+ }
2847
+ },
2848
+ {
2849
+ "name": "lockLoanParams",
2850
+ "type": {
2851
+ "kind": "struct",
2852
+ "fields": [
2853
+ {
2854
+ "name": "unlockIdx",
2855
+ "type": "u8"
2856
+ }
2857
+ ]
2858
+ }
2859
+ },
2860
+ {
2861
+ "name": "loopscalePolicy",
2862
+ "type": {
2863
+ "kind": "struct",
2864
+ "fields": [
2865
+ {
2866
+ "name": "depositAllowlist",
2867
+ "type": {
2868
+ "vec": "pubkey"
2869
+ }
2870
+ },
2871
+ {
2872
+ "name": "borrowAllowlist",
2873
+ "type": {
2874
+ "vec": "pubkey"
2875
+ }
2876
+ },
2877
+ {
2878
+ "name": "marketsAllowlist",
2879
+ "type": {
2880
+ "vec": "pubkey"
2881
+ }
2882
+ }
2883
+ ]
2884
+ }
2885
+ },
2886
+ {
2887
+ "name": "lpParams",
2888
+ "type": {
2889
+ "kind": "enum",
2890
+ "variants": [
2891
+ {
2892
+ "name": "exactIn",
2893
+ "fields": [
2894
+ {
2895
+ "defined": {
2896
+ "name": "exactInParams"
2897
+ }
2898
+ }
2899
+ ]
2900
+ },
2901
+ {
2902
+ "name": "exactOut",
2903
+ "fields": [
2904
+ {
2905
+ "defined": {
2906
+ "name": "exactOutParams"
2907
+ }
2908
+ }
2909
+ ]
2910
+ }
2911
+ ]
2912
+ }
2913
+ },
2914
+ {
2915
+ "name": "managementFee",
2916
+ "type": {
2917
+ "kind": "struct",
2918
+ "fields": [
2919
+ {
2920
+ "name": "feeBps",
2921
+ "type": "u16"
2922
+ }
2923
+ ]
2924
+ }
2925
+ },
2926
+ {
2927
+ "name": "noticePeriodType",
2928
+ "type": {
2929
+ "kind": "enum",
2930
+ "variants": [
2931
+ {
2932
+ "name": "hard"
2933
+ },
2934
+ {
2935
+ "name": "soft"
2936
+ }
2937
+ ]
2938
+ }
2939
+ },
2940
+ {
2941
+ "name": "notifyAndSettle",
2942
+ "type": {
2943
+ "kind": "struct",
2944
+ "fields": [
2945
+ {
2946
+ "name": "model",
2947
+ "type": {
2948
+ "defined": {
2949
+ "name": "valuationModel"
2950
+ }
2951
+ }
2952
+ },
2953
+ {
2954
+ "name": "permissionlessFulfillment",
2955
+ "type": "bool"
2956
+ },
2957
+ {
2958
+ "name": "subscribeNoticePeriodType",
2959
+ "type": {
2960
+ "defined": {
2961
+ "name": "noticePeriodType"
2962
+ }
2963
+ }
2964
+ },
2965
+ {
2966
+ "name": "subscribeNoticePeriod",
2967
+ "type": "u64"
2968
+ },
2969
+ {
2970
+ "name": "subscribeSettlementPeriod",
2971
+ "type": "u64"
2972
+ },
2973
+ {
2974
+ "name": "subscribeCancellationWindow",
2975
+ "type": "u64"
2976
+ },
2977
+ {
2978
+ "name": "redeemNoticePeriodType",
2979
+ "type": {
2980
+ "defined": {
2981
+ "name": "noticePeriodType"
2982
+ }
2983
+ }
2984
+ },
2985
+ {
2986
+ "name": "redeemNoticePeriod",
2987
+ "type": "u64"
2988
+ },
2989
+ {
2990
+ "name": "redeemSettlementPeriod",
2991
+ "type": "u64"
2992
+ },
2993
+ {
2994
+ "name": "redeemCancellationWindow",
2995
+ "type": "u64"
2996
+ },
2997
+ {
2998
+ "name": "timeUnit",
2999
+ "type": {
3000
+ "defined": {
3001
+ "name": "timeUnit"
3002
+ }
3003
+ }
3004
+ },
3005
+ {
3006
+ "name": "padding",
3007
+ "type": {
3008
+ "array": [
3009
+ "u8",
3010
+ 3
3011
+ ]
3012
+ }
3013
+ }
3014
+ ]
3015
+ }
3016
+ },
3017
+ {
3018
+ "name": "oracleConfigs",
3019
+ "docs": [
3020
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
3021
+ ],
3022
+ "type": {
3023
+ "kind": "struct",
3024
+ "fields": [
3025
+ {
3026
+ "name": "maxAgesSeconds",
3027
+ "type": {
3028
+ "vec": {
3029
+ "array": [
3030
+ "u16",
3031
+ 2
3032
+ ]
3033
+ }
3034
+ }
3035
+ },
3036
+ {
3037
+ "name": "padding",
3038
+ "type": {
3039
+ "array": [
3040
+ "u8",
3041
+ 12
3042
+ ]
3043
+ }
3044
+ }
3045
+ ]
3046
+ }
3047
+ },
3048
+ {
3049
+ "name": "performanceFee",
3050
+ "type": {
3051
+ "kind": "struct",
3052
+ "fields": [
3053
+ {
3054
+ "name": "feeBps",
3055
+ "type": "u16"
3056
+ },
3057
+ {
3058
+ "name": "hurdleRateBps",
3059
+ "type": "u16"
3060
+ },
3061
+ {
3062
+ "name": "hurdleType",
3063
+ "type": {
3064
+ "defined": {
3065
+ "name": "hurdleType"
3066
+ }
3067
+ }
3068
+ }
3069
+ ]
3070
+ }
3071
+ },
3072
+ {
3073
+ "name": "pricedProtocol",
3074
+ "type": {
3075
+ "kind": "struct",
3076
+ "fields": [
3077
+ {
3078
+ "name": "rent",
3079
+ "type": "u64"
3080
+ },
3081
+ {
3082
+ "name": "amount",
3083
+ "type": "i128"
3084
+ },
3085
+ {
3086
+ "name": "decimals",
3087
+ "type": "u8"
3088
+ },
3089
+ {
3090
+ "name": "lastUpdatedSlot",
3091
+ "type": "u64"
3092
+ },
3093
+ {
3094
+ "name": "integrationProgram",
3095
+ "type": "pubkey"
3096
+ },
3097
+ {
3098
+ "name": "protocolBitflag",
3099
+ "type": "u16"
3100
+ },
3101
+ {
3102
+ "name": "positions",
3103
+ "type": {
3104
+ "vec": "pubkey"
3105
+ }
3106
+ }
3107
+ ]
3108
+ }
3109
+ },
3110
+ {
3111
+ "name": "protocolFees",
3112
+ "type": {
3113
+ "kind": "struct",
3114
+ "fields": [
3115
+ {
3116
+ "name": "baseFeeBps",
3117
+ "type": "u16"
3118
+ },
3119
+ {
3120
+ "name": "flowFeeBps",
3121
+ "type": "u16"
3122
+ }
3123
+ ]
3124
+ }
3125
+ },
3126
+ {
3127
+ "name": "protocolPermissions",
3128
+ "docs": [
3129
+ "Represents a delegate's permissions for a specific protocol"
3130
+ ],
3131
+ "type": {
3132
+ "kind": "struct",
3133
+ "fields": [
3134
+ {
3135
+ "name": "protocolBitflag",
3136
+ "type": "u16"
3137
+ },
3138
+ {
3139
+ "name": "permissionsBitmask",
3140
+ "type": "u64"
3141
+ }
3142
+ ]
3143
+ }
3144
+ },
3145
+ {
3146
+ "name": "protocolPolicy",
3147
+ "docs": [
3148
+ "Stores policy data for an integrated protocol.",
3149
+ "Integration programs serialize/deserialize this data."
3150
+ ],
3151
+ "type": {
3152
+ "kind": "struct",
3153
+ "fields": [
3154
+ {
3155
+ "name": "protocolBitflag",
3156
+ "type": "u16"
3157
+ },
3158
+ {
3159
+ "name": "data",
3160
+ "type": "bytes"
3161
+ }
3162
+ ]
3163
+ }
3164
+ },
3165
+ {
3166
+ "name": "refinanceLedgerParams",
3167
+ "type": {
3168
+ "kind": "struct",
3169
+ "fields": [
3170
+ {
3171
+ "name": "ledgerIndex",
3172
+ "type": "u8"
3173
+ },
3174
+ {
3175
+ "name": "durationIndex",
3176
+ "type": "u8"
3177
+ },
3178
+ {
3179
+ "name": "assetIndexGuidance",
3180
+ "type": "bytes"
3181
+ }
3182
+ ]
3183
+ }
3184
+ },
3185
+ {
3186
+ "name": "repayPrincipalParams",
3187
+ "type": {
3188
+ "kind": "struct",
3189
+ "fields": [
3190
+ {
3191
+ "name": "amount",
3192
+ "type": "u64"
3193
+ },
3194
+ {
3195
+ "name": "ledgerIndex",
3196
+ "type": "u8"
3197
+ },
3198
+ {
3199
+ "name": "repayAll",
3200
+ "type": "bool"
3201
+ }
3202
+ ]
3203
+ }
3204
+ },
3205
+ {
3206
+ "name": "stateAccount",
3207
+ "type": {
3208
+ "kind": "struct",
3209
+ "fields": [
3210
+ {
3211
+ "name": "accountType",
3212
+ "type": {
3213
+ "defined": {
3214
+ "name": "accountType"
3215
+ }
3216
+ }
3217
+ },
3218
+ {
3219
+ "name": "enabled",
3220
+ "type": "bool"
3221
+ },
3222
+ {
3223
+ "name": "vault",
3224
+ "type": "pubkey"
3225
+ },
3226
+ {
3227
+ "name": "owner",
3228
+ "type": "pubkey"
3229
+ },
3230
+ {
3231
+ "name": "portfolioManagerName",
3232
+ "type": {
3233
+ "array": [
3234
+ "u8",
3235
+ 32
3236
+ ]
3237
+ }
3238
+ },
3239
+ {
3240
+ "name": "created",
3241
+ "type": {
3242
+ "defined": {
3243
+ "name": "createdModel"
3244
+ }
3245
+ }
3246
+ },
3247
+ {
3248
+ "name": "baseAssetMint",
3249
+ "type": "pubkey"
3250
+ },
3251
+ {
3252
+ "name": "baseAssetDecimals",
3253
+ "type": "u8"
3254
+ },
3255
+ {
3256
+ "name": "baseAssetTokenProgram",
3257
+ "type": "u8"
3258
+ },
3259
+ {
3260
+ "name": "name",
3261
+ "type": {
3262
+ "array": [
3263
+ "u8",
3264
+ 32
3265
+ ]
3266
+ }
3267
+ },
3268
+ {
3269
+ "name": "timelockDuration",
3270
+ "type": "u32"
3271
+ },
3272
+ {
3273
+ "name": "timelockExpiresAt",
3274
+ "type": "u64"
3275
+ },
3276
+ {
3277
+ "name": "mint",
3278
+ "type": "pubkey"
3279
+ },
3280
+ {
3281
+ "name": "assets",
3282
+ "type": {
3283
+ "vec": "pubkey"
3284
+ }
3285
+ },
3286
+ {
3287
+ "name": "integrationAcls",
3288
+ "type": {
3289
+ "vec": {
3290
+ "defined": {
3291
+ "name": "integrationAcl"
3292
+ }
3293
+ }
3294
+ }
3295
+ },
3296
+ {
3297
+ "name": "delegateAcls",
3298
+ "type": {
3299
+ "vec": {
3300
+ "defined": {
3301
+ "name": "delegateAcl"
3302
+ }
3303
+ }
3304
+ }
3305
+ },
3306
+ {
3307
+ "name": "externalPositions",
3308
+ "type": {
3309
+ "vec": "pubkey"
3310
+ }
3311
+ },
3312
+ {
3313
+ "name": "pricedProtocols",
3314
+ "type": {
3315
+ "vec": {
3316
+ "defined": {
3317
+ "name": "pricedProtocol"
3318
+ }
3319
+ }
3320
+ }
3321
+ },
3322
+ {
3323
+ "name": "params",
3324
+ "type": {
3325
+ "vec": {
3326
+ "vec": {
3327
+ "defined": {
3328
+ "name": "engineField"
3329
+ }
3330
+ }
3331
+ }
3332
+ }
3333
+ }
3334
+ ]
3335
+ }
3336
+ },
3337
+ {
3338
+ "name": "timeUnit",
3339
+ "type": {
3340
+ "kind": "enum",
3341
+ "variants": [
3342
+ {
3343
+ "name": "second"
3344
+ },
3345
+ {
3346
+ "name": "slot"
3347
+ }
3348
+ ]
3349
+ }
3350
+ },
3351
+ {
3352
+ "name": "updateWeightMatrixParams",
3353
+ "type": {
3354
+ "kind": "struct",
3355
+ "fields": [
3356
+ {
3357
+ "name": "collateralIndex",
3358
+ "type": "u8"
3359
+ },
3360
+ {
3361
+ "name": "weightMatrix",
3362
+ "type": {
3363
+ "array": [
3364
+ "u32",
3365
+ 5
3366
+ ]
3367
+ }
3368
+ },
3369
+ {
3370
+ "name": "expectedLoanValues",
3371
+ "type": {
3372
+ "defined": {
3373
+ "name": "expectedLoanValues"
3374
+ }
3375
+ }
3376
+ },
3377
+ {
3378
+ "name": "assetIndexGuidance",
3379
+ "type": "bytes"
3380
+ }
3381
+ ]
3382
+ }
3383
+ },
3384
+ {
3385
+ "name": "valuationModel",
3386
+ "type": {
3387
+ "kind": "enum",
3388
+ "variants": [
3389
+ {
3390
+ "name": "continuous"
3391
+ },
3392
+ {
3393
+ "name": "periodic"
3394
+ }
3395
+ ]
3396
+ }
3397
+ },
3398
+ {
3399
+ "name": "vaultStakeParams",
3400
+ "type": {
3401
+ "kind": "struct",
3402
+ "fields": [
3403
+ {
3404
+ "name": "amount",
3405
+ "type": "u64"
3406
+ },
3407
+ {
3408
+ "name": "principalAmount",
3409
+ "type": "u64"
3410
+ },
3411
+ {
3412
+ "name": "stakeAll",
3413
+ "type": {
3414
+ "option": "bool"
3415
+ }
3416
+ },
3417
+ {
3418
+ "name": "duration",
3419
+ "type": "u32"
3420
+ },
3421
+ {
3422
+ "name": "durationType",
3423
+ "type": "u8"
3424
+ },
3425
+ {
3426
+ "name": "actionType",
3427
+ "type": "u8"
3428
+ }
3429
+ ]
3430
+ }
3431
+ },
3432
+ {
3433
+ "name": "vaultUnstakeParams",
3434
+ "type": {
3435
+ "kind": "struct",
3436
+ "fields": [
3437
+ {
3438
+ "name": "actionType",
3439
+ "type": "u8"
3440
+ },
3441
+ {
3442
+ "name": "principalAmount",
3443
+ "type": "u64"
3444
+ }
3445
+ ]
3446
+ }
3447
+ },
3448
+ {
3449
+ "name": "withdrawCollateralParams",
3450
+ "type": {
3451
+ "kind": "struct",
3452
+ "fields": [
3453
+ {
3454
+ "name": "amount",
3455
+ "type": "u64"
3456
+ },
3457
+ {
3458
+ "name": "collateralIndex",
3459
+ "type": "u8"
3460
+ },
3461
+ {
3462
+ "name": "assetIndexGuidance",
3463
+ "type": "bytes"
3464
+ },
3465
+ {
3466
+ "name": "expectedLoanValues",
3467
+ "type": {
3468
+ "defined": {
3469
+ "name": "expectedLoanValues"
3470
+ }
3471
+ }
3472
+ },
3473
+ {
3474
+ "name": "closeIfEligible",
3475
+ "type": "bool"
3476
+ },
3477
+ {
3478
+ "name": "withdrawAll",
3479
+ "type": "bool"
3480
+ }
3481
+ ]
3482
+ }
3483
+ }
3484
+ ],
3485
+ "constants": [
3486
+ {
3487
+ "name": "protoLoopscale",
3488
+ "type": "u16",
3489
+ "value": "1"
3490
+ },
3491
+ {
3492
+ "name": "protoLoopscalePermBorrowPrincipal",
3493
+ "type": "u64",
3494
+ "value": "8"
3495
+ },
3496
+ {
3497
+ "name": "protoLoopscalePermClaimVaultRewards",
3498
+ "type": "u64",
3499
+ "value": "1024"
3500
+ },
3501
+ {
3502
+ "name": "protoLoopscalePermDepositCollateral",
3503
+ "type": "u64",
3504
+ "value": "2"
3505
+ },
3506
+ {
3507
+ "name": "protoLoopscalePermDepositUserVault",
3508
+ "type": "u64",
3509
+ "value": "64"
3510
+ },
3511
+ {
3512
+ "name": "protoLoopscalePermManageLoan",
3513
+ "type": "u64",
3514
+ "value": "1"
3515
+ },
3516
+ {
3517
+ "name": "protoLoopscalePermRefinanceLedger",
3518
+ "type": "u64",
3519
+ "value": "32"
3520
+ },
3521
+ {
3522
+ "name": "protoLoopscalePermRepayPrincipal",
3523
+ "type": "u64",
3524
+ "value": "16"
3525
+ },
3526
+ {
3527
+ "name": "protoLoopscalePermStakeUserVaultLp",
3528
+ "type": "u64",
3529
+ "value": "256"
3530
+ },
3531
+ {
3532
+ "name": "protoLoopscalePermUnstakeUserVaultLp",
3533
+ "type": "u64",
3534
+ "value": "512"
3535
+ },
3536
+ {
3537
+ "name": "protoLoopscalePermWithdrawCollateral",
3538
+ "type": "u64",
3539
+ "value": "4"
3540
+ },
3541
+ {
3542
+ "name": "protoLoopscalePermWithdrawUserVault",
3543
+ "type": "u64",
3544
+ "value": "128"
3545
+ }
3546
+ ]
3547
+ };