@kamino-finance/klend-sdk 3.2.26 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +1132 -1188
  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 +132 -159
  23. package/dist/classes/manager.js.map +1 -1
  24. package/dist/classes/market.d.ts +2 -1
  25. package/dist/classes/market.d.ts.map +1 -0
  26. package/dist/classes/market.js +622 -716
  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 +121 -130
  35. package/dist/classes/reserve.js.map +1 -1
  36. package/dist/classes/shared.d.ts +2 -1
  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 +32 -3
  535. package/dist/utils/managerTypes.js.map +1 -1
  536. package/dist/utils/oracle.d.ts +2 -1
  537. package/dist/utils/oracle.d.ts.map +1 -0
  538. package/dist/utils/oracle.js +71 -85
  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 +41 -53
  564. package/dist/utils/userMetadata.js.map +1 -1
  565. package/package.json +14 -8
  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 +337 -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
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -60,7 +51,7 @@ const depositLeverageCalcs = (props) => {
60
51
  }
61
52
  };
62
53
  exports.depositLeverageCalcs = depositLeverageCalcs;
63
- const depositLeverageKtokenCalcs = (props) => __awaiter(void 0, void 0, void 0, function* () {
54
+ const depositLeverageKtokenCalcs = async (props) => {
64
55
  const { kamino, strategy, debtTokenMint, depositAmount, depositTokenIsCollToken, depositTokenIsSol, priceDebtToColl, targetLeverage, slippagePct, flashLoanFee, priceAinB, strategyHoldings, } = props;
65
56
  const initDepositInSol = depositTokenIsSol ? depositAmount : new decimal_js_1.default(0);
66
57
  const slippage = slippagePct.div('100');
@@ -93,8 +84,8 @@ const depositLeverageKtokenCalcs = (props) => __awaiter(void 0, void 0, void 0,
93
84
  // Calculate how many A and B tokens we will need to actually mint the desired amount of ktoken collateral
94
85
  // The actual amount of ktokens received may be less than the finalColl due to smart proportional contract logic
95
86
  // So we use the actualColl as the amount we will deposit
96
- const [estimatedA, estimatedB, actualColl] = yield (0, calcs_1.simulateMintKToken)(kamino, strategy, finalColl, strategyHoldings);
97
- const pxAinB = yield priceAinB(strategy.strategy.tokenAMint, strategy.strategy.tokenBMint);
87
+ const [estimatedA, estimatedB, actualColl] = await (0, calcs_1.simulateMintKToken)(kamino, strategy, finalColl, strategyHoldings);
88
+ const pxAinB = await priceAinB(strategy.strategy.tokenAMint, strategy.strategy.tokenBMint);
98
89
  const isTokenADeposit = strategy.strategy.tokenAMint.equals(debtTokenMint);
99
90
  // Calculate the amount we need to flash borrow by combining value of A and B into the debt token
100
91
  const singleSidedDepositAmount = isTokenADeposit
@@ -120,7 +111,7 @@ const depositLeverageKtokenCalcs = (props) => __awaiter(void 0, void 0, void 0,
120
111
  singleSidedDeposit,
121
112
  };
122
113
  }
123
- });
114
+ };
124
115
  exports.depositLeverageKtokenCalcs = depositLeverageKtokenCalcs;
