@kamino-finance/klend-sdk 7.2.6 → 7.3.1

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 (223) hide show
  1. package/README.md +1 -0
  2. package/dist/@codegen/klend/accounts/LendingMarket.d.ts +33 -0
  3. package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
  4. package/dist/@codegen/klend/accounts/LendingMarket.js +24 -2
  5. package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
  6. package/dist/@codegen/klend/errors/custom.d.ts +26 -2
  7. package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
  8. package/dist/@codegen/klend/errors/custom.js +45 -3
  9. package/dist/@codegen/klend/errors/custom.js.map +1 -1
  10. package/dist/@codegen/klend/instructions/index.d.ts +2 -0
  11. package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
  12. package/dist/@codegen/klend/instructions/index.js +3 -1
  13. package/dist/@codegen/klend/instructions/index.js.map +1 -1
  14. package/dist/@codegen/klend/instructions/initReserve.d.ts +1 -1
  15. package/dist/@codegen/klend/instructions/initReserve.d.ts.map +1 -1
  16. package/dist/@codegen/klend/instructions/initReserve.js +1 -5
  17. package/dist/@codegen/klend/instructions/initReserve.js.map +1 -1
  18. package/dist/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateralV2.js +1 -1
  19. package/dist/@codegen/klend/instructions/seedDepositOnInitReserve.d.ts +13 -0
  20. package/dist/@codegen/klend/instructions/seedDepositOnInitReserve.d.ts.map +1 -0
  21. package/dist/@codegen/klend/instructions/seedDepositOnInitReserve.js +24 -0
  22. package/dist/@codegen/klend/instructions/seedDepositOnInitReserve.js.map +1 -0
  23. package/dist/@codegen/klend/instructions/withdrawObligationCollateral.js +1 -1
  24. package/dist/@codegen/klend/instructions/withdrawObligationCollateralV2.js +1 -1
  25. package/dist/@codegen/klend/types/ReserveConfig.d.ts +58 -24
  26. package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
  27. package/dist/@codegen/klend/types/ReserveConfig.js +40 -18
  28. package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
  29. package/dist/@codegen/klend/types/ReserveFees.d.ts +8 -8
  30. package/dist/@codegen/klend/types/ReserveFees.d.ts.map +1 -1
  31. package/dist/@codegen/klend/types/ReserveFees.js +8 -8
  32. package/dist/@codegen/klend/types/ReserveFees.js.map +1 -1
  33. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +46 -7
  34. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
  35. package/dist/@codegen/klend/types/UpdateConfigMode.js +85 -12
  36. package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
  37. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +26 -0
  38. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
  39. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +49 -1
  40. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
  41. package/dist/@codegen/klend/types/index.d.ts +4 -4
  42. package/dist/@codegen/klend/types/index.d.ts.map +1 -1
  43. package/dist/@codegen/klend/types/index.js.map +1 -1
  44. package/dist/@codegen/kvault/accounts/GlobalConfig.d.ts +32 -0
  45. package/dist/@codegen/kvault/accounts/GlobalConfig.d.ts.map +1 -0
  46. package/dist/@codegen/kvault/accounts/GlobalConfig.js +125 -0
  47. package/dist/@codegen/kvault/accounts/GlobalConfig.js.map +1 -0
  48. package/dist/@codegen/kvault/accounts/Reserve.js +1 -1
  49. package/dist/@codegen/kvault/accounts/ReserveWhitelistEntry.d.ts +52 -0
  50. package/dist/@codegen/kvault/accounts/ReserveWhitelistEntry.d.ts.map +1 -0
  51. package/dist/@codegen/kvault/accounts/ReserveWhitelistEntry.js +127 -0
  52. package/dist/@codegen/kvault/accounts/ReserveWhitelistEntry.js.map +1 -0
  53. package/dist/@codegen/kvault/accounts/VaultState.d.ts +18 -0
  54. package/dist/@codegen/kvault/accounts/VaultState.d.ts.map +1 -1
  55. package/dist/@codegen/kvault/accounts/VaultState.js +39 -1
  56. package/dist/@codegen/kvault/accounts/VaultState.js.map +1 -1
  57. package/dist/@codegen/kvault/accounts/index.d.ts +4 -0
  58. package/dist/@codegen/kvault/accounts/index.d.ts.map +1 -1
  59. package/dist/@codegen/kvault/accounts/index.js +5 -1
  60. package/dist/@codegen/kvault/accounts/index.js.map +1 -1
  61. package/dist/@codegen/kvault/errors/custom.d.ts +61 -5
  62. package/dist/@codegen/kvault/errors/custom.d.ts.map +1 -1
  63. package/dist/@codegen/kvault/errors/custom.js +108 -9
  64. package/dist/@codegen/kvault/errors/custom.js.map +1 -1
  65. package/dist/@codegen/kvault/instructions/addUpdateWhitelistedReserve.d.ts +16 -0
  66. package/dist/@codegen/kvault/instructions/addUpdateWhitelistedReserve.d.ts.map +1 -0
  67. package/dist/@codegen/kvault/instructions/addUpdateWhitelistedReserve.js +66 -0
  68. package/dist/@codegen/kvault/instructions/addUpdateWhitelistedReserve.js.map +1 -0
  69. package/dist/@codegen/kvault/instructions/buy.d.ts +24 -0
  70. package/dist/@codegen/kvault/instructions/buy.d.ts.map +1 -0
  71. package/dist/@codegen/kvault/instructions/buy.js +67 -0
  72. package/dist/@codegen/kvault/instructions/buy.js.map +1 -0
  73. package/dist/@codegen/kvault/instructions/index.d.ts +12 -0
  74. package/dist/@codegen/kvault/instructions/index.d.ts.map +1 -1
  75. package/dist/@codegen/kvault/instructions/index.js +13 -1
  76. package/dist/@codegen/kvault/instructions/index.js.map +1 -1
  77. package/dist/@codegen/kvault/instructions/initGlobalConfig.d.ts +11 -0
  78. package/dist/@codegen/kvault/instructions/initGlobalConfig.d.ts.map +1 -0
  79. package/dist/@codegen/kvault/instructions/initGlobalConfig.js +20 -0
  80. package/dist/@codegen/kvault/instructions/initGlobalConfig.js.map +1 -0
  81. package/dist/@codegen/kvault/instructions/invest.d.ts +2 -1
  82. package/dist/@codegen/kvault/instructions/invest.d.ts.map +1 -1
  83. package/dist/@codegen/kvault/instructions/invest.js +5 -0
  84. package/dist/@codegen/kvault/instructions/invest.js.map +1 -1
  85. package/dist/@codegen/kvault/instructions/sell.d.ts +40 -0
  86. package/dist/@codegen/kvault/instructions/sell.d.ts.map +1 -0
  87. package/dist/@codegen/kvault/instructions/sell.js +98 -0
  88. package/dist/@codegen/kvault/instructions/sell.js.map +1 -0
  89. package/dist/@codegen/kvault/instructions/updateGlobalConfig.d.ts +13 -0
  90. package/dist/@codegen/kvault/instructions/updateGlobalConfig.d.ts.map +1 -0
  91. package/dist/@codegen/kvault/instructions/updateGlobalConfig.js +63 -0
  92. package/dist/@codegen/kvault/instructions/updateGlobalConfig.js.map +1 -0
  93. package/dist/@codegen/kvault/instructions/updateGlobalConfigAdmin.d.ts +8 -0
  94. package/dist/@codegen/kvault/instructions/updateGlobalConfigAdmin.d.ts.map +1 -0
  95. package/dist/@codegen/kvault/instructions/updateGlobalConfigAdmin.js +21 -0
  96. package/dist/@codegen/kvault/instructions/updateGlobalConfigAdmin.js.map +1 -0
  97. package/dist/@codegen/kvault/instructions/updateReserveAllocation.d.ts +2 -1
  98. package/dist/@codegen/kvault/instructions/updateReserveAllocation.d.ts.map +1 -1
  99. package/dist/@codegen/kvault/instructions/updateReserveAllocation.js +5 -0
  100. package/dist/@codegen/kvault/instructions/updateReserveAllocation.js.map +1 -1
  101. package/dist/@codegen/kvault/instructions/updateVaultConfig.d.ts +2 -1
  102. package/dist/@codegen/kvault/instructions/updateVaultConfig.d.ts.map +1 -1
  103. package/dist/@codegen/kvault/instructions/updateVaultConfig.js +2 -5
  104. package/dist/@codegen/kvault/instructions/updateVaultConfig.js.map +1 -1
  105. package/dist/@codegen/kvault/instructions/withdraw.d.ts +1 -0
  106. package/dist/@codegen/kvault/instructions/withdraw.d.ts.map +1 -1
  107. package/dist/@codegen/kvault/instructions/withdraw.js +1 -0
  108. package/dist/@codegen/kvault/instructions/withdraw.js.map +1 -1
  109. package/dist/@codegen/kvault/instructions/withdrawFromAvailable.d.ts +1 -0
  110. package/dist/@codegen/kvault/instructions/withdrawFromAvailable.d.ts.map +1 -1
  111. package/dist/@codegen/kvault/instructions/withdrawFromAvailable.js +1 -0
  112. package/dist/@codegen/kvault/instructions/withdrawFromAvailable.js.map +1 -1
  113. package/dist/@codegen/kvault/types/ReserveConfig.d.ts +27 -34
  114. package/dist/@codegen/kvault/types/ReserveConfig.d.ts.map +1 -1
  115. package/dist/@codegen/kvault/types/ReserveConfig.js +20 -17
  116. package/dist/@codegen/kvault/types/ReserveConfig.js.map +1 -1
  117. package/dist/@codegen/kvault/types/ReserveFees.d.ts +8 -8
  118. package/dist/@codegen/kvault/types/ReserveFees.d.ts.map +1 -1
  119. package/dist/@codegen/kvault/types/ReserveFees.js +8 -8
  120. package/dist/@codegen/kvault/types/ReserveFees.js.map +1 -1
  121. package/dist/@codegen/kvault/types/UpdateGlobalConfigMode.d.ts +68 -0
  122. package/dist/@codegen/kvault/types/UpdateGlobalConfigMode.d.ts.map +1 -0
  123. package/dist/@codegen/kvault/types/UpdateGlobalConfigMode.js +162 -0
  124. package/dist/@codegen/kvault/types/UpdateGlobalConfigMode.js.map +1 -0
  125. package/dist/@codegen/kvault/types/UpdateReserveWhitelistMode.d.ts +46 -0
  126. package/dist/@codegen/kvault/types/UpdateReserveWhitelistMode.d.ts.map +1 -0
  127. package/dist/@codegen/kvault/types/UpdateReserveWhitelistMode.js +124 -0
  128. package/dist/@codegen/kvault/types/UpdateReserveWhitelistMode.js.map +1 -0
  129. package/dist/@codegen/kvault/types/VaultConfigField.d.ts +65 -0
  130. package/dist/@codegen/kvault/types/VaultConfigField.d.ts.map +1 -1
  131. package/dist/@codegen/kvault/types/VaultConfigField.js +121 -1
  132. package/dist/@codegen/kvault/types/VaultConfigField.js.map +1 -1
  133. package/dist/@codegen/kvault/types/index.d.ts +10 -2
  134. package/dist/@codegen/kvault/types/index.d.ts.map +1 -1
  135. package/dist/@codegen/kvault/types/index.js +5 -1
  136. package/dist/@codegen/kvault/types/index.js.map +1 -1
  137. package/dist/classes/manager.d.ts +19 -1
  138. package/dist/classes/manager.d.ts.map +1 -1
  139. package/dist/classes/manager.js +28 -0
  140. package/dist/classes/manager.js.map +1 -1
  141. package/dist/classes/reserve.d.ts.map +1 -1
  142. package/dist/classes/reserve.js +7 -4
  143. package/dist/classes/reserve.js.map +1 -1
  144. package/dist/classes/vault.d.ts +33 -5
  145. package/dist/classes/vault.d.ts.map +1 -1
  146. package/dist/classes/vault.js +379 -48
  147. package/dist/classes/vault.js.map +1 -1
  148. package/dist/idl/klend.json +129 -59
  149. package/dist/lib.d.ts +1 -0
  150. package/dist/lib.d.ts.map +1 -1
  151. package/dist/lib.js +4 -2
  152. package/dist/lib.js.map +1 -1
  153. package/dist/manager/client_kamino_manager.js +206 -15
  154. package/dist/manager/client_kamino_manager.js.map +1 -1
  155. package/dist/utils/index.d.ts +1 -0
  156. package/dist/utils/index.d.ts.map +1 -1
  157. package/dist/utils/index.js +1 -0
  158. package/dist/utils/index.js.map +1 -1
  159. package/dist/utils/managerTypes.d.ts +1 -1
  160. package/dist/utils/managerTypes.d.ts.map +1 -1
  161. package/dist/utils/managerTypes.js +5 -3
  162. package/dist/utils/managerTypes.js.map +1 -1
  163. package/dist/utils/parse.d.ts +10 -0
  164. package/dist/utils/parse.d.ts.map +1 -0
  165. package/dist/utils/parse.js +24 -0
  166. package/dist/utils/parse.js.map +1 -0
  167. package/dist/utils/seeds.d.ts +5 -5
  168. package/dist/utils/seeds.d.ts.map +1 -1
  169. package/dist/utils/seeds.js +13 -13
  170. package/dist/utils/seeds.js.map +1 -1
  171. package/dist/utils/vault.d.ts.map +1 -1
  172. package/dist/utils/vault.js +6 -0
  173. package/dist/utils/vault.js.map +1 -1
  174. package/package.json +1 -1
  175. package/src/@codegen/klend/accounts/LendingMarket.ts +46 -2
  176. package/src/@codegen/klend/errors/custom.ts +47 -2
  177. package/src/@codegen/klend/instructions/index.ts +2 -0
  178. package/src/@codegen/klend/instructions/initReserve.ts +2 -6
  179. package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateralV2.ts +1 -1
  180. package/src/@codegen/klend/instructions/seedDepositOnInitReserve.ts +50 -0
  181. package/src/@codegen/klend/instructions/withdrawObligationCollateral.ts +1 -1
  182. package/src/@codegen/klend/instructions/withdrawObligationCollateralV2.ts +1 -1
  183. package/src/@codegen/klend/types/ReserveConfig.ts +72 -30
  184. package/src/@codegen/klend/types/ReserveFees.ts +12 -12
  185. package/src/@codegen/klend/types/UpdateConfigMode.ts +103 -13
  186. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +60 -0
  187. package/src/@codegen/klend/types/index.ts +12 -2
  188. package/src/@codegen/kvault/accounts/GlobalConfig.ts +136 -0
  189. package/src/@codegen/kvault/accounts/Reserve.ts +1 -1
  190. package/src/@codegen/kvault/accounts/ReserveWhitelistEntry.ts +157 -0
  191. package/src/@codegen/kvault/accounts/VaultState.ts +57 -1
  192. package/src/@codegen/kvault/accounts/index.ts +7 -0
  193. package/src/@codegen/kvault/errors/custom.ts +109 -8
  194. package/src/@codegen/kvault/instructions/addUpdateWhitelistedReserve.ts +64 -0
  195. package/src/@codegen/kvault/instructions/buy.ts +74 -0
  196. package/src/@codegen/kvault/instructions/index.ts +18 -0
  197. package/src/@codegen/kvault/instructions/initGlobalConfig.ts +44 -0
  198. package/src/@codegen/kvault/instructions/invest.ts +4 -0
  199. package/src/@codegen/kvault/instructions/sell.ts +122 -0
  200. package/src/@codegen/kvault/instructions/updateGlobalConfig.ts +58 -0
  201. package/src/@codegen/kvault/instructions/updateGlobalConfigAdmin.ts +42 -0
  202. package/src/@codegen/kvault/instructions/updateReserveAllocation.ts +4 -0
  203. package/src/@codegen/kvault/instructions/updateVaultConfig.ts +4 -6
  204. package/src/@codegen/kvault/instructions/withdraw.ts +2 -0
  205. package/src/@codegen/kvault/instructions/withdrawFromAvailable.ts +2 -0
  206. package/src/@codegen/kvault/types/ReserveConfig.ts +34 -37
  207. package/src/@codegen/kvault/types/ReserveFees.ts +12 -12
  208. package/src/@codegen/kvault/types/UpdateGlobalConfigMode.ts +160 -0
  209. package/src/@codegen/kvault/types/UpdateReserveWhitelistMode.ts +117 -0
  210. package/src/@codegen/kvault/types/VaultConfigField.ts +150 -0
  211. package/src/@codegen/kvault/types/index.ts +31 -0
  212. package/src/classes/manager.ts +50 -1
  213. package/src/classes/reserve.ts +7 -5
  214. package/src/classes/vault.ts +555 -48
  215. package/src/idl/klend.json +130 -60
  216. package/src/idl/kvault.json +582 -23
  217. package/src/lib.ts +2 -1
  218. package/src/manager/client_kamino_manager.ts +313 -18
  219. package/src/utils/index.ts +2 -1
  220. package/src/utils/managerTypes.ts +6 -4
  221. package/src/utils/parse.ts +18 -0
  222. package/src/utils/seeds.ts +13 -17
  223. package/src/utils/vault.ts +6 -0
