@kamino-finance/klend-sdk 3.2.26 → 4.0.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 (725) hide show
  1. package/dist/classes/action.d.ts +1 -0
  2. package/dist/classes/action.d.ts.map +1 -0
  3. package/dist/classes/action.js +1130 -1186
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/curve.d.ts +1 -0
  6. package/dist/classes/curve.d.ts.map +1 -0
  7. package/dist/classes/curve.js +1 -1
  8. package/dist/classes/curve.js.map +1 -1
  9. package/dist/classes/fraction.d.ts +1 -0
  10. package/dist/classes/fraction.d.ts.map +1 -0
  11. package/dist/classes/fraction.js +7 -6
  12. package/dist/classes/fraction.js.map +1 -1
  13. package/dist/classes/index.d.ts +1 -0
  14. package/dist/classes/index.d.ts.map +1 -0
  15. package/dist/classes/index.js.map +1 -1
  16. package/dist/classes/jupiterPerps.d.ts +1 -0
  17. package/dist/classes/jupiterPerps.d.ts.map +1 -0
  18. package/dist/classes/jupiterPerps.js +7 -18
  19. package/dist/classes/jupiterPerps.js.map +1 -1
  20. package/dist/classes/manager.d.ts +1 -0
  21. package/dist/classes/manager.d.ts.map +1 -0
  22. package/dist/classes/manager.js +131 -158
  23. package/dist/classes/manager.js.map +1 -1
  24. package/dist/classes/market.d.ts +1 -0
  25. package/dist/classes/market.d.ts.map +1 -0
  26. package/dist/classes/market.js +620 -714
  27. package/dist/classes/market.js.map +1 -1
  28. package/dist/classes/obligation.d.ts +1 -0
  29. package/dist/classes/obligation.d.ts.map +1 -0
  30. package/dist/classes/obligation.js +60 -62
  31. package/dist/classes/obligation.js.map +1 -1
  32. package/dist/classes/reserve.d.ts +1 -0
  33. package/dist/classes/reserve.d.ts.map +1 -0
  34. package/dist/classes/reserve.js +120 -129
  35. package/dist/classes/reserve.js.map +1 -1
  36. package/dist/classes/shared.d.ts +1 -0
  37. package/dist/classes/shared.d.ts.map +1 -0
  38. package/dist/classes/shared.js.map +1 -1
  39. package/dist/classes/utils.d.ts +1 -0
  40. package/dist/classes/utils.d.ts.map +1 -0
  41. package/dist/classes/utils.js +3 -3
  42. package/dist/classes/utils.js.map +1 -1
  43. package/dist/classes/vault.d.ts +1 -0
  44. package/dist/classes/vault.d.ts.map +1 -0
  45. package/dist/classes/vault.js +334 -354
  46. package/dist/classes/vault.js.map +1 -1
  47. package/dist/client_kamino_manager.d.ts +1 -0
  48. package/dist/client_kamino_manager.d.ts.map +1 -0
  49. package/dist/client_kamino_manager.js +323 -326
  50. package/dist/client_kamino_manager.js.map +1 -1
  51. package/dist/idl_codegen/accounts/LendingMarket.d.ts +1 -0
  52. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -0
  53. package/dist/idl_codegen/accounts/LendingMarket.js +89 -55
  54. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  55. package/dist/idl_codegen/accounts/Obligation.d.ts +1 -0
  56. package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -0
  57. package/dist/idl_codegen/accounts/Obligation.js +87 -56
  58. package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
  59. package/dist/idl_codegen/accounts/ReferrerState.d.ts +1 -0
  60. package/dist/idl_codegen/accounts/ReferrerState.d.ts.map +1 -0
  61. package/dist/idl_codegen/accounts/ReferrerState.js +22 -33
  62. package/dist/idl_codegen/accounts/ReferrerState.js.map +1 -1
  63. package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts +1 -0
  64. package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts.map +1 -0
  65. package/dist/idl_codegen/accounts/ReferrerTokenState.js +35 -37
  66. package/dist/idl_codegen/accounts/ReferrerTokenState.js.map +1 -1
  67. package/dist/idl_codegen/accounts/Reserve.d.ts +1 -0
  68. package/dist/idl_codegen/accounts/Reserve.d.ts.map +1 -0
  69. package/dist/idl_codegen/accounts/Reserve.js +60 -49
  70. package/dist/idl_codegen/accounts/Reserve.js.map +1 -1
  71. package/dist/idl_codegen/accounts/ShortUrl.d.ts +1 -0
  72. package/dist/idl_codegen/accounts/ShortUrl.d.ts.map +1 -0
  73. package/dist/idl_codegen/accounts/ShortUrl.js +22 -33
  74. package/dist/idl_codegen/accounts/ShortUrl.js.map +1 -1
  75. package/dist/idl_codegen/accounts/UserMetadata.d.ts +1 -0
  76. package/dist/idl_codegen/accounts/UserMetadata.d.ts.map +1 -0
  77. package/dist/idl_codegen/accounts/UserMetadata.js +34 -37
  78. package/dist/idl_codegen/accounts/UserMetadata.js.map +1 -1
  79. package/dist/idl_codegen/accounts/UserState.d.ts +1 -0
  80. package/dist/idl_codegen/accounts/UserState.d.ts.map +1 -0
  81. package/dist/idl_codegen/accounts/UserState.js +77 -48
  82. package/dist/idl_codegen/accounts/UserState.js.map +1 -1
  83. package/dist/idl_codegen/accounts/index.d.ts +1 -0
  84. package/dist/idl_codegen/accounts/index.d.ts.map +1 -0
  85. package/dist/idl_codegen/accounts/index.js.map +1 -1
  86. package/dist/idl_codegen/errors/anchor.d.ts +1 -0
  87. package/dist/idl_codegen/errors/anchor.d.ts.map +1 -0
  88. package/dist/idl_codegen/errors/anchor.js +270 -216
  89. package/dist/idl_codegen/errors/anchor.js.map +1 -1
  90. package/dist/idl_codegen/errors/custom.d.ts +1 -0
  91. package/dist/idl_codegen/errors/custom.d.ts.map +1 -0
  92. package/dist/idl_codegen/errors/custom.js +560 -448
  93. package/dist/idl_codegen/errors/custom.js.map +1 -1
  94. package/dist/idl_codegen/errors/index.d.ts +1 -0
  95. package/dist/idl_codegen/errors/index.d.ts.map +1 -0
  96. package/dist/idl_codegen/errors/index.js.map +1 -1
  97. package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts +1 -0
  98. package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts.map +1 -0
  99. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -1
  100. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts +1 -0
  101. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts.map +1 -0
  102. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js.map +1 -1
  103. package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts +1 -0
  104. package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts.map +1 -0
  105. package/dist/idl_codegen/instructions/depositObligationCollateral.js.map +1 -1
  106. package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts +1 -0
  107. package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts.map +1 -0
  108. package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -1
  109. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +1 -0
  110. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts.map +1 -0
  111. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -1
  112. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts +1 -0
  113. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts.map +1 -0
  114. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js.map +1 -1
  115. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts +1 -0
  116. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts.map +1 -0
  117. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js.map +1 -1
  118. package/dist/idl_codegen/instructions/idlMissingTypes.d.ts +1 -0
  119. package/dist/idl_codegen/instructions/idlMissingTypes.d.ts.map +1 -0
  120. package/dist/idl_codegen/instructions/idlMissingTypes.js.map +1 -1
  121. package/dist/idl_codegen/instructions/index.d.ts +1 -0
  122. package/dist/idl_codegen/instructions/index.d.ts.map +1 -0
  123. package/dist/idl_codegen/instructions/index.js.map +1 -1
  124. package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts +1 -0
  125. package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts.map +1 -0
  126. package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -1
  127. package/dist/idl_codegen/instructions/initLendingMarket.d.ts +1 -0
  128. package/dist/idl_codegen/instructions/initLendingMarket.d.ts.map +1 -0
  129. package/dist/idl_codegen/instructions/initLendingMarket.js.map +1 -1
  130. package/dist/idl_codegen/instructions/initObligation.d.ts +1 -0
  131. package/dist/idl_codegen/instructions/initObligation.d.ts.map +1 -0
  132. package/dist/idl_codegen/instructions/initObligation.js.map +1 -1
  133. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts +1 -0
  134. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts.map +1 -0
  135. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -1
  136. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts +1 -0
  137. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts.map +1 -0
  138. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js.map +1 -1
  139. package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts +1 -0
  140. package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts.map +1 -0
  141. package/dist/idl_codegen/instructions/initReferrerTokenState.js.map +1 -1
  142. package/dist/idl_codegen/instructions/initReserve.d.ts +1 -0
  143. package/dist/idl_codegen/instructions/initReserve.d.ts.map +1 -0
  144. package/dist/idl_codegen/instructions/initReserve.js.map +1 -1
  145. package/dist/idl_codegen/instructions/initUserMetadata.d.ts +1 -0
  146. package/dist/idl_codegen/instructions/initUserMetadata.d.ts.map +1 -0
  147. package/dist/idl_codegen/instructions/initUserMetadata.js.map +1 -1
  148. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +1 -0
  149. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts.map +1 -0
  150. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -1
  151. package/dist/idl_codegen/instructions/redeemFees.d.ts +1 -0
  152. package/dist/idl_codegen/instructions/redeemFees.d.ts.map +1 -0
  153. package/dist/idl_codegen/instructions/redeemFees.js.map +1 -1
  154. package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts +1 -0
  155. package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts.map +1 -0
  156. package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -1
  157. package/dist/idl_codegen/instructions/refreshObligation.d.ts +1 -0
  158. package/dist/idl_codegen/instructions/refreshObligation.d.ts.map +1 -0
  159. package/dist/idl_codegen/instructions/refreshObligation.js.map +1 -1
  160. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts +1 -0
  161. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts.map +1 -0
  162. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -1
  163. package/dist/idl_codegen/instructions/refreshReserve.d.ts +1 -0
  164. package/dist/idl_codegen/instructions/refreshReserve.d.ts.map +1 -0
  165. package/dist/idl_codegen/instructions/refreshReserve.js.map +1 -1
  166. package/dist/idl_codegen/instructions/refreshReservesBatch.d.ts +1 -0
  167. package/dist/idl_codegen/instructions/refreshReservesBatch.d.ts.map +1 -0
  168. package/dist/idl_codegen/instructions/refreshReservesBatch.js.map +1 -1
  169. package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts +1 -0
  170. package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts.map +1 -0
  171. package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -1
  172. package/dist/idl_codegen/instructions/requestElevationGroup.d.ts +1 -0
  173. package/dist/idl_codegen/instructions/requestElevationGroup.d.ts.map +1 -0
  174. package/dist/idl_codegen/instructions/requestElevationGroup.js.map +1 -1
  175. package/dist/idl_codegen/instructions/socializeLoss.d.ts +1 -0
  176. package/dist/idl_codegen/instructions/socializeLoss.d.ts.map +1 -0
  177. package/dist/idl_codegen/instructions/socializeLoss.js.map +1 -1
  178. package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts +1 -0
  179. package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts.map +1 -0
  180. package/dist/idl_codegen/instructions/updateEntireReserveConfig.js.map +1 -1
  181. package/dist/idl_codegen/instructions/updateLendingMarket.d.ts +1 -0
  182. package/dist/idl_codegen/instructions/updateLendingMarket.d.ts.map +1 -0
  183. package/dist/idl_codegen/instructions/updateLendingMarket.js.map +1 -1
  184. package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts +1 -0
  185. package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts.map +1 -0
  186. package/dist/idl_codegen/instructions/updateLendingMarketOwner.js.map +1 -1
  187. package/dist/idl_codegen/instructions/updateReserveConfig.d.ts +1 -0
  188. package/dist/idl_codegen/instructions/updateReserveConfig.d.ts.map +1 -0
  189. package/dist/idl_codegen/instructions/updateReserveConfig.js.map +1 -1
  190. package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts +1 -0
  191. package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts.map +1 -0
  192. package/dist/idl_codegen/instructions/updateSingleReserveConfig.js.map +1 -1
  193. package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts +1 -0
  194. package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts.map +1 -0
  195. package/dist/idl_codegen/instructions/withdrawObligationCollateral.js.map +1 -1
  196. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +1 -0
  197. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts.map +1 -0
  198. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -1
  199. package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts +1 -0
  200. package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts.map +1 -0
  201. package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -1
  202. package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts +1 -0
  203. package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts.map +1 -0
  204. package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -1
  205. package/dist/idl_codegen/programId.d.ts +1 -0
  206. package/dist/idl_codegen/programId.d.ts.map +1 -0
  207. package/dist/idl_codegen/programId.js.map +1 -1
  208. package/dist/idl_codegen/types/AssetTier.d.ts +1 -0
  209. package/dist/idl_codegen/types/AssetTier.d.ts.map +1 -0
  210. package/dist/idl_codegen/types/AssetTier.js +12 -18
  211. package/dist/idl_codegen/types/AssetTier.js.map +1 -1
  212. package/dist/idl_codegen/types/BigFractionBytes.d.ts +1 -0
  213. package/dist/idl_codegen/types/BigFractionBytes.d.ts.map +1 -0
  214. package/dist/idl_codegen/types/BigFractionBytes.js +2 -0
  215. package/dist/idl_codegen/types/BigFractionBytes.js.map +1 -1
  216. package/dist/idl_codegen/types/BorrowRateCurve.d.ts +1 -0
  217. package/dist/idl_codegen/types/BorrowRateCurve.d.ts.map +1 -0
  218. package/dist/idl_codegen/types/BorrowRateCurve.js +2 -1
  219. package/dist/idl_codegen/types/BorrowRateCurve.js.map +1 -1
  220. package/dist/idl_codegen/types/CurvePoint.d.ts +1 -0
  221. package/dist/idl_codegen/types/CurvePoint.d.ts.map +1 -0
  222. package/dist/idl_codegen/types/CurvePoint.js +2 -0
  223. package/dist/idl_codegen/types/CurvePoint.js.map +1 -1
  224. package/dist/idl_codegen/types/ElevationGroup.d.ts +1 -0
  225. package/dist/idl_codegen/types/ElevationGroup.d.ts.map +1 -0
  226. package/dist/idl_codegen/types/ElevationGroup.js +10 -0
  227. package/dist/idl_codegen/types/ElevationGroup.js.map +1 -1
  228. package/dist/idl_codegen/types/FeeCalculation.d.ts +1 -0
  229. package/dist/idl_codegen/types/FeeCalculation.d.ts.map +1 -0
  230. package/dist/idl_codegen/types/FeeCalculation.js +8 -12
  231. package/dist/idl_codegen/types/FeeCalculation.js.map +1 -1
  232. package/dist/idl_codegen/types/InitObligationArgs.d.ts +1 -0
  233. package/dist/idl_codegen/types/InitObligationArgs.d.ts.map +1 -0
  234. package/dist/idl_codegen/types/InitObligationArgs.js +2 -0
  235. package/dist/idl_codegen/types/InitObligationArgs.js.map +1 -1
  236. package/dist/idl_codegen/types/LastUpdate.d.ts +1 -0
  237. package/dist/idl_codegen/types/LastUpdate.d.ts.map +1 -0
  238. package/dist/idl_codegen/types/LastUpdate.js +7 -0
  239. package/dist/idl_codegen/types/LastUpdate.js.map +1 -1
  240. package/dist/idl_codegen/types/ObligationCollateral.d.ts +1 -0
  241. package/dist/idl_codegen/types/ObligationCollateral.d.ts.map +1 -0
  242. package/dist/idl_codegen/types/ObligationCollateral.js +14 -0
  243. package/dist/idl_codegen/types/ObligationCollateral.js.map +1 -1
  244. package/dist/idl_codegen/types/ObligationLiquidity.d.ts +1 -0
  245. package/dist/idl_codegen/types/ObligationLiquidity.d.ts.map +1 -0
  246. package/dist/idl_codegen/types/ObligationLiquidity.js +17 -1
  247. package/dist/idl_codegen/types/ObligationLiquidity.js.map +1 -1
  248. package/dist/idl_codegen/types/PriceHeuristic.d.ts +1 -0
  249. package/dist/idl_codegen/types/PriceHeuristic.d.ts.map +1 -0
  250. package/dist/idl_codegen/types/PriceHeuristic.js +6 -0
  251. package/dist/idl_codegen/types/PriceHeuristic.js.map +1 -1
  252. package/dist/idl_codegen/types/PythConfiguration.d.ts +1 -0
  253. package/dist/idl_codegen/types/PythConfiguration.d.ts.map +1 -0
  254. package/dist/idl_codegen/types/PythConfiguration.js +2 -0
  255. package/dist/idl_codegen/types/PythConfiguration.js.map +1 -1
  256. package/dist/idl_codegen/types/ReserveCollateral.d.ts +1 -0
  257. package/dist/idl_codegen/types/ReserveCollateral.d.ts.map +1 -0
  258. package/dist/idl_codegen/types/ReserveCollateral.js +8 -0
  259. package/dist/idl_codegen/types/ReserveCollateral.js.map +1 -1
  260. package/dist/idl_codegen/types/ReserveConfig.d.ts +1 -0
  261. package/dist/idl_codegen/types/ReserveConfig.d.ts.map +1 -0
  262. package/dist/idl_codegen/types/ReserveConfig.js +78 -5
  263. package/dist/idl_codegen/types/ReserveConfig.js.map +1 -1
  264. package/dist/idl_codegen/types/ReserveFarmKind.d.ts +1 -0
  265. package/dist/idl_codegen/types/ReserveFarmKind.d.ts.map +1 -0
  266. package/dist/idl_codegen/types/ReserveFarmKind.js +8 -12
  267. package/dist/idl_codegen/types/ReserveFarmKind.js.map +1 -1
  268. package/dist/idl_codegen/types/ReserveFees.d.ts +1 -0
  269. package/dist/idl_codegen/types/ReserveFees.d.ts.map +1 -0
  270. package/dist/idl_codegen/types/ReserveFees.js +16 -0
  271. package/dist/idl_codegen/types/ReserveFees.js.map +1 -1
  272. package/dist/idl_codegen/types/ReserveLiquidity.d.ts +1 -0
  273. package/dist/idl_codegen/types/ReserveLiquidity.d.ts.map +1 -0
  274. package/dist/idl_codegen/types/ReserveLiquidity.js +43 -1
  275. package/dist/idl_codegen/types/ReserveLiquidity.js.map +1 -1
  276. package/dist/idl_codegen/types/ReserveStatus.d.ts +1 -0
  277. package/dist/idl_codegen/types/ReserveStatus.d.ts.map +1 -0
  278. package/dist/idl_codegen/types/ReserveStatus.js +12 -18
  279. package/dist/idl_codegen/types/ReserveStatus.js.map +1 -1
  280. package/dist/idl_codegen/types/ScopeConfiguration.d.ts +1 -0
  281. package/dist/idl_codegen/types/ScopeConfiguration.d.ts.map +1 -0
  282. package/dist/idl_codegen/types/ScopeConfiguration.js +6 -0
  283. package/dist/idl_codegen/types/ScopeConfiguration.js.map +1 -1
  284. package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts +1 -0
  285. package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts.map +1 -0
  286. package/dist/idl_codegen/types/SwitchboardConfiguration.js +3 -0
  287. package/dist/idl_codegen/types/SwitchboardConfiguration.js.map +1 -1
  288. package/dist/idl_codegen/types/TokenInfo.d.ts +1 -0
  289. package/dist/idl_codegen/types/TokenInfo.d.ts.map +1 -0
  290. package/dist/idl_codegen/types/TokenInfo.js +27 -4
  291. package/dist/idl_codegen/types/TokenInfo.js.map +1 -1
  292. package/dist/idl_codegen/types/UpdateConfigMode.d.ts +1 -0
  293. package/dist/idl_codegen/types/UpdateConfigMode.d.ts.map +1 -0
  294. package/dist/idl_codegen/types/UpdateConfigMode.js +188 -282
  295. package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -1
  296. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +1 -0
  297. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts.map +1 -0
  298. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +41 -33
  299. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -1
  300. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +1 -0
  301. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -0
  302. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +72 -108
  303. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  304. package/dist/idl_codegen/types/WithdrawalCaps.d.ts +1 -0
  305. package/dist/idl_codegen/types/WithdrawalCaps.d.ts.map +1 -0
  306. package/dist/idl_codegen/types/WithdrawalCaps.js +4 -0
  307. package/dist/idl_codegen/types/WithdrawalCaps.js.map +1 -1
  308. package/dist/idl_codegen/types/index.d.ts +1 -0
  309. package/dist/idl_codegen/types/index.d.ts.map +1 -0
  310. package/dist/idl_codegen/types/index.js.map +1 -1
  311. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +1 -0
  312. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -0
  313. package/dist/idl_codegen/zero_padding/ObligationZP.js +83 -54
  314. package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
  315. package/dist/idl_codegen/zero_padding/index.d.ts +1 -0
  316. package/dist/idl_codegen/zero_padding/index.d.ts.map +1 -0
  317. package/dist/idl_codegen/zero_padding/index.js.map +1 -1
  318. package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts +1 -0
  319. package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts.map +1 -0
  320. package/dist/idl_codegen_jupiter_perps/accounts/Pool.js +39 -42
  321. package/dist/idl_codegen_jupiter_perps/accounts/Pool.js.map +1 -1
  322. package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts +1 -0
  323. package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts.map +1 -0
  324. package/dist/idl_codegen_jupiter_perps/accounts/index.js.map +1 -1
  325. package/dist/idl_codegen_jupiter_perps/programId.d.ts +1 -0
  326. package/dist/idl_codegen_jupiter_perps/programId.d.ts.map +1 -0
  327. package/dist/idl_codegen_jupiter_perps/programId.js.map +1 -1
  328. package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts +1 -0
  329. package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts.map +1 -0
  330. package/dist/idl_codegen_jupiter_perps/types/Fees.js +9 -0
  331. package/dist/idl_codegen_jupiter_perps/types/Fees.js.map +1 -1
  332. package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts +1 -0
  333. package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts.map +1 -0
  334. package/dist/idl_codegen_jupiter_perps/types/Limit.js +3 -0
  335. package/dist/idl_codegen_jupiter_perps/types/Limit.js.map +1 -1
  336. package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts +1 -0
  337. package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts.map +1 -0
  338. package/dist/idl_codegen_jupiter_perps/types/PoolApr.js +3 -0
  339. package/dist/idl_codegen_jupiter_perps/types/PoolApr.js.map +1 -1
  340. package/dist/idl_codegen_jupiter_perps/types/index.d.ts +1 -0
  341. package/dist/idl_codegen_jupiter_perps/types/index.d.ts.map +1 -0
  342. package/dist/idl_codegen_jupiter_perps/types/index.js.map +1 -1
  343. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +1 -0
  344. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -0
  345. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +58 -47
  346. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
  347. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +1 -0
  348. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -0
  349. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +51 -47
  350. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  351. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +1 -0
  352. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -0
  353. package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
  354. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts +1 -0
  355. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -0
  356. package/dist/idl_codegen_kamino_vault/errors/anchor.js +270 -216
  357. package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
  358. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +1 -0
  359. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -0
  360. package/dist/idl_codegen_kamino_vault/errors/custom.js +120 -96
  361. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  362. package/dist/idl_codegen_kamino_vault/errors/index.d.ts +1 -0
  363. package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -0
  364. package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
  365. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +1 -0
  366. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -0
  367. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  368. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +1 -0
  369. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -0
  370. package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
  371. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +1 -0
  372. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -0
  373. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  374. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +1 -0
  375. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -0
  376. package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
  377. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -0
  378. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -0
  379. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  380. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +1 -0
  381. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -0
  382. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
  383. package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -0
  384. package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -0
  385. package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
  386. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +1 -0
  387. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -0
  388. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +2 -0
  389. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
  390. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -0
  391. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -0
  392. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +2 -1
  393. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
  394. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -0
  395. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -0
  396. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +2 -0
  397. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
  398. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +1 -0
  399. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -0
  400. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +7 -0
  401. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
  402. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +1 -0
  403. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -0
  404. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +6 -0
  405. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
  406. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +1 -0
  407. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -0
  408. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +2 -0
  409. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
  410. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +1 -0
  411. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -0
  412. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +8 -0
  413. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
  414. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +1 -0
  415. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -0
  416. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +77 -5
  417. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  418. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +1 -0
  419. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -0
  420. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +16 -0
  421. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
  422. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +1 -0
  423. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -0
  424. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +41 -1
  425. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
  426. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +1 -0
  427. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -0
  428. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +6 -0
  429. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
  430. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +1 -0
  431. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -0
  432. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +3 -0
  433. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
  434. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +1 -0
  435. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -0
  436. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +27 -4
  437. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
  438. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +1 -0
  439. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -0
  440. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +8 -0
  441. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
  442. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts +1 -0
  443. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts.map +1 -0
  444. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js +4 -0
  445. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js.map +1 -1
  446. package/dist/idl_codegen_kamino_vault/types/index.d.ts +1 -0
  447. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -0
  448. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  449. package/dist/index.d.ts +1 -0
  450. package/dist/index.d.ts.map +1 -0
  451. package/dist/index.js.map +1 -1
  452. package/dist/lending_operations/index.d.ts +1 -0
  453. package/dist/lending_operations/index.d.ts.map +1 -0
  454. package/dist/lending_operations/index.js.map +1 -1
  455. package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -0
  456. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -0
  457. package/dist/lending_operations/repay_with_collateral_calcs.js +1 -1
  458. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  459. package/dist/lending_operations/repay_with_collateral_operations.d.ts +1 -0
  460. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -0
  461. package/dist/lending_operations/repay_with_collateral_operations.js +15 -24
  462. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  463. package/dist/leverage/calcs.d.ts +1 -0
  464. package/dist/leverage/calcs.d.ts.map +1 -0
  465. package/dist/leverage/calcs.js +119 -132
  466. package/dist/leverage/calcs.js.map +1 -1
  467. package/dist/leverage/index.d.ts +1 -0
  468. package/dist/leverage/index.d.ts.map +1 -0
  469. package/dist/leverage/index.js.map +1 -1
  470. package/dist/leverage/instructions.d.ts +1 -0
  471. package/dist/leverage/instructions.d.ts.map +1 -0
  472. package/dist/leverage/instructions.js.map +1 -1
  473. package/dist/leverage/operations.d.ts +1 -0
  474. package/dist/leverage/operations.d.ts.map +1 -0
  475. package/dist/leverage/operations.js +75 -84
  476. package/dist/leverage/operations.js.map +1 -1
  477. package/dist/leverage/utils.d.ts +1 -0
  478. package/dist/leverage/utils.d.ts.map +1 -0
  479. package/dist/leverage/utils.js +73 -88
  480. package/dist/leverage/utils.js.map +1 -1
  481. package/dist/lib.d.ts +1 -0
  482. package/dist/lib.d.ts.map +1 -0
  483. package/dist/lib.js.map +1 -1
  484. package/dist/referrals/index.d.ts +1 -0
  485. package/dist/referrals/index.d.ts.map +1 -0
  486. package/dist/referrals/index.js.map +1 -1
  487. package/dist/referrals/instructions.d.ts +1 -0
  488. package/dist/referrals/instructions.d.ts.map +1 -0
  489. package/dist/referrals/instructions.js +8 -17
  490. package/dist/referrals/instructions.js.map +1 -1
  491. package/dist/referrals/operations.d.ts +2 -1
  492. package/dist/referrals/operations.d.ts.map +1 -0
  493. package/dist/referrals/operations.js +119 -143
  494. package/dist/referrals/operations.js.map +1 -1
  495. package/dist/utils/ObligationType.d.ts +1 -0
  496. package/dist/utils/ObligationType.d.ts.map +1 -0
  497. package/dist/utils/ObligationType.js +16 -7
  498. package/dist/utils/ObligationType.js.map +1 -1
  499. package/dist/utils/api.d.ts +1 -0
  500. package/dist/utils/api.d.ts.map +1 -0
  501. package/dist/utils/api.js +10 -21
  502. package/dist/utils/api.js.map +1 -1
  503. package/dist/utils/ata.d.ts +1 -0
  504. package/dist/utils/ata.d.ts.map +1 -0
  505. package/dist/utils/ata.js +25 -38
  506. package/dist/utils/ata.js.map +1 -1
  507. package/dist/utils/constants.d.ts +1 -0
  508. package/dist/utils/constants.d.ts.map +1 -0
  509. package/dist/utils/constants.js +1 -1
  510. package/dist/utils/constants.js.map +1 -1
  511. package/dist/utils/idl.d.ts +1 -0
  512. package/dist/utils/idl.d.ts.map +1 -0
  513. package/dist/utils/idl.js.map +1 -1
  514. package/dist/utils/index.d.ts +1 -0
  515. package/dist/utils/index.d.ts.map +1 -0
  516. package/dist/utils/index.js.map +1 -1
  517. package/dist/utils/instruction.d.ts +1 -0
  518. package/dist/utils/instruction.d.ts.map +1 -0
  519. package/dist/utils/instruction.js +116 -143
  520. package/dist/utils/instruction.js.map +1 -1
  521. package/dist/utils/kamino.d.ts +1 -0
  522. package/dist/utils/kamino.d.ts.map +1 -0
  523. package/dist/utils/kamino.js +4 -15
  524. package/dist/utils/kamino.js.map +1 -1
  525. package/dist/utils/layout.d.ts +1 -0
  526. package/dist/utils/layout.d.ts.map +1 -0
  527. package/dist/utils/layout.js.map +1 -1
  528. package/dist/utils/lookupTable.d.ts +1 -0
  529. package/dist/utils/lookupTable.d.ts.map +1 -0
  530. package/dist/utils/lookupTable.js +14 -27
  531. package/dist/utils/lookupTable.js.map +1 -1
  532. package/dist/utils/managerTypes.d.ts +1 -0
  533. package/dist/utils/managerTypes.d.ts.map +1 -0
  534. package/dist/utils/managerTypes.js +31 -2
  535. package/dist/utils/managerTypes.js.map +1 -1
  536. package/dist/utils/oracle.d.ts +1 -0
  537. package/dist/utils/oracle.d.ts.map +1 -0
  538. package/dist/utils/oracle.js +70 -83
  539. package/dist/utils/oracle.js.map +1 -1
  540. package/dist/utils/pubkey.d.ts +1 -0
  541. package/dist/utils/pubkey.d.ts.map +1 -0
  542. package/dist/utils/pubkey.js +7 -9
  543. package/dist/utils/pubkey.js.map +1 -1
  544. package/dist/utils/rpc.d.ts +1 -0
  545. package/dist/utils/rpc.d.ts.map +1 -0
  546. package/dist/utils/rpc.js +48 -70
  547. package/dist/utils/rpc.js.map +1 -1
  548. package/dist/utils/seeds.d.ts +1 -0
  549. package/dist/utils/seeds.d.ts.map +1 -0
  550. package/dist/utils/seeds.js.map +1 -1
  551. package/dist/utils/sendTransactionsUtils.d.ts +1 -0
  552. package/dist/utils/sendTransactionsUtils.d.ts.map +1 -0
  553. package/dist/utils/sendTransactionsUtils.js +82 -82
  554. package/dist/utils/sendTransactionsUtils.js.map +1 -1
  555. package/dist/utils/slots.d.ts +1 -0
  556. package/dist/utils/slots.d.ts.map +1 -0
  557. package/dist/utils/slots.js.map +1 -1
  558. package/dist/utils/syncNative.d.ts +1 -0
  559. package/dist/utils/syncNative.d.ts.map +1 -0
  560. package/dist/utils/syncNative.js.map +1 -1
  561. package/dist/utils/userMetadata.d.ts +1 -0
  562. package/dist/utils/userMetadata.d.ts.map +1 -0
  563. package/dist/utils/userMetadata.js +40 -52
  564. package/dist/utils/userMetadata.js.map +1 -1
  565. package/package.json +9 -3
  566. package/src/classes/action.ts +2884 -0
  567. package/src/classes/curve.ts +29 -0
  568. package/src/classes/fraction.ts +65 -0
  569. package/src/classes/index.ts +10 -0
  570. package/src/classes/jupiterPerps.ts +14 -0
  571. package/src/classes/manager.ts +746 -0
  572. package/src/classes/market.ts +1459 -0
  573. package/src/classes/obligation.ts +1315 -0
  574. package/src/classes/reserve.ts +1980 -0
  575. package/src/classes/shared.ts +57 -0
  576. package/src/classes/utils.ts +192 -0
  577. package/src/classes/vault.ts +808 -0
  578. package/src/client.ts +446 -0
  579. package/src/client_kamino_manager.ts +791 -0
  580. package/src/global.d.ts +1 -0
  581. package/src/idl_codegen/accounts/LendingMarket.ts +364 -0
  582. package/src/idl_codegen/accounts/Obligation.ts +349 -0
  583. package/src/idl_codegen/accounts/ReferrerState.ts +97 -0
  584. package/src/idl_codegen/accounts/ReferrerTokenState.ts +145 -0
  585. package/src/idl_codegen/accounts/Reserve.ts +248 -0
  586. package/src/idl_codegen/accounts/ShortUrl.ts +97 -0
  587. package/src/idl_codegen/accounts/UserMetadata.ts +142 -0
  588. package/src/idl_codegen/accounts/UserState.ts +301 -0
  589. package/src/idl_codegen/accounts/index.ts +19 -0
  590. package/src/idl_codegen/errors/anchor.ts +773 -0
  591. package/src/idl_codegen/errors/custom.ts +1633 -0
  592. package/src/idl_codegen/errors/index.ts +62 -0
  593. package/src/idl_codegen/instructions/borrowObligationLiquidity.ts +82 -0
  594. package/src/idl_codegen/instructions/deleteReferrerStateAndShortUrl.ts +30 -0
  595. package/src/idl_codegen/instructions/depositObligationCollateral.ts +62 -0
  596. package/src/idl_codegen/instructions/depositReserveLiquidity.ts +90 -0
  597. package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.ts +98 -0
  598. package/src/idl_codegen/instructions/flashBorrowReserveLiquidity.ts +82 -0
  599. package/src/idl_codegen/instructions/flashRepayReserveLiquidity.ts +83 -0
  600. package/src/idl_codegen/instructions/idlMissingTypes.ts +62 -0
  601. package/src/idl_codegen/instructions/index.ts +138 -0
  602. package/src/idl_codegen/instructions/initFarmsForReserve.ts +62 -0
  603. package/src/idl_codegen/instructions/initLendingMarket.ts +50 -0
  604. package/src/idl_codegen/instructions/initObligation.ts +52 -0
  605. package/src/idl_codegen/instructions/initObligationFarmsForReserve.ts +60 -0
  606. package/src/idl_codegen/instructions/initReferrerStateAndShortUrl.ts +50 -0
  607. package/src/idl_codegen/instructions/initReferrerTokenState.ts +46 -0
  608. package/src/idl_codegen/instructions/initReserve.ts +74 -0
  609. package/src/idl_codegen/instructions/initUserMetadata.ts +50 -0
  610. package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.ts +139 -0
  611. package/src/idl_codegen/instructions/redeemFees.ts +50 -0
  612. package/src/idl_codegen/instructions/redeemReserveCollateral.ts +94 -0
  613. package/src/idl_codegen/instructions/refreshObligation.ts +24 -0
  614. package/src/idl_codegen/instructions/refreshObligationFarmsForReserve.ts +62 -0
  615. package/src/idl_codegen/instructions/refreshReserve.ts +40 -0
  616. package/src/idl_codegen/instructions/refreshReservesBatch.ts +29 -0
  617. package/src/idl_codegen/instructions/repayObligationLiquidity.ts +64 -0
  618. package/src/idl_codegen/instructions/requestElevationGroup.ts +40 -0
  619. package/src/idl_codegen/instructions/socializeLoss.ts +48 -0
  620. package/src/idl_codegen/instructions/updateEntireReserveConfig.ts +45 -0
  621. package/src/idl_codegen/instructions/updateLendingMarket.ts +43 -0
  622. package/src/idl_codegen/instructions/updateLendingMarketOwner.ts +28 -0
  623. package/src/idl_codegen/instructions/updateReserveConfig.ts +52 -0
  624. package/src/idl_codegen/instructions/updateSingleReserveConfig.ts +48 -0
  625. package/src/idl_codegen/instructions/withdrawObligationCollateral.ts +68 -0
  626. package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +102 -0
  627. package/src/idl_codegen/instructions/withdrawProtocolFee.ts +62 -0
  628. package/src/idl_codegen/instructions/withdrawReferrerFees.ts +54 -0
  629. package/src/idl_codegen/programId.ts +13 -0
  630. package/src/idl_codegen/types/AssetTier.ts +118 -0
  631. package/src/idl_codegen/types/BigFractionBytes.ts +67 -0
  632. package/src/idl_codegen/types/BorrowRateCurve.ts +60 -0
  633. package/src/idl_codegen/types/CurvePoint.ts +64 -0
  634. package/src/idl_codegen/types/ElevationGroup.ts +133 -0
  635. package/src/idl_codegen/types/FeeCalculation.ts +90 -0
  636. package/src/idl_codegen/types/InitObligationArgs.ts +61 -0
  637. package/src/idl_codegen/types/LastUpdate.ts +95 -0
  638. package/src/idl_codegen/types/ObligationCollateral.ts +128 -0
  639. package/src/idl_codegen/types/ObligationLiquidity.ts +159 -0
  640. package/src/idl_codegen/types/PriceHeuristic.ts +81 -0
  641. package/src/idl_codegen/types/PythConfiguration.ts +56 -0
  642. package/src/idl_codegen/types/ReserveCollateral.ts +104 -0
  643. package/src/idl_codegen/types/ReserveConfig.ts +467 -0
  644. package/src/idl_codegen/types/ReserveFarmKind.ts +90 -0
  645. package/src/idl_codegen/types/ReserveFees.ts +122 -0
  646. package/src/idl_codegen/types/ReserveLiquidity.ts +286 -0
  647. package/src/idl_codegen/types/ReserveStatus.ts +120 -0
  648. package/src/idl_codegen/types/ScopeConfiguration.ts +85 -0
  649. package/src/idl_codegen/types/SwitchboardConfiguration.ts +67 -0
  650. package/src/idl_codegen/types/TokenInfo.ts +190 -0
  651. package/src/idl_codegen/types/UpdateConfigMode.ts +1440 -0
  652. package/src/idl_codegen/types/UpdateLendingMarketConfigValue.ts +376 -0
  653. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +570 -0
  654. package/src/idl_codegen/types/WithdrawalCaps.ts +86 -0
  655. package/src/idl_codegen/types/index.ts +276 -0
  656. package/src/idl_codegen/zero_padding/ObligationZP.ts +186 -0
  657. package/src/idl_codegen/zero_padding/index.ts +1 -0
  658. package/src/idl_codegen_jupiter_perps/accounts/Pool.ts +155 -0
  659. package/src/idl_codegen_jupiter_perps/accounts/index.ts +2 -0
  660. package/src/idl_codegen_jupiter_perps/programId.ts +7 -0
  661. package/src/idl_codegen_jupiter_perps/types/Fees.ts +130 -0
  662. package/src/idl_codegen_jupiter_perps/types/Limit.ts +72 -0
  663. package/src/idl_codegen_jupiter_perps/types/PoolApr.ts +69 -0
  664. package/src/idl_codegen_jupiter_perps/types/index.ts +6 -0
  665. package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +221 -0
  666. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +214 -0
  667. package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -0
  668. package/src/idl_codegen_kamino_vault/errors/anchor.ts +764 -0
  669. package/src/idl_codegen_kamino_vault/errors/custom.ts +344 -0
  670. package/src/idl_codegen_kamino_vault/errors/index.ts +49 -0
  671. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +54 -0
  672. package/src/idl_codegen_kamino_vault/instructions/index.ts +10 -0
  673. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +35 -0
  674. package/src/idl_codegen_kamino_vault/instructions/invest.ts +60 -0
  675. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +58 -0
  676. package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +81 -0
  677. package/src/idl_codegen_kamino_vault/programId.ts +7 -0
  678. package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +61 -0
  679. package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +55 -0
  680. package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +61 -0
  681. package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +90 -0
  682. package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +78 -0
  683. package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +56 -0
  684. package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +104 -0
  685. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +426 -0
  686. package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +118 -0
  687. package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +268 -0
  688. package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +85 -0
  689. package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +64 -0
  690. package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +172 -0
  691. package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +115 -0
  692. package/src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts +86 -0
  693. package/src/idl_codegen_kamino_vault/types/index.ts +30 -0
  694. package/src/index.ts +1 -0
  695. package/src/lending_operations/index.ts +2 -0
  696. package/src/lending_operations/repay_with_collateral_calcs.ts +71 -0
  697. package/src/lending_operations/repay_with_collateral_operations.ts +318 -0
  698. package/src/leverage/calcs.ts +465 -0
  699. package/src/leverage/index.ts +4 -0
  700. package/src/leverage/instructions.ts +144 -0
  701. package/src/leverage/operations.ts +1814 -0
  702. package/src/leverage/utils.ts +273 -0
  703. package/src/lib.ts +9 -0
  704. package/src/referrals/index.ts +2 -0
  705. package/src/referrals/instructions.ts +114 -0
  706. package/src/referrals/operations.ts +325 -0
  707. package/src/utils/ObligationType.ts +171 -0
  708. package/src/utils/api.ts +59 -0
  709. package/src/utils/ata.ts +195 -0
  710. package/src/utils/constants.ts +81 -0
  711. package/src/utils/idl.ts +4 -0
  712. package/src/utils/index.ts +16 -0
  713. package/src/utils/instruction.ts +258 -0
  714. package/src/utils/kamino.ts +12 -0
  715. package/src/utils/layout.ts +118 -0
  716. package/src/utils/lookupTable.ts +55 -0
  717. package/src/utils/managerTypes.ts +456 -0
  718. package/src/utils/oracle.ts +338 -0
  719. package/src/utils/pubkey.ts +261 -0
  720. package/src/utils/rpc.ts +108 -0
  721. package/src/utils/seeds.ts +183 -0
  722. package/src/utils/sendTransactionsUtils.ts +207 -0
  723. package/src/utils/slots.ts +28 -0
  724. package/src/utils/syncNative.ts +22 -0
  725. package/src/utils/userMetadata.ts +401 -0
