@glamsystems/glam-sdk 1.1.0 → 1.1.1-alpha.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 (141) hide show
  1. package/index.cjs.d.ts +0 -1
  2. package/index.cjs.js +120789 -1
  3. package/index.esm.d.ts +0 -1
  4. package/index.esm.js +120308 -1
  5. package/package.json +15 -27
  6. package/target/idl/glam_mint-staging.json +480 -1
  7. package/target/idl/glam_mint.json +247 -1
  8. package/target/types/glam_mint-staging.ts +480 -1
  9. package/target/types/glam_mint.ts +247 -1
  10. package/LICENSE +0 -201
  11. package/buffer-layout.d.ts +0 -88
  12. package/src/assets.d.ts +0 -39
  13. package/src/client/access.d.ts +0 -57
  14. package/src/client/base.d.ts +0 -234
  15. package/src/client/bridge.d.ts +0 -205
  16. package/src/client/bridgeRegistry.d.ts +0 -32
  17. package/src/client/cctp.d.ts +0 -164
  18. package/src/client/epi.d.ts +0 -228
  19. package/src/client/fees.d.ts +0 -33
  20. package/src/client/invest.d.ts +0 -37
  21. package/src/client/jupiter-lend/borrow.d.ts +0 -92
  22. package/src/client/jupiter-lend/earn.d.ts +0 -64
  23. package/src/client/jupiter-lend/index.d.ts +0 -3
  24. package/src/client/jupiter-lend/shared.d.ts +0 -129
  25. package/src/client/jupiter.d.ts +0 -53
  26. package/src/client/kamino/farm.d.ts +0 -39
  27. package/src/client/kamino/index.d.ts +0 -4
  28. package/src/client/kamino/lending.d.ts +0 -94
  29. package/src/client/kamino/types.d.ts +0 -56
  30. package/src/client/kamino/vaults.d.ts +0 -39
  31. package/src/client/loopscale/borrow.d.ts +0 -118
  32. package/src/client/loopscale/core.d.ts +0 -604
  33. package/src/client/loopscale/index.d.ts +0 -5
  34. package/src/client/loopscale/lend.d.ts +0 -123
  35. package/src/client/loopscale/vault.d.ts +0 -43
  36. package/src/client/marinade.d.ts +0 -42
  37. package/src/client/mint.d.ts +0 -143
  38. package/src/client/orca.d.ts +0 -255
  39. package/src/client/phoenix.d.ts +0 -214
  40. package/src/client/price.d.ts +0 -182
  41. package/src/client/stake-pool.d.ts +0 -39
  42. package/src/client/stake.d.ts +0 -34
  43. package/src/client/state.d.ts +0 -56
  44. package/src/client/timelock.d.ts +0 -31
  45. package/src/client/vault.d.ts +0 -98
  46. package/src/client.d.ts +0 -82
  47. package/src/clientConfig.d.ts +0 -32
  48. package/src/constants.d.ts +0 -111
  49. package/src/deser/base.d.ts +0 -18
  50. package/src/deser/index.d.ts +0 -4
  51. package/src/deser/integrationPolicies.d.ts +0 -195
  52. package/src/deser/kaminoLayouts.d.ts +0 -264
  53. package/src/deser/loopscaleLayouts.d.ts +0 -157
  54. package/src/deser/tokenAclLayouts.d.ts +0 -67
  55. package/src/error.d.ts +0 -29
  56. package/src/glamExports.d.ts +0 -6260
  57. package/src/globalConfig.d.ts +0 -27
  58. package/src/index.d.ts +0 -24
  59. package/src/models/acl.d.ts +0 -43
  60. package/src/models/index.d.ts +0 -8
  61. package/src/models/mint.d.ts +0 -57
  62. package/src/models/state.d.ts +0 -94
  63. package/src/models/types.d.ts +0 -28
  64. package/src/protocols.d.ts +0 -29
  65. package/src/utils/accounts.d.ts +0 -71
  66. package/src/utils/bitmask.d.ts +0 -53
  67. package/src/utils/blockhash.d.ts +0 -11
  68. package/src/utils/common.d.ts +0 -73
  69. package/src/utils/computeBudget.d.ts +0 -15
  70. package/src/utils/evm.d.ts +0 -10
  71. package/src/utils/fraction.d.ts +0 -29
  72. package/src/utils/glamPDAs.d.ts +0 -15
  73. package/src/utils/helius.d.ts +0 -66
  74. package/src/utils/index.d.ts +0 -17
  75. package/src/utils/jupiterApi.d.ts +0 -95
  76. package/src/utils/lookupTables.d.ts +0 -83
  77. package/src/utils/phoenixApi.d.ts +0 -146
  78. package/src/utils/pkmap.d.ts +0 -87
  79. package/src/utils/pkset.d.ts +0 -73
  80. package/src/utils/positionCategorizer.d.ts +0 -38
  81. package/src/utils/rpc.d.ts +0 -18
  82. package/src/utils/timelock.d.ts +0 -52
  83. package/src/utils/transaction.d.ts +0 -13
  84. package/target/idl/ext_bridge-staging.json +0 -2379
  85. package/target/idl/ext_bridge.json +0 -2379
  86. package/target/idl/ext_drift.json +0 -5464
  87. package/target/idl/ext_epi-staging.json +0 -2862
  88. package/target/idl/ext_epi.json +0 -2862
  89. package/target/idl/ext_loopscale-staging.json +0 -4708
  90. package/target/idl/ext_loopscale.json +0 -4708
  91. package/target/idl/ext_marinade-staging.json +0 -1587
  92. package/target/idl/ext_phoenix-staging.json +0 -3525
  93. package/target/idl/ext_phoenix.json +0 -3525
  94. package/target/idl/mock_layerzero_endpoint.json +0 -144
  95. package/target/idl/mock_layerzero_oft.json +0 -155
  96. package/target/idl/mock_wormhole_verify_vaa_shim.json +0 -58
  97. package/target/types/ext_bridge-staging.d.ts +0 -2385
  98. package/target/types/ext_bridge-staging.ts +0 -2385
  99. package/target/types/ext_bridge.d.ts +0 -2385
  100. package/target/types/ext_bridge.ts +0 -2385
  101. package/target/types/ext_cctp-staging.d.ts +0 -1268
  102. package/target/types/ext_cctp.d.ts +0 -1268
  103. package/target/types/ext_drift.d.ts +0 -5470
  104. package/target/types/ext_drift.ts +0 -5470
  105. package/target/types/ext_epi-staging.d.ts +0 -2868
  106. package/target/types/ext_epi-staging.ts +0 -2868
  107. package/target/types/ext_epi.d.ts +0 -2868
  108. package/target/types/ext_epi.ts +0 -2868
  109. package/target/types/ext_jupiter-staging.d.ts +0 -1966
  110. package/target/types/ext_jupiter.d.ts +0 -1966
  111. package/target/types/ext_kamino-staging.d.ts +0 -3433
  112. package/target/types/ext_kamino.d.ts +0 -3433
  113. package/target/types/ext_loopscale-staging.d.ts +0 -4714
  114. package/target/types/ext_loopscale-staging.ts +0 -4714
  115. package/target/types/ext_loopscale.d.ts +0 -4714
  116. package/target/types/ext_loopscale.ts +0 -4714
  117. package/target/types/ext_marinade-staging.d.ts +0 -1593
  118. package/target/types/ext_marinade-staging.ts +0 -1593
  119. package/target/types/ext_marinade.d.ts +0 -1593
  120. package/target/types/ext_orca-staging.d.ts +0 -2829
  121. package/target/types/ext_orca.d.ts +0 -2829
  122. package/target/types/ext_phoenix-staging.d.ts +0 -3531
  123. package/target/types/ext_phoenix-staging.ts +0 -3531
  124. package/target/types/ext_phoenix.d.ts +0 -3531
  125. package/target/types/ext_phoenix.ts +0 -3531
  126. package/target/types/ext_spl-staging.d.ts +0 -1274
  127. package/target/types/ext_spl.d.ts +0 -1274
  128. package/target/types/ext_stake_pool-staging.d.ts +0 -1622
  129. package/target/types/ext_stake_pool.d.ts +0 -1622
  130. package/target/types/glam_config.d.ts +0 -755
  131. package/target/types/glam_mint-staging.d.ts +0 -8802
  132. package/target/types/glam_mint.d.ts +0 -6349
  133. package/target/types/glam_policies.d.ts +0 -477
  134. package/target/types/glam_protocol-staging.d.ts +0 -3362
  135. package/target/types/glam_protocol.d.ts +0 -2783
  136. package/target/types/mock_layerzero_endpoint.d.ts +0 -150
  137. package/target/types/mock_layerzero_endpoint.ts +0 -150
  138. package/target/types/mock_layerzero_oft.d.ts +0 -161
  139. package/target/types/mock_layerzero_oft.ts +0 -161
  140. package/target/types/mock_wormhole_verify_vaa_shim.d.ts +0 -64
  141. package/target/types/mock_wormhole_verify_vaa_shim.ts +0 -64