@@ -96,6 +96,12 @@
96
96
  "isMut": true,
97
97
  "isSigner": false
98
98
  },
99
+ {
100
+ "name": "reserveWhitelistEntry",
101
+ "isMut": false,
102
+ "isSigner": false,
103
+ "isOptional": true
104
+ },
99
105
  {
100
106
  "name": "reserveCollateralTokenProgram",
101
107
  "isMut": false,
@@ -199,6 +205,82 @@
199
205
  }
200
206
  ]
201
207
  },
208
+ {
209
+ "name": "buy",
210
+ "accounts": [
211
+ {
212
+ "name": "user",
213
+ "isMut": true,
214
+ "isSigner": true
215
+ },
216
+ {
217
+ "name": "vaultState",
218
+ "isMut": true,
219
+ "isSigner": false
220
+ },
221
+ {
222
+ "name": "tokenVault",
223
+ "isMut": true,
224
+ "isSigner": false
225
+ },
226
+ {
227
+ "name": "tokenMint",
228
+ "isMut": false,
229
+ "isSigner": false
230
+ },
231
+ {
232
+ "name": "baseVaultAuthority",
233
+ "isMut": false,
234
+ "isSigner": false
235
+ },
236
+ {
237
+ "name": "sharesMint",
238
+ "isMut": true,
239
+ "isSigner": false
240
+ },
241
+ {
242
+ "name": "userTokenAta",
243
+ "isMut": true,
244
+ "isSigner": false
245
+ },
246
+ {
247
+ "name": "userSharesAta",
248
+ "isMut": true,
249
+ "isSigner": false
250
+ },
251
+ {
252
+ "name": "klendProgram",
253
+ "isMut": false,
254
+ "isSigner": false
255
+ },
256
+ {
257
+ "name": "tokenProgram",
258
+ "isMut": false,
259
+ "isSigner": false
260
+ },
261
+ {
262
+ "name": "sharesTokenProgram",
263
+ "isMut": false,
264
+ "isSigner": false
265
+ },
266
+ {
267
+ "name": "eventAuthority",
268
+ "isMut": false,
269
+ "isSigner": false
270
+ },
271
+ {
272
+ "name": "program",
273
+ "isMut": false,
274
+ "isSigner": false
275
+ }
276
+ ],
277
+ "args": [
278
+ {
279
+ "name": "maxAmount",
280
+ "type": "u64"
281
+ }
282
+ ]
283
+ },
202
284
  {
203
285
  "name": "withdraw",
204
286
  "accounts": [
@@ -215,6 +297,157 @@
215
297
  "isMut": true,
216
298
  "isSigner": false
217
299
  },
300
+ {
301
+ "name": "globalConfig",
302
+ "isMut": false,
303
+ "isSigner": false
304
+ },
305
+ {
306
+ "name": "tokenVault",
307
+ "isMut": true,
308
+ "isSigner": false
309
+ },
310
+ {
311
+ "name": "baseVaultAuthority",
312
+ "isMut": false,
313
+ "isSigner": false
314
+ },
315
+ {
316
+ "name": "userTokenAta",
317
+ "isMut": true,
318
+ "isSigner": false
319
+ },
320
+ {
321
+ "name": "tokenMint",
322
+ "isMut": true,
323
+ "isSigner": false
324
+ },
325
+ {
326
+ "name": "userSharesAta",
327
+ "isMut": true,
328
+ "isSigner": false
329
+ },
330
+ {
331
+ "name": "sharesMint",
332
+ "isMut": true,
333
+ "isSigner": false
334
+ },
335
+ {
336
+ "name": "tokenProgram",
337
+ "isMut": false,
338
+ "isSigner": false
339
+ },
340
+ {
341
+ "name": "sharesTokenProgram",
342
+ "isMut": false,
343
+ "isSigner": false
344
+ },
345
+ {
346
+ "name": "klendProgram",
347
+ "isMut": false,
348
+ "isSigner": false
349
+ },
350
+ {
351
+ "name": "eventAuthority",
352
+ "isMut": false,
353
+ "isSigner": false
354
+ },
355
+ {
356
+ "name": "program",
357
+ "isMut": false,
358
+ "isSigner": false
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ "name": "withdrawFromReserveAccounts",
364
+ "accounts": [
365
+ {
366
+ "name": "vaultState",
367
+ "isMut": true,
368
+ "isSigner": false
369
+ },
370
+ {
371
+ "name": "reserve",
372
+ "isMut": true,
373
+ "isSigner": false
374
+ },
375
+ {
376
+ "name": "ctokenVault",
377
+ "isMut": true,
378
+ "isSigner": false
379
+ },
380
+ {
381
+ "name": "lendingMarket",
382
+ "isMut": false,
383
+ "isSigner": false
384
+ },
385
+ {
386
+ "name": "lendingMarketAuthority",
387
+ "isMut": false,
388
+ "isSigner": false
389
+ },
390
+ {
391
+ "name": "reserveLiquiditySupply",
392
+ "isMut": true,
393
+ "isSigner": false
394
+ },
395
+ {
396
+ "name": "reserveCollateralMint",
397
+ "isMut": true,
398
+ "isSigner": false
399
+ },
400
+ {
401
+ "name": "reserveCollateralTokenProgram",
402
+ "isMut": false,
403
+ "isSigner": false
404
+ },
405
+ {
406
+ "name": "instructionSysvarAccount",
407
+ "isMut": false,
408
+ "isSigner": false
409
+ }
410
+ ]
411
+ },
412
+ {
413
+ "name": "eventAuthority",
414
+ "isMut": false,
415
+ "isSigner": false
416
+ },
417
+ {
418
+ "name": "program",
419
+ "isMut": false,
420
+ "isSigner": false
421
+ }
422
+ ],
423
+ "args": [
424
+ {
425
+ "name": "sharesAmount",
426
+ "type": "u64"
427
+ }
428
+ ]
429
+ },
430
+ {
431
+ "name": "sell",
432
+ "accounts": [
433
+ {
434
+ "name": "withdrawFromAvailable",
435
+ "accounts": [
436
+ {
437
+ "name": "user",
438
+ "isMut": true,
439
+ "isSigner": true
440
+ },
441
+ {
442
+ "name": "vaultState",
443
+ "isMut": true,
444
+ "isSigner": false
445
+ },
446
+ {
447
+ "name": "globalConfig",
448
+ "isMut": false,
449
+ "isSigner": false
450
+ },
218
451
  {
219
452
  "name": "tokenVault",
220
453
  "isMut": true,
@@ -406,6 +639,12 @@
406
639
  "isMut": true,
407
640
  "isSigner": false
408
641
  },
642
+ {
643
+ "name": "reserveWhitelistEntry",
644
+ "isMut": false,
645
+ "isSigner": false,
646
+ "isOptional": true
647
+ },
409
648
  {
410
649
  "name": "klendProgram",
411
650
  "isMut": false,
@@ -433,10 +672,15 @@
433
672
  "name": "updateVaultConfig",
434
673
  "accounts": [
435
674
  {
436
- "name": "vaultAdminAuthority",
675
+ "name": "signer",
437
676
  "isMut": false,
438
677
  "isSigner": true
439
678
  },
679
+ {
680
+ "name": "globalConfig",
681
+ "isMut": false,
682
+ "isSigner": false
683
+ },
440
684
  {
441
685
  "name": "vaultState",
442
686
  "isMut": true,
@@ -708,6 +952,11 @@
708
952
  "isMut": true,
709
953
  "isSigner": false
710
954
  },
955
+ {
956
+ "name": "globalConfig",
957
+ "isMut": false,
958
+ "isSigner": false
959
+ },
711
960
  {
712
961
  "name": "tokenVault",
713
962
  "isMut": true,
@@ -791,6 +1040,114 @@
791
1040
  }
792
1041
  ],
793
1042
  "args": []
1043
+ },
1044
+ {
1045
+ "name": "initGlobalConfig",
1046
+ "accounts": [
1047
+ {
1048
+ "name": "payer",
1049
+ "isMut": true,
1050
+ "isSigner": true
1051
+ },
1052
+ {
1053
+ "name": "globalConfig",
1054
+ "isMut": true,
1055
+ "isSigner": false
1056
+ },
1057
+ {
1058
+ "name": "programData",
1059
+ "isMut": false,
1060
+ "isSigner": false
1061
+ },
1062
+ {
1063
+ "name": "systemProgram",
1064
+ "isMut": false,
1065
+ "isSigner": false
1066
+ },
1067
+ {
1068
+ "name": "rent",
1069
+ "isMut": false,
1070
+ "isSigner": false
1071
+ }
1072
+ ],
1073
+ "args": []
1074
+ },
1075
+ {
1076
+ "name": "updateGlobalConfig",
1077
+ "accounts": [
1078
+ {
1079
+ "name": "globalAdmin",
1080
+ "isMut": false,
1081
+ "isSigner": true
1082
+ },
1083
+ {
1084
+ "name": "globalConfig",
1085
+ "isMut": true,
1086
+ "isSigner": false
1087
+ }
1088
+ ],
1089
+ "args": [
1090
+ {
1091
+ "name": "update",
1092
+ "type": {
1093
+ "defined": "UpdateGlobalConfigMode"
1094
+ }
1095
+ }
1096
+ ]
1097
+ },
1098
+ {
1099
+ "name": "updateGlobalConfigAdmin",
1100
+ "accounts": [
1101
+ {
1102
+ "name": "pendingAdmin",
1103
+ "isMut": false,
1104
+ "isSigner": true
1105
+ },
1106
+ {
1107
+ "name": "globalConfig",
1108
+ "isMut": true,
1109
+ "isSigner": false
1110
+ }
1111
+ ],
1112
+ "args": []
1113
+ },
1114
+ {
1115
+ "name": "addUpdateWhitelistedReserve",
1116
+ "accounts": [
1117
+ {
1118
+ "name": "globalAdmin",
1119
+ "isMut": true,
1120
+ "isSigner": true
1121
+ },
1122
+ {
1123
+ "name": "globalConfig",
1124
+ "isMut": false,
1125
+ "isSigner": false
1126
+ },
1127
+ {
1128
+ "name": "reserve",
1129
+ "isMut": false,
1130
+ "isSigner": false
1131
+ },
1132
+ {
1133
+ "name": "reserveWhitelistEntry",
1134
+ "isMut": true,
1135
+ "isSigner": false
1136
+ },
1137
+ {
1138
+ "name": "systemProgram",
1139
+ "isMut": false,
1140
+ "isSigner": false
1141
+ }
1142
+ ],
1143
+ "args": [
1144
+ {
1145
+ "name": "update",
1146
+ "type": {
1147
+ "defined": "UpdateReserveWhitelistMode"
1148
+ }
1149
+ }
1150
+ ]
794
1151
  }
795
1152
  ],
796
1153
  "accounts": [
@@ -880,7 +1237,7 @@
880
1237
  "type": {
881
1238
  "array": [
882
1239
  "u64",
883
- 115
1240
+ 116
884
1241
  ]
885
1242
  }
886
1243
  },
@@ -913,6 +1270,79 @@
913
1270
  ]
914
1271
  }
915
1272
  },
