@exponent-labs/klend-idl 0.9.24 → 0.9.26

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 (394) hide show
  1. package/build/accounts/GlobalConfig.d.ts +27 -0
  2. package/build/accounts/GlobalConfig.js +112 -0
  3. package/build/accounts/GlobalConfig.js.map +1 -0
  4. package/build/accounts/LendingMarket.d.ts +93 -9
  5. package/build/accounts/LendingMarket.js +202 -20
  6. package/build/accounts/LendingMarket.js.map +1 -1
  7. package/build/accounts/Obligation.d.ts +33 -9
  8. package/build/accounts/Obligation.js +69 -20
  9. package/build/accounts/Obligation.js.map +1 -1
  10. package/build/accounts/ReferrerState.js +7 -2
  11. package/build/accounts/ReferrerState.js.map +1 -1
  12. package/build/accounts/ReferrerTokenState.js +3 -1
  13. package/build/accounts/ReferrerTokenState.js.map +1 -1
  14. package/build/accounts/Reserve.d.ts +3 -0
  15. package/build/accounts/Reserve.js +8 -2
  16. package/build/accounts/Reserve.js.map +1 -1
  17. package/build/accounts/ShortUrl.js +7 -2
  18. package/build/accounts/ShortUrl.js.map +1 -1
  19. package/build/accounts/UserMetadata.js +3 -1
  20. package/build/accounts/UserMetadata.js.map +1 -1
  21. package/build/accounts/UserState.js +3 -1
  22. package/build/accounts/UserState.js.map +1 -1
  23. package/build/accounts/WithdrawTicket.d.ts +49 -0
  24. package/build/accounts/WithdrawTicket.js +158 -0
  25. package/build/accounts/WithdrawTicket.js.map +1 -0
  26. package/build/accounts/index.d.ts +4 -0
  27. package/build/accounts/index.js +5 -1
  28. package/build/accounts/index.js.map +1 -1
  29. package/build/errors/custom.d.ts +605 -13
  30. package/build/errors/custom.js +1063 -26
  31. package/build/errors/custom.js.map +1 -1
  32. package/build/index.d.ts +2 -3
  33. package/build/index.js +3 -7
  34. package/build/index.js.map +1 -1
  35. package/build/instructions/abortObligationOwnershipTransfer.d.ts +7 -0
  36. package/build/instructions/abortObligationOwnershipTransfer.js +21 -0
  37. package/build/instructions/abortObligationOwnershipTransfer.js.map +1 -0
  38. package/build/instructions/acceptObligationOwnership.d.ts +7 -0
  39. package/build/instructions/acceptObligationOwnership.js +21 -0
  40. package/build/instructions/acceptObligationOwnership.js.map +1 -0
  41. package/build/instructions/approveObligationOwnershipTransfer.d.ts +9 -0
  42. package/build/instructions/approveObligationOwnershipTransfer.js +23 -0
  43. package/build/instructions/approveObligationOwnershipTransfer.js.map +1 -0
  44. package/build/instructions/borrowObligationLiquidity.d.ts +1 -1
  45. package/build/instructions/borrowObligationLiquidity.js +9 -2
  46. package/build/instructions/borrowObligationLiquidity.js.map +1 -1
  47. package/build/instructions/borrowObligationLiquidityV2.js +26 -6
  48. package/build/instructions/borrowObligationLiquidityV2.js.map +1 -1
  49. package/build/instructions/calculateCtokenExchangeRate.d.ts +5 -0
  50. package/build/instructions/calculateCtokenExchangeRate.js +15 -0
  51. package/build/instructions/calculateCtokenExchangeRate.js.map +1 -0
  52. package/build/instructions/cancelWithdrawTicket.d.ts +19 -0
  53. package/build/instructions/cancelWithdrawTicket.js +87 -0
  54. package/build/instructions/cancelWithdrawTicket.js.map +1 -0
  55. package/build/instructions/cloneReserveConfig.d.ts +14 -0
  56. package/build/instructions/cloneReserveConfig.js +70 -0
  57. package/build/instructions/cloneReserveConfig.js.map +1 -0
  58. package/build/instructions/deleteReferrerStateAndShortUrl.js.map +1 -1
  59. package/build/instructions/depositAndWithdraw.d.ts +51 -0
  60. package/build/instructions/depositAndWithdraw.js +202 -0
  61. package/build/instructions/depositAndWithdraw.js.map +1 -0
  62. package/build/instructions/depositObligationCollateral.js.map +1 -1
  63. package/build/instructions/depositObligationCollateralV2.d.ts +25 -0
  64. package/build/instructions/depositObligationCollateralV2.js +109 -0
  65. package/build/instructions/depositObligationCollateralV2.js.map +1 -0
  66. package/build/instructions/depositReserveLiquidity.js +1 -1
  67. package/build/instructions/depositReserveLiquidity.js.map +1 -1
  68. package/build/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +1 -1
  69. package/build/instructions/depositReserveLiquidityAndObligationCollateral.js +9 -6
  70. package/build/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -1
  71. package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.js +26 -6
  72. package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.js.map +1 -1
  73. package/build/instructions/enqueueToWithdraw.d.ts +26 -0
  74. package/build/instructions/enqueueToWithdraw.js +113 -0
  75. package/build/instructions/enqueueToWithdraw.js.map +1 -0
  76. package/build/instructions/fillBorrowOrder.d.ts +25 -0
  77. package/build/instructions/fillBorrowOrder.js +82 -0
  78. package/build/instructions/fillBorrowOrder.js.map +1 -0
  79. package/build/instructions/fillBorrowOrderV2.d.ts +29 -0
  80. package/build/instructions/fillBorrowOrderV2.js +122 -0
  81. package/build/instructions/fillBorrowOrderV2.js.map +1 -0
  82. package/build/instructions/flashBorrowReserveLiquidity.d.ts +2 -2
  83. package/build/instructions/flashBorrowReserveLiquidity.js +9 -2
  84. package/build/instructions/flashBorrowReserveLiquidity.js.map +1 -1
  85. package/build/instructions/flashRepayReserveLiquidity.d.ts +2 -2
  86. package/build/instructions/flashRepayReserveLiquidity.js +13 -3
  87. package/build/instructions/flashRepayReserveLiquidity.js.map +1 -1
  88. package/build/instructions/idlMissingTypes.d.ts +3 -2
  89. package/build/instructions/idlMissingTypes.js +7 -3
  90. package/build/instructions/idlMissingTypes.js.map +1 -1
  91. package/build/instructions/index.d.ts +61 -3
  92. package/build/instructions/index.js +62 -3
  93. package/build/instructions/index.js.map +1 -1
  94. package/build/instructions/initFarmsForReserve.d.ts +1 -0
  95. package/build/instructions/initFarmsForReserve.js +6 -1
  96. package/build/instructions/initFarmsForReserve.js.map +1 -1
  97. package/build/instructions/initGlobalConfig.d.ts +10 -0
  98. package/build/instructions/initGlobalConfig.js +24 -0
  99. package/build/instructions/initGlobalConfig.js.map +1 -0
  100. package/build/instructions/initLendingMarket.d.ts +1 -0
  101. package/build/instructions/initLendingMarket.js +8 -1
  102. package/build/instructions/initLendingMarket.js.map +1 -1
  103. package/build/instructions/initObligation.js.map +1 -1
  104. package/build/instructions/initObligationFarmsForReserve.js +1 -1
  105. package/build/instructions/initObligationFarmsForReserve.js.map +1 -1
  106. package/build/instructions/initReferrerStateAndShortUrl.js.map +1 -1
  107. package/build/instructions/initReferrerTokenState.d.ts +2 -5
  108. package/build/instructions/initReferrerTokenState.js +3 -42
  109. package/build/instructions/initReferrerTokenState.js.map +1 -1
  110. package/build/instructions/initReserve.d.ts +3 -1
  111. package/build/instructions/initReserve.js +11 -1
  112. package/build/instructions/initReserve.js.map +1 -1
  113. package/build/instructions/initUserMetadata.d.ts +1 -1
  114. package/build/instructions/initUserMetadata.js +8 -5
  115. package/build/instructions/initUserMetadata.js.map +1 -1
  116. package/build/instructions/initiateObligationOwnershipTransfer.d.ts +11 -0
  117. package/build/instructions/initiateObligationOwnershipTransfer.js +61 -0
  118. package/build/instructions/initiateObligationOwnershipTransfer.js.map +1 -0
  119. package/build/instructions/liquidateObligationAndRedeemReserveCollateral.js +2 -2
  120. package/build/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -1
  121. package/build/instructions/liquidateObligationAndRedeemReserveCollateralV2.d.ts +42 -0
  122. package/build/instructions/liquidateObligationAndRedeemReserveCollateralV2.js +172 -0
  123. package/build/instructions/liquidateObligationAndRedeemReserveCollateralV2.js.map +1 -0
  124. package/build/instructions/markObligationForDeleveraging.d.ts +12 -0
  125. package/build/instructions/markObligationForDeleveraging.js +62 -0
  126. package/build/instructions/markObligationForDeleveraging.js.map +1 -0
  127. package/build/instructions/recoverInvalidTicketCollateral.d.ts +20 -0
  128. package/build/instructions/recoverInvalidTicketCollateral.js +89 -0
  129. package/build/instructions/recoverInvalidTicketCollateral.js.map +1 -0
  130. package/build/instructions/redeemFees.js +1 -1
  131. package/build/instructions/redeemFees.js.map +1 -1
  132. package/build/instructions/redeemReserveCollateral.js +1 -1
  133. package/build/instructions/redeemReserveCollateral.js.map +1 -1
  134. package/build/instructions/refreshObligation.js.map +1 -1
  135. package/build/instructions/refreshObligationFarmsForReserve.d.ts +8 -6
  136. package/build/instructions/refreshObligationFarmsForReserve.js +23 -7
  137. package/build/instructions/refreshObligationFarmsForReserve.js.map +1 -1
  138. package/build/instructions/refreshReserve.d.ts +4 -4
  139. package/build/instructions/refreshReserve.js +11 -12
  140. package/build/instructions/refreshReserve.js.map +1 -1
  141. package/build/instructions/refreshReservesBatch.js.map +1 -1
  142. package/build/instructions/repayAndWithdrawAndRedeem.d.ts +46 -0
  143. package/build/instructions/repayAndWithdrawAndRedeem.js +177 -0
  144. package/build/instructions/repayAndWithdrawAndRedeem.js.map +1 -0
  145. package/build/instructions/repayObligationLiquidity.js +1 -1
  146. package/build/instructions/repayObligationLiquidity.js.map +1 -1
  147. package/build/instructions/repayObligationLiquidityV2.js +31 -7
  148. package/build/instructions/repayObligationLiquidityV2.js.map +1 -1
  149. package/build/instructions/requestElevationGroup.js.map +1 -1
  150. package/build/instructions/rolloverFixedTermBorrow.d.ts +25 -0
  151. package/build/instructions/rolloverFixedTermBorrow.js +76 -0
  152. package/build/instructions/rolloverFixedTermBorrow.js.map +1 -0
  153. package/build/instructions/seedDepositOnInitReserve.d.ts +11 -0
  154. package/build/instructions/seedDepositOnInitReserve.js +37 -0
  155. package/build/instructions/seedDepositOnInitReserve.js.map +1 -0
  156. package/build/instructions/setBorrowOrder.d.ts +20 -0
  157. package/build/instructions/setBorrowOrder.js +76 -0
  158. package/build/instructions/setBorrowOrder.js.map +1 -0
  159. package/build/instructions/setBorrowOrderV2.d.ts +21 -0
  160. package/build/instructions/setBorrowOrderV2.js +78 -0
  161. package/build/instructions/setBorrowOrderV2.js.map +1 -0
  162. package/build/instructions/setObligationOrder.d.ts +13 -0
  163. package/build/instructions/setObligationOrder.js +62 -0
  164. package/build/instructions/setObligationOrder.js.map +1 -0
  165. package/build/instructions/socializeLoss.d.ts +1 -1
  166. package/build/instructions/socializeLoss.js +1 -1
  167. package/build/instructions/socializeLoss.js.map +1 -1
  168. package/build/instructions/socializeLossV2.d.ts +22 -0
  169. package/build/instructions/socializeLossV2.js +94 -0
  170. package/build/instructions/socializeLossV2.js.map +1 -0
  171. package/build/instructions/topupReserveRewards.d.ts +16 -0
  172. package/build/instructions/topupReserveRewards.js +73 -0
  173. package/build/instructions/topupReserveRewards.js.map +1 -0
  174. package/build/instructions/updateGlobalConfig.d.ts +13 -0
  175. package/build/instructions/updateGlobalConfig.js +66 -0
  176. package/build/instructions/updateGlobalConfig.js.map +1 -0
  177. package/build/instructions/updateGlobalConfigAdmin.d.ts +7 -0
  178. package/build/instructions/updateGlobalConfigAdmin.js +21 -0
  179. package/build/instructions/updateGlobalConfigAdmin.js.map +1 -0
  180. package/build/instructions/updateLendingMarket.d.ts +2 -1
  181. package/build/instructions/updateLendingMarket.js +10 -2
  182. package/build/instructions/updateLendingMarket.js.map +1 -1
  183. package/build/instructions/updateLendingMarketOwner.d.ts +1 -0
  184. package/build/instructions/updateLendingMarketOwner.js +5 -0
  185. package/build/instructions/updateLendingMarketOwner.js.map +1 -1
  186. package/build/instructions/updateObligationConfig.d.ts +15 -0
  187. package/build/instructions/updateObligationConfig.js +71 -0
  188. package/build/instructions/updateObligationConfig.js.map +1 -0
  189. package/build/instructions/updateReserveConfig.d.ts +6 -4
  190. package/build/instructions/updateReserveConfig.js +15 -4
  191. package/build/instructions/updateReserveConfig.js.map +1 -1
  192. package/build/instructions/withdrawObligationCollateral.js +1 -1
  193. package/build/instructions/withdrawObligationCollateral.js.map +1 -1
  194. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +1 -1
  195. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +9 -6
  196. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -1
  197. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js +21 -5
  198. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js.map +1 -1
  199. package/build/instructions/withdrawObligationCollateralV2.d.ts +25 -0
  200. package/build/instructions/withdrawObligationCollateralV2.js +109 -0
  201. package/build/instructions/withdrawObligationCollateralV2.js.map +1 -0
  202. package/build/instructions/withdrawProtocolFee.d.ts +3 -2
  203. package/build/instructions/withdrawProtocolFee.js +6 -5
  204. package/build/instructions/withdrawProtocolFee.js.map +1 -1
  205. package/build/instructions/withdrawQueuedLiquidity.d.ts +23 -0
  206. package/build/instructions/withdrawQueuedLiquidity.js +80 -0
  207. package/build/instructions/withdrawQueuedLiquidity.js.map +1 -0
  208. package/build/instructions/withdrawReferrerFees.js +1 -1
  209. package/build/instructions/withdrawReferrerFees.js.map +1 -1
  210. package/build/kamino_lending.d.ts +5753 -2295
  211. package/build/kamino_lending.js +5 -3936
  212. package/build/kamino_lending.js.map +1 -1
  213. package/build/kamino_lending.json +1856 -645
  214. package/build/types/BigFractionBytes.d.ts +2 -1
  215. package/build/types/BigFractionBytes.js +4 -1
  216. package/build/types/BigFractionBytes.js.map +1 -1
  217. package/build/types/BorrowOrder.d.ts +83 -0
  218. package/build/types/BorrowOrder.js +164 -0
  219. package/build/types/BorrowOrder.js.map +1 -0
  220. package/build/types/BorrowOrderConfigArgs.d.ts +42 -0
  221. package/build/types/BorrowOrderConfigArgs.js +107 -0
  222. package/build/types/BorrowOrderConfigArgs.js.map +1 -0
  223. package/build/types/BorrowRateCurve.js.map +1 -1
  224. package/build/types/CurvePoint.d.ts +2 -1
  225. package/build/types/CurvePoint.js.map +1 -1
  226. package/build/types/ElevationGroup.d.ts +2 -1
  227. package/build/types/ElevationGroup.js.map +1 -1
  228. package/build/types/ExchangeRateWithDecimals.d.ts +27 -0
  229. package/build/types/ExchangeRateWithDecimals.js +82 -0
  230. package/build/types/ExchangeRateWithDecimals.js.map +1 -0
  231. package/build/types/FeeCalculation.js +4 -1
  232. package/build/types/FeeCalculation.js.map +1 -1
  233. package/build/types/FixedTermBorrowRolloverConfig.d.ts +47 -0
  234. package/build/types/FixedTermBorrowRolloverConfig.js +114 -0
  235. package/build/types/FixedTermBorrowRolloverConfig.js.map +1 -0
  236. package/build/types/InitObligationArgs.d.ts +2 -1
  237. package/build/types/InitObligationArgs.js.map +1 -1
  238. package/build/types/LastUpdate.d.ts +12 -6
  239. package/build/types/LastUpdate.js +19 -7
  240. package/build/types/LastUpdate.js.map +1 -1
  241. package/build/types/ObligationLiquidity.d.ts +29 -5
  242. package/build/types/ObligationLiquidity.js +25 -8
  243. package/build/types/ObligationLiquidity.js.map +1 -1
  244. package/build/types/ObligationOrder.d.ts +57 -0
  245. package/build/types/ObligationOrder.js +127 -0
  246. package/build/types/ObligationOrder.js.map +1 -0
  247. package/build/types/ProgressCallbackType.d.ts +31 -0
  248. package/build/types/ProgressCallbackType.js +108 -0
  249. package/build/types/ProgressCallbackType.js.map +1 -0
  250. package/build/types/ReserveConfig.d.ts +87 -32
  251. package/build/types/ReserveConfig.js +122 -44
  252. package/build/types/ReserveConfig.js.map +1 -1
  253. package/build/types/ReserveConfigCustomizationArgs.d.ts +42 -0
  254. package/build/types/ReserveConfigCustomizationArgs.js +106 -0
  255. package/build/types/ReserveConfigCustomizationArgs.js.map +1 -0
  256. package/build/types/ReserveFees.d.ts +5 -5
  257. package/build/types/ReserveFees.js +7 -7
  258. package/build/types/ReserveFees.js.map +1 -1
  259. package/build/types/ReserveLiquidity.d.ts +20 -15
  260. package/build/types/ReserveLiquidity.js +29 -22
  261. package/build/types/ReserveLiquidity.js.map +1 -1
  262. package/build/types/UpdateConfigMode.d.ts +232 -63
  263. package/build/types/UpdateConfigMode.js +413 -100
  264. package/build/types/UpdateConfigMode.js.map +1 -1
  265. package/build/types/UpdateGlobalConfigMode.d.ts +31 -0
  266. package/build/types/UpdateGlobalConfigMode.js +108 -0
  267. package/build/types/UpdateGlobalConfigMode.js.map +1 -0
  268. package/build/types/UpdateLendingMarketConfigValue.d.ts +20 -0
  269. package/build/types/UpdateLendingMarketConfigValue.js +33 -1
  270. package/build/types/UpdateLendingMarketConfigValue.js.map +1 -1
  271. package/build/types/UpdateLendingMarketMode.d.ts +400 -23
  272. package/build/types/UpdateLendingMarketMode.js +732 -36
  273. package/build/types/UpdateLendingMarketMode.js.map +1 -1
  274. package/build/types/UpdateObligationConfigMode.d.ts +83 -0
  275. package/build/types/UpdateObligationConfigMode.js +204 -0
  276. package/build/types/UpdateObligationConfigMode.js.map +1 -0
  277. package/build/types/WithdrawQueue.d.ts +32 -0
  278. package/build/types/WithdrawQueue.js +93 -0
  279. package/build/types/WithdrawQueue.js.map +1 -0
  280. package/build/types/index.d.ts +32 -10
  281. package/build/types/index.js +21 -3
  282. package/build/types/index.js.map +1 -1
  283. package/package.json +3 -2
  284. package/scripts/generate-idl-module.mjs +18 -0
  285. package/scripts/patch-optional-accounts.mjs +98 -0
  286. package/scripts/verify-idl-provenance.mjs +16 -0
  287. package/src/accounts/GlobalConfig.ts +113 -0
  288. package/src/accounts/LendingMarket.ts +300 -29
  289. package/src/accounts/Obligation.ts +111 -26
  290. package/src/accounts/ReferrerState.ts +11 -4
  291. package/src/accounts/ReferrerTokenState.ts +6 -3
  292. package/src/accounts/Reserve.ts +10 -2
  293. package/src/accounts/ShortUrl.ts +15 -4
  294. package/src/accounts/UserMetadata.ts +6 -3
  295. package/src/accounts/UserState.ts +24 -8
  296. package/src/accounts/WithdrawTicket.ts +173 -0
  297. package/src/accounts/index.ts +4 -0
  298. package/src/errors/custom.ts +1177 -24
  299. package/src/index.ts +2 -4
  300. package/src/instructions/abortObligationOwnershipTransfer.ts +30 -0
  301. package/src/instructions/acceptObligationOwnership.ts +30 -0
  302. package/src/instructions/approveObligationOwnershipTransfer.ts +34 -0
  303. package/src/instructions/borrowObligationLiquidity.ts +18 -5
  304. package/src/instructions/borrowObligationLiquidityV2.ts +30 -9
  305. package/src/instructions/calculateCtokenExchangeRate.ts +22 -0
  306. package/src/instructions/cancelWithdrawTicket.ts +77 -0
  307. package/src/instructions/cloneReserveConfig.ts +56 -0
  308. package/src/instructions/deleteReferrerStateAndShortUrl.ts +4 -1
  309. package/src/instructions/depositAndWithdraw.ts +229 -0
  310. package/src/instructions/depositObligationCollateral.ts +3 -2
  311. package/src/instructions/depositObligationCollateralV2.ts +110 -0
  312. package/src/instructions/depositReserveLiquidity.ts +4 -3
  313. package/src/instructions/depositReserveLiquidityAndObligationCollateral.ts +18 -9
  314. package/src/instructions/depositReserveLiquidityAndObligationCollateralV2.ts +31 -14
  315. package/src/instructions/enqueueToWithdraw.ts +113 -0
  316. package/src/instructions/fillBorrowOrder.ts +114 -0
  317. package/src/instructions/fillBorrowOrderV2.ts +128 -0
  318. package/src/instructions/flashBorrowReserveLiquidity.ts +19 -6
  319. package/src/instructions/flashRepayReserveLiquidity.ts +23 -7
  320. package/src/instructions/idlMissingTypes.ts +17 -9
  321. package/src/instructions/index.ts +118 -6
  322. package/src/instructions/initFarmsForReserve.ts +11 -3
  323. package/src/instructions/initGlobalConfig.ts +36 -0
  324. package/src/instructions/initLendingMarket.ts +13 -3
  325. package/src/instructions/initObligation.ts +3 -2
  326. package/src/instructions/initObligationFarmsForReserve.ts +5 -3
  327. package/src/instructions/initReferrerStateAndShortUrl.ts +4 -2
  328. package/src/instructions/initReferrerTokenState.ts +6 -16
  329. package/src/instructions/initReserve.ts +21 -3
  330. package/src/instructions/initUserMetadata.ts +18 -8
  331. package/src/instructions/initiateObligationOwnershipTransfer.ts +44 -0
  332. package/src/instructions/liquidateObligationAndRedeemReserveCollateral.ts +7 -5
  333. package/src/instructions/liquidateObligationAndRedeemReserveCollateralV2.ts +191 -0
  334. package/src/instructions/markObligationForDeleveraging.ts +46 -0
  335. package/src/instructions/recoverInvalidTicketCollateral.ts +80 -0
  336. package/src/instructions/redeemFees.ts +8 -2
  337. package/src/instructions/redeemReserveCollateral.ts +4 -3
  338. package/src/instructions/refreshObligation.ts +7 -1
  339. package/src/instructions/refreshObligationFarmsForReserve.ts +35 -15
  340. package/src/instructions/refreshReserve.ts +27 -17
  341. package/src/instructions/refreshReservesBatch.ts +7 -2
  342. package/src/instructions/repayAndWithdrawAndRedeem.ts +199 -0
  343. package/src/instructions/repayObligationLiquidity.ts +4 -3
  344. package/src/instructions/repayObligationLiquidityV2.ts +35 -10
  345. package/src/instructions/requestElevationGroup.ts +4 -2
  346. package/src/instructions/rolloverFixedTermBorrow.ts +108 -0
  347. package/src/instructions/seedDepositOnInitReserve.ts +50 -0
  348. package/src/instructions/setBorrowOrder.ts +66 -0
  349. package/src/instructions/setBorrowOrderV2.ts +69 -0
  350. package/src/instructions/setObligationOrder.ts +45 -0
  351. package/src/instructions/socializeLoss.ts +5 -4
  352. package/src/instructions/socializeLossV2.ts +92 -0
  353. package/src/instructions/topupReserveRewards.ts +60 -0
  354. package/src/instructions/updateGlobalConfig.ts +53 -0
  355. package/src/instructions/updateGlobalConfigAdmin.ts +30 -0
  356. package/src/instructions/updateLendingMarket.ts +15 -5
  357. package/src/instructions/updateLendingMarketOwner.ts +10 -1
  358. package/src/instructions/updateObligationConfig.ts +65 -0
  359. package/src/instructions/updateReserveConfig.ts +27 -10
  360. package/src/instructions/withdrawObligationCollateral.ts +4 -3
  361. package/src/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +18 -9
  362. package/src/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.ts +26 -13
  363. package/src/instructions/withdrawObligationCollateralV2.ts +110 -0
  364. package/src/instructions/withdrawProtocolFee.ts +12 -9
  365. package/src/instructions/withdrawQueuedLiquidity.ts +110 -0
  366. package/src/instructions/withdrawReferrerFees.ts +8 -2
  367. package/src/kamino_lending.json +1856 -645
  368. package/src/kamino_lending.ts +5558 -6034
  369. package/src/types/BigFractionBytes.ts +9 -1
  370. package/src/types/BorrowOrder.ts +168 -0
  371. package/src/types/BorrowOrderConfigArgs.ts +96 -0
  372. package/src/types/BorrowRateCurve.ts +10 -3
  373. package/src/types/CurvePoint.ts +7 -1
  374. package/src/types/ElevationGroup.ts +2 -1
  375. package/src/types/ExchangeRateWithDecimals.ts +64 -0
  376. package/src/types/FeeCalculation.ts +9 -2
  377. package/src/types/FixedTermBorrowRolloverConfig.ts +110 -0
  378. package/src/types/InitObligationArgs.ts +3 -0
  379. package/src/types/LastUpdate.ts +26 -10
  380. package/src/types/ObligationLiquidity.ts +43 -10
  381. package/src/types/ObligationOrder.ts +121 -0
  382. package/src/types/ProgressCallbackType.ts +90 -0
  383. package/src/types/ReserveConfig.ts +169 -62
  384. package/src/types/ReserveConfigCustomizationArgs.ts +96 -0
  385. package/src/types/ReserveFees.ts +9 -9
  386. package/src/types/ReserveLiquidity.ts +38 -28
  387. package/src/types/UpdateConfigMode.ts +507 -117
  388. package/src/types/UpdateGlobalConfigMode.ts +90 -0
  389. package/src/types/UpdateLendingMarketConfigValue.ts +43 -0
  390. package/src/types/UpdateLendingMarketMode.ts +912 -41
  391. package/src/types/UpdateObligationConfigMode.ts +210 -0
  392. package/src/types/WithdrawQueue.ts +85 -0
  393. package/src/types/index.ts +175 -34
  394. package/src/types/AssetTier.ts +0 -116