@@ -1,4714 +0,0 @@
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": "gstgL6y4uWjsfM3Qjs5euoTDmEcXoUjqx8rkYJhYngG",
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: `BorrowPermissions::BorrowPrincipal`.",
22
- "- Policy:",
23
- "- `principal_mint` must be present in `BorrowPolicy::principal_allowlist`.",
24
- "- If `market_information` has a `BorrowPolicy::market_policies` entry,",
25
- "advanced per-market borrow limits are enforced."
26
- ],
27
- "discriminator": [
28
- 106,
29
- 10,
30
- 38,
31
- 204,
32
- 139,
33
- 188,
34
- 124,
35
- 50
36
- ],
37
- "accounts": [
38
- {
39
- "name": "glamState",
40
- "writable": true
41
- },
42
- {
43
- "name": "glamVault",
44
- "writable": true,
45
- "pda": {
46
- "seeds": [
47
- {
48
- "kind": "const",
49
- "value": [
50
- 118,
51
- 97,
52
- 117,
53
- 108,
54
- 116
55
- ]
56
- },
57
- {
58
- "kind": "account",
59
- "path": "glamState"
60
- }
61
- ],
62
- "program": {
63
- "kind": "account",
64
- "path": "glamProtocolProgram"
65
- }
66
- }
67
- },
68
- {
69
- "name": "glamSigner",
70
- "writable": true,
71
- "signer": true
72
- },
73
- {
74
- "name": "integrationAuthority",
75
- "pda": {
76
- "seeds": [
77
- {
78
- "kind": "const",
79
- "value": [
80
- 105,
81
- 110,
82
- 116,
83
- 101,
84
- 103,
85
- 114,
86
- 97,
87
- 116,
88
- 105,
89
- 111,
90
- 110,
91
- 45,
92
- 97,
93
- 117,
94
- 116,
95
- 104,
96
- 111,
97
- 114,
98
- 105,
99
- 116,
100
- 121
101
- ]
102
- }
103
- ]
104
- }
105
- },
106
- {
107
- "name": "cpiProgram",
108
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
109
- },
110
- {
111
- "name": "glamProtocolProgram",
112
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
113
- },
114
- {
115
- "name": "systemProgram",
116
- "address": "11111111111111111111111111111111"
117
- },
118
- {
119
- "name": "bsAuth",
120
- "signer": true
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
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
148
- },
149
- {
150
- "name": "tokenProgram"
151
- },
152
- {
153
- "name": "protocolAdminState"
154
- },
155
- {
156
- "name": "eventAuthority"
157
- }
158
- ],
159
- "args": [
160
- {
161
- "name": "params",
162
- "type": {
163
- "defined": {
164
- "name": "borrowPrincipalParams"
165
- }
166
- }
167
- }
168
- ]
169
- },
170
- {
171
- "name": "claimVaultRewards",
172
- "docs": [
173
- "Claim rewards accrued by a Loopscale VaultStake account.",
174
- "",
175
- "- Permission: `VaultPermissions::ClaimVaultRewards`.",
176
- "- Policy: `vault` must be present in `VaultPolicy::vault_allowlist`."
177
- ],
178
- "discriminator": [
179
- 0,
180
- 152,
181
- 75,
182
- 29,
183
- 195,
184
- 223,
185
- 12,
186
- 101
187
- ],
188
- "accounts": [
189
- {
190
- "name": "glamState",
191
- "writable": true
192
- },
193
- {
194
- "name": "glamVault",
195
- "writable": true,
196
- "pda": {
197
- "seeds": [
198
- {
199
- "kind": "const",
200
- "value": [
201
- 118,
202
- 97,
203
- 117,
204
- 108,
205
- 116
206
- ]
207
- },
208
- {
209
- "kind": "account",
210
- "path": "glamState"
211
- }
212
- ],
213
- "program": {
214
- "kind": "account",
215
- "path": "glamProtocolProgram"
216
- }
217
- }
218
- },
219
- {
220
- "name": "glamSigner",
221
- "writable": true,
222
- "signer": true
223
- },
224
- {
225
- "name": "integrationAuthority",
226
- "pda": {
227
- "seeds": [
228
- {
229
- "kind": "const",
230
- "value": [
231
- 105,
232
- 110,
233
- 116,
234
- 101,
235
- 103,
236
- 114,
237
- 97,
238
- 116,
239
- 105,
240
- 111,
241
- 110,
242
- 45,
243
- 97,
244
- 117,
245
- 116,
246
- 104,
247
- 111,
248
- 114,
249
- 105,
250
- 116,
251
- 121
252
- ]
253
- }
254
- ]
255
- }
256
- },
257
- {
258
- "name": "cpiProgram",
259
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
260
- },
261
- {
262
- "name": "glamProtocolProgram",
263
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
264
- },
265
- {
266
- "name": "systemProgram",
267
- "address": "11111111111111111111111111111111"
268
- },
269
- {
270
- "name": "bsAuth",
271
- "signer": true
272
- },
273
- {
274
- "name": "vault"
275
- },
276
- {
277
- "name": "vaultRewardsInfo",
278
- "writable": true
279
- },
280
- {
281
- "name": "userRewardsInfo",
282
- "writable": true
283
- },
284
- {
285
- "name": "stakeAccount",
286
- "writable": true
287
- },
288
- {
289
- "name": "associatedTokenProgram",
290
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
291
- },
292
- {
293
- "name": "protocolAdminState"
294
- },
295
- {
296
- "name": "eventAuthority"
297
- }
298
- ],
299
- "args": [
300
- {
301
- "name": "mints",
302
- "type": {
303
- "vec": "pubkey"
304
- }
305
- }
306
- ]
307
- },
308
- {
309
- "name": "closeLoan",
310
- "docs": [
311
- "Close an existing Loopscale loan PDA.",
312
- "",
313
- "- Permission: `BorrowPermissions::CloseLoan`."
314
- ],
315
- "discriminator": [
316
- 96,
317
- 114,
318
- 111,
319
- 204,
320
- 149,
321
- 228,
322
- 235,
323
- 124
324
- ],
325
- "accounts": [
326
- {
327
- "name": "glamState",
328
- "writable": true
329
- },
330
- {
331
- "name": "glamVault",
332
- "writable": true,
333
- "pda": {
334
- "seeds": [
335
- {
336
- "kind": "const",
337
- "value": [
338
- 118,
339
- 97,
340
- 117,
341
- 108,
342
- 116
343
- ]
344
- },
345
- {
346
- "kind": "account",
347
- "path": "glamState"
348
- }
349
- ],
350
- "program": {
351
- "kind": "account",
352
- "path": "glamProtocolProgram"
353
- }
354
- }
355
- },
356
- {
357
- "name": "glamSigner",
358
- "writable": true,
359
- "signer": true
360
- },
361
- {
362
- "name": "integrationAuthority",
363
- "pda": {
364
- "seeds": [
365
- {
366
- "kind": "const",
367
- "value": [
368
- 105,
369
- 110,
370
- 116,
371
- 101,
372
- 103,
373
- 114,
374
- 97,
375
- 116,
376
- 105,
377
- 111,
378
- 110,
379
- 45,
380
- 97,
381
- 117,
382
- 116,
383
- 104,
384
- 111,
385
- 114,
386
- 105,
387
- 116,
388
- 121
389
- ]
390
- }
391
- ]
392
- }
393
- },
394
- {
395
- "name": "cpiProgram",
396
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
397
- },
398
- {
399
- "name": "glamProtocolProgram",
400
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
401
- },
402
- {
403
- "name": "systemProgram",
404
- "address": "11111111111111111111111111111111"
405
- },
406
- {
407
- "name": "bsAuth",
408
- "signer": true
409
- },
410
- {
411
- "name": "loan",
412
- "writable": true
413
- },
414
- {
415
- "name": "protocolAdminState"
416
- },
417
- {
418
- "name": "eventAuthority"
419
- }
420
- ],
421
- "args": []
422
- },
423
- {
424
- "name": "closeStrategy",
425
- "docs": [
426
- "Close a Loopscale lender strategy account.",
427
- "",
428
- "- Permission: `LendingPermissions::CloseStrategy`."
429
- ],
430
- "discriminator": [
431
- 56,
432
- 247,
433
- 170,
434
- 246,
435
- 89,
436
- 221,
437
- 134,
438
- 200
439
- ],
440
- "accounts": [
441
- {
442
- "name": "glamState",
443
- "writable": true
444
- },
445
- {
446
- "name": "glamVault",
447
- "writable": true,
448
- "pda": {
449
- "seeds": [
450
- {
451
- "kind": "const",
452
- "value": [
453
- 118,
454
- 97,
455
- 117,
456
- 108,
457
- 116
458
- ]
459
- },
460
- {
461
- "kind": "account",
462
- "path": "glamState"
463
- }
464
- ],
465
- "program": {
466
- "kind": "account",
467
- "path": "glamProtocolProgram"
468
- }
469
- }
470
- },
471
- {
472
- "name": "glamSigner",
473
- "writable": true,
474
- "signer": true
475
- },
476
- {
477
- "name": "integrationAuthority",
478
- "pda": {
479
- "seeds": [
480
- {
481
- "kind": "const",
482
- "value": [
483
- 105,
484
- 110,
485
- 116,
486
- 101,
487
- 103,
488
- 114,
489
- 97,
490
- 116,
491
- 105,
492
- 111,
493
- 110,
494
- 45,
495
- 97,
496
- 117,
497
- 116,
498
- 104,
499
- 111,
500
- 114,
501
- 105,
502
- 116,
503
- 121
504
- ]
505
- }
506
- ]
507
- }
508
- },
509
- {
510
- "name": "cpiProgram",
511
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
512
- },
513
- {
514
- "name": "glamProtocolProgram",
515
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
516
- },
517
- {
518
- "name": "systemProgram",
519
- "address": "11111111111111111111111111111111"
520
- },
521
- {
522
- "name": "bsAuth",
523
- "signer": true
524
- },
525
- {
526
- "name": "strategy",
527
- "writable": true
528
- },
529
- {
530
- "name": "principalMint"
531
- },
532
- {
533
- "name": "tokenProgram"
534
- },
535
- {
536
- "name": "associatedTokenProgram",
537
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
538
- },
539
- {
540
- "name": "protocolAdminState"
541
- },
542
- {
543
- "name": "eventAuthority"
544
- }
545
- ],
546
- "args": []
547
- },
548
- {
549
- "name": "createLoan",
550
- "docs": [
551
- "Create a new Loopscale loan PDA owned by the GLAM vault.",
552
- "",
553
- "- Permission: `BorrowPermissions::CreateLoan`."
554
- ],
555
- "discriminator": [
556
- 166,
557
- 131,
558
- 118,
559
- 219,
560
- 138,
561
- 218,
562
- 206,
563
- 140
564
- ],
565
- "accounts": [
566
- {
567
- "name": "glamState",
568
- "writable": true
569
- },
570
- {
571
- "name": "glamVault",
572
- "writable": true,
573
- "pda": {
574
- "seeds": [
575
- {
576
- "kind": "const",
577
- "value": [
578
- 118,
579
- 97,
580
- 117,
581
- 108,
582
- 116
583
- ]
584
- },
585
- {
586
- "kind": "account",
587
- "path": "glamState"
588
- }
589
- ],
590
- "program": {
591
- "kind": "account",
592
- "path": "glamProtocolProgram"
593
- }
594
- }
595
- },
596
- {
597
- "name": "glamSigner",
598
- "writable": true,
599
- "signer": true
600
- },
601
- {
602
- "name": "integrationAuthority",
603
- "pda": {
604
- "seeds": [
605
- {
606
- "kind": "const",
607
- "value": [
608
- 105,
609
- 110,
610
- 116,
611
- 101,
612
- 103,
613
- 114,
614
- 97,
615
- 116,
616
- 105,
617
- 111,
618
- 110,
619
- 45,
620
- 97,
621
- 117,
622
- 116,
623
- 104,
624
- 111,
625
- 114,
626
- 105,
627
- 116,
628
- 121
629
- ]
630
- }
631
- ]
632
- }
633
- },
634
- {
635
- "name": "cpiProgram",
636
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
637
- },
638
- {
639
- "name": "glamProtocolProgram",
640
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
641
- },
642
- {
643
- "name": "systemProgram",
644
- "address": "11111111111111111111111111111111"
645
- },
646
- {
647
- "name": "bsAuth",
648
- "signer": true
649
- },
650
- {
651
- "name": "loan",
652
- "writable": true
653
- },
654
- {
655
- "name": "protocolAdminState"
656
- },
657
- {
658
- "name": "eventAuthority"
659
- }
660
- ],
661
- "args": [
662
- {
663
- "name": "params",
664
- "type": {
665
- "defined": {
666
- "name": "createLoanParams"
667
- }
668
- }
669
- }
670
- ]
671
- },
672
- {
673
- "name": "createStrategy",
674
- "docs": [
675
- "Create a new Loopscale lender strategy owned by the GLAM vault.",
676
- "",
677
- "- Permission: `LendingPermissions::CreateStrategy`.",
678
- "- Policy:",
679
- "- `principal_mint` must be present in `LendingPolicy::principal_allowlist`.",
680
- "- If `market_information` has a `LendingPolicy::market_policies` entry,",
681
- "advanced per-market lending limits are enforced.",
682
- "- `params.lender` must equal the GLAM vault."
683
- ],
684
- "discriminator": [
685
- 152,
686
- 160,
687
- 107,
688
- 148,
689
- 245,
690
- 190,
691
- 127,
692
- 224
693
- ],
694
- "accounts": [
695
- {
696
- "name": "glamState",
697
- "writable": true
698
- },
699
- {
700
- "name": "glamVault",
701
- "writable": true,
702
- "pda": {
703
- "seeds": [
704
- {
705
- "kind": "const",
706
- "value": [
707
- 118,
708
- 97,
709
- 117,
710
- 108,
711
- 116
712
- ]
713
- },
714
- {
715
- "kind": "account",
716
- "path": "glamState"
717
- }
718
- ],
719
- "program": {
720
- "kind": "account",
721
- "path": "glamProtocolProgram"
722
- }
723
- }
724
- },
725
- {
726
- "name": "glamSigner",
727
- "writable": true,
728
- "signer": true
729
- },
730
- {
731
- "name": "integrationAuthority",
732
- "pda": {
733
- "seeds": [
734
- {
735
- "kind": "const",
736
- "value": [
737
- 105,
738
- 110,
739
- 116,
740
- 101,
741
- 103,
742
- 114,
743
- 97,
744
- 116,
745
- 105,
746
- 111,
747
- 110,
748
- 45,
749
- 97,
750
- 117,
751
- 116,
752
- 104,
753
- 111,
754
- 114,
755
- 105,
756
- 116,
757
- 121
758
- ]
759
- }
760
- ]
761
- }
762
- },
763
- {
764
- "name": "cpiProgram",
765
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
766
- },
767
- {
768
- "name": "glamProtocolProgram",
769
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
770
- },
771
- {
772
- "name": "systemProgram",
773
- "address": "11111111111111111111111111111111"
774
- },
775
- {
776
- "name": "bsAuth",
777
- "signer": true
778
- },
779
- {
780
- "name": "nonce",
781
- "signer": true
782
- },
783
- {
784
- "name": "strategy",
785
- "writable": true
786
- },
787
- {
788
- "name": "marketInformation"
789
- },
790
- {
791
- "name": "principalMint"
792
- },
793
- {
794
- "name": "protocolAdminState"
795
- },
796
- {
797
- "name": "eventAuthority"
798
- }
799
- ],
800
- "args": [
801
- {
802
- "name": "params",
803
- "type": {
804
- "defined": {
805
- "name": "createStrategyParams"
806
- }
807
- }
808
- }
809
- ]
810
- },
811
- {
812
- "name": "depositCollateral",
813
- "docs": [
814
- "Deposit collateral into a Loopscale loan.",
815
- "",
816
- "- Permission: `BorrowPermissions::DepositCollateral`.",
817
- "- Policy:",
818
- "- `deposit_mint` must be present in `BorrowPolicy::collateral_allowlist`."
819
- ],
820
- "discriminator": [
821
- 156,
822
- 131,
823
- 142,
824
- 116,
825
- 146,
826
- 247,
827
- 162,
828
- 120
829
- ],
830
- "accounts": [
831
- {
832
- "name": "glamState",
833
- "writable": true
834
- },
835
- {
836
- "name": "glamVault",
837
- "writable": true,
838
- "pda": {
839
- "seeds": [
840
- {
841
- "kind": "const",
842
- "value": [
843
- 118,
844
- 97,
845
- 117,
846
- 108,
847
- 116
848
- ]
849
- },
850
- {
851
- "kind": "account",
852
- "path": "glamState"
853
- }
854
- ],
855
- "program": {
856
- "kind": "account",
857
- "path": "glamProtocolProgram"
858
- }
859
- }
860
- },
861
- {
862
- "name": "glamSigner",
863
- "writable": true,
864
- "signer": true
865
- },
866
- {
867
- "name": "integrationAuthority",
868
- "pda": {
869
- "seeds": [
870
- {
871
- "kind": "const",
872
- "value": [
873
- 105,
874
- 110,
875
- 116,
876
- 101,
877
- 103,
878
- 114,
879
- 97,
880
- 116,
881
- 105,
882
- 111,
883
- 110,
884
- 45,
885
- 97,
886
- 117,
887
- 116,
888
- 104,
889
- 111,
890
- 114,
891
- 105,
892
- 116,
893
- 121
894
- ]
895
- }
896
- ]
897
- }
898
- },
899
- {
900
- "name": "cpiProgram",
901
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
902
- },
903
- {
904
- "name": "glamProtocolProgram",
905
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
906
- },
907
- {
908
- "name": "systemProgram",
909
- "address": "11111111111111111111111111111111"
910
- },
911
- {
912
- "name": "bsAuth",
913
- "signer": true
914
- },
915
- {
916
- "name": "loan",
917
- "writable": true
918
- },
919
- {
920
- "name": "borrowerCollateralTa",
921
- "writable": true
922
- },
923
- {
924
- "name": "loanCollateralTa",
925
- "writable": true
926
- },
927
- {
928
- "name": "depositMint"
929
- },
930
- {
931
- "name": "assetIdentifier"
932
- },
933
- {
934
- "name": "tokenProgram"
935
- },
936
- {
937
- "name": "associatedTokenProgram",
938
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
939
- },
940
- {
941
- "name": "protocolAdminState"
942
- },
943
- {
944
- "name": "eventAuthority"
945
- }
946
- ],
947
- "args": [
948
- {
949
- "name": "params",
950
- "type": {
951
- "defined": {
952
- "name": "depositCollateralParams"
953
- }
954
- }
955
- }
956
- ]
957
- },
958
- {
959
- "name": "depositStrategy",
960
- "docs": [
961
- "Deposit principal liquidity into a Loopscale lender strategy.",
962
- "",
963
- "- Permission: `LendingPermissions::DepositStrategy`.",
964
- "- Policy:",
965
- "- `principal_mint` must be present in `LendingPolicy::principal_allowlist`.",
966
- "- If `market_information` has a `LendingPolicy::market_policies` entry,",
967
- "advanced per-market lending limits are enforced."
968
- ],
969
- "discriminator": [
970
- 246,
971
- 82,
972
- 57,
973
- 226,
974
- 131,
975
- 222,
976
- 253,
977
- 249
978
- ],
979
- "accounts": [
980
- {
981
- "name": "glamState",
982
- "writable": true
983
- },
984
- {
985
- "name": "glamVault",
986
- "writable": true,
987
- "pda": {
988
- "seeds": [
989
- {
990
- "kind": "const",
991
- "value": [
992
- 118,
993
- 97,
994
- 117,
995
- 108,
996
- 116
997
- ]
998
- },
999
- {
1000
- "kind": "account",
1001
- "path": "glamState"
1002
- }
1003
- ],
1004
- "program": {
1005
- "kind": "account",
1006
- "path": "glamProtocolProgram"
1007
- }
1008
- }
1009
- },
1010
- {
1011
- "name": "glamSigner",
1012
- "writable": true,
1013
- "signer": true
1014
- },
1015
- {
1016
- "name": "integrationAuthority",
1017
- "pda": {
1018
- "seeds": [
1019
- {
1020
- "kind": "const",
1021
- "value": [
1022
- 105,
1023
- 110,
1024
- 116,
1025
- 101,
1026
- 103,
1027
- 114,
1028
- 97,
1029
- 116,
1030
- 105,
1031
- 111,
1032
- 110,
1033
- 45,
1034
- 97,
1035
- 117,
1036
- 116,
1037
- 104,
1038
- 111,
1039
- 114,
1040
- 105,
1041
- 116,
1042
- 121
1043
- ]
1044
- }
1045
- ]
1046
- }
1047
- },
1048
- {
1049
- "name": "cpiProgram",
1050
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1051
- },
1052
- {
1053
- "name": "glamProtocolProgram",
1054
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1055
- },
1056
- {
1057
- "name": "systemProgram",
1058
- "address": "11111111111111111111111111111111"
1059
- },
1060
- {
1061
- "name": "bsAuth",
1062
- "signer": true
1063
- },
1064
- {
1065
- "name": "strategy",
1066
- "writable": true
1067
- },
1068
- {
1069
- "name": "principalMint"
1070
- },
1071
- {
1072
- "name": "marketInformation"
1073
- },
1074
- {
1075
- "name": "lenderTa",
1076
- "writable": true
1077
- },
1078
- {
1079
- "name": "strategyTa",
1080
- "writable": true
1081
- },
1082
- {
1083
- "name": "tokenProgram"
1084
- },
1085
- {
1086
- "name": "associatedTokenProgram",
1087
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1088
- },
1089
- {
1090
- "name": "protocolAdminState"
1091
- },
1092
- {
1093
- "name": "eventAuthority"
1094
- }
1095
- ],
1096
- "args": [
1097
- {
1098
- "name": "amount",
1099
- "type": "u64"
1100
- }
1101
- ]
1102
- },
1103
- {
1104
- "name": "depositUserVault",
1105
- "docs": [
1106
- "Deposit principal into a Loopscale user vault and receive Token-2022 LP tokens.",
1107
- "",
1108
- "- Permission: `VaultPermissions::DepositUserVault`.",
1109
- "- Policy: `vault` must be present in `VaultPolicy::vault_allowlist`."
1110
- ],
1111
- "discriminator": [
1112
- 204,
1113
- 190,
1114
- 182,
1115
- 224,
1116
- 15,
1117
- 219,
1118
- 247,
1119
- 121
1120
- ],
1121
- "accounts": [
1122
- {
1123
- "name": "glamState",
1124
- "writable": true
1125
- },
1126
- {
1127
- "name": "glamVault",
1128
- "writable": true,
1129
- "pda": {
1130
- "seeds": [
1131
- {
1132
- "kind": "const",
1133
- "value": [
1134
- 118,
1135
- 97,
1136
- 117,
1137
- 108,
1138
- 116
1139
- ]
1140
- },
1141
- {
1142
- "kind": "account",
1143
- "path": "glamState"
1144
- }
1145
- ],
1146
- "program": {
1147
- "kind": "account",
1148
- "path": "glamProtocolProgram"
1149
- }
1150
- }
1151
- },
1152
- {
1153
- "name": "glamSigner",
1154
- "writable": true,
1155
- "signer": true
1156
- },
1157
- {
1158
- "name": "integrationAuthority",
1159
- "pda": {
1160
- "seeds": [
1161
- {
1162
- "kind": "const",
1163
- "value": [
1164
- 105,
1165
- 110,
1166
- 116,
1167
- 101,
1168
- 103,
1169
- 114,
1170
- 97,
1171
- 116,
1172
- 105,
1173
- 111,
1174
- 110,
1175
- 45,
1176
- 97,
1177
- 117,
1178
- 116,
1179
- 104,
1180
- 111,
1181
- 114,
1182
- 105,
1183
- 116,
1184
- 121
1185
- ]
1186
- }
1187
- ]
1188
- }
1189
- },
1190
- {
1191
- "name": "cpiProgram",
1192
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1193
- },
1194
- {
1195
- "name": "glamProtocolProgram",
1196
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1197
- },
1198
- {
1199
- "name": "systemProgram",
1200
- "address": "11111111111111111111111111111111"
1201
- },
1202
- {
1203
- "name": "bsAuth",
1204
- "signer": true
1205
- },
1206
- {
1207
- "name": "vault",
1208
- "writable": true
1209
- },
1210
- {
1211
- "name": "strategy",
1212
- "writable": true
1213
- },
1214
- {
1215
- "name": "marketInformation"
1216
- },
1217
- {
1218
- "name": "lpMint",
1219
- "writable": true
1220
- },
1221
- {
1222
- "name": "userLpTa",
1223
- "writable": true
1224
- },
1225
- {
1226
- "name": "userPrincipalTa",
1227
- "writable": true
1228
- },
1229
- {
1230
- "name": "strategyPrincipalTa",
1231
- "writable": true
1232
- },
1233
- {
1234
- "name": "principalMint"
1235
- },
1236
- {
1237
- "name": "principalTokenProgram"
1238
- },
1239
- {
1240
- "name": "token2022Program",
1241
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
1242
- },
1243
- {
1244
- "name": "associatedTokenProgram",
1245
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1246
- },
1247
- {
1248
- "name": "protocolAdminState"
1249
- },
1250
- {
1251
- "name": "eventAuthority"
1252
- }
1253
- ],
1254
- "args": [
1255
- {
1256
- "name": "params",
1257
- "type": {
1258
- "defined": {
1259
- "name": "lpParams"
1260
- }
1261
- }
1262
- }
1263
- ]
1264
- },
1265
- {
1266
- "name": "repayPrincipal",
1267
- "docs": [
1268
- "Repay principal on a Loopscale loan.",
1269
- "",
1270
- "- Permission: `BorrowPermissions::RepayPrincipal`."
1271
- ],
1272
- "discriminator": [
1273
- 229,
1274
- 67,
1275
- 83,
1276
- 65,
1277
- 77,
1278
- 84,
1279
- 80,
1280
- 141
1281
- ],
1282
- "accounts": [
1283
- {
1284
- "name": "glamState",
1285
- "writable": true
1286
- },
1287
- {
1288
- "name": "glamVault",
1289
- "writable": true,
1290
- "pda": {
1291
- "seeds": [
1292
- {
1293
- "kind": "const",
1294
- "value": [
1295
- 118,
1296
- 97,
1297
- 117,
1298
- 108,
1299
- 116
1300
- ]
1301
- },
1302
- {
1303
- "kind": "account",
1304
- "path": "glamState"
1305
- }
1306
- ],
1307
- "program": {
1308
- "kind": "account",
1309
- "path": "glamProtocolProgram"
1310
- }
1311
- }
1312
- },
1313
- {
1314
- "name": "glamSigner",
1315
- "writable": true,
1316
- "signer": true
1317
- },
1318
- {
1319
- "name": "integrationAuthority",
1320
- "pda": {
1321
- "seeds": [
1322
- {
1323
- "kind": "const",
1324
- "value": [
1325
- 105,
1326
- 110,
1327
- 116,
1328
- 101,
1329
- 103,
1330
- 114,
1331
- 97,
1332
- 116,
1333
- 105,
1334
- 111,
1335
- 110,
1336
- 45,
1337
- 97,
1338
- 117,
1339
- 116,
1340
- 104,
1341
- 111,
1342
- 114,
1343
- 105,
1344
- 116,
1345
- 121
1346
- ]
1347
- }
1348
- ]
1349
- }
1350
- },
1351
- {
1352
- "name": "cpiProgram",
1353
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1354
- },
1355
- {
1356
- "name": "glamProtocolProgram",
1357
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1358
- },
1359
- {
1360
- "name": "systemProgram",
1361
- "address": "11111111111111111111111111111111"
1362
- },
1363
- {
1364
- "name": "bsAuth",
1365
- "signer": true
1366
- },
1367
- {
1368
- "name": "loan",
1369
- "writable": true
1370
- },
1371
- {
1372
- "name": "strategy",
1373
- "writable": true
1374
- },
1375
- {
1376
- "name": "marketInformation",
1377
- "writable": true
1378
- },
1379
- {
1380
- "name": "principalMint"
1381
- },
1382
- {
1383
- "name": "borrowerTa",
1384
- "writable": true
1385
- },
1386
- {
1387
- "name": "strategyTa",
1388
- "writable": true
1389
- },
1390
- {
1391
- "name": "associatedTokenProgram",
1392
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1393
- },
1394
- {
1395
- "name": "tokenProgram"
1396
- },
1397
- {
1398
- "name": "protocolAdminState"
1399
- },
1400
- {
1401
- "name": "eventAuthority"
1402
- }
1403
- ],
1404
- "args": [
1405
- {
1406
- "name": "params",
1407
- "type": {
1408
- "defined": {
1409
- "name": "repayPrincipalParams"
1410
- }
1411
- }
1412
- }
1413
- ]
1414
- },
1415
- {
1416
- "name": "sellLedger",
1417
- "docs": [
1418
- "Sell a loan ledger from one strategy to another.",
1419
- "",
1420
- "- Permission: `LendingPermissions::SellLedger`.",
1421
- "- Policy:",
1422
- "- `principal_mint` must be present in `LendingPolicy::principal_allowlist`.",
1423
- "- If the new strategy market account has a `LendingPolicy::market_policies` entry,",
1424
- "advanced exposure limits are enforced."
1425
- ],
1426
- "discriminator": [
1427
- 55,
1428
- 17,
1429
- 153,
1430
- 148,
1431
- 120,
1432
- 242,
1433
- 80,
1434
- 5
1435
- ],
1436
- "accounts": [
1437
- {
1438
- "name": "glamState",
1439
- "writable": true
1440
- },
1441
- {
1442
- "name": "glamVault",
1443
- "writable": true,
1444
- "pda": {
1445
- "seeds": [
1446
- {
1447
- "kind": "const",
1448
- "value": [
1449
- 118,
1450
- 97,
1451
- 117,
1452
- 108,
1453
- 116
1454
- ]
1455
- },
1456
- {
1457
- "kind": "account",
1458
- "path": "glamState"
1459
- }
1460
- ],
1461
- "program": {
1462
- "kind": "account",
1463
- "path": "glamProtocolProgram"
1464
- }
1465
- }
1466
- },
1467
- {
1468
- "name": "glamSigner",
1469
- "writable": true,
1470
- "signer": true
1471
- },
1472
- {
1473
- "name": "integrationAuthority",
1474
- "pda": {
1475
- "seeds": [
1476
- {
1477
- "kind": "const",
1478
- "value": [
1479
- 105,
1480
- 110,
1481
- 116,
1482
- 101,
1483
- 103,
1484
- 114,
1485
- 97,
1486
- 116,
1487
- 105,
1488
- 111,
1489
- 110,
1490
- 45,
1491
- 97,
1492
- 117,
1493
- 116,
1494
- 104,
1495
- 111,
1496
- 114,
1497
- 105,
1498
- 116,
1499
- 121
1500
- ]
1501
- }
1502
- ]
1503
- }
1504
- },
1505
- {
1506
- "name": "cpiProgram",
1507
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1508
- },
1509
- {
1510
- "name": "glamProtocolProgram",
1511
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1512
- },
1513
- {
1514
- "name": "systemProgram",
1515
- "address": "11111111111111111111111111111111"
1516
- },
1517
- {
1518
- "name": "bsAuth",
1519
- "signer": true
1520
- },
1521
- {
1522
- "name": "loan",
1523
- "writable": true
1524
- },
1525
- {
1526
- "name": "newStrategyTa",
1527
- "writable": true
1528
- },
1529
- {
1530
- "name": "lenderAuthTa",
1531
- "writable": true
1532
- },
1533
- {
1534
- "name": "oldStrategy",
1535
- "writable": true
1536
- },
1537
- {
1538
- "name": "newStrategy",
1539
- "writable": true
1540
- },
1541
- {
1542
- "name": "oldStrategyMarketInformation",
1543
- "writable": true
1544
- },
1545
- {
1546
- "name": "newStrategyMarketInformation",
1547
- "writable": true
1548
- },
1549
- {
1550
- "name": "principalMint"
1551
- },
1552
- {
1553
- "name": "tokenProgram"
1554
- },
1555
- {
1556
- "name": "associatedTokenProgram",
1557
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1558
- },
1559
- {
1560
- "name": "userVault"
1561
- },
1562
- {
1563
- "name": "oldStrategyTa"
1564
- },
1565
- {
1566
- "name": "protocolAdminState"
1567
- },
1568
- {
1569
- "name": "eventAuthority"
1570
- }
1571
- ],
1572
- "args": [
1573
- {
1574
- "name": "params",
1575
- "type": {
1576
- "defined": {
1577
- "name": "sellLedgerParams"
1578
- }
1579
- }
1580
- }
1581
- ]
1582
- },
1583
- {
1584
- "name": "setBorrowPolicy",
1585
- "docs": [
1586
- "Set the Loopscale borrow policy (collateral allowlist and market policies).",
1587
- "",
1588
- "- Permission: `BorrowPermissions::SetPolicy`."
1589
- ],
1590
- "discriminator": [
1591
- 199,
1592
- 94,
1593
- 106,
1594
- 205,
1595
- 150,
1596
- 227,
1597
- 206,
1598
- 68
1599
- ],
1600
- "accounts": [
1601
- {
1602
- "name": "glamState",
1603
- "writable": true
1604
- },
1605
- {
1606
- "name": "glamSigner",
1607
- "writable": true,
1608
- "signer": true
1609
- },
1610
- {
1611
- "name": "glamProtocolProgram",
1612
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1613
- },
1614
- {
1615
- "name": "integrationProgram",
1616
- "address": "gstgL6y4uWjsfM3Qjs5euoTDmEcXoUjqx8rkYJhYngG"
1617
- },
1618
- {
1619
- "name": "integrationAuthority",
1620
- "pda": {
1621
- "seeds": [
1622
- {
1623
- "kind": "const",
1624
- "value": [
1625
- 105,
1626
- 110,
1627
- 116,
1628
- 101,
1629
- 103,
1630
- 114,
1631
- 97,
1632
- 116,
1633
- 105,
1634
- 111,
1635
- 110,
1636
- 45,
1637
- 97,
1638
- 117,
1639
- 116,
1640
- 104,
1641
- 111,
1642
- 114,
1643
- 105,
1644
- 116,
1645
- 121
1646
- ]
1647
- }
1648
- ]
1649
- }
1650
- }
1651
- ],
1652
- "args": [
1653
- {
1654
- "name": "policy",
1655
- "type": {
1656
- "defined": {
1657
- "name": "borrowPolicy"
1658
- }
1659
- }
1660
- }
1661
- ]
1662
- },
1663
- {
1664
- "name": "setLendingPolicy",
1665
- "docs": [
1666
- "Set the Loopscale lending policy (allowlists, market policies, and sell-ledger limits).",
1667
- "",
1668
- "- Permission: `LendingPermissions::SetPolicy`."
1669
- ],
1670
- "discriminator": [
1671
- 226,
1672
- 185,
1673
- 23,
1674
- 3,
1675
- 113,
1676
- 88,
1677
- 118,
1678
- 176
1679
- ],
1680
- "accounts": [
1681
- {
1682
- "name": "glamState",
1683
- "writable": true
1684
- },
1685
- {
1686
- "name": "glamSigner",
1687
- "writable": true,
1688
- "signer": true
1689
- },
1690
- {
1691
- "name": "glamProtocolProgram",
1692
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1693
- },
1694
- {
1695
- "name": "integrationProgram",
1696
- "address": "gstgL6y4uWjsfM3Qjs5euoTDmEcXoUjqx8rkYJhYngG"
1697
- },
1698
- {
1699
- "name": "integrationAuthority",
1700
- "pda": {
1701
- "seeds": [
1702
- {
1703
- "kind": "const",
1704
- "value": [
1705
- 105,
1706
- 110,
1707
- 116,
1708
- 101,
1709
- 103,
1710
- 114,
1711
- 97,
1712
- 116,
1713
- 105,
1714
- 111,
1715
- 110,
1716
- 45,
1717
- 97,
1718
- 117,
1719
- 116,
1720
- 104,
1721
- 111,
1722
- 114,
1723
- 105,
1724
- 116,
1725
- 121
1726
- ]
1727
- }
1728
- ]
1729
- }
1730
- }
1731
- ],
1732
- "args": [
1733
- {
1734
- "name": "policy",
1735
- "type": {
1736
- "defined": {
1737
- "name": "lendingPolicy"
1738
- }
1739
- }
1740
- }
1741
- ]
1742
- },
1743
- {
1744
- "name": "setVaultPolicy",
1745
- "docs": [
1746
- "Set the Loopscale vault policy (vault allowlist).",
1747
- "",
1748
- "- Permission: `VaultPermissions::SetPolicy`."
1749
- ],
1750
- "discriminator": [
1751
- 184,
1752
- 31,
1753
- 142,
1754
- 18,
1755
- 106,
1756
- 143,
1757
- 184,
1758
- 158
1759
- ],
1760
- "accounts": [
1761
- {
1762
- "name": "glamState",
1763
- "writable": true
1764
- },
1765
- {
1766
- "name": "glamSigner",
1767
- "writable": true,
1768
- "signer": true
1769
- },
1770
- {
1771
- "name": "glamProtocolProgram",
1772
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1773
- },
1774
- {
1775
- "name": "integrationProgram",
1776
- "address": "gstgL6y4uWjsfM3Qjs5euoTDmEcXoUjqx8rkYJhYngG"
1777
- },
1778
- {
1779
- "name": "integrationAuthority",
1780
- "pda": {
1781
- "seeds": [
1782
- {
1783
- "kind": "const",
1784
- "value": [
1785
- 105,
1786
- 110,
1787
- 116,
1788
- 101,
1789
- 103,
1790
- 114,
1791
- 97,
1792
- 116,
1793
- 105,
1794
- 111,
1795
- 110,
1796
- 45,
1797
- 97,
1798
- 117,
1799
- 116,
1800
- 104,
1801
- 111,
1802
- 114,
1803
- 105,
1804
- 116,
1805
- 121
1806
- ]
1807
- }
1808
- ]
1809
- }
1810
- }
1811
- ],
1812
- "args": [
1813
- {
1814
- "name": "policy",
1815
- "type": {
1816
- "defined": {
1817
- "name": "vaultPolicy"
1818
- }
1819
- }
1820
- }
1821
- ]
1822
- },
1823
- {
1824
- "name": "stakeUserVaultLp",
1825
- "docs": [
1826
- "Stake Loopscale user vault LP tokens into a VaultStake account.",
1827
- "",
1828
- "- Permission: `VaultPermissions::StakeUserVaultLp`.",
1829
- "- Policy: `vault` must be present in `VaultPolicy::vault_allowlist`."
1830
- ],
1831
- "discriminator": [
1832
- 114,
1833
- 132,
1834
- 194,
1835
- 209,
1836
- 208,
1837
- 149,
1838
- 43,
1839
- 136
1840
- ],
1841
- "accounts": [
1842
- {
1843
- "name": "glamState",
1844
- "writable": true
1845
- },
1846
- {
1847
- "name": "glamVault",
1848
- "writable": true,
1849
- "pda": {
1850
- "seeds": [
1851
- {
1852
- "kind": "const",
1853
- "value": [
1854
- 118,
1855
- 97,
1856
- 117,
1857
- 108,
1858
- 116
1859
- ]
1860
- },
1861
- {
1862
- "kind": "account",
1863
- "path": "glamState"
1864
- }
1865
- ],
1866
- "program": {
1867
- "kind": "account",
1868
- "path": "glamProtocolProgram"
1869
- }
1870
- }
1871
- },
1872
- {
1873
- "name": "glamSigner",
1874
- "writable": true,
1875
- "signer": true
1876
- },
1877
- {
1878
- "name": "integrationAuthority",
1879
- "pda": {
1880
- "seeds": [
1881
- {
1882
- "kind": "const",
1883
- "value": [
1884
- 105,
1885
- 110,
1886
- 116,
1887
- 101,
1888
- 103,
1889
- 114,
1890
- 97,
1891
- 116,
1892
- 105,
1893
- 111,
1894
- 110,
1895
- 45,
1896
- 97,
1897
- 117,
1898
- 116,
1899
- 104,
1900
- 111,
1901
- 114,
1902
- 105,
1903
- 116,
1904
- 121
1905
- ]
1906
- }
1907
- ]
1908
- }
1909
- },
1910
- {
1911
- "name": "cpiProgram",
1912
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
1913
- },
1914
- {
1915
- "name": "glamProtocolProgram",
1916
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
1917
- },
1918
- {
1919
- "name": "systemProgram",
1920
- "address": "11111111111111111111111111111111"
1921
- },
1922
- {
1923
- "name": "bsAuth",
1924
- "signer": true
1925
- },
1926
- {
1927
- "name": "nonce",
1928
- "signer": true
1929
- },
1930
- {
1931
- "name": "vault",
1932
- "writable": true
1933
- },
1934
- {
1935
- "name": "vaultStake",
1936
- "writable": true
1937
- },
1938
- {
1939
- "name": "lpMint"
1940
- },
1941
- {
1942
- "name": "userLpTa",
1943
- "writable": true
1944
- },
1945
- {
1946
- "name": "vaultStakeLpTa",
1947
- "writable": true
1948
- },
1949
- {
1950
- "name": "vaultRewardsInfo",
1951
- "writable": true
1952
- },
1953
- {
1954
- "name": "userRewardsInfo",
1955
- "writable": true
1956
- },
1957
- {
1958
- "name": "tokenProgram",
1959
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
1960
- },
1961
- {
1962
- "name": "associatedTokenProgram",
1963
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1964
- },
1965
- {
1966
- "name": "protocolAdminState"
1967
- },
1968
- {
1969
- "name": "eventAuthority"
1970
- }
1971
- ],
1972
- "args": [
1973
- {
1974
- "name": "params",
1975
- "type": {
1976
- "defined": {
1977
- "name": "vaultStakeParams"
1978
- }
1979
- }
1980
- }
1981
- ]
1982
- },
1983
- {
1984
- "name": "unstakeUserVaultLp",
1985
- "docs": [
1986
- "Unstake Loopscale user vault LP tokens from a VaultStake account.",
1987
- "",
1988
- "- Permission: `VaultPermissions::UnstakeUserVaultLp`.",
1989
- "- Policy: `vault` must be present in `VaultPolicy::vault_allowlist`."
1990
- ],
1991
- "discriminator": [
1992
- 83,
1993
- 78,
1994
- 230,
1995
- 123,
1996
- 226,
1997
- 40,
1998
- 158,
1999
- 97
2000
- ],
2001
- "accounts": [
2002
- {
2003
- "name": "glamState",
2004
- "writable": true
2005
- },
2006
- {
2007
- "name": "glamVault",
2008
- "writable": true,
2009
- "pda": {
2010
- "seeds": [
2011
- {
2012
- "kind": "const",
2013
- "value": [
2014
- 118,
2015
- 97,
2016
- 117,
2017
- 108,
2018
- 116
2019
- ]
2020
- },
2021
- {
2022
- "kind": "account",
2023
- "path": "glamState"
2024
- }
2025
- ],
2026
- "program": {
2027
- "kind": "account",
2028
- "path": "glamProtocolProgram"
2029
- }
2030
- }
2031
- },
2032
- {
2033
- "name": "glamSigner",
2034
- "writable": true,
2035
- "signer": true
2036
- },
2037
- {
2038
- "name": "integrationAuthority",
2039
- "pda": {
2040
- "seeds": [
2041
- {
2042
- "kind": "const",
2043
- "value": [
2044
- 105,
2045
- 110,
2046
- 116,
2047
- 101,
2048
- 103,
2049
- 114,
2050
- 97,
2051
- 116,
2052
- 105,
2053
- 111,
2054
- 110,
2055
- 45,
2056
- 97,
2057
- 117,
2058
- 116,
2059
- 104,
2060
- 111,
2061
- 114,
2062
- 105,
2063
- 116,
2064
- 121
2065
- ]
2066
- }
2067
- ]
2068
- }
2069
- },
2070
- {
2071
- "name": "cpiProgram",
2072
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2073
- },
2074
- {
2075
- "name": "glamProtocolProgram",
2076
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
2077
- },
2078
- {
2079
- "name": "systemProgram",
2080
- "address": "11111111111111111111111111111111"
2081
- },
2082
- {
2083
- "name": "bsAuth",
2084
- "signer": true
2085
- },
2086
- {
2087
- "name": "vault",
2088
- "writable": true
2089
- },
2090
- {
2091
- "name": "lpMint",
2092
- "writable": true
2093
- },
2094
- {
2095
- "name": "vaultStake",
2096
- "writable": true
2097
- },
2098
- {
2099
- "name": "userLpTa",
2100
- "writable": true
2101
- },
2102
- {
2103
- "name": "vaultStakeLpTa",
2104
- "writable": true
2105
- },
2106
- {
2107
- "name": "vaultRewardsInfo",
2108
- "writable": true
2109
- },
2110
- {
2111
- "name": "userRewardsInfo",
2112
- "writable": true
2113
- },
2114
- {
2115
- "name": "tokenProgram",
2116
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
2117
- },
2118
- {
2119
- "name": "associatedTokenProgram",
2120
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
2121
- },
2122
- {
2123
- "name": "protocolAdminState"
2124
- },
2125
- {
2126
- "name": "eventAuthority"
2127
- }
2128
- ],
2129
- "args": [
2130
- {
2131
- "name": "params",
2132
- "type": {
2133
- "defined": {
2134
- "name": "vaultUnstakeParams"
2135
- }
2136
- }
2137
- }
2138
- ]
2139
- },
2140
- {
2141
- "name": "updateStrategy",
2142
- "docs": [
2143
- "Update a Loopscale lender strategy's terms, caps, and collateral terms.",
2144
- "",
2145
- "- Permission: `LendingPermissions::UpdateStrategy`.",
2146
- "- Policy:",
2147
- "- The strategy market account must be passed as the first remaining account.",
2148
- "- `principal_mint` must be present in `LendingPolicy::principal_allowlist`.",
2149
- "- Collateral term asset identifiers must be present in",
2150
- "`LendingPolicy::collateral_allowlist`.",
2151
- "- If the strategy market account has a `LendingPolicy::market_policies` entry,",
2152
- "advanced per-market lending limits are enforced."
2153
- ],
2154
- "discriminator": [
2155
- 16,
2156
- 76,
2157
- 138,
2158
- 179,
2159
- 171,
2160
- 112,
2161
- 196,
2162
- 21
2163
- ],
2164
- "accounts": [
2165
- {
2166
- "name": "glamState",
2167
- "writable": true
2168
- },
2169
- {
2170
- "name": "glamVault",
2171
- "writable": true,
2172
- "pda": {
2173
- "seeds": [
2174
- {
2175
- "kind": "const",
2176
- "value": [
2177
- 118,
2178
- 97,
2179
- 117,
2180
- 108,
2181
- 116
2182
- ]
2183
- },
2184
- {
2185
- "kind": "account",
2186
- "path": "glamState"
2187
- }
2188
- ],
2189
- "program": {
2190
- "kind": "account",
2191
- "path": "glamProtocolProgram"
2192
- }
2193
- }
2194
- },
2195
- {
2196
- "name": "glamSigner",
2197
- "writable": true,
2198
- "signer": true
2199
- },
2200
- {
2201
- "name": "integrationAuthority",
2202
- "pda": {
2203
- "seeds": [
2204
- {
2205
- "kind": "const",
2206
- "value": [
2207
- 105,
2208
- 110,
2209
- 116,
2210
- 101,
2211
- 103,
2212
- 114,
2213
- 97,
2214
- 116,
2215
- 105,
2216
- 111,
2217
- 110,
2218
- 45,
2219
- 97,
2220
- 117,
2221
- 116,
2222
- 104,
2223
- 111,
2224
- 114,
2225
- 105,
2226
- 116,
2227
- 121
2228
- ]
2229
- }
2230
- ]
2231
- }
2232
- },
2233
- {
2234
- "name": "cpiProgram",
2235
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2236
- },
2237
- {
2238
- "name": "glamProtocolProgram",
2239
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
2240
- },
2241
- {
2242
- "name": "systemProgram",
2243
- "address": "11111111111111111111111111111111"
2244
- },
2245
- {
2246
- "name": "bsAuth",
2247
- "signer": true
2248
- },
2249
- {
2250
- "name": "strategy",
2251
- "writable": true
2252
- },
2253
- {
2254
- "name": "principalMint"
2255
- },
2256
- {
2257
- "name": "strategyTa",
2258
- "writable": true
2259
- },
2260
- {
2261
- "name": "associatedTokenProgram",
2262
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
2263
- },
2264
- {
2265
- "name": "tokenProgram"
2266
- },
2267
- {
2268
- "name": "protocolAdminState"
2269
- },
2270
- {
2271
- "name": "eventAuthority"
2272
- }
2273
- ],
2274
- "args": [
2275
- {
2276
- "name": "collateralTerms",
2277
- "type": {
2278
- "vec": {
2279
- "defined": {
2280
- "name": "multiCollateralTermsUpdateParams"
2281
- }
2282
- }
2283
- }
2284
- },
2285
- {
2286
- "name": "params",
2287
- "type": {
2288
- "option": {
2289
- "defined": {
2290
- "name": "updateStrategyParams"
2291
- }
2292
- }
2293
- }
2294
- }
2295
- ]
2296
- },
2297
- {
2298
- "name": "updateWeightMatrix",
2299
- "docs": [
2300
- "Update the collateral weight matrix on a loan.",
2301
- "",
2302
- "- Permission: `BorrowPermissions::UpdateLoan`."
2303
- ],
2304
- "discriminator": [
2305
- 252,
2306
- 166,
2307
- 37,
2308
- 207,
2309
- 154,
2310
- 83,
2311
- 187,
2312
- 128
2313
- ],
2314
- "accounts": [
2315
- {
2316
- "name": "glamState",
2317
- "writable": true
2318
- },
2319
- {
2320
- "name": "glamVault",
2321
- "writable": true,
2322
- "pda": {
2323
- "seeds": [
2324
- {
2325
- "kind": "const",
2326
- "value": [
2327
- 118,
2328
- 97,
2329
- 117,
2330
- 108,
2331
- 116
2332
- ]
2333
- },
2334
- {
2335
- "kind": "account",
2336
- "path": "glamState"
2337
- }
2338
- ],
2339
- "program": {
2340
- "kind": "account",
2341
- "path": "glamProtocolProgram"
2342
- }
2343
- }
2344
- },
2345
- {
2346
- "name": "glamSigner",
2347
- "writable": true,
2348
- "signer": true
2349
- },
2350
- {
2351
- "name": "integrationAuthority",
2352
- "pda": {
2353
- "seeds": [
2354
- {
2355
- "kind": "const",
2356
- "value": [
2357
- 105,
2358
- 110,
2359
- 116,
2360
- 101,
2361
- 103,
2362
- 114,
2363
- 97,
2364
- 116,
2365
- 105,
2366
- 111,
2367
- 110,
2368
- 45,
2369
- 97,
2370
- 117,
2371
- 116,
2372
- 104,
2373
- 111,
2374
- 114,
2375
- 105,
2376
- 116,
2377
- 121
2378
- ]
2379
- }
2380
- ]
2381
- }
2382
- },
2383
- {
2384
- "name": "cpiProgram",
2385
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2386
- },
2387
- {
2388
- "name": "glamProtocolProgram",
2389
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
2390
- },
2391
- {
2392
- "name": "systemProgram",
2393
- "address": "11111111111111111111111111111111"
2394
- },
2395
- {
2396
- "name": "bsAuth",
2397
- "signer": true
2398
- },
2399
- {
2400
- "name": "loan",
2401
- "writable": true
2402
- },
2403
- {
2404
- "name": "protocolAdminState"
2405
- }
2406
- ],
2407
- "args": [
2408
- {
2409
- "name": "params",
2410
- "type": {
2411
- "defined": {
2412
- "name": "updateWeightMatrixParams"
2413
- }
2414
- }
2415
- }
2416
- ]
2417
- },
2418
- {
2419
- "name": "withdrawCollateral",
2420
- "docs": [
2421
- "Withdraw collateral from a Loopscale loan.",
2422
- "",
2423
- "- Permission: `BorrowPermissions::WithdrawCollateral`."
2424
- ],
2425
- "discriminator": [
2426
- 115,
2427
- 135,
2428
- 168,
2429
- 106,
2430
- 139,
2431
- 214,
2432
- 138,
2433
- 150
2434
- ],
2435
- "accounts": [
2436
- {
2437
- "name": "glamState",
2438
- "writable": true
2439
- },
2440
- {
2441
- "name": "glamVault",
2442
- "writable": true,
2443
- "pda": {
2444
- "seeds": [
2445
- {
2446
- "kind": "const",
2447
- "value": [
2448
- 118,
2449
- 97,
2450
- 117,
2451
- 108,
2452
- 116
2453
- ]
2454
- },
2455
- {
2456
- "kind": "account",
2457
- "path": "glamState"
2458
- }
2459
- ],
2460
- "program": {
2461
- "kind": "account",
2462
- "path": "glamProtocolProgram"
2463
- }
2464
- }
2465
- },
2466
- {
2467
- "name": "glamSigner",
2468
- "writable": true,
2469
- "signer": true
2470
- },
2471
- {
2472
- "name": "integrationAuthority",
2473
- "pda": {
2474
- "seeds": [
2475
- {
2476
- "kind": "const",
2477
- "value": [
2478
- 105,
2479
- 110,
2480
- 116,
2481
- 101,
2482
- 103,
2483
- 114,
2484
- 97,
2485
- 116,
2486
- 105,
2487
- 111,
2488
- 110,
2489
- 45,
2490
- 97,
2491
- 117,
2492
- 116,
2493
- 104,
2494
- 111,
2495
- 114,
2496
- 105,
2497
- 116,
2498
- 121
2499
- ]
2500
- }
2501
- ]
2502
- }
2503
- },
2504
- {
2505
- "name": "cpiProgram",
2506
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2507
- },
2508
- {
2509
- "name": "glamProtocolProgram",
2510
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
2511
- },
2512
- {
2513
- "name": "systemProgram",
2514
- "address": "11111111111111111111111111111111"
2515
- },
2516
- {
2517
- "name": "bsAuth",
2518
- "signer": true
2519
- },
2520
- {
2521
- "name": "loan",
2522
- "writable": true
2523
- },
2524
- {
2525
- "name": "borrowerTa",
2526
- "writable": true
2527
- },
2528
- {
2529
- "name": "loanTa",
2530
- "writable": true
2531
- },
2532
- {
2533
- "name": "assetMint"
2534
- },
2535
- {
2536
- "name": "tokenProgram"
2537
- },
2538
- {
2539
- "name": "associatedTokenProgram",
2540
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
2541
- },
2542
- {
2543
- "name": "protocolAdminState"
2544
- },
2545
- {
2546
- "name": "eventAuthority"
2547
- }
2548
- ],
2549
- "args": [
2550
- {
2551
- "name": "params",
2552
- "type": {
2553
- "defined": {
2554
- "name": "withdrawCollateralParams"
2555
- }
2556
- }
2557
- }
2558
- ]
2559
- },
2560
- {
2561
- "name": "withdrawStrategy",
2562
- "docs": [
2563
- "Withdraw undeployed principal from a Loopscale lender strategy.",
2564
- "",
2565
- "- Permission: `LendingPermissions::WithdrawStrategy`."
2566
- ],
2567
- "discriminator": [
2568
- 31,
2569
- 45,
2570
- 162,
2571
- 5,
2572
- 193,
2573
- 217,
2574
- 134,
2575
- 188
2576
- ],
2577
- "accounts": [
2578
- {
2579
- "name": "glamState",
2580
- "writable": true
2581
- },
2582
- {
2583
- "name": "glamVault",
2584
- "writable": true,
2585
- "pda": {
2586
- "seeds": [
2587
- {
2588
- "kind": "const",
2589
- "value": [
2590
- 118,
2591
- 97,
2592
- 117,
2593
- 108,
2594
- 116
2595
- ]
2596
- },
2597
- {
2598
- "kind": "account",
2599
- "path": "glamState"
2600
- }
2601
- ],
2602
- "program": {
2603
- "kind": "account",
2604
- "path": "glamProtocolProgram"
2605
- }
2606
- }
2607
- },
2608
- {
2609
- "name": "glamSigner",
2610
- "writable": true,
2611
- "signer": true
2612
- },
2613
- {
2614
- "name": "integrationAuthority",
2615
- "pda": {
2616
- "seeds": [
2617
- {
2618
- "kind": "const",
2619
- "value": [
2620
- 105,
2621
- 110,
2622
- 116,
2623
- 101,
2624
- 103,
2625
- 114,
2626
- 97,
2627
- 116,
2628
- 105,
2629
- 111,
2630
- 110,
2631
- 45,
2632
- 97,
2633
- 117,
2634
- 116,
2635
- 104,
2636
- 111,
2637
- 114,
2638
- 105,
2639
- 116,
2640
- 121
2641
- ]
2642
- }
2643
- ]
2644
- }
2645
- },
2646
- {
2647
- "name": "cpiProgram",
2648
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2649
- },
2650
- {
2651
- "name": "glamProtocolProgram",
2652
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
2653
- },
2654
- {
2655
- "name": "systemProgram",
2656
- "address": "11111111111111111111111111111111"
2657
- },
2658
- {
2659
- "name": "bsAuth",
2660
- "signer": true
2661
- },
2662
- {
2663
- "name": "strategy",
2664
- "writable": true
2665
- },
2666
- {
2667
- "name": "principalMint"
2668
- },
2669
- {
2670
- "name": "marketInformation"
2671
- },
2672
- {
2673
- "name": "lenderTa",
2674
- "writable": true
2675
- },
2676
- {
2677
- "name": "strategyTa",
2678
- "writable": true
2679
- },
2680
- {
2681
- "name": "associatedTokenProgram",
2682
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
2683
- },
2684
- {
2685
- "name": "tokenProgram"
2686
- },
2687
- {
2688
- "name": "protocolAdminState"
2689
- },
2690
- {
2691
- "name": "eventAuthority"
2692
- }
2693
- ],
2694
- "args": [
2695
- {
2696
- "name": "amount",
2697
- "type": "u64"
2698
- },
2699
- {
2700
- "name": "withdrawAll",
2701
- "type": "bool"
2702
- }
2703
- ]
2704
- },
2705
- {
2706
- "name": "withdrawUserVault",
2707
- "docs": [
2708
- "Withdraw principal from a Loopscale user vault by burning Token-2022 LP tokens.",
2709
- "",
2710
- "- Permission: `VaultPermissions::WithdrawUserVault`.",
2711
- "- Policy: `vault` must be present in `VaultPolicy::vault_allowlist`."
2712
- ],
2713
- "discriminator": [
2714
- 9,
2715
- 80,
2716
- 134,
2717
- 138,
2718
- 212,
2719
- 20,
2720
- 61,
2721
- 42
2722
- ],
2723
- "accounts": [
2724
- {
2725
- "name": "glamState",
2726
- "writable": true
2727
- },
2728
- {
2729
- "name": "glamVault",
2730
- "writable": true,
2731
- "pda": {
2732
- "seeds": [
2733
- {
2734
- "kind": "const",
2735
- "value": [
2736
- 118,
2737
- 97,
2738
- 117,
2739
- 108,
2740
- 116
2741
- ]
2742
- },
2743
- {
2744
- "kind": "account",
2745
- "path": "glamState"
2746
- }
2747
- ],
2748
- "program": {
2749
- "kind": "account",
2750
- "path": "glamProtocolProgram"
2751
- }
2752
- }
2753
- },
2754
- {
2755
- "name": "glamSigner",
2756
- "writable": true,
2757
- "signer": true
2758
- },
2759
- {
2760
- "name": "integrationAuthority",
2761
- "pda": {
2762
- "seeds": [
2763
- {
2764
- "kind": "const",
2765
- "value": [
2766
- 105,
2767
- 110,
2768
- 116,
2769
- 101,
2770
- 103,
2771
- 114,
2772
- 97,
2773
- 116,
2774
- 105,
2775
- 111,
2776
- 110,
2777
- 45,
2778
- 97,
2779
- 117,
2780
- 116,
2781
- 104,
2782
- 111,
2783
- 114,
2784
- 105,
2785
- 116,
2786
- 121
2787
- ]
2788
- }
2789
- ]
2790
- }
2791
- },
2792
- {
2793
- "name": "cpiProgram",
2794
- "address": "1oopBoJG58DgkUVKkEzKgyG9dvRmpgeEm1AVjoHkF78"
2795
- },
2796
- {
2797
- "name": "glamProtocolProgram",
2798
- "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
2799
- },
2800
- {
2801
- "name": "systemProgram",
2802
- "address": "11111111111111111111111111111111"
2803
- },
2804
- {
2805
- "name": "bsAuth",
2806
- "signer": true
2807
- },
2808
- {
2809
- "name": "vault",
2810
- "writable": true
2811
- },
2812
- {
2813
- "name": "strategy",
2814
- "writable": true
2815
- },
2816
- {
2817
- "name": "marketInformation"
2818
- },
2819
- {
2820
- "name": "lpMint",
2821
- "writable": true
2822
- },
2823
- {
2824
- "name": "userLpTa",
2825
- "writable": true
2826
- },
2827
- {
2828
- "name": "userPrincipalTa",
2829
- "writable": true
2830
- },
2831
- {
2832
- "name": "strategyPrincipalTa",
2833
- "writable": true
2834
- },
2835
- {
2836
- "name": "principalMint"
2837
- },
2838
- {
2839
- "name": "principalTokenProgram"
2840
- },
2841
- {
2842
- "name": "token2022Program",
2843
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
2844
- },
2845
- {
2846
- "name": "associatedTokenProgram",
2847
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
2848
- },
2849
- {
2850
- "name": "protocolAdminState"
2851
- },
2852
- {
2853
- "name": "eventAuthority"
2854
- }
2855
- ],
2856
- "args": [
2857
- {
2858
- "name": "params",
2859
- "type": {
2860
- "defined": {
2861
- "name": "lpParams"
2862
- }
2863
- }
2864
- }
2865
- ]
2866
- }
2867
- ],
2868
- "accounts": [
2869
- {
2870
- "name": "stateAccount",
2871
- "discriminator": [
2872
- 142,
2873
- 247,
2874
- 54,
2875
- 95,
2876
- 85,
2877
- 133,
2878
- 249,
2879
- 103
2880
- ]
2881
- }
2882
- ],
2883
- "errors": [
2884
- {
2885
- "code": 6000,
2886
- "name": "autoCloseLoanNotSupported",
2887
- "msg": "Auto-close loan not supported"
2888
- },
2889
- {
2890
- "code": 6001,
2891
- "name": "invalidVaultTokenAccount",
2892
- "msg": "Vault token account must be the GLAM vault ATA for the expected mint"
2893
- }
2894
- ],
2895
- "types": [
2896
- {
2897
- "name": "accountType",
2898
- "type": {
2899
- "kind": "enum",
2900
- "variants": [
2901
- {
2902
- "name": "vault"
2903
- },
2904
- {
2905
- "name": "tokenizedVault"
2906
- },
2907
- {
2908
- "name": "mint"
2909
- },
2910
- {
2911
- "name": "singleAssetVault"
2912
- }
2913
- ]
2914
- }
2915
- },
2916
- {
2917
- "name": "accruedFees",
2918
- "type": {
2919
- "kind": "struct",
2920
- "fields": [
2921
- {
2922
- "name": "vaultSubscriptionFee",
2923
- "type": "u128"
2924
- },
2925
- {
2926
- "name": "vaultRedemptionFee",
2927
- "type": "u128"
2928
- },
2929
- {
2930
- "name": "managerSubscriptionFee",
2931
- "type": "u128"
2932
- },
2933
- {
2934
- "name": "managerRedemptionFee",
2935
- "type": "u128"
2936
- },
2937
- {
2938
- "name": "managementFee",
2939
- "type": "u128"
2940
- },
2941
- {
2942
- "name": "performanceFee",
2943
- "type": "u128"
2944
- },
2945
- {
2946
- "name": "protocolBaseFee",
2947
- "type": "u128"
2948
- },
2949
- {
2950
- "name": "protocolFlowFee",
2951
- "type": "u128"
2952
- }
2953
- ]
2954
- }
2955
- },
2956
- {
2957
- "name": "borrowMarketPolicy",
2958
- "type": {
2959
- "kind": "struct",
2960
- "fields": [
2961
- {
2962
- "name": "market",
2963
- "docs": [
2964
- "Loopscale market information account this policy applies to."
2965
- ],
2966
- "type": "pubkey"
2967
- },
2968
- {
2969
- "name": "maxBorrowAmount",
2970
- "docs": [
2971
- "Maximum principal amount that may be borrowed in a single instruction.",
2972
- "A value of zero means no per-instruction borrow is allowed for this market."
2973
- ],
2974
- "type": "u64"
2975
- },
2976
- {
2977
- "name": "maxTotalBorrowAmount",
2978
- "docs": [
2979
- "Maximum outstanding principal a single loan may owe in this market.",
2980
- "Enforced per loan (summed over that loan's ledgers in this market), not",
2981
- "aggregated across all of the vault's loans in this market. A value of zero",
2982
- "means no outstanding borrow exposure is allowed for this market."
2983
- ],
2984
- "type": "u64"
2985
- },
2986
- {
2987
- "name": "maxLtvBps",
2988
- "docs": [
2989
- "Maximum expected liquidation LTV threshold, in basis points.",
2990
- "Borrow enforcement compares this to Loopscale's expected LQT values.",
2991
- "A value of zero means no expected liquidation LTV is allowed for this market."
2992
- ],
2993
- "type": "u16"
2994
- },
2995
- {
2996
- "name": "durationIndexesAllowlist",
2997
- "docs": [
2998
- "Duration indexes that may be used when borrowing from this market.",
2999
- "An empty list denies all borrow durations for this market. Index mapping:",
3000
- "- 0 = 1 day",
3001
- "- 1 = 1 week",
3002
- "- 2 = 1 month",
3003
- "- 3 = 3 months",
3004
- "- 4 = 1 year"
3005
- ],
3006
- "type": "bytes"
3007
- }
3008
- ]
3009
- }
3010
- },
3011
- {
3012
- "name": "borrowPolicy",
3013
- "type": {
3014
- "kind": "struct",
3015
- "fields": [
3016
- {
3017
- "name": "collateralAllowlist",
3018
- "docs": [
3019
- "Collateral mints that may be deposited into Loopscale borrow loans."
3020
- ],
3021
- "type": {
3022
- "vec": "pubkey"
3023
- }
3024
- },
3025
- {
3026
- "name": "principalAllowlist",
3027
- "docs": [
3028
- "Principal mints that may be borrowed from Loopscale borrow markets.",
3029
- "An empty list denies all principal borrows."
3030
- ],
3031
- "type": {
3032
- "vec": "pubkey"
3033
- }
3034
- },
3035
- {
3036
- "name": "marketPolicies",
3037
- "docs": [
3038
- "Optional per-market risk limits for borrow operations.",
3039
- "If a market is present here, advanced per-market limits are enforced.",
3040
- "If absent, borrow operations are governed by the top-level allowlists."
3041
- ],
3042
- "type": {
3043
- "vec": {
3044
- "defined": {
3045
- "name": "borrowMarketPolicy"
3046
- }
3047
- }
3048
- }
3049
- }
3050
- ]
3051
- }
3052
- },
3053
- {
3054
- "name": "borrowPrincipalParams",
3055
- "type": {
3056
- "kind": "struct",
3057
- "fields": [
3058
- {
3059
- "name": "amount",
3060
- "type": "u64"
3061
- },
3062
- {
3063
- "name": "assetIndexGuidance",
3064
- "type": "bytes"
3065
- },
3066
- {
3067
- "name": "duration",
3068
- "type": "u8"
3069
- },
3070
- {
3071
- "name": "expectedLoanValues",
3072
- "type": {
3073
- "defined": {
3074
- "name": "expectedLoanValues"
3075
- }
3076
- }
3077
- },
3078
- {
3079
- "name": "skipSolUnwrap",
3080
- "type": "bool"
3081
- }
3082
- ]
3083
- }
3084
- },
3085
- {
3086
- "name": "collateralTermsIndices",
3087
- "type": {
3088
- "kind": "struct",
3089
- "fields": [
3090
- {
3091
- "name": "collateralIndex",
3092
- "type": "u8"
3093
- },
3094
- {
3095
- "name": "durationIndex",
3096
- "type": "u8"
3097
- }
3098
- ]
3099
- }
3100
- },
3101
- {
3102
- "name": "createLoanParams",
3103
- "type": {
3104
- "kind": "struct",
3105
- "fields": [
3106
- {
3107
- "name": "nonce",
3108
- "type": "u64"
3109
- }
3110
- ]
3111
- }
3112
- },
3113
- {
3114
- "name": "createStrategyParams",
3115
- "type": {
3116
- "kind": "struct",
3117
- "fields": [
3118
- {
3119
- "name": "lender",
3120
- "type": "pubkey"
3121
- },
3122
- {
3123
- "name": "originationCap",
3124
- "type": "u64"
3125
- },
3126
- {
3127
- "name": "liquidityBuffer",
3128
- "type": "u64"
3129
- },
3130
- {
3131
- "name": "interestFee",
3132
- "type": "u64"
3133
- },
3134
- {
3135
- "name": "originationFee",
3136
- "type": "u64"
3137
- },
3138
- {
3139
- "name": "principalFee",
3140
- "type": "u64"
3141
- },
3142
- {
3143
- "name": "originationsEnabled",
3144
- "type": "bool"
3145
- },
3146
- {
3147
- "name": "externalYieldSourceArgs",
3148
- "type": {
3149
- "option": {
3150
- "defined": {
3151
- "name": "externalYieldSourceArgs"
3152
- }
3153
- }
3154
- }
3155
- }
3156
- ]
3157
- }
3158
- },
3159
- {
3160
- "name": "createdModel",
3161
- "type": {
3162
- "kind": "struct",
3163
- "fields": [
3164
- {
3165
- "name": "key",
3166
- "type": {
3167
- "array": [
3168
- "u8",
3169
- 8
3170
- ]
3171
- }
3172
- },
3173
- {
3174
- "name": "createdBy",
3175
- "type": "pubkey"
3176
- },
3177
- {
3178
- "name": "createdAt",
3179
- "type": "i64"
3180
- }
3181
- ]
3182
- }
3183
- },
3184
- {
3185
- "name": "delegateAcl",
3186
- "type": {
3187
- "kind": "struct",
3188
- "fields": [
3189
- {
3190
- "name": "pubkey",
3191
- "type": "pubkey"
3192
- },
3193
- {
3194
- "name": "integrationPermissions",
3195
- "type": {
3196
- "vec": {
3197
- "defined": {
3198
- "name": "integrationPermissions"
3199
- }
3200
- }
3201
- }
3202
- },
3203
- {
3204
- "name": "expiresAt",
3205
- "type": "i64"
3206
- }
3207
- ]
3208
- }
3209
- },
3210
- {
3211
- "name": "depositCollateralParams",
3212
- "type": {
3213
- "kind": "struct",
3214
- "fields": [
3215
- {
3216
- "name": "amount",
3217
- "type": "u64"
3218
- },
3219
- {
3220
- "name": "assetType",
3221
- "type": "u8"
3222
- },
3223
- {
3224
- "name": "assetIdentifier",
3225
- "type": "pubkey"
3226
- },
3227
- {
3228
- "name": "assetIndexGuidance",
3229
- "type": "bytes"
3230
- }
3231
- ]
3232
- }
3233
- },
3234
- {
3235
- "name": "engineField",
3236
- "type": {
3237
- "kind": "struct",
3238
- "fields": [
3239
- {
3240
- "name": "name",
3241
- "type": {
3242
- "defined": {
3243
- "name": "engineFieldName"
3244
- }
3245
- }
3246
- },
3247
- {
3248
- "name": "value",
3249
- "type": {
3250
- "defined": {
3251
- "name": "engineFieldValue"
3252
- }
3253
- }
3254
- }
3255
- ]
3256
- }
3257
- },
3258
- {
3259
- "name": "engineFieldName",
3260
- "type": {
3261
- "kind": "enum",
3262
- "variants": [
3263
- {
3264
- "name": "owner"
3265
- },
3266
- {
3267
- "name": "portfolioManagerName"
3268
- },
3269
- {
3270
- "name": "name"
3271
- },
3272
- {
3273
- "name": "uri"
3274
- },
3275
- {
3276
- "name": "assets"
3277
- },
3278
- {
3279
- "name": "delegateAcls"
3280
- },
3281
- {
3282
- "name": "integrationAcls"
3283
- },
3284
- {
3285
- "name": "timelockDuration"
3286
- },
3287
- {
3288
- "name": "borrowable"
3289
- },
3290
- {
3291
- "name": "defaultAccountStateFrozen"
3292
- },
3293
- {
3294
- "name": "permanentDelegate"
3295
- },
3296
- {
3297
- "name": "notifyAndSettle"
3298
- },
3299
- {
3300
- "name": "feeStructure"
3301
- },
3302
- {
3303
- "name": "feeParams"
3304
- },
3305
- {
3306
- "name": "claimableFees"
3307
- },
3308
- {
3309
- "name": "claimedFees"
3310
- },
3311
- {
3312
- "name": "oracleConfigs"
3313
- }
3314
- ]
3315
- }
3316
- },
3317
- {
3318
- "name": "engineFieldValue",
3319
- "type": {
3320
- "kind": "enum",
3321
- "variants": [
3322
- {
3323
- "name": "boolean",
3324
- "fields": [
3325
- {
3326
- "name": "val",
3327
- "type": "bool"
3328
- }
3329
- ]
3330
- },
3331
- {
3332
- "name": "u8",
3333
- "fields": [
3334
- {
3335
- "name": "val",
3336
- "type": "u8"
3337
- }
3338
- ]
3339
- },
3340
- {
3341
- "name": "u32",
3342
- "fields": [
3343
- {
3344
- "name": "val",
3345
- "type": "u32"
3346
- }
3347
- ]
3348
- },
3349
- {
3350
- "name": "u64",
3351
- "fields": [
3352
- {
3353
- "name": "val",
3354
- "type": "u64"
3355
- }
3356
- ]
3357
- },
3358
- {
3359
- "name": "string",
3360
- "fields": [
3361
- {
3362
- "name": "val",
3363
- "type": "string"
3364
- }
3365
- ]
3366
- },
3367
- {
3368
- "name": "pubkey",
3369
- "fields": [
3370
- {
3371
- "name": "val",
3372
- "type": "pubkey"
3373
- }
3374
- ]
3375
- },
3376
- {
3377
- "name": "vecPubkey",
3378
- "fields": [
3379
- {
3380
- "name": "val",
3381
- "type": {
3382
- "vec": "pubkey"
3383
- }
3384
- }
3385
- ]
3386
- },
3387
- {
3388
- "name": "vecU8",
3389
- "fields": [
3390
- {
3391
- "name": "val",
3392
- "type": "bytes"
3393
- }
3394
- ]
3395
- },
3396
- {
3397
- "name": "vecU32",
3398
- "fields": [
3399
- {
3400
- "name": "val",
3401
- "type": {
3402
- "vec": "u32"
3403
- }
3404
- }
3405
- ]
3406
- },
3407
- {
3408
- "name": "vecDelegateAcl",
3409
- "fields": [
3410
- {
3411
- "name": "val",
3412
- "type": {
3413
- "vec": {
3414
- "defined": {
3415
- "name": "delegateAcl"
3416
- }
3417
- }
3418
- }
3419
- }
3420
- ]
3421
- },
3422
- {
3423
- "name": "vecIntegrationAcl",
3424
- "fields": [
3425
- {
3426
- "name": "val",
3427
- "type": {
3428
- "vec": {
3429
- "defined": {
3430
- "name": "integrationAcl"
3431
- }
3432
- }
3433
- }
3434
- }
3435
- ]
3436
- },
3437
- {
3438
- "name": "feeStructure",
3439
- "fields": [
3440
- {
3441
- "name": "val",
3442
- "type": {
3443
- "defined": {
3444
- "name": "feeStructure"
3445
- }
3446
- }
3447
- }
3448
- ]
3449
- },
3450
- {
3451
- "name": "feeParams",
3452
- "fields": [
3453
- {
3454
- "name": "val",
3455
- "type": {
3456
- "defined": {
3457
- "name": "feeParams"
3458
- }
3459
- }
3460
- }
3461
- ]
3462
- },
3463
- {
3464
- "name": "accruedFees",
3465
- "fields": [
3466
- {
3467
- "name": "val",
3468
- "type": {
3469
- "defined": {
3470
- "name": "accruedFees"
3471
- }
3472
- }
3473
- }
3474
- ]
3475
- },
3476
- {
3477
- "name": "notifyAndSettle",
3478
- "fields": [
3479
- {
3480
- "name": "val",
3481
- "type": {
3482
- "defined": {
3483
- "name": "notifyAndSettle"
3484
- }
3485
- }
3486
- }
3487
- ]
3488
- },
3489
- {
3490
- "name": "oracleConfigs",
3491
- "fields": [
3492
- {
3493
- "name": "val",
3494
- "type": {
3495
- "defined": {
3496
- "name": "oracleConfigs"
3497
- }
3498
- }
3499
- }
3500
- ]
3501
- }
3502
- ]
3503
- }
3504
- },
3505
- {
3506
- "name": "entryExitFees",
3507
- "type": {
3508
- "kind": "struct",
3509
- "fields": [
3510
- {
3511
- "name": "subscriptionFeeBps",
3512
- "type": "u16"
3513
- },
3514
- {
3515
- "name": "redemptionFeeBps",
3516
- "type": "u16"
3517
- }
3518
- ]
3519
- }
3520
- },
3521
- {
3522
- "name": "exactInParams",
3523
- "type": {
3524
- "kind": "struct",
3525
- "fields": [
3526
- {
3527
- "name": "amountIn",
3528
- "type": "u64"
3529
- },
3530
- {
3531
- "name": "minAmountOut",
3532
- "type": "u64"
3533
- }
3534
- ]
3535
- }
3536
- },
3537
- {
3538
- "name": "exactOutParams",
3539
- "type": {
3540
- "kind": "struct",
3541
- "fields": [
3542
- {
3543
- "name": "amountOut",
3544
- "type": "u64"
3545
- },
3546
- {
3547
- "name": "maxAmountIn",
3548
- "type": "u64"
3549
- }
3550
- ]
3551
- }
3552
- },
3553
- {
3554
- "name": "expectedLoanValues",
3555
- "type": {
3556
- "kind": "struct",
3557
- "fields": [
3558
- {
3559
- "name": "expectedApy",
3560
- "type": "u64"
3561
- },
3562
- {
3563
- "name": "expectedLqt",
3564
- "type": {
3565
- "array": [
3566
- "u32",
3567
- 5
3568
- ]
3569
- }
3570
- }
3571
- ]
3572
- }
3573
- },
3574
- {
3575
- "name": "externalYieldSourceArgs",
3576
- "type": {
3577
- "kind": "struct",
3578
- "fields": [
3579
- {
3580
- "name": "newExternalYieldSource",
3581
- "type": "u8"
3582
- },
3583
- {
3584
- "name": "externalYieldVault",
3585
- "type": "pubkey"
3586
- }
3587
- ]
3588
- }
3589
- },
3590
- {
3591
- "name": "feeParams",
3592
- "type": {
3593
- "kind": "struct",
3594
- "fields": [
3595
- {
3596
- "name": "yearInSeconds",
3597
- "type": "u32"
3598
- },
3599
- {
3600
- "name": "paHighWaterMark",
3601
- "type": "i128"
3602
- },
3603
- {
3604
- "name": "paLastNav",
3605
- "type": "i128"
3606
- },
3607
- {
3608
- "name": "lastAum",
3609
- "type": "i128"
3610
- },
3611
- {
3612
- "name": "lastPerformanceFeeCrystallized",
3613
- "type": "i64"
3614
- },
3615
- {
3616
- "name": "lastManagementFeeCrystallized",
3617
- "type": "i64"
3618
- },
3619
- {
3620
- "name": "lastProtocolFeeCrystallized",
3621
- "type": "i64"
3622
- }
3623
- ]
3624
- }
3625
- },
3626
- {
3627
- "name": "feeStructure",
3628
- "type": {
3629
- "kind": "struct",
3630
- "fields": [
3631
- {
3632
- "name": "vault",
3633
- "type": {
3634
- "defined": {
3635
- "name": "entryExitFees"
3636
- }
3637
- }
3638
- },
3639
- {
3640
- "name": "manager",
3641
- "type": {
3642
- "defined": {
3643
- "name": "entryExitFees"
3644
- }
3645
- }
3646
- },
3647
- {
3648
- "name": "management",
3649
- "type": {
3650
- "defined": {
3651
- "name": "managementFee"
3652
- }
3653
- }
3654
- },
3655
- {
3656
- "name": "performance",
3657
- "type": {
3658
- "defined": {
3659
- "name": "performanceFee"
3660
- }
3661
- }
3662
- },
3663
- {
3664
- "name": "protocol",
3665
- "type": {
3666
- "defined": {
3667
- "name": "protocolFees"
3668
- }
3669
- }
3670
- }
3671
- ]
3672
- }
3673
- },
3674
- {
3675
- "name": "hurdleType",
3676
- "type": {
3677
- "kind": "enum",
3678
- "variants": [
3679
- {
3680
- "name": "hard"
3681
- },
3682
- {
3683
- "name": "soft"
3684
- }
3685
- ]
3686
- }
3687
- },
3688
- {
3689
- "name": "integrationAcl",
3690
- "docs": [
3691
- "An integration program can have multiple protocols supported.",
3692
- "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
3693
- ],
3694
- "type": {
3695
- "kind": "struct",
3696
- "fields": [
3697
- {
3698
- "name": "integrationProgram",
3699
- "type": "pubkey"
3700
- },
3701
- {
3702
- "name": "protocolsBitmask",
3703
- "type": "u16"
3704
- },
3705
- {
3706
- "name": "protocolPolicies",
3707
- "type": {
3708
- "vec": {
3709
- "defined": {
3710
- "name": "protocolPolicy"
3711
- }
3712
- }
3713
- }
3714
- }
3715
- ]
3716
- }
3717
- },
3718
- {
3719
- "name": "integrationPermissions",
3720
- "docs": [
3721
- "Stores delegate permissions for an integration program."
3722
- ],
3723
- "type": {
3724
- "kind": "struct",
3725
- "fields": [
3726
- {
3727
- "name": "integrationProgram",
3728
- "type": "pubkey"
3729
- },
3730
- {
3731
- "name": "protocolPermissions",
3732
- "type": {
3733
- "vec": {
3734
- "defined": {
3735
- "name": "protocolPermissions"
3736
- }
3737
- }
3738
- }
3739
- }
3740
- ]
3741
- }
3742
- },
3743
- {
3744
- "name": "lendingMarketPolicy",
3745
- "type": {
3746
- "kind": "struct",
3747
- "fields": [
3748
- {
3749
- "name": "market",
3750
- "docs": [
3751
- "Loopscale market information account this policy applies to."
3752
- ],
3753
- "type": "pubkey"
3754
- },
3755
- {
3756
- "name": "maxDepositAmount",
3757
- "docs": [
3758
- "Maximum principal amount that may be deposited in a single instruction.",
3759
- "A value of zero means no per-instruction deposit is allowed for this market."
3760
- ],
3761
- "type": "u64"
3762
- },
3763
- {
3764
- "name": "maxTotalDepositAmount",
3765
- "docs": [
3766
- "Maximum principal exposure (token balance + deployed amount) a single",
3767
- "strategy may hold in this market. Enforced per strategy, not aggregated",
3768
- "across all of the vault's strategies in this market. A value of zero means",
3769
- "no lending exposure is allowed for this market."
3770
- ],
3771
- "type": "u64"
3772
- },
3773
- {
3774
- "name": "minLoanApyCbps",
3775
- "docs": [
3776
- "Minimum accepted loan APY, in centibasis points, for strategy terms in this market."
3777
- ],
3778
- "type": "u32"
3779
- },
3780
- {
3781
- "name": "maxLtvBps",
3782
- "docs": [
3783
- "Maximum accepted borrower loan-to-value, in basis points, for strategy terms in this market.",
3784
- "A value of zero means no borrower LTV is allowed for this market."
3785
- ],
3786
- "type": "u16"
3787
- },
3788
- {
3789
- "name": "durationIndexesAllowlist",
3790
- "docs": [
3791
- "Duration indexes that may be offered by vault-owned strategies in this market.",
3792
- "An empty list denies all lending durations for this market. Index mapping:",
3793
- "- 0 = 1 day",
3794
- "- 1 = 1 week",
3795
- "- 2 = 1 month",
3796
- "- 3 = 3 months",
3797
- "- 4 = 1 year"
3798
- ],
3799
- "type": "bytes"
3800
- },
3801
- {
3802
- "name": "collateralAssetAllowlist",
3803
- "docs": [
3804
- "Collateral asset identifiers that vault-owned strategies may accept in this market.",
3805
- "An empty list denies all strategy collateral assets for this market."
3806
- ],
3807
- "type": {
3808
- "vec": "pubkey"
3809
- }
3810
- }
3811
- ]
3812
- }
3813
- },
3814
- {
3815
- "name": "lendingPolicy",
3816
- "type": {
3817
- "kind": "struct",
3818
- "fields": [
3819
- {
3820
- "name": "principalAllowlist",
3821
- "docs": [
3822
- "Principal mints that may be lent into Loopscale strategies.",
3823
- "An empty list denies all strategy creation, updates, deposits, and ledger sales."
3824
- ],
3825
- "type": {
3826
- "vec": "pubkey"
3827
- }
3828
- },
3829
- {
3830
- "name": "collateralAllowlist",
3831
- "docs": [
3832
- "Collateral asset identifiers that vault-owned strategies may accept.",
3833
- "An empty list denies all strategy collateral assets."
3834
- ],
3835
- "type": {
3836
- "vec": "pubkey"
3837
- }
3838
- },
3839
- {
3840
- "name": "marketPolicies",
3841
- "docs": [
3842
- "Optional per-market risk limits for strategy creation, updates, deposits, and ledger sales.",
3843
- "If a market is present here, advanced per-market limits are enforced.",
3844
- "If absent, lending operations are governed by top-level allowlists,",
3845
- "permission checks, and sell-ledger limits."
3846
- ],
3847
- "type": {
3848
- "vec": {
3849
- "defined": {
3850
- "name": "lendingMarketPolicy"
3851
- }
3852
- }
3853
- }
3854
- },
3855
- {
3856
- "name": "sellLedgerPolicy",
3857
- "docs": [
3858
- "Risk limits for selling Loopscale loan ledgers."
3859
- ],
3860
- "type": {
3861
- "defined": {
3862
- "name": "sellLedgerPolicy"
3863
- }
3864
- }
3865
- }
3866
- ]
3867
- }
3868
- },
3869
- {
3870
- "name": "lpParams",
3871
- "type": {
3872
- "kind": "enum",
3873
- "variants": [
3874
- {
3875
- "name": "exactIn",
3876
- "fields": [
3877
- {
3878
- "defined": {
3879
- "name": "exactInParams"
3880
- }
3881
- }
3882
- ]
3883
- },
3884
- {
3885
- "name": "exactOut",
3886
- "fields": [
3887
- {
3888
- "defined": {
3889
- "name": "exactOutParams"
3890
- }
3891
- }
3892
- ]
3893
- }
3894
- ]
3895
- }
3896
- },
3897
- {
3898
- "name": "managementFee",
3899
- "type": {
3900
- "kind": "struct",
3901
- "fields": [
3902
- {
3903
- "name": "feeBps",
3904
- "type": "u16"
3905
- }
3906
- ]
3907
- }
3908
- },
3909
- {
3910
- "name": "multiCollateralTermsUpdateParams",
3911
- "type": {
3912
- "kind": "struct",
3913
- "fields": [
3914
- {
3915
- "name": "apy",
3916
- "type": "u64"
3917
- },
3918
- {
3919
- "name": "indices",
3920
- "type": {
3921
- "vec": {
3922
- "defined": {
3923
- "name": "collateralTermsIndices"
3924
- }
3925
- }
3926
- }
3927
- }
3928
- ]
3929
- }
3930
- },
3931
- {
3932
- "name": "noticePeriodType",
3933
- "type": {
3934
- "kind": "enum",
3935
- "variants": [
3936
- {
3937
- "name": "hard"
3938
- },
3939
- {
3940
- "name": "soft"
3941
- }
3942
- ]
3943
- }
3944
- },
3945
- {
3946
- "name": "notifyAndSettle",
3947
- "type": {
3948
- "kind": "struct",
3949
- "fields": [
3950
- {
3951
- "name": "model",
3952
- "type": {
3953
- "defined": {
3954
- "name": "valuationModel"
3955
- }
3956
- }
3957
- },
3958
- {
3959
- "name": "permissionlessFulfillment",
3960
- "type": "bool"
3961
- },
3962
- {
3963
- "name": "subscribeNoticePeriodType",
3964
- "type": {
3965
- "defined": {
3966
- "name": "noticePeriodType"
3967
- }
3968
- }
3969
- },
3970
- {
3971
- "name": "subscribeNoticePeriod",
3972
- "type": "u64"
3973
- },
3974
- {
3975
- "name": "subscribeSettlementPeriod",
3976
- "type": "u64"
3977
- },
3978
- {
3979
- "name": "subscribeCancellationWindow",
3980
- "type": "u64"
3981
- },
3982
- {
3983
- "name": "redeemNoticePeriodType",
3984
- "type": {
3985
- "defined": {
3986
- "name": "noticePeriodType"
3987
- }
3988
- }
3989
- },
3990
- {
3991
- "name": "redeemNoticePeriod",
3992
- "type": "u64"
3993
- },
3994
- {
3995
- "name": "redeemSettlementPeriod",
3996
- "type": "u64"
3997
- },
3998
- {
3999
- "name": "redeemCancellationWindow",
4000
- "type": "u64"
4001
- },
4002
- {
4003
- "name": "timeUnit",
4004
- "type": {
4005
- "defined": {
4006
- "name": "timeUnit"
4007
- }
4008
- }
4009
- },
4010
- {
4011
- "name": "padding",
4012
- "type": {
4013
- "array": [
4014
- "u8",
4015
- 3
4016
- ]
4017
- }
4018
- }
4019
- ]
4020
- }
4021
- },
4022
- {
4023
- "name": "oracleConfigs",
4024
- "docs": [
4025
- "Vault-specific oracle configs. If available, these configs are preferred over the global config."
4026
- ],
4027
- "type": {
4028
- "kind": "struct",
4029
- "fields": [
4030
- {
4031
- "name": "maxAgesSeconds",
4032
- "type": {
4033
- "vec": {
4034
- "array": [
4035
- "u16",
4036
- 2
4037
- ]
4038
- }
4039
- }
4040
- },
4041
- {
4042
- "name": "padding",
4043
- "type": {
4044
- "array": [
4045
- "u8",
4046
- 12
4047
- ]
4048
- }
4049
- }
4050
- ]
4051
- }
4052
- },
4053
- {
4054
- "name": "performanceFee",
4055
- "type": {
4056
- "kind": "struct",
4057
- "fields": [
4058
- {
4059
- "name": "feeBps",
4060
- "type": "u16"
4061
- },
4062
- {
4063
- "name": "hurdleRateBps",
4064
- "type": "u16"
4065
- },
4066
- {
4067
- "name": "hurdleType",
4068
- "type": {
4069
- "defined": {
4070
- "name": "hurdleType"
4071
- }
4072
- }
4073
- }
4074
- ]
4075
- }
4076
- },
4077
- {
4078
- "name": "pricedProtocol",
4079
- "type": {
4080
- "kind": "struct",
4081
- "fields": [
4082
- {
4083
- "name": "rent",
4084
- "type": "u64"
4085
- },
4086
- {
4087
- "name": "amount",
4088
- "type": "i128"
4089
- },
4090
- {
4091
- "name": "decimals",
4092
- "type": "u8"
4093
- },
4094
- {
4095
- "name": "lastUpdatedSlot",
4096
- "type": "u64"
4097
- },
4098
- {
4099
- "name": "integrationProgram",
4100
- "type": "pubkey"
4101
- },
4102
- {
4103
- "name": "protocolBitflag",
4104
- "type": "u16"
4105
- },
4106
- {
4107
- "name": "positions",
4108
- "type": {
4109
- "vec": "pubkey"
4110
- }
4111
- }
4112
- ]
4113
- }
4114
- },
4115
- {
4116
- "name": "protocolFees",
4117
- "type": {
4118
- "kind": "struct",
4119
- "fields": [
4120
- {
4121
- "name": "baseFeeBps",
4122
- "type": "u16"
4123
- },
4124
- {
4125
- "name": "flowFeeBps",
4126
- "type": "u16"
4127
- }
4128
- ]
4129
- }
4130
- },
4131
- {
4132
- "name": "protocolPermissions",
4133
- "docs": [
4134
- "Represents a delegate's permissions for a specific protocol"
4135
- ],
4136
- "type": {
4137
- "kind": "struct",
4138
- "fields": [
4139
- {
4140
- "name": "protocolBitflag",
4141
- "type": "u16"
4142
- },
4143
- {
4144
- "name": "permissionsBitmask",
4145
- "type": "u64"
4146
- }
4147
- ]
4148
- }
4149
- },
4150
- {
4151
- "name": "protocolPolicy",
4152
- "docs": [
4153
- "Stores policy data for an integrated protocol.",
4154
- "Integration programs serialize/deserialize this data."
4155
- ],
4156
- "type": {
4157
- "kind": "struct",
4158
- "fields": [
4159
- {
4160
- "name": "protocolBitflag",
4161
- "type": "u16"
4162
- },
4163
- {
4164
- "name": "data",
4165
- "type": "bytes"
4166
- }
4167
- ]
4168
- }
4169
- },
4170
- {
4171
- "name": "repayPrincipalParams",
4172
- "type": {
4173
- "kind": "struct",
4174
- "fields": [
4175
- {
4176
- "name": "amount",
4177
- "type": "u64"
4178
- },
4179
- {
4180
- "name": "ledgerIndex",
4181
- "type": "u8"
4182
- },
4183
- {
4184
- "name": "repayAll",
4185
- "type": "bool"
4186
- }
4187
- ]
4188
- }
4189
- },
4190
- {
4191
- "name": "sellLedgerParams",
4192
- "type": {
4193
- "kind": "struct",
4194
- "fields": [
4195
- {
4196
- "name": "ledgerIndex",
4197
- "type": "u8"
4198
- },
4199
- {
4200
- "name": "expectedSalePrice",
4201
- "type": "u64"
4202
- },
4203
- {
4204
- "name": "assetIndexGuidance",
4205
- "type": "bytes"
4206
- }
4207
- ]
4208
- }
4209
- },
4210
- {
4211
- "name": "sellLedgerPolicy",
4212
- "type": {
4213
- "kind": "struct",
4214
- "fields": [
4215
- {
4216
- "name": "maxDiscountBps",
4217
- "docs": [
4218
- "Maximum discount from the ledger's expected value, in basis points.",
4219
- "A value of zero requires no discount."
4220
- ],
4221
- "type": "u16"
4222
- },
4223
- {
4224
- "name": "maxSlippageBps",
4225
- "docs": [
4226
- "Maximum tolerated slippage while selling a ledger, in basis points.",
4227
- "A value of zero allows no slippage."
4228
- ],
4229
- "type": "u16"
4230
- }
4231
- ]
4232
- }
4233
- },
4234
- {
4235
- "name": "stateAccount",
4236
- "type": {
4237
- "kind": "struct",
4238
- "fields": [
4239
- {
4240
- "name": "accountType",
4241
- "type": {
4242
- "defined": {
4243
- "name": "accountType"
4244
- }
4245
- }
4246
- },
4247
- {
4248
- "name": "enabled",
4249
- "type": "bool"
4250
- },
4251
- {
4252
- "name": "vault",
4253
- "type": "pubkey"
4254
- },
4255
- {
4256
- "name": "owner",
4257
- "type": "pubkey"
4258
- },
4259
- {
4260
- "name": "portfolioManagerName",
4261
- "type": {
4262
- "array": [
4263
- "u8",
4264
- 32
4265
- ]
4266
- }
4267
- },
4268
- {
4269
- "name": "created",
4270
- "type": {
4271
- "defined": {
4272
- "name": "createdModel"
4273
- }
4274
- }
4275
- },
4276
- {
4277
- "name": "baseAssetMint",
4278
- "type": "pubkey"
4279
- },
4280
- {
4281
- "name": "baseAssetDecimals",
4282
- "type": "u8"
4283
- },
4284
- {
4285
- "name": "baseAssetTokenProgram",
4286
- "type": "u8"
4287
- },
4288
- {
4289
- "name": "name",
4290
- "type": {
4291
- "array": [
4292
- "u8",
4293
- 32
4294
- ]
4295
- }
4296
- },
4297
- {
4298
- "name": "timelockDuration",
4299
- "type": "u32"
4300
- },
4301
- {
4302
- "name": "timelockExpiresAt",
4303
- "type": "u64"
4304
- },
4305
- {
4306
- "name": "mint",
4307
- "type": "pubkey"
4308
- },
4309
- {
4310
- "name": "assets",
4311
- "type": {
4312
- "vec": "pubkey"
4313
- }
4314
- },
4315
- {
4316
- "name": "integrationAcls",
4317
- "type": {
4318
- "vec": {
4319
- "defined": {
4320
- "name": "integrationAcl"
4321
- }
4322
- }
4323
- }
4324
- },
4325
- {
4326
- "name": "delegateAcls",
4327
- "type": {
4328
- "vec": {
4329
- "defined": {
4330
- "name": "delegateAcl"
4331
- }
4332
- }
4333
- }
4334
- },
4335
- {
4336
- "name": "externalPositions",
4337
- "type": {
4338
- "vec": "pubkey"
4339
- }
4340
- },
4341
- {
4342
- "name": "pricedProtocols",
4343
- "type": {
4344
- "vec": {
4345
- "defined": {
4346
- "name": "pricedProtocol"
4347
- }
4348
- }
4349
- }
4350
- },
4351
- {
4352
- "name": "params",
4353
- "type": {
4354
- "vec": {
4355
- "vec": {
4356
- "defined": {
4357
- "name": "engineField"
4358
- }
4359
- }
4360
- }
4361
- }
4362
- }
4363
- ]
4364
- }
4365
- },
4366
- {
4367
- "name": "timeUnit",
4368
- "type": {
4369
- "kind": "enum",
4370
- "variants": [
4371
- {
4372
- "name": "second"
4373
- },
4374
- {
4375
- "name": "slot"
4376
- }
4377
- ]
4378
- }
4379
- },
4380
- {
4381
- "name": "updateStrategyParams",
4382
- "type": {
4383
- "kind": "struct",
4384
- "fields": [
4385
- {
4386
- "name": "originationsEnabled",
4387
- "type": {
4388
- "option": "bool"
4389
- }
4390
- },
4391
- {
4392
- "name": "liquidityBuffer",
4393
- "type": {
4394
- "option": "u64"
4395
- }
4396
- },
4397
- {
4398
- "name": "interestFee",
4399
- "type": {
4400
- "option": "u64"
4401
- }
4402
- },
4403
- {
4404
- "name": "originationFee",
4405
- "type": {
4406
- "option": "u64"
4407
- }
4408
- },
4409
- {
4410
- "name": "principalFee",
4411
- "type": {
4412
- "option": "u64"
4413
- }
4414
- },
4415
- {
4416
- "name": "originationCap",
4417
- "type": {
4418
- "option": "u64"
4419
- }
4420
- },
4421
- {
4422
- "name": "marketInformation",
4423
- "type": {
4424
- "option": "pubkey"
4425
- }
4426
- },
4427
- {
4428
- "name": "externalYieldSourceArgs",
4429
- "type": {
4430
- "option": {
4431
- "defined": {
4432
- "name": "externalYieldSourceArgs"
4433
- }
4434
- }
4435
- }
4436
- }
4437
- ]
4438
- }
4439
- },
4440
- {
4441
- "name": "updateWeightMatrixParams",
4442
- "type": {
4443
- "kind": "struct",
4444
- "fields": [
4445
- {
4446
- "name": "collateralIndex",
4447
- "type": "u8"
4448
- },
4449
- {
4450
- "name": "weightMatrix",
4451
- "type": {
4452
- "array": [
4453
- "u32",
4454
- 5
4455
- ]
4456
- }
4457
- },
4458
- {
4459
- "name": "expectedLoanValues",
4460
- "type": {
4461
- "defined": {
4462
- "name": "expectedLoanValues"
4463
- }
4464
- }
4465
- },
4466
- {
4467
- "name": "assetIndexGuidance",
4468
- "type": "bytes"
4469
- }
4470
- ]
4471
- }
4472
- },
4473
- {
4474
- "name": "valuationModel",
4475
- "type": {
4476
- "kind": "enum",
4477
- "variants": [
4478
- {
4479
- "name": "continuous"
4480
- },
4481
- {
4482
- "name": "periodic"
4483
- }
4484
- ]
4485
- }
4486
- },
4487
- {
4488
- "name": "vaultPolicy",
4489
- "type": {
4490
- "kind": "struct",
4491
- "fields": [
4492
- {
4493
- "name": "vaultAllowlist",
4494
- "docs": [
4495
- "Loopscale user vault accounts that may be used by the GLAM vault.",
4496
- "An empty list denies all Loopscale user vault operations."
4497
- ],
4498
- "type": {
4499
- "vec": "pubkey"
4500
- }
4501
- }
4502
- ]
4503
- }
4504
- },
4505
- {
4506
- "name": "vaultStakeParams",
4507
- "type": {
4508
- "kind": "struct",
4509
- "fields": [
4510
- {
4511
- "name": "amount",
4512
- "type": "u64"
4513
- },
4514
- {
4515
- "name": "principalAmount",
4516
- "type": "u64"
4517
- },
4518
- {
4519
- "name": "stakeAll",
4520
- "type": {
4521
- "option": "bool"
4522
- }
4523
- },
4524
- {
4525
- "name": "duration",
4526
- "type": "u32"
4527
- },
4528
- {
4529
- "name": "durationType",
4530
- "type": "u8"
4531
- },
4532
- {
4533
- "name": "actionType",
4534
- "type": "u8"
4535
- }
4536
- ]
4537
- }
4538
- },
4539
- {
4540
- "name": "vaultUnstakeParams",
4541
- "type": {
4542
- "kind": "struct",
4543
- "fields": [
4544
- {
4545
- "name": "actionType",
4546
- "type": "u8"
4547
- },
4548
- {
4549
- "name": "principalAmount",
4550
- "type": "u64"
4551
- }
4552
- ]
4553
- }
4554
- },
4555
- {
4556
- "name": "withdrawCollateralParams",
4557
- "type": {
4558
- "kind": "struct",
4559
- "fields": [
4560
- {
4561
- "name": "amount",
4562
- "type": "u64"
4563
- },
4564
- {
4565
- "name": "collateralIndex",
4566
- "type": "u8"
4567
- },
4568
- {
4569
- "name": "assetIndexGuidance",
4570
- "type": "bytes"
4571
- },
4572
- {
4573
- "name": "expectedLoanValues",
4574
- "type": {
4575
- "defined": {
4576
- "name": "expectedLoanValues"
4577
- }
4578
- }
4579
- },
4580
- {
4581
- "name": "closeIfEligible",
4582
- "type": "bool"
4583
- },
4584
- {
4585
- "name": "withdrawAll",
4586
- "type": "bool"
4587
- }
4588
- ]
4589
- }
4590
- }
4591
- ],
4592
- "constants": [
4593
- {
4594
- "name": "protoLoopscaleBorrow",
4595
- "type": "u16",
4596
- "value": "1"
4597
- },
4598
- {
4599
- "name": "protoLoopscaleBorrowPermBorrowPrincipal",
4600
- "type": "u64",
4601
- "value": "32"
4602
- },
4603
- {
4604
- "name": "protoLoopscaleBorrowPermCloseLoan",
4605
- "type": "u64",
4606
- "value": "2"
4607
- },
4608
- {
4609
- "name": "protoLoopscaleBorrowPermCreateLoan",
4610
- "type": "u64",
4611
- "value": "1"
4612
- },
4613
- {
4614
- "name": "protoLoopscaleBorrowPermDepositCollateral",
4615
- "type": "u64",
4616
- "value": "8"
4617
- },
4618
- {
4619
- "name": "protoLoopscaleBorrowPermRepayPrincipal",
4620
- "type": "u64",
4621
- "value": "64"
4622
- },
4623
- {
4624
- "name": "protoLoopscaleBorrowPermSetPolicy",
4625
- "type": "u64",
4626
- "value": "128"
4627
- },
4628
- {
4629
- "name": "protoLoopscaleBorrowPermUpdateLoan",
4630
- "type": "u64",
4631
- "value": "4"
4632
- },
4633
- {
4634
- "name": "protoLoopscaleBorrowPermWithdrawCollateral",
4635
- "type": "u64",
4636
- "value": "16"
4637
- },
4638
- {
4639
- "name": "protoLoopscaleLending",
4640
- "type": "u16",
4641
- "value": "2"
4642
- },
4643
- {
4644
- "name": "protoLoopscaleLendingPermCloseStrategy",
4645
- "type": "u64",
4646
- "value": "16"
4647
- },
4648
- {
4649
- "name": "protoLoopscaleLendingPermCreateStrategy",
4650
- "type": "u64",
4651
- "value": "1"
4652
- },
4653
- {
4654
- "name": "protoLoopscaleLendingPermDepositStrategy",
4655
- "type": "u64",
4656
- "value": "4"
4657
- },
4658
- {
4659
- "name": "protoLoopscaleLendingPermSellLedger",
4660
- "type": "u64",
4661
- "value": "32"
4662
- },
4663
- {
4664
- "name": "protoLoopscaleLendingPermSetPolicy",
4665
- "type": "u64",
4666
- "value": "64"
4667
- },
4668
- {
4669
- "name": "protoLoopscaleLendingPermUpdateStrategy",
4670
- "type": "u64",
4671
- "value": "2"
4672
- },
4673
- {
4674
- "name": "protoLoopscaleLendingPermWithdrawStrategy",
4675
- "type": "u64",
4676
- "value": "8"
4677
- },
4678
- {
4679
- "name": "protoLoopscaleVault",
4680
- "type": "u16",
4681
- "value": "4"
4682
- },
4683
- {
4684
- "name": "protoLoopscaleVaultPermClaimVaultRewards",
4685
- "type": "u64",
4686
- "value": "16"
4687
- },
4688
- {
4689
- "name": "protoLoopscaleVaultPermDepositUserVault",
4690
- "type": "u64",
4691
- "value": "1"
4692
- },
4693
- {
4694
- "name": "protoLoopscaleVaultPermSetPolicy",
4695
- "type": "u64",
4696
- "value": "32"
4697
- },
4698
- {
4699
- "name": "protoLoopscaleVaultPermStakeUserVaultLp",
4700
- "type": "u64",
4701
- "value": "4"
4702
- },
4703
- {
4704
- "name": "protoLoopscaleVaultPermUnstakeUserVaultLp",
4705
- "type": "u64",
4706
- "value": "8"
4707
- },
4708
- {
4709
- "name": "protoLoopscaleVaultPermWithdrawUserVault",
4710
- "type": "u64",
4711
- "value": "2"
4712
- }
4713
- ]
4714
- };