1273
+ {
1274
+ "name": "GlobalConfig",
1275
+ "type": {
1276
+ "kind": "struct",
1277
+ "fields": [
1278
+ {
1279
+ "name": "globalAdmin",
1280
+ "type": "publicKey"
1281
+ },
1282
+ {
1283
+ "name": "pendingAdmin",
1284
+ "type": "publicKey"
1285
+ },
1286
+ {
1287
+ "name": "withdrawalPenaltyLamports",
1288
+ "type": "u64"
1289
+ },
1290
+ {
1291
+ "name": "withdrawalPenaltyBps",
1292
+ "type": "u64"
1293
+ },
1294
+ {
1295
+ "name": "padding",
1296
+ "type": {
1297
+ "array": [
1298
+ "u8",
1299
+ 944
1300
+ ]
1301
+ }
1302
+ }
1303
+ ]
1304
+ }
1305
+ },
1306
+ {
1307
+ "name": "ReserveWhitelistEntry",
1308
+ "type": {
1309
+ "kind": "struct",
1310
+ "fields": [
1311
+ {
1312
+ "name": "tokenMint",
1313
+ "docs": [
1314
+ "The token mint is stored to solve the problem of finding all the whitelisted reserves for a particular token mint:",
1315
+ "when storing the token mint inside the PDA, finding all the whitelisted reserves becomes a `getProgramAccounts` with",
1316
+ "a filter on discriminator + the mint field",
1317
+ "The reserve pubkey, as seed of the reserve whitelist PDA account, it stored so you can link back the PDA to its seeds",
1318
+ "(for instance, in the operation above we easily find the reserve corresponding to the PDA)"
1319
+ ],
1320
+ "type": "publicKey"
1321
+ },
1322
+ {
1323
+ "name": "reserve",
1324
+ "type": "publicKey"
1325
+ },
1326
+ {
1327
+ "name": "whitelistAddAllocation",
1328
+ "type": "u8"
1329
+ },
1330
+ {
1331
+ "name": "whitelistInvest",
1332
+ "type": "u8"
1333
+ },
1334
+ {
1335
+ "name": "padding",
1336
+ "type": {
1337
+ "array": [
1338
+ "u8",
1339
+ 62
1340
+ ]
1341
+ }
1342
+ }
1343
+ ]
1344
+ }
1345
+ },
916
1346
  {
917
1347
  "name": "VaultState",
918
1348
  "type": {
@@ -1075,12 +1505,41 @@
1075
1505
  "name": "allocationAdmin",
1076
1506
  "type": "publicKey"
1077
1507
  },
1508
+ {
1509
+ "name": "withdrawalPenaltyLamports",
1510
+ "type": "u64"
1511
+ },
1512
+ {
1513
+ "name": "withdrawalPenaltyBps",
1514
+ "type": "u64"
1515
+ },
1516
+ {
1517
+ "name": "firstLossCapitalFarm",
1518
+ "type": "publicKey"
1519
+ },
1520
+ {
1521
+ "name": "allowAllocationsInWhitelistedReservesOnly",
1522
+ "type": "u8"
1523
+ },
1524
+ {
1525
+ "name": "allowInvestInWhitelistedReservesOnly",
1526
+ "type": "u8"
1527
+ },
1528
+ {
1529
+ "name": "padding4",
1530
+ "type": {
1531
+ "array": [
1532
+ "u8",
1533
+ 14
1534
+ ]
1535
+ }
1536
+ },
1078
1537
  {
1079
1538
  "name": "padding3",
1080
1539
  "type": {
1081
1540
  "array": [
1082
1541
  "u128",
1083
- 242
1542
+ 238
1084
1543
  ]
1085
1544
  }
1086
1545
  }
@@ -1235,18 +1694,31 @@
1235
1694
  ],