125
116
  const getDepositWithLeverageSwapInputs = (props) => {
126
117
  const { depositAmount, priceDebtToColl, slippagePct, targetLeverage, kaminoMarket, selectedTokenMint, debtTokenMint, collTokenMint, } = props;
@@ -128,7 +119,7 @@ const getDepositWithLeverageSwapInputs = (props) => {
128
119
  const selectedTokenIsCollToken = selectedTokenMint.equals(collTokenMint);
129
120
  const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
130
121
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
131
- const flashLoanFee = (debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.getFlashLoanFee()) || new decimal_js_1.default(0);
122
+ const flashLoanFee = debtReserve?.getFlashLoanFee() || new decimal_js_1.default(0);
132
123
  const calcs = (0, exports.depositLeverageCalcs)({
133
124
  depositAmount,
134
125
  depositTokenIsCollToken: selectedTokenIsCollToken,
@@ -149,7 +140,7 @@ const getDepositWithLeverageSwapInputs = (props) => {
149
140
  };
150
141
  };
151
142
  exports.getDepositWithLeverageSwapInputs = getDepositWithLeverageSwapInputs;
152
- const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, function* () {
143
+ const getDepositWithLeverageIxns = async (props) => {
153
144
  const { connection, budgetAndPriorityFeeIxns, user, amount, selectedTokenMint, collTokenMint, debtTokenMint, targetLeverage, kaminoMarket, slippagePct, priceDebtToColl, swapper, referrer, isKtoken, priceAinB, kamino, obligationTypeTagOverride = 1, obligation, currentSlot, getTotalKlendAccountsOnly, scopeFeed, } = props;
154
145
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
155
146
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
@@ -157,8 +148,8 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
157
148
  const flashLoanFee = collReserve.getFlashLoanFee() || new decimal_js_1.default(0);
158
149
  const selectedTokenIsCollToken = selectedTokenMint.equals(collTokenMint);
159
150
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
160
- const collIsKtoken = yield isKtoken(collTokenMint);
161
- const strategy = collIsKtoken ? (yield kamino.getStrategyByKTokenMint(collTokenMint)) : undefined;
151
+ const collIsKtoken = await isKtoken(collTokenMint);
152
+ const strategy = collIsKtoken ? (await kamino.getStrategyByKTokenMint(collTokenMint)) : undefined;
162
153
  const calcs = (0, exports.depositLeverageCalcs)({
163
154
  depositAmount: amount,
164
155
  depositTokenIsCollToken: selectedTokenIsCollToken,
@@ -170,7 +161,7 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
170
161
  });
171
162
  let calcsKtoken;
172
163
  if (collIsKtoken) {
173
- calcsKtoken = yield (0, exports.depositLeverageKtokenCalcs)({
164
+ calcsKtoken = await (0, exports.depositLeverageKtokenCalcs)({
174
165
  kamino: kamino,
175
166
  strategy: strategy,
176
167
  debtTokenMint,
@@ -184,9 +175,9 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
184
175
  priceAinB,
185
176
  });
186
177
  // Rounding to exact number of decimals so this value is passed through in all calcs without rounding inconsistencies
187
- calcsKtoken.flashBorrowInDebtToken = calcsKtoken.flashBorrowInDebtToken.toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
188
- calcsKtoken.debtTokenToBorrow = calcsKtoken.debtTokenToBorrow.toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
189
- calcsKtoken.singleSidedDeposit = calcsKtoken.singleSidedDeposit.toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
178
+ calcsKtoken.flashBorrowInDebtToken = calcsKtoken.flashBorrowInDebtToken.toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
179
+ calcsKtoken.debtTokenToBorrow = calcsKtoken.debtTokenToBorrow.toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
180
+ calcsKtoken.singleSidedDeposit = calcsKtoken.singleSidedDeposit.toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
190
181
  }
191
182
  console.log('Ops Calcs', (0, calcs_1.toJson)(!collIsKtoken ? calcs : calcsKtoken));
192
183
  console.log('Infos', (0, calcs_1.toJson)({
@@ -201,7 +192,7 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
201
192
  const secondTokenAta = strategy.strategy.tokenAMint.equals(debtTokenMint)
202
193
  ? strategy.strategy.tokenBMint
203
194
  : strategy.strategy.tokenAMint;
204
- const secondTokenTokenProgarm = (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.tokenAMint.equals(debtTokenMint))
195
+ const secondTokenTokenProgarm = strategy?.strategy.tokenAMint.equals(debtTokenMint)
205
196
  ? strategy.strategy.tokenBTokenProgram.equals(web3_js_1.PublicKey.default)
206
197
  ? spl_token_1.TOKEN_PROGRAM_ID
207
198
  : strategy.strategy.tokenBTokenProgram
@@ -225,7 +216,7 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
225
216
  ];
226
217
  }
227
218
  const budgetIxns = budgetAndPriorityFeeIxns || (0, utils_1.getComputeBudgetAndPriorityFeeIxns)(3000000);
228
- const { atas: [collTokenAta, debtTokenAta], createAtasIxns, closeAtasIxns, } = yield (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
219
+ const { atas: [collTokenAta, debtTokenAta], createAtasIxns, closeAtasIxns, } = await (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
229
220
  // TODO: this needs to work the other way around also
230
221
  // TODO: marius test this with shorting leverage and with leverage looping
231
222
  const fillWsolAtaIxns = [];
@@ -263,7 +254,7 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
263
254
  throw Error('Obligation type tag not supported for leverage, please use 1 - multiply or 3 - leverage');
264
255
  }
265
256
  const scopeRefresh = scopeFeed ? { includeScopeRefresh: true, scopeFeed: scopeFeed } : undefined;
266
- const kaminoDepositAndBorrowAction = yield classes_1.KaminoAction.buildDepositAndBorrowTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.collTokenToDeposit : calcsKtoken.collTokenToDeposit, collReserve.stats.decimals)
257
+ const kaminoDepositAndBorrowAction = await classes_1.KaminoAction.buildDepositAndBorrowTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.collTokenToDeposit : calcsKtoken.collTokenToDeposit, collReserve.stats.decimals)
267
258
  .floor()
268
259
  .toString(), collTokenMint, (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.debtTokenToBorrow : calcsKtoken.debtTokenToBorrow, debtReserve.stats.decimals)
269
260
  .ceil()
@@ -309,13 +300,13 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
309
300
  if (kamino === undefined) {
310
301
  throw Error('Ktoken use as collateral for leverage without Kamino instance');
311
302
  }
312
- depositSwapper = yield (0, utils_2.getTokenToKtokenSwapper)(connection, kaminoMarket, kamino, user, swapper, priceAinB, false);
303
+ depositSwapper = await (0, utils_2.getTokenToKtokenSwapper)(connection, kaminoMarket, kamino, user, swapper, priceAinB, false);
313
304
  let futureBalanceInAta = new decimal_js_1.default(0);
314
305
  if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
315
306
  futureBalanceInAta = futureBalanceInAta.add(!collIsKtoken ? calcs.initDepositInSol : calcsKtoken.initDepositInSol);
316
307
  }
317
308
  futureBalanceInAta = futureBalanceInAta.add(!collIsKtoken ? calcs.debtTokenToBorrow : calcsKtoken.flashBorrowInDebtToken);
318
- expectedDebtTokenAtaBalance = yield (0, utils_2.getExpectedTokenBalanceAfterBorrow)(connection, debtTokenMint, user, (0, classes_2.numberToLamportsDecimal)(futureBalanceInAta.toDecimalPlaces(debtReserve.stats.decimals), debtReserve.stats.decimals), debtReserve.state.liquidity.mintDecimals.toNumber());
309
+ expectedDebtTokenAtaBalance = await (0, utils_2.getExpectedTokenBalanceAfterBorrow)(connection, debtTokenMint, user, (0, classes_2.numberToLamportsDecimal)(futureBalanceInAta.toDecimalPlaces(debtReserve.stats.decimals), debtReserve.stats.decimals), debtReserve.state.liquidity.mintDecimals.toNumber());
319
310
  }
320
311
  const swapInputs = {
321
312
  inputAmountLamports: (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.swapDebtTokenIn : calcsKtoken.singleSidedDeposit, debtReserve.stats.decimals)
@@ -324,10 +315,10 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
324
315
  inputMint: debtTokenMint,
325
316
  outputMint: collTokenMint,
326
317
  };
327
- const [swapIxns, lookupTablesAddresses] = yield depositSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct.toNumber(), expectedDebtTokenAtaBalance);
318
+ const [swapIxns, lookupTablesAddresses] = await depositSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct.toNumber(), expectedDebtTokenAtaBalance);
328
319
  if (collIsKtoken) {
329
- if (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable) {
330
- lookupTablesAddresses.push(strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable);
320
+ if (strategy?.strategy.strategyLookupTable) {
321
+ lookupTablesAddresses.push(strategy?.strategy.strategyLookupTable);
331
322
  }
332
323
  else {
333
324
  console.log('Strategy lookup table not found');
@@ -376,13 +367,13 @@ const getDepositWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
376
367
  totalKlendAccounts: totalKlendAccounts,
377
368
  };
378
369
  }
379
- });
370
+ };
380
371
  exports.getDepositWithLeverageIxns = getDepositWithLeverageIxns;
381
372
  const getWithdrawWithLeverageSwapInputs = (props) => {
382
373
  const { amount, deposited, borrowed, priceCollToDebt, slippagePct, isClosingPosition, kaminoMarket, selectedTokenMint, debtTokenMint, collTokenMint, userObligation, currentSlot, } = props;
383
374
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
384
375
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
385
- const flashLoanFee = (debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.getFlashLoanFee()) || new decimal_js_1.default(0);
376
+ const flashLoanFee = debtReserve?.getFlashLoanFee() || new decimal_js_1.default(0);
386
377
  const selectedTokenIsCollToken = selectedTokenMint.equals(collTokenMint);
387
378
  const { adjustDepositPosition: withdrawAmount, adjustBorrowPosition: initialRepayAmount } = isClosingPosition
388
379
  ? { adjustDepositPosition: deposited, adjustBorrowPosition: borrowed }
@@ -396,10 +387,10 @@ const getWithdrawWithLeverageSwapInputs = (props) => {
396
387
  });
397
388
  const irSlippageBpsForDebt = userObligation
398
389
  .estimateObligationInterestRate(kaminoMarket, debtReserve, userObligation.state.borrows[0], currentSlot)
399
- .toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
390
+ .toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
400
391
  const repayAmount = initialRepayAmount
401
392
  .mul(irSlippageBpsForDebt.add('0.1').div('10_000').add('1'))
402
- .toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
393
+ .toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
403
394
  const swapAmountIfWithdrawingColl = repayAmount
404
395
  .mul(new decimal_js_1.default(1).plus(flashLoanFee))
405
396
  .mul(new decimal_js_1.default(1 + slippagePct / 100))
@@ -417,12 +408,12 @@ const getWithdrawWithLeverageSwapInputs = (props) => {
417
408
  };
418
409
  };