@@ -0,0 +1,467 @@
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 ReserveConfigFields {
7
+ /** Status of the reserve Active/Obsolete/Hidden */
8
+ status: number
9
+ /** Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt */
10
+ assetTier: number
11
+ /** Flat rate that goes to the host */
12
+ hostFixedInterestRateBps: number
13
+ /** [DEPRECATED] Boost for side (debt or collateral) */
14
+ reserved2: Array<number>
15
+ /** [DEPRECATED] Reward points multiplier per obligation type */
16
+ reserved3: Array<number>
17
+ /** Protocol take rate is the amount borrowed interest protocol receives, as a percentage */
18
+ protocolTakeRatePct: number
19
+ /** Cut of the liquidation bonus that the protocol receives, as a percentage */
20
+ protocolLiquidationFeePct: number
21
+ /**
22
+ * Target ratio of the value of borrows to deposits, as a percentage
23
+ * 0 if use as collateral is disabled
24
+ */
25
+ loanToValuePct: number
26
+ /** Loan to value ratio at which an obligation can be liquidated, as percentage */
27
+ liquidationThresholdPct: number
28
+ /** Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
29
+ minLiquidationBonusBps: number
30
+ /** Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
31
+ maxLiquidationBonusBps: number
32
+ /** Bad debt liquidation bonus for an undercollateralized obligation, as bps */
33
+ badDebtLiquidationBonusBps: number
34
+ /** Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed */
35
+ deleveragingMarginCallPeriodSecs: BN
36
+ /**
37
+ * The rate at which the deleveraging threshold decreases in slots per bps
38
+ * e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)
39
+ */
40
+ deleveragingThresholdSlotsPerBps: BN
41
+ /** Program owner fees assessed, separate from gains due to interest accrual */
42
+ fees: types.ReserveFeesFields
43
+ /** Borrow rate curve based on utilization */
44
+ borrowRateCurve: types.BorrowRateCurveFields
45
+ /** Borrow factor in percentage - used for risk adjustment */
46
+ borrowFactorPct: BN
47
+ /** Maximum deposit limit of liquidity in native units, u64::MAX for inf */
48
+ depositLimit: BN
49
+ /** Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits) */
50
+ borrowLimit: BN
51
+ /** Token id from TokenInfos struct */
52
+ tokenInfo: types.TokenInfoFields
53
+ /** Deposit withdrawl caps - deposit & redeem */
54
+ depositWithdrawalCap: types.WithdrawalCapsFields
55
+ /** Debt withdrawl caps - borrow & repay */
56
+ debtWithdrawalCap: types.WithdrawalCapsFields
57
+ elevationGroups: Array<number>
58
+ disableUsageAsCollOutsideEmode: number
59
+ utilizationLimitBlockBorrowingAbove: number
60
+ reserved1: Array<number>
61
+ /**
62
+ * Maximum amount liquidity of this reserve borrowed outside all elevation groups
63
+ * - u64::MAX for inf
64
+ * - 0 to disable borrows outside elevation groups
65
+ */
66
+ borrowLimitOutsideElevationGroup: BN
67
+ /**
68
+ * Defines the maximum amount (in lamports of elevation group debt asset)
69
+ * that can be borrowed when this reserve is used as collateral.
70
+ * - u64::MAX for inf
71
+ * - 0 to disable borrows in this elevation group (expected value for the debt asset)
72
+ */
73
+ borrowLimitAgainstThisCollateralInElevationGroup: Array<BN>
74
+ }
75
+
76
+ export interface ReserveConfigJSON {
77
+ /** Status of the reserve Active/Obsolete/Hidden */
78
+ status: number
79
+ /** Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt */
80
+ assetTier: number
81
+ /** Flat rate that goes to the host */
82
+ hostFixedInterestRateBps: number
83
+ /** [DEPRECATED] Boost for side (debt or collateral) */
84
+ reserved2: Array<number>
85
+ /** [DEPRECATED] Reward points multiplier per obligation type */
86
+ reserved3: Array<number>
87
+ /** Protocol take rate is the amount borrowed interest protocol receives, as a percentage */
88
+ protocolTakeRatePct: number
89
+ /** Cut of the liquidation bonus that the protocol receives, as a percentage */
90
+ protocolLiquidationFeePct: number
91
+ /**
92
+ * Target ratio of the value of borrows to deposits, as a percentage
93
+ * 0 if use as collateral is disabled
94
+ */
95
+ loanToValuePct: number
96
+ /** Loan to value ratio at which an obligation can be liquidated, as percentage */
97
+ liquidationThresholdPct: number
98
+ /** Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
99
+ minLiquidationBonusBps: number
100
+ /** Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
101
+ maxLiquidationBonusBps: number
102
+ /** Bad debt liquidation bonus for an undercollateralized obligation, as bps */
103
+ badDebtLiquidationBonusBps: number
104
+ /** Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed */
105
+ deleveragingMarginCallPeriodSecs: string
106
+ /**
107
+ * The rate at which the deleveraging threshold decreases in slots per bps
108
+ * e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)
109
+ */
110
+ deleveragingThresholdSlotsPerBps: string
111
+ /** Program owner fees assessed, separate from gains due to interest accrual */
112
+ fees: types.ReserveFeesJSON
113
+ /** Borrow rate curve based on utilization */
114
+ borrowRateCurve: types.BorrowRateCurveJSON
115
+ /** Borrow factor in percentage - used for risk adjustment */
116
+ borrowFactorPct: string
117
+ /** Maximum deposit limit of liquidity in native units, u64::MAX for inf */
118
+ depositLimit: string
119
+ /** Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits) */
120
+ borrowLimit: string
121
+ /** Token id from TokenInfos struct */
122
+ tokenInfo: types.TokenInfoJSON
123
+ /** Deposit withdrawl caps - deposit & redeem */
124
+ depositWithdrawalCap: types.WithdrawalCapsJSON
125
+ /** Debt withdrawl caps - borrow & repay */
126
+ debtWithdrawalCap: types.WithdrawalCapsJSON
127
+ elevationGroups: Array<number>
128
+ disableUsageAsCollOutsideEmode: number
129
+ utilizationLimitBlockBorrowingAbove: number
130
+ reserved1: Array<number>
131
+ /**
132
+ * Maximum amount liquidity of this reserve borrowed outside all elevation groups
133
+ * - u64::MAX for inf
134
+ * - 0 to disable borrows outside elevation groups
135
+ */
136
+ borrowLimitOutsideElevationGroup: string
137
+ /**
138
+ * Defines the maximum amount (in lamports of elevation group debt asset)
139
+ * that can be borrowed when this reserve is used as collateral.
140
+ * - u64::MAX for inf
141
+ * - 0 to disable borrows in this elevation group (expected value for the debt asset)
142
+ */
143
+ borrowLimitAgainstThisCollateralInElevationGroup: Array<string>
144
+ }
145
+
146
+ /** Reserve configuration values */
147
+ export class ReserveConfig {
148
+ /** Status of the reserve Active/Obsolete/Hidden */
149
+ readonly status: number
150
+ /** Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt */
151
+ readonly assetTier: number
152
+ /** Flat rate that goes to the host */
153
+ readonly hostFixedInterestRateBps: number
154
+ /** [DEPRECATED] Boost for side (debt or collateral) */
155
+ readonly reserved2: Array<number>
156
+ /** [DEPRECATED] Reward points multiplier per obligation type */
157
+ readonly reserved3: Array<number>
158
+ /** Protocol take rate is the amount borrowed interest protocol receives, as a percentage */
159
+ readonly protocolTakeRatePct: number
160
+ /** Cut of the liquidation bonus that the protocol receives, as a percentage */
161
+ readonly protocolLiquidationFeePct: number
162
+ /**
163
+ * Target ratio of the value of borrows to deposits, as a percentage
164
+ * 0 if use as collateral is disabled
165
+ */
166
+ readonly loanToValuePct: number
167
+ /** Loan to value ratio at which an obligation can be liquidated, as percentage */
168
+ readonly liquidationThresholdPct: number
169
+ /** Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
170
+ readonly minLiquidationBonusBps: number
171
+ /** Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps */
172
+ readonly maxLiquidationBonusBps: number
173
+ /** Bad debt liquidation bonus for an undercollateralized obligation, as bps */
174
+ readonly badDebtLiquidationBonusBps: number
175
+ /** Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed */
176
+ readonly deleveragingMarginCallPeriodSecs: BN
177
+ /**
178
+ * The rate at which the deleveraging threshold decreases in slots per bps
179
+ * e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)
180
+ */
181
+ readonly deleveragingThresholdSlotsPerBps: BN
182
+ /** Program owner fees assessed, separate from gains due to interest accrual */
183
+ readonly fees: types.ReserveFees
184
+ /** Borrow rate curve based on utilization */
185
+ readonly borrowRateCurve: types.BorrowRateCurve
186
+ /** Borrow factor in percentage - used for risk adjustment */
187
+ readonly borrowFactorPct: BN
188
+ /** Maximum deposit limit of liquidity in native units, u64::MAX for inf */
189
+ readonly depositLimit: BN
190
+ /** Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits) */
191
+ readonly borrowLimit: BN
192
+ /** Token id from TokenInfos struct */
193
+ readonly tokenInfo: types.TokenInfo
194
+ /** Deposit withdrawl caps - deposit & redeem */
195
+ readonly depositWithdrawalCap: types.WithdrawalCaps
196
+ /** Debt withdrawl caps - borrow & repay */
197
+ readonly debtWithdrawalCap: types.WithdrawalCaps
198
+ readonly elevationGroups: Array<number>
199
+ readonly disableUsageAsCollOutsideEmode: number
200
+ readonly utilizationLimitBlockBorrowingAbove: number
201
+ readonly reserved1: Array<number>
202
+ /**
203
+ * Maximum amount liquidity of this reserve borrowed outside all elevation groups
204
+ * - u64::MAX for inf
205
+ * - 0 to disable borrows outside elevation groups
206
+ */
207
+ readonly borrowLimitOutsideElevationGroup: BN
208
+ /**
209
+ * Defines the maximum amount (in lamports of elevation group debt asset)
210
+ * that can be borrowed when this reserve is used as collateral.
211
+ * - u64::MAX for inf
212
+ * - 0 to disable borrows in this elevation group (expected value for the debt asset)
213
+ */
214
+ readonly borrowLimitAgainstThisCollateralInElevationGroup: Array<BN>
215
+
216
+ constructor(fields: ReserveConfigFields) {
217
+ this.status = fields.status
218
+ this.assetTier = fields.assetTier
219
+ this.hostFixedInterestRateBps = fields.hostFixedInterestRateBps
220
+ this.reserved2 = fields.reserved2
221
+ this.reserved3 = fields.reserved3
222
+ this.protocolTakeRatePct = fields.protocolTakeRatePct
223
+ this.protocolLiquidationFeePct = fields.protocolLiquidationFeePct
224
+ this.loanToValuePct = fields.loanToValuePct
225
+ this.liquidationThresholdPct = fields.liquidationThresholdPct
226
+ this.minLiquidationBonusBps = fields.minLiquidationBonusBps
227
+ this.maxLiquidationBonusBps = fields.maxLiquidationBonusBps
228
+ this.badDebtLiquidationBonusBps = fields.badDebtLiquidationBonusBps
229
+ this.deleveragingMarginCallPeriodSecs =
230
+ fields.deleveragingMarginCallPeriodSecs
231
+ this.deleveragingThresholdSlotsPerBps =
232
+ fields.deleveragingThresholdSlotsPerBps
233
+ this.fees = new types.ReserveFees({ ...fields.fees })
234
+ this.borrowRateCurve = new types.BorrowRateCurve({
235
+ ...fields.borrowRateCurve,
236
+ })
237
+ this.borrowFactorPct = fields.borrowFactorPct
238
+ this.depositLimit = fields.depositLimit
239
+ this.borrowLimit = fields.borrowLimit
240
+ this.tokenInfo = new types.TokenInfo({ ...fields.tokenInfo })
241
+ this.depositWithdrawalCap = new types.WithdrawalCaps({
242
+ ...fields.depositWithdrawalCap,
243
+ })
244
+ this.debtWithdrawalCap = new types.WithdrawalCaps({
245
+ ...fields.debtWithdrawalCap,
246
+ })
247
+ this.elevationGroups = fields.elevationGroups
248
+ this.disableUsageAsCollOutsideEmode = fields.disableUsageAsCollOutsideEmode
249
+ this.utilizationLimitBlockBorrowingAbove =
250
+ fields.utilizationLimitBlockBorrowingAbove
251
+ this.reserved1 = fields.reserved1
252
+ this.borrowLimitOutsideElevationGroup =
253
+ fields.borrowLimitOutsideElevationGroup
254
+ this.borrowLimitAgainstThisCollateralInElevationGroup =
255
+ fields.borrowLimitAgainstThisCollateralInElevationGroup
256
+ }
257
+
258
+ static layout(property?: string) {
259
+ return borsh.struct(
260
+ [
261
+ borsh.u8("status"),
262
+ borsh.u8("assetTier"),
263
+ borsh.u16("hostFixedInterestRateBps"),
264
+ borsh.array(borsh.u8(), 2, "reserved2"),
265
+ borsh.array(borsh.u8(), 8, "reserved3"),
266
+ borsh.u8("protocolTakeRatePct"),
267
+ borsh.u8("protocolLiquidationFeePct"),
268
+ borsh.u8("loanToValuePct"),
269
+ borsh.u8("liquidationThresholdPct"),
270
+ borsh.u16("minLiquidationBonusBps"),
271
+ borsh.u16("maxLiquidationBonusBps"),
272
+ borsh.u16("badDebtLiquidationBonusBps"),
273
+ borsh.u64("deleveragingMarginCallPeriodSecs"),
274
+ borsh.u64("deleveragingThresholdSlotsPerBps"),
275
+ types.ReserveFees.layout("fees"),
276
+ types.BorrowRateCurve.layout("borrowRateCurve"),
277
+ borsh.u64("borrowFactorPct"),
278
+ borsh.u64("depositLimit"),
279
+ borsh.u64("borrowLimit"),
280
+ types.TokenInfo.layout("tokenInfo"),
281
+ types.WithdrawalCaps.layout("depositWithdrawalCap"),
282
+ types.WithdrawalCaps.layout("debtWithdrawalCap"),
283
+ borsh.array(borsh.u8(), 20, "elevationGroups"),
284
+ borsh.u8("disableUsageAsCollOutsideEmode"),
285
+ borsh.u8("utilizationLimitBlockBorrowingAbove"),
286
+ borsh.array(borsh.u8(), 2, "reserved1"),
287
+ borsh.u64("borrowLimitOutsideElevationGroup"),
288
+ borsh.array(
289
+ borsh.u64(),
290
+ 32,
291
+ "borrowLimitAgainstThisCollateralInElevationGroup"
292
+ ),
293
+ ],
294
+ property
295
+ )
296
+ }
297
+
298
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
+ static fromDecoded(obj: any) {
300
+ return new ReserveConfig({
301
+ status: obj.status,
302
+ assetTier: obj.assetTier,
303
+ hostFixedInterestRateBps: obj.hostFixedInterestRateBps,
304
+ reserved2: obj.reserved2,
305
+ reserved3: obj.reserved3,
306
+ protocolTakeRatePct: obj.protocolTakeRatePct,
307
+ protocolLiquidationFeePct: obj.protocolLiquidationFeePct,
308
+ loanToValuePct: obj.loanToValuePct,
309
+ liquidationThresholdPct: obj.liquidationThresholdPct,
310
+ minLiquidationBonusBps: obj.minLiquidationBonusBps,
311
+ maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
312
+ badDebtLiquidationBonusBps: obj.badDebtLiquidationBonusBps,
313
+ deleveragingMarginCallPeriodSecs: obj.deleveragingMarginCallPeriodSecs,
314
+ deleveragingThresholdSlotsPerBps: obj.deleveragingThresholdSlotsPerBps,
315
+ fees: types.ReserveFees.fromDecoded(obj.fees),
316
+ borrowRateCurve: types.BorrowRateCurve.fromDecoded(obj.borrowRateCurve),
317
+ borrowFactorPct: obj.borrowFactorPct,
318
+ depositLimit: obj.depositLimit,
319
+ borrowLimit: obj.borrowLimit,
320
+ tokenInfo: types.TokenInfo.fromDecoded(obj.tokenInfo),
321
+ depositWithdrawalCap: types.WithdrawalCaps.fromDecoded(
322
+ obj.depositWithdrawalCap
323
+ ),
324
+ debtWithdrawalCap: types.WithdrawalCaps.fromDecoded(
325
+ obj.debtWithdrawalCap
326
+ ),
327
+ elevationGroups: obj.elevationGroups,
328
+ disableUsageAsCollOutsideEmode: obj.disableUsageAsCollOutsideEmode,
329
+ utilizationLimitBlockBorrowingAbove:
330
+ obj.utilizationLimitBlockBorrowingAbove,
331
+ reserved1: obj.reserved1,
332
+ borrowLimitOutsideElevationGroup: obj.borrowLimitOutsideElevationGroup,
333
+ borrowLimitAgainstThisCollateralInElevationGroup:
334
+ obj.borrowLimitAgainstThisCollateralInElevationGroup,
335
+ })
336
+ }
337
+
338
+ static toEncodable(fields: ReserveConfigFields) {
339
+ return {
340
+ status: fields.status,
341
+ assetTier: fields.assetTier,
342
+ hostFixedInterestRateBps: fields.hostFixedInterestRateBps,
343
+ reserved2: fields.reserved2,
344
+ reserved3: fields.reserved3,
345
+ protocolTakeRatePct: fields.protocolTakeRatePct,
346
+ protocolLiquidationFeePct: fields.protocolLiquidationFeePct,
347
+ loanToValuePct: fields.loanToValuePct,
348
+ liquidationThresholdPct: fields.liquidationThresholdPct,
349
+ minLiquidationBonusBps: fields.minLiquidationBonusBps,
350
+ maxLiquidationBonusBps: fields.maxLiquidationBonusBps,
351
+ badDebtLiquidationBonusBps: fields.badDebtLiquidationBonusBps,
352
+ deleveragingMarginCallPeriodSecs: fields.deleveragingMarginCallPeriodSecs,
353
+ deleveragingThresholdSlotsPerBps: fields.deleveragingThresholdSlotsPerBps,
354
+ fees: types.ReserveFees.toEncodable(fields.fees),
355
+ borrowRateCurve: types.BorrowRateCurve.toEncodable(
356
+ fields.borrowRateCurve
357
+ ),
358
+ borrowFactorPct: fields.borrowFactorPct,
359
+ depositLimit: fields.depositLimit,
360
+ borrowLimit: fields.borrowLimit,
361
+ tokenInfo: types.TokenInfo.toEncodable(fields.tokenInfo),
362
+ depositWithdrawalCap: types.WithdrawalCaps.toEncodable(
363
+ fields.depositWithdrawalCap
364
+ ),
365
+ debtWithdrawalCap: types.WithdrawalCaps.toEncodable(
366
+ fields.debtWithdrawalCap
367
+ ),
368
+ elevationGroups: fields.elevationGroups,
369
+ disableUsageAsCollOutsideEmode: fields.disableUsageAsCollOutsideEmode,
370
+ utilizationLimitBlockBorrowingAbove:
371
+ fields.utilizationLimitBlockBorrowingAbove,
372
+ reserved1: fields.reserved1,
373
+ borrowLimitOutsideElevationGroup: fields.borrowLimitOutsideElevationGroup,
374
+ borrowLimitAgainstThisCollateralInElevationGroup:
375
+ fields.borrowLimitAgainstThisCollateralInElevationGroup,
376
+ }
377
+ }
378
+
379
+ toJSON(): ReserveConfigJSON {
380
+ return {
381
+ status: this.status,
382
+ assetTier: this.assetTier,
383
+ hostFixedInterestRateBps: this.hostFixedInterestRateBps,
384
+ reserved2: this.reserved2,
385
+ reserved3: this.reserved3,
386
+ protocolTakeRatePct: this.protocolTakeRatePct,
387
+ protocolLiquidationFeePct: this.protocolLiquidationFeePct,
388
+ loanToValuePct: this.loanToValuePct,
389
+ liquidationThresholdPct: this.liquidationThresholdPct,
390
+ minLiquidationBonusBps: this.minLiquidationBonusBps,
391
+ maxLiquidationBonusBps: this.maxLiquidationBonusBps,
392
+ badDebtLiquidationBonusBps: this.badDebtLiquidationBonusBps,
393
+ deleveragingMarginCallPeriodSecs:
394
+ this.deleveragingMarginCallPeriodSecs.toString(),
395
+ deleveragingThresholdSlotsPerBps:
396
+ this.deleveragingThresholdSlotsPerBps.toString(),
397
+ fees: this.fees.toJSON(),
398
+ borrowRateCurve: this.borrowRateCurve.toJSON(),
399
+ borrowFactorPct: this.borrowFactorPct.toString(),
400
+ depositLimit: this.depositLimit.toString(),
401
+ borrowLimit: this.borrowLimit.toString(),
402
+ tokenInfo: this.tokenInfo.toJSON(),
403
+ depositWithdrawalCap: this.depositWithdrawalCap.toJSON(),
404
+ debtWithdrawalCap: this.debtWithdrawalCap.toJSON(),
405
+ elevationGroups: this.elevationGroups,
406
+ disableUsageAsCollOutsideEmode: this.disableUsageAsCollOutsideEmode,
407
+ utilizationLimitBlockBorrowingAbove:
408
+ this.utilizationLimitBlockBorrowingAbove,
409
+ reserved1: this.reserved1,
410
+ borrowLimitOutsideElevationGroup:
411
+ this.borrowLimitOutsideElevationGroup.toString(),
412
+ borrowLimitAgainstThisCollateralInElevationGroup:
413
+ this.borrowLimitAgainstThisCollateralInElevationGroup.map((item) =>
414
+ item.toString()
415
+ ),
416
+ }
417
+ }
418
+
419
+ static fromJSON(obj: ReserveConfigJSON): ReserveConfig {
420
+ return new ReserveConfig({
421
+ status: obj.status,
422
+ assetTier: obj.assetTier,
423
+ hostFixedInterestRateBps: obj.hostFixedInterestRateBps,
424
+ reserved2: obj.reserved2,
425
+ reserved3: obj.reserved3,
426
+ protocolTakeRatePct: obj.protocolTakeRatePct,
427
+ protocolLiquidationFeePct: obj.protocolLiquidationFeePct,
428
+ loanToValuePct: obj.loanToValuePct,
429
+ liquidationThresholdPct: obj.liquidationThresholdPct,
430
+ minLiquidationBonusBps: obj.minLiquidationBonusBps,
431
+ maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
432
+ badDebtLiquidationBonusBps: obj.badDebtLiquidationBonusBps,
433
+ deleveragingMarginCallPeriodSecs: new BN(
434
+ obj.deleveragingMarginCallPeriodSecs
435
+ ),
436
+ deleveragingThresholdSlotsPerBps: new BN(
437
+ obj.deleveragingThresholdSlotsPerBps
438
+ ),
439
+ fees: types.ReserveFees.fromJSON(obj.fees),
440
+ borrowRateCurve: types.BorrowRateCurve.fromJSON(obj.borrowRateCurve),
441
+ borrowFactorPct: new BN(obj.borrowFactorPct),
442
+ depositLimit: new BN(obj.depositLimit),
443
+ borrowLimit: new BN(obj.borrowLimit),
444
+ tokenInfo: types.TokenInfo.fromJSON(obj.tokenInfo),
445
+ depositWithdrawalCap: types.WithdrawalCaps.fromJSON(
446
+ obj.depositWithdrawalCap
447
+ ),
448
+ debtWithdrawalCap: types.WithdrawalCaps.fromJSON(obj.debtWithdrawalCap),
449
+ elevationGroups: obj.elevationGroups,
450
+ disableUsageAsCollOutsideEmode: obj.disableUsageAsCollOutsideEmode,
451
+ utilizationLimitBlockBorrowingAbove:
452
+ obj.utilizationLimitBlockBorrowingAbove,
453
+ reserved1: obj.reserved1,
454
+ borrowLimitOutsideElevationGroup: new BN(
455
+ obj.borrowLimitOutsideElevationGroup
456
+ ),
457
+ borrowLimitAgainstThisCollateralInElevationGroup:
458
+ obj.borrowLimitAgainstThisCollateralInElevationGroup.map(
459
+ (item) => new BN(item)
460
+ ),
461
+ })
462
+ }
463
+
464
+ toEncodable() {
465
+ return ReserveConfig.toEncodable(this)
466
+ }
467
+ }
@@ -0,0 +1,90 @@
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 CollateralJSON {
7
+ kind: "Collateral"
8
+ }
9
+
10
+ export class Collateral {
11
+ static readonly discriminator = 0
12
+ static readonly kind = "Collateral"
13
+ readonly discriminator = 0
14
+ readonly kind = "Collateral"
15
+
16
+ toJSON(): CollateralJSON {
17
+ return {
18
+ kind: "Collateral",
19
+ }
20
+ }
21
+
22
+ toEncodable() {
23
+ return {
24
+ Collateral: {},
25
+ }
26
+ }
27
+ }
28
+
29
+ export interface DebtJSON {
30
+ kind: "Debt"
31
+ }
32
+
33
+ export class Debt {
34
+ static readonly discriminator = 1
35
+ static readonly kind = "Debt"
36
+ readonly discriminator = 1
37
+ readonly kind = "Debt"
38
+
39
+ toJSON(): DebtJSON {
40
+ return {
41
+ kind: "Debt",
42
+ }
43
+ }
44
+
45
+ toEncodable() {
46
+ return {
47
+ Debt: {},
48
+ }
49
+ }
50
+ }
51
+
52
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
+ export function fromDecoded(obj: any): types.ReserveFarmKindKind {
54
+ if (typeof obj !== "object") {
55
+ throw new Error("Invalid enum object")
56
+ }
57
+
58
+ if ("Collateral" in obj) {
59
+ return new Collateral()
60
+ }
61
+ if ("Debt" in obj) {
62
+ return new Debt()
63
+ }
64
+
65
+ throw new Error("Invalid enum object")
66
+ }
67
+
68
+ export function fromJSON(
69
+ obj: types.ReserveFarmKindJSON
70
+ ): types.ReserveFarmKindKind {
71
+ switch (obj.kind) {
72
+ case "Collateral": {
73
+ return new Collateral()
74
+ }
75
+ case "Debt": {
76
+ return new Debt()
77
+ }
78
+ }
79
+ }
80
+
81
+ export function layout(property?: string) {
82
+ const ret = borsh.rustEnum([
83
+ borsh.struct([], "Collateral"),
84
+ borsh.struct([], "Debt"),
85
+ ])
86
+ if (property !== undefined) {
87
+ return ret.replicate(property)
88
+ }
89
+ return ret
90
+ }
@@ -0,0 +1,122 @@
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 ReserveFeesFields {
7
+ /**
8
+ * Fee assessed on `BorrowObligationLiquidity`, as scaled fraction (60 bits fractional part)
9
+ * Must be between `0` and `2^60`, such that `2^60 = 1`. A few examples for
10
+ * clarity:
11
+ * 1% = (1 << 60) / 100 = 11529215046068470
12
+ * 0.01% (1 basis point) = 115292150460685
13
+ * 0.00001% (Aave borrow fee) = 115292150461
14
+ */
15
+ borrowFeeSf: BN
16
+ /**
17
+ * Fee for flash loan, expressed as scaled fraction.
18
+ * 0.3% (Aave flash loan fee) = 0.003 * 2^60 = 3458764513820541
19
+ */
20
+ flashLoanFeeSf: BN
21
+ /** Used for allignment */
22
+ padding: Array<number>
23
+ }
24
+
25
+ export interface ReserveFeesJSON {
26
+ /**
27
+ * Fee assessed on `BorrowObligationLiquidity`, as scaled fraction (60 bits fractional part)
28
+ * Must be between `0` and `2^60`, such that `2^60 = 1`. A few examples for
29
+ * clarity:
30
+ * 1% = (1 << 60) / 100 = 11529215046068470
31
+ * 0.01% (1 basis point) = 115292150460685
32
+ * 0.00001% (Aave borrow fee) = 115292150461
33
+ */
34
+ borrowFeeSf: string
35
+ /**
36
+ * Fee for flash loan, expressed as scaled fraction.
37
+ * 0.3% (Aave flash loan fee) = 0.003 * 2^60 = 3458764513820541
38
+ */
39
+ flashLoanFeeSf: string
40
+ /** Used for allignment */
41
+ padding: Array<number>
42
+ }
43
+
44
+ /**
45
+ * Additional fee information on a reserve
46
+ *
47
+ * These exist separately from interest accrual fees, and are specifically for the program owner
48
+ * and referral fee. The fees are paid out as a percentage of liquidity token amounts during
49
+ * repayments and liquidations.
50
+ */
51
+ export class ReserveFees {
52
+ /**
53
+ * Fee assessed on `BorrowObligationLiquidity`, as scaled fraction (60 bits fractional part)
54
+ * Must be between `0` and `2^60`, such that `2^60 = 1`. A few examples for
55
+ * clarity:
56
+ * 1% = (1 << 60) / 100 = 11529215046068470
57
+ * 0.01% (1 basis point) = 115292150460685
58
+ * 0.00001% (Aave borrow fee) = 115292150461
59
+ */
60
+ readonly borrowFeeSf: BN
61
+ /**
62
+ * Fee for flash loan, expressed as scaled fraction.
63
+ * 0.3% (Aave flash loan fee) = 0.003 * 2^60 = 3458764513820541
64
+ */
65
+ readonly flashLoanFeeSf: BN
66
+ /** Used for allignment */
67
+ readonly padding: Array<number>
68
+
69
+ constructor(fields: ReserveFeesFields) {
70
+ this.borrowFeeSf = fields.borrowFeeSf
71
+ this.flashLoanFeeSf = fields.flashLoanFeeSf
72
+ this.padding = fields.padding
73
+ }
74
+
75
+ static layout(property?: string) {
76
+ return borsh.struct(
77
+ [
78
+ borsh.u64("borrowFeeSf"),
79
+ borsh.u64("flashLoanFeeSf"),
80
+ borsh.array(borsh.u8(), 8, "padding"),
81
+ ],
82
+ property
83
+ )
84
+ }
85
+
86
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
87
+ static fromDecoded(obj: any) {
88
+ return new ReserveFees({
89
+ borrowFeeSf: obj.borrowFeeSf,
90
+ flashLoanFeeSf: obj.flashLoanFeeSf,
91
+ padding: obj.padding,
92
+ })
93
+ }
94
+
95
+ static toEncodable(fields: ReserveFeesFields) {
96
+ return {
97
+ borrowFeeSf: fields.borrowFeeSf,
98
+ flashLoanFeeSf: fields.flashLoanFeeSf,
99
+ padding: fields.padding,
100
+ }
101
+ }
102
+
103
+ toJSON(): ReserveFeesJSON {
104
+ return {
105
+ borrowFeeSf: this.borrowFeeSf.toString(),
106
+ flashLoanFeeSf: this.flashLoanFeeSf.toString(),
107
+ padding: this.padding,
108
+ }
109
+ }
110
+
111
+ static fromJSON(obj: ReserveFeesJSON): ReserveFees {
112
+ return new ReserveFees({
113
+ borrowFeeSf: new BN(obj.borrowFeeSf),
114
+ flashLoanFeeSf: new BN(obj.flashLoanFeeSf),
115
+ padding: obj.padding,
116
+ })
117
+ }
118
+
119
+ toEncodable() {
120
+ return ReserveFees.toEncodable(this)
121
+ }
122
+ }