1236
1695
  "type": "u16"
1237
1696
  },
1697
+ {
1698
+ "name": "minDeleveragingBonusBps",
1699
+ "docs": [
1700
+ "Starting bonus for deleveraging-related liquidations, in bps."
1701
+ ],
1702
+ "type": "u16"
1703
+ },
1704
+ {
1705
+ "name": "blockCtokenUsage",
1706
+ "docs": [
1707
+ "Boolean flag to block minting/redeeming of ctokens",
1708
+ "Blocks usage of ctokens (minting or withdrawing from obligation)",
1709
+ "Effectively blocks deposit_reserve_liquidity and withdraw_obligation_collateral"
1710
+ ],
1711
+ "type": "u8"
1712
+ },
1238
1713
  {
1239
1714
  "name": "reserved1",
1240
1715
  "docs": [
1241
- "[DEPRECATED] Space that used to hold 2 fields:",
1242
- "- Boost for side (debt or collateral)",
1243
- "- Reward points multiplier per obligation type",
1244
- "Can be re-used after making sure all underlying production account data is zeroed."
1716
+ "Past reserved space - feel free to reuse."
1245
1717
  ],
1246
1718
  "type": {
1247
1719
  "array": [
1248
1720
  "u8",
1249
- 9
1721
+ 6
1250
1722
  ]
1251
1723
  }
1252
1724
  },