419
410
  exports.getWithdrawWithLeverageSwapInputs = getWithdrawWithLeverageSwapInputs;
420
- const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, function* () {
411
+ const getWithdrawWithLeverageIxns = async (props) => {
421
412
  const { connection, budgetAndPriorityFeeIxns, user, amount, deposited, borrowed, collTokenMint, debtTokenMint, priceCollToDebt, selectedTokenMint, isClosingPosition, kaminoMarket, slippagePct, swapper, referrer, isKtoken, kamino, obligationTypeTagOverride, obligation, currentSlot, getTotalKlendAccountsOnly, scopeFeed, } = props;
422
413
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
423
414
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
424
- const flashLoanFee = (debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.getFlashLoanFee()) || new decimal_js_1.default(0);
425
- const collIsKtoken = yield isKtoken(collTokenMint);
415
+ const flashLoanFee = debtReserve?.getFlashLoanFee() || new decimal_js_1.default(0);
416
+ const collIsKtoken = await isKtoken(collTokenMint);
426
417
  const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
427
418
  const selectedTokenIsCollToken = selectedTokenMint.equals(collTokenMint);
428
419
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
@@ -456,14 +447,14 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
456
447
  // Add slippage for the accrued interest rate amount
457
448
  const userObligation = obligation
458
449
  ? obligation
459
- : yield kaminoMarket.getObligationByAddress(obligationType.toPda(kaminoMarket.getAddress(), user));
450
+ : await kaminoMarket.getObligationByAddress(obligationType.toPda(kaminoMarket.getAddress(), user));
460
451
  const irSlippageBpsForDebt = userObligation
461
- .estimateObligationInterestRate(kaminoMarket, debtReserve, userObligation === null || userObligation === void 0 ? void 0 : userObligation.state.borrows[0], currentSlot)
462
- .toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
452
+ .estimateObligationInterestRate(kaminoMarket, debtReserve, userObligation?.state.borrows[0], currentSlot)
453
+ .toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
463
454
  // add 0.1 to irSlippageBpsForDebt because we don't want to estimate slightly less than SC and end up not reapying enough
464
455
  const repayAmount = initialRepayAmount
465
456
  .mul(irSlippageBpsForDebt.add('0.1').div('10_000').add('1'))
466
- .toDecimalPlaces(debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
457
+ .toDecimalPlaces(debtReserve?.state.liquidity.mintDecimals.toNumber(), decimal_js_1.default.ROUND_CEIL);
467
458
  // 6. Get swap ixns
468
459
  // 5. Get swap estimations to understand how much we need to borrow from borrow reserve
469
460
  // prevent withdrawing more then deposited if we close position
@@ -481,7 +472,7 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
481
472
  const swapAmountIfWithdrawingDebt = withdrawAmount;
482
473
  const collTokenSwapIn = selectedTokenIsCollToken ? swapAmountIfWithdrawingColl : swapAmountIfWithdrawingDebt;
483
474
  const debtTokenExpectedSwapOut = collTokenSwapIn.mul(priceCollToDebt).div(new decimal_js_1.default(1 + slippagePct / 100));
484
- const strategy = collIsKtoken ? yield (kamino === null || kamino === void 0 ? void 0 : kamino.getStrategyByKTokenMint(collTokenMint)) : undefined;
475
+ const strategy = collIsKtoken ? await kamino?.getStrategyByKTokenMint(collTokenMint) : undefined;
485
476
  console.log('Expecting to swap', collTokenSwapIn.toString(), 'coll for', debtTokenExpectedSwapOut.toString(), 'debt');
486
477
  // 1. Create atas & budget txns & user metadata
487
478
  let mintsToCreateAtas = [];
@@ -490,7 +481,7 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
490
481
  const secondTokenAta = strategy.strategy.tokenAMint.equals(debtTokenMint)
491
482
  ? strategy.strategy.tokenBMint
492
483
  : strategy.strategy.tokenAMint;
493
- const secondTokenTokenProgarm = (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.tokenAMint.equals(debtTokenMint))
484
+ const secondTokenTokenProgarm = strategy?.strategy.tokenAMint.equals(debtTokenMint)
494
485
  ? strategy.strategy.tokenBTokenProgram.equals(web3_js_1.PublicKey.default)
495
486
  ? spl_token_1.TOKEN_PROGRAM_ID
496
487
  : strategy.strategy.tokenBTokenProgram
@@ -513,7 +504,7 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
513
504
  spl_token_1.TOKEN_PROGRAM_ID,
514
505
  ];
515
506
  }
516
- const { atas: [, debtTokenAta], createAtasIxns, closeAtasIxns, } = yield (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
507
+ const { atas: [, debtTokenAta], createAtasIxns, closeAtasIxns, } = await (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
517
508
  const closeWsolAtaIxns = [];
518
509
  if (depositTokenIsSol || debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
519
510
  const wsolAta = (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, user, false);
@@ -525,7 +516,7 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
525
516
  // This is here so that we have enough wsol to repay in case the kAB swapped to sol after estimates is not enough
526
517
  const fillWsolAtaIxns = [];
527
518
  if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
528
- const halfSolBalance = (yield connection.getBalance(user)) / web3_js_1.LAMPORTS_PER_SOL / 2;
519
+ const halfSolBalance = (await connection.getBalance(user)) / web3_js_1.LAMPORTS_PER_SOL / 2;
529
520
  const balanceToWrap = halfSolBalance < 0.1 ? halfSolBalance : 0.1;
530
521
  fillWsolAtaIxns.push(...(0, utils_1.getDepositWsolIxns)(user, debtTokenAta, (0, classes_2.numberToLamportsDecimal)(balanceToWrap, solTokenReserve.stats.decimals).ceil()));
531
522
  }
@@ -545,7 +536,7 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
545
536
  programId: kaminoMarket.programId,
546
537
  });
547
538
  // 6. Repay borrowed tokens and Withdraw tokens from reserve that will be swapped to repay flash loan
548
- const repayAndWithdrawAction = yield classes_1.KaminoAction.buildRepayAndWithdrawTxns(kaminoMarket, isClosingPosition ? utils_1.U64_MAX : (0, classes_2.numberToLamportsDecimal)(repayAmount, debtReserve.stats.decimals).floor().toString(), debtTokenMint, isClosingPosition ? utils_1.U64_MAX : (0, classes_2.numberToLamportsDecimal)(depositTokenWithdrawAmount, collReserve.stats.decimals).ceil().toString(), collTokenMint, user, currentSlot, userObligation ? userObligation : obligationType, 0, false, false, false, // to be checked and created in a setup tx in the UI (won't be the case for withdraw anyway as this would be created in deposit)
539
+ const repayAndWithdrawAction = await classes_1.KaminoAction.buildRepayAndWithdrawTxns(kaminoMarket, isClosingPosition ? utils_1.U64_MAX : (0, classes_2.numberToLamportsDecimal)(repayAmount, debtReserve.stats.decimals).floor().toString(), debtTokenMint, isClosingPosition ? utils_1.U64_MAX : (0, classes_2.numberToLamportsDecimal)(depositTokenWithdrawAmount, collReserve.stats.decimals).ceil().toString(), collTokenMint, user, currentSlot, userObligation ? userObligation : obligationType, 0, false, false, false, // to be checked and created in a setup tx in the UI (won't be the case for withdraw anyway as this would be created in deposit)
549
540
  isClosingPosition, referrer, { includeScopeRefresh: true, scopeFeed: scopeFeed });
550
541
  const klendIxns = [
551
542
  ...budgetIxns,
@@ -581,7 +572,7 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
581
572
  if (kamino === undefined) {
582
573
  throw Error('Ktoken use as collateral for leverage without Kamino instance');
583
574
  }
584
- withdrawSwapper = yield (0, utils_2.getKtokenToTokenSwapper)(kaminoMarket, kamino, user, swapper);
575
+ withdrawSwapper = await (0, utils_2.getKtokenToTokenSwapper)(kaminoMarket, kamino, user, swapper);
585
576
  }
586
577
  else {
587
578
  withdrawSwapper = swapper;
@@ -591,11 +582,11 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
591
582
  inputMint: collTokenMint,
592
583
  outputMint: debtTokenMint,
593
584
  };
594
- const [swapIxns, lookupTablesAddresses] = yield withdrawSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct);
585
+ const [swapIxns, lookupTablesAddresses] = await withdrawSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct);
595
586
  // TODO MARIUS: remove first instruction that is setBudget ixn