@@ -5,10 +5,15 @@ import * as borsh from "@coral-xyz/borsh"
5
5
 
6
6
  export interface ReserveConfigFields {
7
7
  status: number
8
- assetTier: number
8
+ paddingDeprecatedAssetTier: number
9
9
  hostFixedInterestRateBps: number
10
- reserved2: Array<number>
11
- reserved3: Array<number>
10
+ minDeleveragingBonusBps: number
11
+ blockCtokenUsage: number
12
+ earlyRepayRemainingInterestPct: number
13
+ emergencyMode: number
14
+ interestRateBasis: number
15
+ reserved1: Array<number>
16
+ protocolOrderExecutionFeePct: number
12
17
  protocolTakeRatePct: number
13
18
  protocolLiquidationFeePct: number
14
19
  loanToValuePct: number
@@ -17,7 +22,7 @@ export interface ReserveConfigFields {
17
22
  maxLiquidationBonusBps: number
18
23
  badDebtLiquidationBonusBps: number
19
24
  deleveragingMarginCallPeriodSecs: BN
20
- deleveragingThresholdSlotsPerBps: BN
25
+ deleveragingThresholdDecreaseBpsPerDay: BN
21
26
  fees: types.ReserveFeesFields
22
27
  borrowRateCurve: types.BorrowRateCurveFields
23
28
  borrowFactorPct: BN
@@ -28,18 +33,29 @@ export interface ReserveConfigFields {
28
33
  debtWithdrawalCap: types.WithdrawalCapsFields
29
34
  elevationGroups: Array<number>
30
35
  disableUsageAsCollOutsideEmode: number
31
- utilizationLimitBlockBorrowingAbove: number
32
- reserved1: Array<number>
36
+ utilizationLimitBlockBorrowingAbovePct: number
37
+ autodeleverageEnabled: number
38
+ proposerAuthorityLocked: number
33
39
  borrowLimitOutsideElevationGroup: BN
34
40
  borrowLimitAgainstThisCollateralInElevationGroup: Array<BN>
41
+ deleveragingBonusIncreaseBpsPerDay: BN
42
+ debtMaturityTimestamp: BN
43
+ debtTermSeconds: BN
44
+ rewardsAmountPerAccrualUnit: BN
45
+ permissionedOps: BN
35
46
  }
36
47
 
37
48
  export interface ReserveConfigJSON {
38
49
  status: number
39
- assetTier: number
50
+ paddingDeprecatedAssetTier: number
40
51
  hostFixedInterestRateBps: number
41
- reserved2: Array<number>
42
- reserved3: Array<number>
52
+ minDeleveragingBonusBps: number
53
+ blockCtokenUsage: number
54
+ earlyRepayRemainingInterestPct: number
55
+ emergencyMode: number
56
+ interestRateBasis: number
57
+ reserved1: Array<number>
58
+ protocolOrderExecutionFeePct: number
43
59
  protocolTakeRatePct: number
44
60
  protocolLiquidationFeePct: number
45
61
  loanToValuePct: number
@@ -48,7 +64,7 @@ export interface ReserveConfigJSON {
48
64
  maxLiquidationBonusBps: number
49
65
  badDebtLiquidationBonusBps: number
50
66
  deleveragingMarginCallPeriodSecs: string
51
- deleveragingThresholdSlotsPerBps: string
67
+ deleveragingThresholdDecreaseBpsPerDay: string
52
68
  fees: types.ReserveFeesJSON
53
69
  borrowRateCurve: types.BorrowRateCurveJSON
54
70
  borrowFactorPct: string
@@ -59,18 +75,29 @@ export interface ReserveConfigJSON {
59
75
  debtWithdrawalCap: types.WithdrawalCapsJSON
60
76
  elevationGroups: Array<number>
61
77
  disableUsageAsCollOutsideEmode: number
62
- utilizationLimitBlockBorrowingAbove: number
63
- reserved1: Array<number>
78
+ utilizationLimitBlockBorrowingAbovePct: number
79
+ autodeleverageEnabled: number
80
+ proposerAuthorityLocked: number
64
81
  borrowLimitOutsideElevationGroup: string
65
82
  borrowLimitAgainstThisCollateralInElevationGroup: Array<string>
83
+ deleveragingBonusIncreaseBpsPerDay: string
84
+ debtMaturityTimestamp: string
85
+ debtTermSeconds: string
86
+ rewardsAmountPerAccrualUnit: string
87
+ permissionedOps: string
66
88
  }
67
89
 
68
90
  export class ReserveConfig {
69
91
  readonly status: number
70
- readonly assetTier: number
92
+ readonly paddingDeprecatedAssetTier: number
71
93
  readonly hostFixedInterestRateBps: number
72
- readonly reserved2: Array<number>
73
- readonly reserved3: Array<number>
94
+ readonly minDeleveragingBonusBps: number
95
+ readonly blockCtokenUsage: number
96
+ readonly earlyRepayRemainingInterestPct: number
97
+ readonly emergencyMode: number
98
+ readonly interestRateBasis: number
99
+ readonly reserved1: Array<number>
100
+ readonly protocolOrderExecutionFeePct: number
74
101
  readonly protocolTakeRatePct: number
75
102
  readonly protocolLiquidationFeePct: number
76
103
  readonly loanToValuePct: number
@@ -79,7 +106,7 @@ export class ReserveConfig {
79
106
  readonly maxLiquidationBonusBps: number
80
107
  readonly badDebtLiquidationBonusBps: number
81
108
  readonly deleveragingMarginCallPeriodSecs: BN
82
- readonly deleveragingThresholdSlotsPerBps: BN
109
+ readonly deleveragingThresholdDecreaseBpsPerDay: BN
83
110
  readonly fees: types.ReserveFees
84
111
  readonly borrowRateCurve: types.BorrowRateCurve
85
112
  readonly borrowFactorPct: BN
@@ -90,17 +117,28 @@ export class ReserveConfig {
90
117
  readonly debtWithdrawalCap: types.WithdrawalCaps
91
118
  readonly elevationGroups: Array<number>
92
119
  readonly disableUsageAsCollOutsideEmode: number
93
- readonly utilizationLimitBlockBorrowingAbove: number
94
- readonly reserved1: Array<number>
120
+ readonly utilizationLimitBlockBorrowingAbovePct: number
121
+ readonly autodeleverageEnabled: number
122
+ readonly proposerAuthorityLocked: number
95
123
  readonly borrowLimitOutsideElevationGroup: BN
96
124
  readonly borrowLimitAgainstThisCollateralInElevationGroup: Array<BN>
125
+ readonly deleveragingBonusIncreaseBpsPerDay: BN
126
+ readonly debtMaturityTimestamp: BN
127
+ readonly debtTermSeconds: BN
128
+ readonly rewardsAmountPerAccrualUnit: BN
129
+ readonly permissionedOps: BN
97
130
 
98
131
  constructor(fields: ReserveConfigFields) {
99
132
  this.status = fields.status
100
- this.assetTier = fields.assetTier
133
+ this.paddingDeprecatedAssetTier = fields.paddingDeprecatedAssetTier
101
134
  this.hostFixedInterestRateBps = fields.hostFixedInterestRateBps
102
- this.reserved2 = fields.reserved2
103
- this.reserved3 = fields.reserved3
135
+ this.minDeleveragingBonusBps = fields.minDeleveragingBonusBps
136
+ this.blockCtokenUsage = fields.blockCtokenUsage
137
+ this.earlyRepayRemainingInterestPct = fields.earlyRepayRemainingInterestPct
138
+ this.emergencyMode = fields.emergencyMode
139
+ this.interestRateBasis = fields.interestRateBasis
140
+ this.reserved1 = fields.reserved1
141
+ this.protocolOrderExecutionFeePct = fields.protocolOrderExecutionFeePct
104
142
  this.protocolTakeRatePct = fields.protocolTakeRatePct
105
143
  this.protocolLiquidationFeePct = fields.protocolLiquidationFeePct
106
144
  this.loanToValuePct = fields.loanToValuePct
@@ -110,8 +148,8 @@ export class ReserveConfig {
110
148
  this.badDebtLiquidationBonusBps = fields.badDebtLiquidationBonusBps
111
149
  this.deleveragingMarginCallPeriodSecs =
112
150
  fields.deleveragingMarginCallPeriodSecs
113
- this.deleveragingThresholdSlotsPerBps =
114
- fields.deleveragingThresholdSlotsPerBps
151
+ this.deleveragingThresholdDecreaseBpsPerDay =
152
+ fields.deleveragingThresholdDecreaseBpsPerDay
115
153
  this.fees = new types.ReserveFees({ ...fields.fees })
116
154
  this.borrowRateCurve = new types.BorrowRateCurve({
117
155
  ...fields.borrowRateCurve,
@@ -128,23 +166,35 @@ export class ReserveConfig {
128
166
  })
129
167
  this.elevationGroups = fields.elevationGroups
130
168
  this.disableUsageAsCollOutsideEmode = fields.disableUsageAsCollOutsideEmode
131
- this.utilizationLimitBlockBorrowingAbove =
132
- fields.utilizationLimitBlockBorrowingAbove
133
- this.reserved1 = fields.reserved1
169
+ this.utilizationLimitBlockBorrowingAbovePct =
170
+ fields.utilizationLimitBlockBorrowingAbovePct
171
+ this.autodeleverageEnabled = fields.autodeleverageEnabled
172
+ this.proposerAuthorityLocked = fields.proposerAuthorityLocked
134
173
  this.borrowLimitOutsideElevationGroup =
135
174
  fields.borrowLimitOutsideElevationGroup
136
175
  this.borrowLimitAgainstThisCollateralInElevationGroup =
137
176
  fields.borrowLimitAgainstThisCollateralInElevationGroup
177
+ this.deleveragingBonusIncreaseBpsPerDay =
178
+ fields.deleveragingBonusIncreaseBpsPerDay
179
+ this.debtMaturityTimestamp = fields.debtMaturityTimestamp
180
+ this.debtTermSeconds = fields.debtTermSeconds
181
+ this.rewardsAmountPerAccrualUnit = fields.rewardsAmountPerAccrualUnit
182
+ this.permissionedOps = fields.permissionedOps
138
183
  }
139
184
 
140
185
  static layout(property?: string) {
141
186
  return borsh.struct(
142
187
  [
143
188
  borsh.u8("status"),
144
- borsh.u8("assetTier"),
189
+ borsh.u8("paddingDeprecatedAssetTier"),
145
190
  borsh.u16("hostFixedInterestRateBps"),
146
- borsh.array(borsh.u8(), 2, "reserved2"),
147
- borsh.array(borsh.u8(), 8, "reserved3"),
191
+ borsh.u16("minDeleveragingBonusBps"),
192
+ borsh.u8("blockCtokenUsage"),
193
+ borsh.u8("earlyRepayRemainingInterestPct"),
194
+ borsh.u8("emergencyMode"),
195
+ borsh.u8("interestRateBasis"),
196
+ borsh.array(borsh.u8(), 3, "reserved1"),
197
+ borsh.u8("protocolOrderExecutionFeePct"),
148
198
  borsh.u8("protocolTakeRatePct"),
149
199
  borsh.u8("protocolLiquidationFeePct"),
150
200
  borsh.u8("loanToValuePct"),
@@ -153,7 +203,7 @@ export class ReserveConfig {
153
203
  borsh.u16("maxLiquidationBonusBps"),
154
204
  borsh.u16("badDebtLiquidationBonusBps"),
155
205
  borsh.u64("deleveragingMarginCallPeriodSecs"),
156
- borsh.u64("deleveragingThresholdSlotsPerBps"),
206
+ borsh.u64("deleveragingThresholdDecreaseBpsPerDay"),
157
207
  types.ReserveFees.layout("fees"),
158
208
  types.BorrowRateCurve.layout("borrowRateCurve"),
159
209
  borsh.u64("borrowFactorPct"),
@@ -164,14 +214,20 @@ export class ReserveConfig {
164
214
  types.WithdrawalCaps.layout("debtWithdrawalCap"),
165
215
  borsh.array(borsh.u8(), 20, "elevationGroups"),
166
216
  borsh.u8("disableUsageAsCollOutsideEmode"),
167
- borsh.u8("utilizationLimitBlockBorrowingAbove"),
168
- borsh.array(borsh.u8(), 2, "reserved1"),
217
+ borsh.u8("utilizationLimitBlockBorrowingAbovePct"),
218
+ borsh.u8("autodeleverageEnabled"),
219
+ borsh.u8("proposerAuthorityLocked"),
169
220
  borsh.u64("borrowLimitOutsideElevationGroup"),
170
221
  borsh.array(
171
222
  borsh.u64(),
172
223
  32,
173
224
  "borrowLimitAgainstThisCollateralInElevationGroup"
174
225
  ),
226
+ borsh.u64("deleveragingBonusIncreaseBpsPerDay"),
227
+ borsh.u64("debtMaturityTimestamp"),
228
+ borsh.u64("debtTermSeconds"),
229
+ borsh.u64("rewardsAmountPerAccrualUnit"),
230
+ borsh.u64("permissionedOps"),
175
231
  ],
176
232
  property
177
233
  )
@@ -181,10 +237,15 @@ export class ReserveConfig {
181
237
  static fromDecoded(obj: any) {
182
238
  return new ReserveConfig({
183
239
  status: obj.status,
184
- assetTier: obj.assetTier,
240
+ paddingDeprecatedAssetTier: obj.paddingDeprecatedAssetTier,
185
241
  hostFixedInterestRateBps: obj.hostFixedInterestRateBps,
186
- reserved2: obj.reserved2,
187
- reserved3: obj.reserved3,
242
+ minDeleveragingBonusBps: obj.minDeleveragingBonusBps,
243
+ blockCtokenUsage: obj.blockCtokenUsage,
244
+ earlyRepayRemainingInterestPct: obj.earlyRepayRemainingInterestPct,
245
+ emergencyMode: obj.emergencyMode,
246
+ interestRateBasis: obj.interestRateBasis,
247
+ reserved1: obj.reserved1,
248
+ protocolOrderExecutionFeePct: obj.protocolOrderExecutionFeePct,
188
249
  protocolTakeRatePct: obj.protocolTakeRatePct,
189
250
  protocolLiquidationFeePct: obj.protocolLiquidationFeePct,
190
251
  loanToValuePct: obj.loanToValuePct,
@@ -193,7 +254,8 @@ export class ReserveConfig {
193
254
  maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
194
255
  badDebtLiquidationBonusBps: obj.badDebtLiquidationBonusBps,
195
256
  deleveragingMarginCallPeriodSecs: obj.deleveragingMarginCallPeriodSecs,
196
- deleveragingThresholdSlotsPerBps: obj.deleveragingThresholdSlotsPerBps,
257
+ deleveragingThresholdDecreaseBpsPerDay:
258
+ obj.deleveragingThresholdDecreaseBpsPerDay,
197
259
  fees: types.ReserveFees.fromDecoded(obj.fees),
198
260
  borrowRateCurve: types.BorrowRateCurve.fromDecoded(obj.borrowRateCurve),
199
261
  borrowFactorPct: obj.borrowFactorPct,
@@ -208,22 +270,34 @@ export class ReserveConfig {
208
270
  ),
209
271
  elevationGroups: obj.elevationGroups,
210
272
  disableUsageAsCollOutsideEmode: obj.disableUsageAsCollOutsideEmode,
211
- utilizationLimitBlockBorrowingAbove:
212
- obj.utilizationLimitBlockBorrowingAbove,
213
- reserved1: obj.reserved1,
273
+ utilizationLimitBlockBorrowingAbovePct:
274
+ obj.utilizationLimitBlockBorrowingAbovePct,
275
+ autodeleverageEnabled: obj.autodeleverageEnabled,
276
+ proposerAuthorityLocked: obj.proposerAuthorityLocked,
214
277
  borrowLimitOutsideElevationGroup: obj.borrowLimitOutsideElevationGroup,
215
278
  borrowLimitAgainstThisCollateralInElevationGroup:
216
279
  obj.borrowLimitAgainstThisCollateralInElevationGroup,
280
+ deleveragingBonusIncreaseBpsPerDay:
281
+ obj.deleveragingBonusIncreaseBpsPerDay,
282
+ debtMaturityTimestamp: obj.debtMaturityTimestamp,
283
+ debtTermSeconds: obj.debtTermSeconds,
284
+ rewardsAmountPerAccrualUnit: obj.rewardsAmountPerAccrualUnit,
285
+ permissionedOps: obj.permissionedOps,
217
286
  })
218
287
  }
219
288
 
220
289
  static toEncodable(fields: ReserveConfigFields) {
221
290
  return {
222
291
  status: fields.status,
223
- assetTier: fields.assetTier,
292
+ paddingDeprecatedAssetTier: fields.paddingDeprecatedAssetTier,
224
293
  hostFixedInterestRateBps: fields.hostFixedInterestRateBps,
225
- reserved2: fields.reserved2,
226
- reserved3: fields.reserved3,
294
+ minDeleveragingBonusBps: fields.minDeleveragingBonusBps,
295
+ blockCtokenUsage: fields.blockCtokenUsage,
296
+ earlyRepayRemainingInterestPct: fields.earlyRepayRemainingInterestPct,
297
+ emergencyMode: fields.emergencyMode,
298
+ interestRateBasis: fields.interestRateBasis,
299
+ reserved1: fields.reserved1,
300
+ protocolOrderExecutionFeePct: fields.protocolOrderExecutionFeePct,
227
301
  protocolTakeRatePct: fields.protocolTakeRatePct,
228
302
  protocolLiquidationFeePct: fields.protocolLiquidationFeePct,
229
303
  loanToValuePct: fields.loanToValuePct,
@@ -232,7 +306,8 @@ export class ReserveConfig {
232
306
  maxLiquidationBonusBps: fields.maxLiquidationBonusBps,
233
307
  badDebtLiquidationBonusBps: fields.badDebtLiquidationBonusBps,
234
308
  deleveragingMarginCallPeriodSecs: fields.deleveragingMarginCallPeriodSecs,
235
- deleveragingThresholdSlotsPerBps: fields.deleveragingThresholdSlotsPerBps,
309
+ deleveragingThresholdDecreaseBpsPerDay:
310
+ fields.deleveragingThresholdDecreaseBpsPerDay,
236
311
  fees: types.ReserveFees.toEncodable(fields.fees),
237
312
  borrowRateCurve: types.BorrowRateCurve.toEncodable(
238
313
  fields.borrowRateCurve
@@ -249,22 +324,34 @@ export class ReserveConfig {
249
324
  ),
250
325
  elevationGroups: fields.elevationGroups,
251
326
  disableUsageAsCollOutsideEmode: fields.disableUsageAsCollOutsideEmode,
252
- utilizationLimitBlockBorrowingAbove:
253
- fields.utilizationLimitBlockBorrowingAbove,
254
- reserved1: fields.reserved1,
327
+ utilizationLimitBlockBorrowingAbovePct:
328
+ fields.utilizationLimitBlockBorrowingAbovePct,
329
+ autodeleverageEnabled: fields.autodeleverageEnabled,
330
+ proposerAuthorityLocked: fields.proposerAuthorityLocked,
255
331
  borrowLimitOutsideElevationGroup: fields.borrowLimitOutsideElevationGroup,
256
332
  borrowLimitAgainstThisCollateralInElevationGroup:
257
333
  fields.borrowLimitAgainstThisCollateralInElevationGroup,
334
+ deleveragingBonusIncreaseBpsPerDay:
335
+ fields.deleveragingBonusIncreaseBpsPerDay,
336
+ debtMaturityTimestamp: fields.debtMaturityTimestamp,
337
+ debtTermSeconds: fields.debtTermSeconds,
338
+ rewardsAmountPerAccrualUnit: fields.rewardsAmountPerAccrualUnit,
339
+ permissionedOps: fields.permissionedOps,
258
340
  }
259
341
  }
260
342
 
261
343
  toJSON(): ReserveConfigJSON {
262
344
  return {
263
345
  status: this.status,
264
- assetTier: this.assetTier,
346
+ paddingDeprecatedAssetTier: this.paddingDeprecatedAssetTier,
265
347
  hostFixedInterestRateBps: this.hostFixedInterestRateBps,
266
- reserved2: this.reserved2,
267
- reserved3: this.reserved3,
348
+ minDeleveragingBonusBps: this.minDeleveragingBonusBps,
349
+ blockCtokenUsage: this.blockCtokenUsage,
350
+ earlyRepayRemainingInterestPct: this.earlyRepayRemainingInterestPct,
351
+ emergencyMode: this.emergencyMode,
352
+ interestRateBasis: this.interestRateBasis,
353
+ reserved1: this.reserved1,
354
+ protocolOrderExecutionFeePct: this.protocolOrderExecutionFeePct,
268
355
  protocolTakeRatePct: this.protocolTakeRatePct,
269
356
  protocolLiquidationFeePct: this.protocolLiquidationFeePct,
270
357
  loanToValuePct: this.loanToValuePct,
@@ -274,8 +361,8 @@ export class ReserveConfig {
274
361
  badDebtLiquidationBonusBps: this.badDebtLiquidationBonusBps,
275
362
  deleveragingMarginCallPeriodSecs:
276
363
  this.deleveragingMarginCallPeriodSecs.toString(),
277
- deleveragingThresholdSlotsPerBps:
278
- this.deleveragingThresholdSlotsPerBps.toString(),
364
+ deleveragingThresholdDecreaseBpsPerDay:
365
+ this.deleveragingThresholdDecreaseBpsPerDay.toString(),
279
366
  fees: this.fees.toJSON(),
280
367
  borrowRateCurve: this.borrowRateCurve.toJSON(),
281
368
  borrowFactorPct: this.borrowFactorPct.toString(),
@@ -286,25 +373,37 @@ export class ReserveConfig {
286
373
  debtWithdrawalCap: this.debtWithdrawalCap.toJSON(),
287
374
  elevationGroups: this.elevationGroups,
288
375
  disableUsageAsCollOutsideEmode: this.disableUsageAsCollOutsideEmode,
289
- utilizationLimitBlockBorrowingAbove:
290
- this.utilizationLimitBlockBorrowingAbove,
291
- reserved1: this.reserved1,
376
+ utilizationLimitBlockBorrowingAbovePct:
377
+ this.utilizationLimitBlockBorrowingAbovePct,
378
+ autodeleverageEnabled: this.autodeleverageEnabled,
379
+ proposerAuthorityLocked: this.proposerAuthorityLocked,
292
380
  borrowLimitOutsideElevationGroup:
293
381
  this.borrowLimitOutsideElevationGroup.toString(),
294
382
  borrowLimitAgainstThisCollateralInElevationGroup:
295
383
  this.borrowLimitAgainstThisCollateralInElevationGroup.map((item) =>
296
384
  item.toString()
297
385
  ),
386
+ deleveragingBonusIncreaseBpsPerDay:
387
+ this.deleveragingBonusIncreaseBpsPerDay.toString(),
388
+ debtMaturityTimestamp: this.debtMaturityTimestamp.toString(),
389
+ debtTermSeconds: this.debtTermSeconds.toString(),
390
+ rewardsAmountPerAccrualUnit: this.rewardsAmountPerAccrualUnit.toString(),
391
+ permissionedOps: this.permissionedOps.toString(),
298
392
  }
299
393
  }
300
394
 
301
395
  static fromJSON(obj: ReserveConfigJSON): ReserveConfig {
302
396
  return new ReserveConfig({
303
397
  status: obj.status,
304
- assetTier: obj.assetTier,
398
+ paddingDeprecatedAssetTier: obj.paddingDeprecatedAssetTier,
305
399
  hostFixedInterestRateBps: obj.hostFixedInterestRateBps,
306
- reserved2: obj.reserved2,
307
- reserved3: obj.reserved3,
400
+ minDeleveragingBonusBps: obj.minDeleveragingBonusBps,
401
+ blockCtokenUsage: obj.blockCtokenUsage,
402
+ earlyRepayRemainingInterestPct: obj.earlyRepayRemainingInterestPct,
403
+ emergencyMode: obj.emergencyMode,
404
+ interestRateBasis: obj.interestRateBasis,
405
+ reserved1: obj.reserved1,
406
+ protocolOrderExecutionFeePct: obj.protocolOrderExecutionFeePct,
308
407
  protocolTakeRatePct: obj.protocolTakeRatePct,
309
408
  protocolLiquidationFeePct: obj.protocolLiquidationFeePct,
310
409
  loanToValuePct: obj.loanToValuePct,
@@ -315,8 +414,8 @@ export class ReserveConfig {
315
414
  deleveragingMarginCallPeriodSecs: new BN(
316
415
  obj.deleveragingMarginCallPeriodSecs
317
416
  ),
318
- deleveragingThresholdSlotsPerBps: new BN(
319
- obj.deleveragingThresholdSlotsPerBps
417
+ deleveragingThresholdDecreaseBpsPerDay: new BN(
418
+ obj.deleveragingThresholdDecreaseBpsPerDay
320
419
  ),
321
420
  fees: types.ReserveFees.fromJSON(obj.fees),
322
421
  borrowRateCurve: types.BorrowRateCurve.fromJSON(obj.borrowRateCurve),
@@ -330,9 +429,10 @@ export class ReserveConfig {
330
429
  debtWithdrawalCap: types.WithdrawalCaps.fromJSON(obj.debtWithdrawalCap),
331
430
  elevationGroups: obj.elevationGroups,
332
431
  disableUsageAsCollOutsideEmode: obj.disableUsageAsCollOutsideEmode,
333
- utilizationLimitBlockBorrowingAbove:
334
- obj.utilizationLimitBlockBorrowingAbove,
335
- reserved1: obj.reserved1,
432
+ utilizationLimitBlockBorrowingAbovePct:
433
+ obj.utilizationLimitBlockBorrowingAbovePct,
434
+ autodeleverageEnabled: obj.autodeleverageEnabled,
435
+ proposerAuthorityLocked: obj.proposerAuthorityLocked,
336
436
  borrowLimitOutsideElevationGroup: new BN(
337
437
  obj.borrowLimitOutsideElevationGroup
338
438
  ),
@@ -340,6 +440,13 @@ export class ReserveConfig {
340
440
  obj.borrowLimitAgainstThisCollateralInElevationGroup.map(
341
441
  (item) => new BN(item)
342
442
  ),
443
+ deleveragingBonusIncreaseBpsPerDay: new BN(
444
+ obj.deleveragingBonusIncreaseBpsPerDay
445
+ ),
446
+ debtMaturityTimestamp: new BN(obj.debtMaturityTimestamp),
447
+ debtTermSeconds: new BN(obj.debtTermSeconds),
448
+ rewardsAmountPerAccrualUnit: new BN(obj.rewardsAmountPerAccrualUnit),
449
+ permissionedOps: new BN(obj.permissionedOps),
343
450
  })
344
451
  }
345
452
 
@@ -0,0 +1,96 @@
1
+ import { PublicKey } from "@solana/web3.js" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+
6
+ export interface ReserveConfigCustomizationArgsFields {
7
+ overrideFixedRateBps: number
8
+ fixedBorrowRateBps: number
9
+ overrideDebtTermSeconds: number
10
+ debtTermSeconds: BN
11
+ clearElevationGroups: number
12
+ }
13
+
14
+ export interface ReserveConfigCustomizationArgsJSON {
15
+ overrideFixedRateBps: number
16
+ fixedBorrowRateBps: number
17
+ overrideDebtTermSeconds: number
18
+ debtTermSeconds: string
19
+ clearElevationGroups: number
20
+ }
21
+
22
+ export class ReserveConfigCustomizationArgs {
23
+ readonly overrideFixedRateBps: number
24
+ readonly fixedBorrowRateBps: number
25
+ readonly overrideDebtTermSeconds: number
26
+ readonly debtTermSeconds: BN
27
+ readonly clearElevationGroups: number
28
+
29
+ constructor(fields: ReserveConfigCustomizationArgsFields) {
30
+ this.overrideFixedRateBps = fields.overrideFixedRateBps
31
+ this.fixedBorrowRateBps = fields.fixedBorrowRateBps
32
+ this.overrideDebtTermSeconds = fields.overrideDebtTermSeconds
33
+ this.debtTermSeconds = fields.debtTermSeconds
34
+ this.clearElevationGroups = fields.clearElevationGroups
35
+ }
36
+
37
+ static layout(property?: string) {
38
+ return borsh.struct(
39
+ [
40
+ borsh.u8("overrideFixedRateBps"),
41
+ borsh.u32("fixedBorrowRateBps"),
42
+ borsh.u8("overrideDebtTermSeconds"),
43
+ borsh.u64("debtTermSeconds"),
44
+ borsh.u8("clearElevationGroups"),
45
+ ],
46
+ property
47
+ )
48
+ }
49
+
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ static fromDecoded(obj: any) {
52
+ return new ReserveConfigCustomizationArgs({
53
+ overrideFixedRateBps: obj.overrideFixedRateBps,
54
+ fixedBorrowRateBps: obj.fixedBorrowRateBps,
55
+ overrideDebtTermSeconds: obj.overrideDebtTermSeconds,
56
+ debtTermSeconds: obj.debtTermSeconds,
57
+ clearElevationGroups: obj.clearElevationGroups,
58
+ })
59
+ }
60
+
61
+ static toEncodable(fields: ReserveConfigCustomizationArgsFields) {
62
+ return {
63
+ overrideFixedRateBps: fields.overrideFixedRateBps,
64
+ fixedBorrowRateBps: fields.fixedBorrowRateBps,
65
+ overrideDebtTermSeconds: fields.overrideDebtTermSeconds,
66
+ debtTermSeconds: fields.debtTermSeconds,
67
+ clearElevationGroups: fields.clearElevationGroups,
68
+ }
69
+ }
70
+
71
+ toJSON(): ReserveConfigCustomizationArgsJSON {
72
+ return {
73
+ overrideFixedRateBps: this.overrideFixedRateBps,
74
+ fixedBorrowRateBps: this.fixedBorrowRateBps,
75
+ overrideDebtTermSeconds: this.overrideDebtTermSeconds,
76
+ debtTermSeconds: this.debtTermSeconds.toString(),
77
+ clearElevationGroups: this.clearElevationGroups,
78
+ }
79
+ }
80
+
81
+ static fromJSON(
82
+ obj: ReserveConfigCustomizationArgsJSON
83
+ ): ReserveConfigCustomizationArgs {
84
+ return new ReserveConfigCustomizationArgs({
85
+ overrideFixedRateBps: obj.overrideFixedRateBps,
86
+ fixedBorrowRateBps: obj.fixedBorrowRateBps,
87
+ overrideDebtTermSeconds: obj.overrideDebtTermSeconds,
88
+ debtTermSeconds: new BN(obj.debtTermSeconds),
89
+ clearElevationGroups: obj.clearElevationGroups,
90
+ })
91
+ }
92
+
93
+ toEncodable() {
94
+ return ReserveConfigCustomizationArgs.toEncodable(this)
95
+ }
96
+ }
@@ -4,24 +4,24 @@ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-u
4
4
  import * as borsh from "@coral-xyz/borsh"
5
5
 
6
6
  export interface ReserveFeesFields {
7
- borrowFeeSf: BN
7
+ originationFeeSf: BN
8
8
  flashLoanFeeSf: BN
9
9
  padding: Array<number>
10
10
  }
11
11
 
12
12
  export interface ReserveFeesJSON {
13
- borrowFeeSf: string
13
+ originationFeeSf: string
14
14
  flashLoanFeeSf: string
15
15
  padding: Array<number>
16
16
  }
17
17
 
18
18
  export class ReserveFees {
19
- readonly borrowFeeSf: BN
19
+ readonly originationFeeSf: BN
20
20
  readonly flashLoanFeeSf: BN
21
21
  readonly padding: Array<number>
22
22
 
23
23
  constructor(fields: ReserveFeesFields) {
24
- this.borrowFeeSf = fields.borrowFeeSf
24
+ this.originationFeeSf = fields.originationFeeSf
25
25
  this.flashLoanFeeSf = fields.flashLoanFeeSf
26
26
  this.padding = fields.padding
27
27
  }
@@ -29,7 +29,7 @@ export class ReserveFees {
29
29
  static layout(property?: string) {
30
30
  return borsh.struct(
31
31
  [
32
- borsh.u64("borrowFeeSf"),
32
+ borsh.u64("originationFeeSf"),
33
33
  borsh.u64("flashLoanFeeSf"),
34
34
  borsh.array(borsh.u8(), 8, "padding"),
35
35
  ],
@@ -40,7 +40,7 @@ export class ReserveFees {
40
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
41
  static fromDecoded(obj: any) {
42
42
  return new ReserveFees({
43
- borrowFeeSf: obj.borrowFeeSf,
43
+ originationFeeSf: obj.originationFeeSf,
44
44
  flashLoanFeeSf: obj.flashLoanFeeSf,
45
45
  padding: obj.padding,
46
46
  })
@@ -48,7 +48,7 @@ export class ReserveFees {
48
48
 
49
49
  static toEncodable(fields: ReserveFeesFields) {
50
50
  return {
51
- borrowFeeSf: fields.borrowFeeSf,
51
+ originationFeeSf: fields.originationFeeSf,
52
52
  flashLoanFeeSf: fields.flashLoanFeeSf,
53
53
  padding: fields.padding,
54
54
  }
@@ -56,7 +56,7 @@ export class ReserveFees {
56
56
 
57
57
  toJSON(): ReserveFeesJSON {
58
58
  return {
59
- borrowFeeSf: this.borrowFeeSf.toString(),
59
+ originationFeeSf: this.originationFeeSf.toString(),
60
60
  flashLoanFeeSf: this.flashLoanFeeSf.toString(),
61
61
  padding: this.padding,
62
62
  }
@@ -64,7 +64,7 @@ export class ReserveFees {
64
64
 
65
65
  static fromJSON(obj: ReserveFeesJSON): ReserveFees {
66
66
  return new ReserveFees({
67
- borrowFeeSf: new BN(obj.borrowFeeSf),
67
+ originationFeeSf: new BN(obj.originationFeeSf),
68
68
  flashLoanFeeSf: new BN(obj.flashLoanFeeSf),
69
69
  padding: obj.padding,
70
70
  })