@@ -1463,15 +1935,6 @@
1463
1935
  "Only relevant when `autodeleverage_enabled == 1`, and must not be 0 in such case."
1464
1936
  ],
1465
1937
  "type": "u64"
1466
- },
1467
- {
1468
- "name": "debtMaturityTimestamp",
1469
- "docs": [
1470
- "The timestamp at which all [Obligation::borrows] using this reserve become liquidatable",
1471
- "(on the same terms as reserve-wide deleveraging).",
1472
- "Inactive when zeroed (i.e. debt never matures)."
1473
- ],
1474
- "type": "u64"
1475
1938
  }
1476
1939
  ]
1477
1940
  }
@@ -1489,14 +1952,14 @@
1489
1952
  "kind": "struct",
1490
1953
  "fields": [
1491
1954
  {
1492
- "name": "borrowFeeSf",
1955
+ "name": "originationFeeSf",
1493
1956
  "docs": [
1494
1957
  "Fee assessed on `BorrowObligationLiquidity`, as scaled fraction (60 bits fractional part)",
1495
1958
  "Must be between `0` and `2^60`, such that `2^60 = 1`. A few examples for",
1496
1959
  "clarity:",
1497
1960
  "1% = (1 << 60) / 100 = 11529215046068470",
1498
1961
  "0.01% (1 basis point) = 115292150460685",
1499
- "0.00001% (Aave borrow fee) = 115292150461"
1962
+ "0.00001% (Aave origination fee) = 115292150461"
1500
1963
  ],
1501
1964
  "type": "u64"
1502
1965
  },
@@ -1925,6 +2388,26 @@
1925
2388
  ]