596
587
  if (collIsKtoken) {
597
- if (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable) {
598
- lookupTablesAddresses.push(strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable);
588
+ if (strategy?.strategy.strategyLookupTable) {
589
+ lookupTablesAddresses.push(strategy?.strategy.strategyLookupTable);
599
590
  }
600
591
  else {
601
592
  console.log('Strategy lookup table not found');
@@ -623,13 +614,13 @@ const getWithdrawWithLeverageIxns = (props) => __awaiter(void 0, void 0, void 0,
623
614
  swapInputs,
624
615
  totalKlendAccounts: totalKlendAccounts,
625
616
  };
626
- });
617
+ };
627
618
  exports.getWithdrawWithLeverageIxns = getWithdrawWithLeverageIxns;
628
619
  const getAdjustLeverageSwapInputs = (props) => {
629
620
  const { deposited, borrowed, priceCollToDebt, priceDebtToColl, slippagePct, targetLeverage, kaminoMarket, debtTokenMint, collTokenMint, } = props;
630
621
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
631
622
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
632
- const flashLoanFee = (debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.getFlashLoanFee()) || new decimal_js_1.default(0);
623
+ const flashLoanFee = debtReserve?.getFlashLoanFee() || new decimal_js_1.default(0);
633
624
  const { adjustDepositPosition, adjustBorrowPosition } = (0, calcs_1.calcAdjustAmounts)({
634
625
  currentDepositPosition: deposited,
635
626
  currentBorrowPosition: borrowed,
@@ -669,7 +660,7 @@ const getAdjustLeverageSwapInputs = (props) => {
669
660
  }
670
661
  };
671
662
  exports.getAdjustLeverageSwapInputs = getAdjustLeverageSwapInputs;
672
- const getAdjustLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, function* () {
663
+ const getAdjustLeverageIxns = async (props) => {
673
664
  const { connection, budgetAndPriorityFeeIxns, user, kaminoMarket, priceDebtToColl, priceCollToDebt, targetLeverage, slippagePct, depositedLamports, borrowedLamports, collTokenMint, debtTokenMint, swapper, referrer, isKtoken, priceAinB, kamino, obligationTypeTagOverride, obligation, currentSlot, getTotalKlendAccountsOnly, scopeFeed, } = props;
674
665
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
675
666
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
@@ -677,7 +668,7 @@ const getAdjustLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, funct
677
668
  const borrowed = (0, classes_1.lamportsToNumberDecimal)(borrowedLamports, debtReserve.stats.decimals);
678
669
  const userObligation = obligation
679
670
  ? obligation
680
- : (yield kaminoMarket.getUserObligationsByTag(obligationTypeTagOverride, user)).filter((obligation) => obligation.getBorrowByMint(debtReserve.getLiquidityMint()) !== undefined &&
671
+ : (await kaminoMarket.getUserObligationsByTag(obligationTypeTagOverride, user)).filter((obligation) => obligation.getBorrowByMint(debtReserve.getLiquidityMint()) !== undefined &&
681
672
  obligation.getDepositByMint(collReserve.getLiquidityMint()) !== undefined)[0];
682
673
  const currentLeverage = userObligation.refreshedStats.leverage;
683
674
  const isDepositViaLeverage = targetLeverage.gte(new decimal_js_1.default(currentLeverage));
@@ -707,7 +698,7 @@ const getAdjustLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, funct
707
698
  if (isDeposit) {
708
699
  console.log('Increasing leaverage');
709
700
  // TODO: marius why are we not using both adjustDepositPosition & adjustBorrowPosition
710
- const res = yield (0, exports.getIncreaseLeverageIxns)({
701
+ const res = await (0, exports.getIncreaseLeverageIxns)({
711
702
  connection,
712
703
  budgetAndPriorityFeeIxns,
713
704
  user,
@@ -736,7 +727,7 @@ const getAdjustLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, funct
736
727
  }
737
728
  else {
738
729
  console.log('Decreasing leverage');
739
- const res = yield (0, exports.getDecreaseLeverageIxns)({
730
+ const res = await (0, exports.getDecreaseLeverageIxns)({
740
731
  connection,
741
732
  budgetAndPriorityFeeIxns,
742
733
  user,
@@ -767,22 +758,22 @@ const getAdjustLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, funct
767
758
  swapInputs,
768
759
  totalKlendAccounts,
769
760
  };
770
- });
761
+ };
771
762
  exports.getAdjustLeverageIxns = getAdjustLeverageIxns;
772
763
  /**
773
764
  * Deposit and borrow tokens if leverage increased
774
765
  */
775
- const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, function* () {
766
+ const getIncreaseLeverageIxns = async (props) => {
776
767
  const { connection, budgetAndPriorityFeeIxns, user, kaminoMarket, depositAmount, collTokenMint, debtTokenMint, slippagePct, priceDebtToColl, priceCollToDebt, swapper, referrer, isKtoken, priceAinB, kamino, obligationTypeTagOverride = 1, obligation, currentSlot, getTotalKlendAccountsOnly, scopeFeed, } = props;
777
768
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
778
769
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
779
- const collIsKtoken = yield isKtoken(collTokenMint);
770
+ const collIsKtoken = await isKtoken(collTokenMint);
780
771
  const flashLoanFee = collReserve.getFlashLoanFee() || new decimal_js_1.default(0);
781
772
  if (!priceDebtToColl || !priceCollToDebt) {
782
773
  throw new Error('Price is not loaded. Please, reload the page and try again');
783
774
  }
784
775
  // TODO: why are we recalculating here again
785
- const strategy = collIsKtoken ? yield (kamino === null || kamino === void 0 ? void 0 : kamino.getStrategyByKTokenMint(collTokenMint)) : undefined;
776
+ const strategy = collIsKtoken ? await kamino?.getStrategyByKTokenMint(collTokenMint) : undefined;
786
777
  // 1. Create atas & budget txns
787
778
  const budgetIxns = budgetAndPriorityFeeIxns || (0, utils_1.getComputeBudgetAndPriorityFeeIxns)(3000000);
788
779
  let mintsToCreateAtas = [];
@@ -791,7 +782,7 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
791
782
  const secondTokenAta = strategy.strategy.tokenAMint.equals(debtTokenMint)
792
783
  ? strategy.strategy.tokenBMint
793
784
  : strategy.strategy.tokenAMint;
794
- const secondTokenTokenProgarm = (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.tokenAMint.equals(debtTokenMint))
785
+ const secondTokenTokenProgarm = strategy?.strategy.tokenAMint.equals(debtTokenMint)
795
786
  ? strategy.strategy.tokenBTokenProgram.equals(web3_js_1.PublicKey.default)
796
787
  ? spl_token_1.TOKEN_PROGRAM_ID
797
788
  : strategy.strategy.tokenBTokenProgram
@@ -814,7 +805,7 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
814
805
  spl_token_1.TOKEN_PROGRAM_ID,
815
806
  ];
816
807
  }
817
- const { atas: [collTokenAta, debtTokenAta], createAtasIxns, closeAtasIxns, } = yield (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
808
+ const { atas: [collTokenAta, debtTokenAta], createAtasIxns, closeAtasIxns, } = await (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
818
809
  // 2. Create borrow flash loan instruction
819
810
  // used if coll is Ktoken and we borrow debt token instead
820
811
  const amountToFashBorrowDebt = depositAmount
@@ -847,7 +838,7 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
847
838
  else {
848
839
  throw Error('Obligation type tag not supported for leverage, please use 1 - multiply or 3 - leverage');
849
840
  }
850
- const depositAction = yield classes_1.KaminoAction.buildDepositTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(depositAmount, collReserve.stats.decimals).floor().toString(), collTokenMint, user, obligation ? obligation : obligationType, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
841
+ const depositAction = await classes_1.KaminoAction.buildDepositTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(depositAmount, collReserve.stats.decimals).floor().toString(), collTokenMint, user, obligation ? obligation : obligationType, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
851
842
  referrer, currentSlot, { includeScopeRefresh: true, scopeFeed: scopeFeed });
852
843
  // 4. Get swap estimations to understand how much we need to borrow from borrow reserve
853
844
  const borrowAmount = depositAmount
@@ -856,7 +847,7 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
856
847
  .div(priceDebtToColl);
857
848
  const _collTokenExpectedSwapOut = depositAmount.mul(new decimal_js_1.default(1).plus(flashLoanFee));
858
849
  // 5. Borrow tokens in borrow token reserve that will be swapped to repay flash loan
859
- const borrowAction = yield classes_1.KaminoAction.buildBorrowTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(borrowAmount, debtReserve.stats.decimals).ceil().toString(), debtTokenMint, user, obligation ? obligation : obligationType, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
850
+ const borrowAction = await classes_1.KaminoAction.buildBorrowTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(borrowAmount, debtReserve.stats.decimals).ceil().toString(), debtTokenMint, user, obligation ? obligation : obligationType, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
860
851
  referrer, currentSlot, { includeScopeRefresh: true, scopeFeed: scopeFeed });
861
852
  const klendIxns = [
862
853
  ...budgetIxns,
@@ -893,8 +884,8 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
893
884
  if (kamino === undefined) {
894
885
  throw Error('Ktoken use as collateral for leverage without Kamino instance');
895
886
  }
896
- depositSwapper = yield (0, utils_2.getTokenToKtokenSwapper)(connection, kaminoMarket, kamino, user, swapper, priceAinB, false);
897
- expectedDebtTokenAtaBalance = yield (0, utils_2.getExpectedTokenBalanceAfterBorrow)(connection, debtTokenMint, user, (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? borrowAmount : amountToFashBorrowDebt, debtReserve.stats.decimals).floor(), debtReserve.state.liquidity.mintDecimals.toNumber());
887
+ depositSwapper = await (0, utils_2.getTokenToKtokenSwapper)(connection, kaminoMarket, kamino, user, swapper, priceAinB, false);
888
+ expectedDebtTokenAtaBalance = await (0, utils_2.getExpectedTokenBalanceAfterBorrow)(connection, debtTokenMint, user, (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? borrowAmount : amountToFashBorrowDebt, debtReserve.stats.decimals).floor(), debtReserve.state.liquidity.mintDecimals.toNumber());
898
889
  }
899
890
  else {
900
891
  depositSwapper = swapper;
@@ -906,7 +897,7 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
906
897
  inputMint: debtTokenMint,
907
898
  outputMint: collTokenMint,
908
899
  };
909
- const [swapIxns, lookupTablesAddresses] = yield depositSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct, expectedDebtTokenAtaBalance);
900
+ const [swapIxns, lookupTablesAddresses] = await depositSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct, expectedDebtTokenAtaBalance);
910
901
  const swapInstructions = (0, utils_1.removeBudgetAndAtaIxns)(swapIxns, []);
911
902
  const ixns = !collIsKtoken
912
903
  ? [
@@ -942,8 +933,8 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
942
933
  });
943
934
  // Create and send transaction
944
935
  if (collIsKtoken) {
945
- if (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable) {
946
- lookupTablesAddresses.push(strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable);
936
+ if (strategy?.strategy.strategyLookupTable) {
937
+ lookupTablesAddresses.push(strategy?.strategy.strategyLookupTable);
947
938
  }
948
939
  else {
949
940
  console.log('Strategy lookup table not found');
@@ -955,19 +946,19 @@ const getIncreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
955
946
  swapInputs,
956
947
  totalKlendAccounts,
957
948
  };
958
- });
949
+ };
959
950
  exports.getIncreaseLeverageIxns = getIncreaseLeverageIxns;
960
951
  /**
961
952
  * Withdraw and repay tokens if leverage decreased
962
953
  */
963
- const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, function* () {
954
+ const getDecreaseLeverageIxns = async (props) => {
964
955
  const { connection, budgetAndPriorityFeeIxns, user, kaminoMarket, withdrawAmount, repayAmount, collTokenMint, debtTokenMint, slippagePct, swapper, referrer, isKtoken, kamino, obligationTypeTagOverride = 1, obligation, currentSlot, getTotalKlendAccountsOnly, scopeFeed, } = props;
965
956
  console.log('getDecreaseLeverageIxns', (0, calcs_1.toJson)({ withdrawAmount, repayAmount, collTokenMint, debtTokenMint, slippagePct }));
966
957
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
967
958
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
968
- const collIsKtoken = yield isKtoken(collTokenMint);
969
- const flashLoanFee = (debtReserve === null || debtReserve === void 0 ? void 0 : debtReserve.getFlashLoanFee()) || new decimal_js_1.default(0);
970
- const strategy = collIsKtoken ? yield (kamino === null || kamino === void 0 ? void 0 : kamino.getStrategyByKTokenMint(collTokenMint)) : undefined;
959
+ const collIsKtoken = await isKtoken(collTokenMint);
960
+ const flashLoanFee = debtReserve?.getFlashLoanFee() || new decimal_js_1.default(0);
961
+ const strategy = collIsKtoken ? await kamino?.getStrategyByKTokenMint(collTokenMint) : undefined;
971
962
  // 1. Create atas & budget txns
972
963
  const budgetIxns = budgetAndPriorityFeeIxns || (0, utils_1.getComputeBudgetAndPriorityFeeIxns)(3000000);
973
964
  let mintsToCreateAtas = [];
@@ -976,7 +967,7 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
976
967
  const secondTokenAta = strategy.strategy.tokenAMint.equals(debtTokenMint)
977
968
  ? strategy.strategy.tokenBMint
978
969
  : strategy.strategy.tokenAMint;
979
- const secondTokenTokenProgarm = (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.tokenAMint.equals(debtTokenMint))
970
+ const secondTokenTokenProgarm = strategy?.strategy.tokenAMint.equals(debtTokenMint)
980
971
  ? strategy.strategy.tokenBTokenProgram.equals(web3_js_1.PublicKey.default)
981
972
  ? spl_token_1.TOKEN_PROGRAM_ID
982
973
  : strategy.strategy.tokenBTokenProgram
@@ -999,18 +990,18 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
999
990
  spl_token_1.TOKEN_PROGRAM_ID,
1000
991
  ];
1001
992
  }
1002
- const { atas: [, debtTokenAta], createAtasIxns, closeAtasIxns, } = yield (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
993
+ const { atas: [, debtTokenAta], createAtasIxns, closeAtasIxns, } = await (0, utils_1.getAtasWithCreateIxnsIfMissing)(connection, user, mintsToCreateAtas, mintsToCreateAtasTokenPrograms);
1003
994
  // TODO: Mihai/Marius check if we can improve this logic and not convert any SOL
1004
995
  // This is here so that we have enough wsol to repay in case the kAB swapped to sol after estimates is not enough
1005
996
  const closeWsolAtaIxns = [];
1006
997
  if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
1007
- const wsolAta = yield (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, user, false);
998
+ const wsolAta = await (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, user, false);
1008
999
  closeWsolAtaIxns.push((0, spl_token_1.createCloseAccountInstruction)(wsolAta, user, user, [], spl_token_1.TOKEN_PROGRAM_ID));
1009
1000
  }
1010
1001
  closeAtasIxns.push(...closeWsolAtaIxns);
1011
1002
  const fillWsolAtaIxns = [];
1012
1003
  if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
1013
- const halfSolBalance = (yield connection.getBalance(user)) / web3_js_1.LAMPORTS_PER_SOL / 2;
1004
+ const halfSolBalance = (await connection.getBalance(user)) / web3_js_1.LAMPORTS_PER_SOL / 2;
1014
1005
  const balanceToWrap = halfSolBalance < 0.1 ? halfSolBalance : 0.1;
1015
1006
  fillWsolAtaIxns.push(...(0, utils_1.getDepositWsolIxns)(user, debtTokenAta, (0, classes_2.numberToLamportsDecimal)(balanceToWrap, debtReserve.stats.decimals).ceil()));
1016
1007
  }
@@ -1041,13 +1032,13 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
1041
1032
  throw Error('Obligation type tag not supported for leverage, please use 1 - multiply or 3 - leverage');
1042
1033
  }
1043
1034
  const scopeRefresh = scopeFeed ? { includeScopeRefresh: true, scopeFeed: scopeFeed } : undefined;
1044
- const repayAction = yield classes_1.KaminoAction.buildRepayTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(repayAmount, debtReserve.stats.decimals).floor().toString(), debtTokenMint, user, obligation ? obligation : obligationType, currentSlot, undefined, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
1035
+ const repayAction = await classes_1.KaminoAction.buildRepayTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(repayAmount, debtReserve.stats.decimals).floor().toString(), debtTokenMint, user, obligation ? obligation : obligationType, currentSlot, undefined, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
1045
1036
  referrer, scopeRefresh);
1046
1037
  // 6. Withdraw collateral (a little bit more to be able to pay for the slippage on swap)
1047
1038
  const withdrawAmountWithSlippageAndFlashLoanFee = withdrawAmount
1048
1039
  .mul(new decimal_js_1.default(1).plus(flashLoanFee))
1049
1040
  .mul(1 + slippagePct / 100);
1050
- const withdrawAction = yield classes_1.KaminoAction.buildWithdrawTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(withdrawAmountWithSlippageAndFlashLoanFee, collReserve.stats.decimals).ceil().toString(), collTokenMint, user, obligation ? obligation : obligationType, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
1041
+ const withdrawAction = await classes_1.KaminoAction.buildWithdrawTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(withdrawAmountWithSlippageAndFlashLoanFee, collReserve.stats.decimals).ceil().toString(), collTokenMint, user, obligation ? obligation : obligationType, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
1051
1042
  referrer, currentSlot, { includeScopeRefresh: true, scopeFeed: scopeFeed });
1052
1043
  const klendIxns = [
1053
1044
  ...budgetIxns,
@@ -1084,7 +1075,7 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
1084
1075
  if (kamino === undefined) {
1085
1076
  throw Error('Ktoken use as collateral for leverage without Kamino instance');
1086
1077
  }
1087
- withdrawSwapper = yield (0, utils_2.getKtokenToTokenSwapper)(kaminoMarket, kamino, user, swapper);
1078
+ withdrawSwapper = await (0, utils_2.getKtokenToTokenSwapper)(kaminoMarket, kamino, user, swapper);
1088
1079
  }
1089
1080
  else {
1090
1081
  withdrawSwapper = swapper;
@@ -1097,7 +1088,7 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
1097
1088
  outputMint: debtTokenMint,
1098
1089
  };
1099
1090
  // 5. Get swap ixns
1100
- const [swapIxns, lookupTablesAddresses] = yield withdrawSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct);
1091
+ const [swapIxns, lookupTablesAddresses] = await withdrawSwapper(swapInputs.inputAmountLamports, swapInputs.inputMint, swapInputs.outputMint, slippagePct);
1101
1092
  const swapInstructions = (0, utils_1.removeBudgetAndAtaIxns)(swapIxns, []);
1102
1093
  const ixns = [
1103
1094
  ...budgetIxns,
@@ -1118,8 +1109,8 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
1118
1109
  console.log(`ixn ${i + 1}: ${ixn.programId.toString()}`);
1119
1110
  });
1120
1111
  if (collIsKtoken) {
1121
- if (strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable) {
1122
- lookupTablesAddresses.push(strategy === null || strategy === void 0 ? void 0 : strategy.strategy.strategyLookupTable);
1112
+ if (strategy?.strategy.strategyLookupTable) {
1113
+ lookupTablesAddresses.push(strategy?.strategy.strategyLookupTable);
1123
1114
  }
1124
1115
  else {
1125
1116
  console.log('Strategy lookup table not found');
@@ -1132,6 +1123,6 @@ const getDecreaseLeverageIxns = (props) => __awaiter(void 0, void 0, void 0, fun
1132
1123
  swapInputs,
1133
1124
  totalKlendAccounts,
1134
1125
  };
1135
- });
1126
+ };
1136
1127
  exports.getDecreaseLeverageIxns = getDecreaseLeverageIxns;
1137
1128
  //# sourceMappingURL=operations.js.map