1926
2389
  }
1927
2390
  },
2391
+ {
2392
+ "name": "UpdateReserveWhitelistMode",
2393
+ "type": {
2394
+ "kind": "enum",
2395
+ "variants": [
2396
+ {
2397
+ "name": "Invest",
2398
+ "fields": [
2399
+ "u8"
2400
+ ]
2401
+ },
2402
+ {
2403
+ "name": "AddAllocation",
2404
+ "fields": [
2405
+ "u8"
2406
+ ]
2407
+ }
2408
+ ]
2409
+ }
2410
+ },
1928
2411
  {
1929
2412
  "name": "VaultConfigField",
1930
2413
  "type": {
@@ -1971,6 +2454,21 @@
1971
2454
  },
1972
2455
  {
1973
2456
  "name": "UnallocatedTokensCap"
2457
+ },
2458
+ {
2459
+ "name": "WithdrawalPenaltyLamports"
2460
+ },
2461
+ {
2462
+ "name": "WithdrawalPenaltyBps"
2463
+ },
2464
+ {
2465
+ "name": "FirstLossCapitalFarm"
2466
+ },
2467
+ {
2468
+ "name": "AllowAllocationsInWhitelistedReservesOnly"
2469
+ },
2470
+ {
2471
+ "name": "AllowInvestInWhitelistedReservesOnly"
1974
2472
  }
1975
2473
  ]
1976
2474
  }
@@ -2035,6 +2533,32 @@
2035
2533
  }
2036
2534
  ]
2037
2535
  }
2536
+ },
2537
+ {
2538
+ "name": "UpdateGlobalConfigMode",
2539
+ "type": {
2540
+ "kind": "enum",
2541
+ "variants": [
2542
+ {
2543
+ "name": "PendingAdmin",
2544
+ "fields": [
2545
+ "publicKey"
2546
+ ]
2547
+ },
2548
+ {
2549
+ "name": "MinWithdrawalPenaltyLamports",
2550
+ "fields": [
2551
+ "u64"
2552
+ ]
2553
+ },
2554
+ {
2555
+ "name": "MinWithdrawalPenaltyBPS",
2556
+ "fields": [
2557
+ "u64"
2558
+ ]
2559
+ }
2560
+ ]
2561
+ }
2038
2562
  }
2039
2563
  ],
2040
2564
  "events": [
@@ -2113,22 +2637,22 @@
2113
2637
  {
2114
2638
  "code": 7000,
2115
2639
  "name": "DepositAmountsZero",
2116
- "msg": "DepositAmountsZero"
2640
+ "msg": "Cannot deposit zero tokens"
2117
2641
  },
2118
2642
  {
2119
2643
  "code": 7001,
2120
2644
  "name": "SharesIssuedAmountDoesNotMatch",
2121
- "msg": "SharesIssuedAmountDoesNotMatch"
2645
+ "msg": "Post check failed on share issued"
2122
2646
  },
2123
2647
  {
2124
2648
  "code": 7002,
2125
2649
  "name": "MathOverflow",
2126
- "msg": "MathOverflow"
2650
+ "msg": "Math operation overflowed"
2127
2651
  },
2128
2652
  {
2129
2653
  "code": 7003,
2130
2654
  "name": "IntegerOverflow",
2131
- "msg": "IntegerOverflow"
2655
+ "msg": "Integer conversion overflowed"
2132
2656
  },
2133
2657
  {
2134
2658
  "code": 7004,
@@ -2354,6 +2878,41 @@
2354
2878
  "code": 7048,
2355
2879
  "name": "DepositAmountGreaterThanRequestedAmount",
2356
2880
  "msg": "Deposit amount is greater than requested amount"
2881
+ },
2882
+ {
2883
+ "code": 7049,
2884
+ "name": "WithdrawAmountLessThanWithdrawalPenalty",
2885
+ "msg": "Withdraw amount is less than withdrawal penalty"
2886
+ },
2887
+ {
2888
+ "code": 7050,
2889
+ "name": "CannotWithdrawZeroLamports",
2890
+ "msg": "Cannot withdraw 0 lamports"
2891
+ },
2892
+ {
2893
+ "code": 7051,
2894
+ "name": "NoUpgradeAuthority",
2895
+ "msg": "Cannot initialize global config because there is no upgrade authority to the program"
2896
+ },
2897
+ {
2898
+ "code": 7052,
2899
+ "name": "WithdrawalFeeBPSGreaterThanMaxAllowed",
2900
+ "msg": "Withdrawal fee BPS is greater than maximum allowed"
2901
+ },
2902
+ {
2903
+ "code": 7053,
2904
+ "name": "WithdrawalFeeLamportsGreaterThanMaxAllowed",
2905
+ "msg": "Withdrawal fee lamports is greater than maximum allowed"
2906
+ },
2907
+ {
2908
+ "code": 7054,
2909
+ "name": "ReserveNotWhitelisted",
2910
+ "msg": "Reserve is not whitelisted"
2911
+ },
2912
+ {
2913
+ "code": 7055,
2914
+ "name": "InvalidBoolLikeValue",
2915
+ "msg": "Invalid bool-like value passed in (should be 0 or 1)"
2357
2916
  }
2358
2917
  ]
2359
2918
  }