@kamino-finance/klend-sdk 3.2.26 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (725) hide show
  1. package/dist/classes/action.d.ts +1 -0
  2. package/dist/classes/action.d.ts.map +1 -0
  3. package/dist/classes/action.js +1130 -1186
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/curve.d.ts +1 -0
  6. package/dist/classes/curve.d.ts.map +1 -0
  7. package/dist/classes/curve.js +1 -1
  8. package/dist/classes/curve.js.map +1 -1
  9. package/dist/classes/fraction.d.ts +1 -0
  10. package/dist/classes/fraction.d.ts.map +1 -0
  11. package/dist/classes/fraction.js +7 -6
  12. package/dist/classes/fraction.js.map +1 -1
  13. package/dist/classes/index.d.ts +1 -0
  14. package/dist/classes/index.d.ts.map +1 -0
  15. package/dist/classes/index.js.map +1 -1
  16. package/dist/classes/jupiterPerps.d.ts +1 -0
  17. package/dist/classes/jupiterPerps.d.ts.map +1 -0
  18. package/dist/classes/jupiterPerps.js +7 -18
  19. package/dist/classes/jupiterPerps.js.map +1 -1
  20. package/dist/classes/manager.d.ts +1 -0
  21. package/dist/classes/manager.d.ts.map +1 -0
  22. package/dist/classes/manager.js +131 -158
  23. package/dist/classes/manager.js.map +1 -1
  24. package/dist/classes/market.d.ts +1 -0
  25. package/dist/classes/market.d.ts.map +1 -0
  26. package/dist/classes/market.js +620 -714
  27. package/dist/classes/market.js.map +1 -1
  28. package/dist/classes/obligation.d.ts +1 -0
  29. package/dist/classes/obligation.d.ts.map +1 -0
  30. package/dist/classes/obligation.js +60 -62
  31. package/dist/classes/obligation.js.map +1 -1
  32. package/dist/classes/reserve.d.ts +1 -0
  33. package/dist/classes/reserve.d.ts.map +1 -0
  34. package/dist/classes/reserve.js +120 -129
  35. package/dist/classes/reserve.js.map +1 -1
  36. package/dist/classes/shared.d.ts +1 -0
  37. package/dist/classes/shared.d.ts.map +1 -0
  38. package/dist/classes/shared.js.map +1 -1
  39. package/dist/classes/utils.d.ts +1 -0
  40. package/dist/classes/utils.d.ts.map +1 -0
  41. package/dist/classes/utils.js +3 -3
  42. package/dist/classes/utils.js.map +1 -1
  43. package/dist/classes/vault.d.ts +1 -0
  44. package/dist/classes/vault.d.ts.map +1 -0
  45. package/dist/classes/vault.js +334 -354
  46. package/dist/classes/vault.js.map +1 -1
  47. package/dist/client_kamino_manager.d.ts +1 -0
  48. package/dist/client_kamino_manager.d.ts.map +1 -0
  49. package/dist/client_kamino_manager.js +323 -326
  50. package/dist/client_kamino_manager.js.map +1 -1
  51. package/dist/idl_codegen/accounts/LendingMarket.d.ts +1 -0
  52. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -0
  53. package/dist/idl_codegen/accounts/LendingMarket.js +89 -55
  54. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  55. package/dist/idl_codegen/accounts/Obligation.d.ts +1 -0
  56. package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -0
  57. package/dist/idl_codegen/accounts/Obligation.js +87 -56
  58. package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
  59. package/dist/idl_codegen/accounts/ReferrerState.d.ts +1 -0
  60. package/dist/idl_codegen/accounts/ReferrerState.d.ts.map +1 -0
  61. package/dist/idl_codegen/accounts/ReferrerState.js +22 -33
  62. package/dist/idl_codegen/accounts/ReferrerState.js.map +1 -1
  63. package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts +1 -0
  64. package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts.map +1 -0
  65. package/dist/idl_codegen/accounts/ReferrerTokenState.js +35 -37
  66. package/dist/idl_codegen/accounts/ReferrerTokenState.js.map +1 -1
  67. package/dist/idl_codegen/accounts/Reserve.d.ts +1 -0
  68. package/dist/idl_codegen/accounts/Reserve.d.ts.map +1 -0
  69. package/dist/idl_codegen/accounts/Reserve.js +60 -49
  70. package/dist/idl_codegen/accounts/Reserve.js.map +1 -1
  71. package/dist/idl_codegen/accounts/ShortUrl.d.ts +1 -0
  72. package/dist/idl_codegen/accounts/ShortUrl.d.ts.map +1 -0
  73. package/dist/idl_codegen/accounts/ShortUrl.js +22 -33
  74. package/dist/idl_codegen/accounts/ShortUrl.js.map +1 -1
  75. package/dist/idl_codegen/accounts/UserMetadata.d.ts +1 -0
  76. package/dist/idl_codegen/accounts/UserMetadata.d.ts.map +1 -0
  77. package/dist/idl_codegen/accounts/UserMetadata.js +34 -37
  78. package/dist/idl_codegen/accounts/UserMetadata.js.map +1 -1
  79. package/dist/idl_codegen/accounts/UserState.d.ts +1 -0
  80. package/dist/idl_codegen/accounts/UserState.d.ts.map +1 -0
  81. package/dist/idl_codegen/accounts/UserState.js +77 -48
  82. package/dist/idl_codegen/accounts/UserState.js.map +1 -1
  83. package/dist/idl_codegen/accounts/index.d.ts +1 -0
  84. package/dist/idl_codegen/accounts/index.d.ts.map +1 -0
  85. package/dist/idl_codegen/accounts/index.js.map +1 -1
  86. package/dist/idl_codegen/errors/anchor.d.ts +1 -0
  87. package/dist/idl_codegen/errors/anchor.d.ts.map +1 -0
  88. package/dist/idl_codegen/errors/anchor.js +270 -216
  89. package/dist/idl_codegen/errors/anchor.js.map +1 -1
  90. package/dist/idl_codegen/errors/custom.d.ts +1 -0
  91. package/dist/idl_codegen/errors/custom.d.ts.map +1 -0
  92. package/dist/idl_codegen/errors/custom.js +560 -448
  93. package/dist/idl_codegen/errors/custom.js.map +1 -1
  94. package/dist/idl_codegen/errors/index.d.ts +1 -0
  95. package/dist/idl_codegen/errors/index.d.ts.map +1 -0
  96. package/dist/idl_codegen/errors/index.js.map +1 -1
  97. package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts +1 -0
  98. package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts.map +1 -0
  99. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -1
  100. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts +1 -0
  101. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts.map +1 -0
  102. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js.map +1 -1
  103. package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts +1 -0
  104. package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts.map +1 -0
  105. package/dist/idl_codegen/instructions/depositObligationCollateral.js.map +1 -1
  106. package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts +1 -0
  107. package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts.map +1 -0
  108. package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -1
  109. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +1 -0
  110. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts.map +1 -0
  111. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -1
  112. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts +1 -0
  113. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts.map +1 -0
  114. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js.map +1 -1
  115. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts +1 -0
  116. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts.map +1 -0
  117. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js.map +1 -1
  118. package/dist/idl_codegen/instructions/idlMissingTypes.d.ts +1 -0
  119. package/dist/idl_codegen/instructions/idlMissingTypes.d.ts.map +1 -0
  120. package/dist/idl_codegen/instructions/idlMissingTypes.js.map +1 -1
  121. package/dist/idl_codegen/instructions/index.d.ts +1 -0
  122. package/dist/idl_codegen/instructions/index.d.ts.map +1 -0
  123. package/dist/idl_codegen/instructions/index.js.map +1 -1
  124. package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts +1 -0
  125. package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts.map +1 -0
  126. package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -1
  127. package/dist/idl_codegen/instructions/initLendingMarket.d.ts +1 -0
  128. package/dist/idl_codegen/instructions/initLendingMarket.d.ts.map +1 -0
  129. package/dist/idl_codegen/instructions/initLendingMarket.js.map +1 -1
  130. package/dist/idl_codegen/instructions/initObligation.d.ts +1 -0
  131. package/dist/idl_codegen/instructions/initObligation.d.ts.map +1 -0
  132. package/dist/idl_codegen/instructions/initObligation.js.map +1 -1
  133. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts +1 -0
  134. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts.map +1 -0
  135. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -1
  136. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts +1 -0
  137. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts.map +1 -0
  138. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js.map +1 -1
  139. package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts +1 -0
  140. package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts.map +1 -0
  141. package/dist/idl_codegen/instructions/initReferrerTokenState.js.map +1 -1
  142. package/dist/idl_codegen/instructions/initReserve.d.ts +1 -0
  143. package/dist/idl_codegen/instructions/initReserve.d.ts.map +1 -0
  144. package/dist/idl_codegen/instructions/initReserve.js.map +1 -1
  145. package/dist/idl_codegen/instructions/initUserMetadata.d.ts +1 -0
  146. package/dist/idl_codegen/instructions/initUserMetadata.d.ts.map +1 -0
  147. package/dist/idl_codegen/instructions/initUserMetadata.js.map +1 -1
  148. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +1 -0
  149. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts.map +1 -0
  150. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -1
  151. package/dist/idl_codegen/instructions/redeemFees.d.ts +1 -0
  152. package/dist/idl_codegen/instructions/redeemFees.d.ts.map +1 -0
  153. package/dist/idl_codegen/instructions/redeemFees.js.map +1 -1
  154. package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts +1 -0
  155. package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts.map +1 -0
  156. package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -1
  157. package/dist/idl_codegen/instructions/refreshObligation.d.ts +1 -0
  158. package/dist/idl_codegen/instructions/refreshObligation.d.ts.map +1 -0
  159. package/dist/idl_codegen/instructions/refreshObligation.js.map +1 -1
  160. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts +1 -0
  161. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts.map +1 -0
  162. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -1
  163. package/dist/idl_codegen/instructions/refreshReserve.d.ts +1 -0
  164. package/dist/idl_codegen/instructions/refreshReserve.d.ts.map +1 -0
  165. package/dist/idl_codegen/instructions/refreshReserve.js.map +1 -1
  166. package/dist/idl_codegen/instructions/refreshReservesBatch.d.ts +1 -0
  167. package/dist/idl_codegen/instructions/refreshReservesBatch.d.ts.map +1 -0
  168. package/dist/idl_codegen/instructions/refreshReservesBatch.js.map +1 -1
  169. package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts +1 -0
  170. package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts.map +1 -0
  171. package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -1
  172. package/dist/idl_codegen/instructions/requestElevationGroup.d.ts +1 -0
  173. package/dist/idl_codegen/instructions/requestElevationGroup.d.ts.map +1 -0
  174. package/dist/idl_codegen/instructions/requestElevationGroup.js.map +1 -1
  175. package/dist/idl_codegen/instructions/socializeLoss.d.ts +1 -0
  176. package/dist/idl_codegen/instructions/socializeLoss.d.ts.map +1 -0
  177. package/dist/idl_codegen/instructions/socializeLoss.js.map +1 -1
  178. package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts +1 -0
  179. package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts.map +1 -0
  180. package/dist/idl_codegen/instructions/updateEntireReserveConfig.js.map +1 -1
  181. package/dist/idl_codegen/instructions/updateLendingMarket.d.ts +1 -0
  182. package/dist/idl_codegen/instructions/updateLendingMarket.d.ts.map +1 -0
  183. package/dist/idl_codegen/instructions/updateLendingMarket.js.map +1 -1
  184. package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts +1 -0
  185. package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts.map +1 -0
  186. package/dist/idl_codegen/instructions/updateLendingMarketOwner.js.map +1 -1
  187. package/dist/idl_codegen/instructions/updateReserveConfig.d.ts +1 -0
  188. package/dist/idl_codegen/instructions/updateReserveConfig.d.ts.map +1 -0
  189. package/dist/idl_codegen/instructions/updateReserveConfig.js.map +1 -1
  190. package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts +1 -0
  191. package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts.map +1 -0
  192. package/dist/idl_codegen/instructions/updateSingleReserveConfig.js.map +1 -1
  193. package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts +1 -0
  194. package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts.map +1 -0
  195. package/dist/idl_codegen/instructions/withdrawObligationCollateral.js.map +1 -1
  196. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +1 -0
  197. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts.map +1 -0
  198. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -1
  199. package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts +1 -0
  200. package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts.map +1 -0
  201. package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -1
  202. package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts +1 -0
  203. package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts.map +1 -0
  204. package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -1
  205. package/dist/idl_codegen/programId.d.ts +1 -0
  206. package/dist/idl_codegen/programId.d.ts.map +1 -0
  207. package/dist/idl_codegen/programId.js.map +1 -1
  208. package/dist/idl_codegen/types/AssetTier.d.ts +1 -0
  209. package/dist/idl_codegen/types/AssetTier.d.ts.map +1 -0
  210. package/dist/idl_codegen/types/AssetTier.js +12 -18
  211. package/dist/idl_codegen/types/AssetTier.js.map +1 -1
  212. package/dist/idl_codegen/types/BigFractionBytes.d.ts +1 -0
  213. package/dist/idl_codegen/types/BigFractionBytes.d.ts.map +1 -0
  214. package/dist/idl_codegen/types/BigFractionBytes.js +2 -0
  215. package/dist/idl_codegen/types/BigFractionBytes.js.map +1 -1
  216. package/dist/idl_codegen/types/BorrowRateCurve.d.ts +1 -0
  217. package/dist/idl_codegen/types/BorrowRateCurve.d.ts.map +1 -0
  218. package/dist/idl_codegen/types/BorrowRateCurve.js +2 -1
  219. package/dist/idl_codegen/types/BorrowRateCurve.js.map +1 -1
  220. package/dist/idl_codegen/types/CurvePoint.d.ts +1 -0
  221. package/dist/idl_codegen/types/CurvePoint.d.ts.map +1 -0
  222. package/dist/idl_codegen/types/CurvePoint.js +2 -0
  223. package/dist/idl_codegen/types/CurvePoint.js.map +1 -1
  224. package/dist/idl_codegen/types/ElevationGroup.d.ts +1 -0
  225. package/dist/idl_codegen/types/ElevationGroup.d.ts.map +1 -0
  226. package/dist/idl_codegen/types/ElevationGroup.js +10 -0
  227. package/dist/idl_codegen/types/ElevationGroup.js.map +1 -1
  228. package/dist/idl_codegen/types/FeeCalculation.d.ts +1 -0
  229. package/dist/idl_codegen/types/FeeCalculation.d.ts.map +1 -0
  230. package/dist/idl_codegen/types/FeeCalculation.js +8 -12
  231. package/dist/idl_codegen/types/FeeCalculation.js.map +1 -1
  232. package/dist/idl_codegen/types/InitObligationArgs.d.ts +1 -0
  233. package/dist/idl_codegen/types/InitObligationArgs.d.ts.map +1 -0
  234. package/dist/idl_codegen/types/InitObligationArgs.js +2 -0
  235. package/dist/idl_codegen/types/InitObligationArgs.js.map +1 -1
  236. package/dist/idl_codegen/types/LastUpdate.d.ts +1 -0
  237. package/dist/idl_codegen/types/LastUpdate.d.ts.map +1 -0
  238. package/dist/idl_codegen/types/LastUpdate.js +7 -0
  239. package/dist/idl_codegen/types/LastUpdate.js.map +1 -1
  240. package/dist/idl_codegen/types/ObligationCollateral.d.ts +1 -0
  241. package/dist/idl_codegen/types/ObligationCollateral.d.ts.map +1 -0
  242. package/dist/idl_codegen/types/ObligationCollateral.js +14 -0
  243. package/dist/idl_codegen/types/ObligationCollateral.js.map +1 -1
  244. package/dist/idl_codegen/types/ObligationLiquidity.d.ts +1 -0
  245. package/dist/idl_codegen/types/ObligationLiquidity.d.ts.map +1 -0
  246. package/dist/idl_codegen/types/ObligationLiquidity.js +17 -1
  247. package/dist/idl_codegen/types/ObligationLiquidity.js.map +1 -1
  248. package/dist/idl_codegen/types/PriceHeuristic.d.ts +1 -0
  249. package/dist/idl_codegen/types/PriceHeuristic.d.ts.map +1 -0
  250. package/dist/idl_codegen/types/PriceHeuristic.js +6 -0
  251. package/dist/idl_codegen/types/PriceHeuristic.js.map +1 -1
  252. package/dist/idl_codegen/types/PythConfiguration.d.ts +1 -0
  253. package/dist/idl_codegen/types/PythConfiguration.d.ts.map +1 -0
  254. package/dist/idl_codegen/types/PythConfiguration.js +2 -0
  255. package/dist/idl_codegen/types/PythConfiguration.js.map +1 -1
  256. package/dist/idl_codegen/types/ReserveCollateral.d.ts +1 -0
  257. package/dist/idl_codegen/types/ReserveCollateral.d.ts.map +1 -0
  258. package/dist/idl_codegen/types/ReserveCollateral.js +8 -0
  259. package/dist/idl_codegen/types/ReserveCollateral.js.map +1 -1
  260. package/dist/idl_codegen/types/ReserveConfig.d.ts +1 -0
  261. package/dist/idl_codegen/types/ReserveConfig.d.ts.map +1 -0
  262. package/dist/idl_codegen/types/ReserveConfig.js +78 -5
  263. package/dist/idl_codegen/types/ReserveConfig.js.map +1 -1
  264. package/dist/idl_codegen/types/ReserveFarmKind.d.ts +1 -0
  265. package/dist/idl_codegen/types/ReserveFarmKind.d.ts.map +1 -0
  266. package/dist/idl_codegen/types/ReserveFarmKind.js +8 -12
  267. package/dist/idl_codegen/types/ReserveFarmKind.js.map +1 -1
  268. package/dist/idl_codegen/types/ReserveFees.d.ts +1 -0
  269. package/dist/idl_codegen/types/ReserveFees.d.ts.map +1 -0
  270. package/dist/idl_codegen/types/ReserveFees.js +16 -0
  271. package/dist/idl_codegen/types/ReserveFees.js.map +1 -1
  272. package/dist/idl_codegen/types/ReserveLiquidity.d.ts +1 -0
  273. package/dist/idl_codegen/types/ReserveLiquidity.d.ts.map +1 -0
  274. package/dist/idl_codegen/types/ReserveLiquidity.js +43 -1
  275. package/dist/idl_codegen/types/ReserveLiquidity.js.map +1 -1
  276. package/dist/idl_codegen/types/ReserveStatus.d.ts +1 -0
  277. package/dist/idl_codegen/types/ReserveStatus.d.ts.map +1 -0
  278. package/dist/idl_codegen/types/ReserveStatus.js +12 -18
  279. package/dist/idl_codegen/types/ReserveStatus.js.map +1 -1
  280. package/dist/idl_codegen/types/ScopeConfiguration.d.ts +1 -0
  281. package/dist/idl_codegen/types/ScopeConfiguration.d.ts.map +1 -0
  282. package/dist/idl_codegen/types/ScopeConfiguration.js +6 -0
  283. package/dist/idl_codegen/types/ScopeConfiguration.js.map +1 -1
  284. package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts +1 -0
  285. package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts.map +1 -0
  286. package/dist/idl_codegen/types/SwitchboardConfiguration.js +3 -0
  287. package/dist/idl_codegen/types/SwitchboardConfiguration.js.map +1 -1
  288. package/dist/idl_codegen/types/TokenInfo.d.ts +1 -0
  289. package/dist/idl_codegen/types/TokenInfo.d.ts.map +1 -0
  290. package/dist/idl_codegen/types/TokenInfo.js +27 -4
  291. package/dist/idl_codegen/types/TokenInfo.js.map +1 -1
  292. package/dist/idl_codegen/types/UpdateConfigMode.d.ts +1 -0
  293. package/dist/idl_codegen/types/UpdateConfigMode.d.ts.map +1 -0
  294. package/dist/idl_codegen/types/UpdateConfigMode.js +188 -282
  295. package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -1
  296. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +1 -0
  297. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts.map +1 -0
  298. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +41 -33
  299. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -1
  300. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +1 -0
  301. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -0
  302. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +72 -108
  303. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  304. package/dist/idl_codegen/types/WithdrawalCaps.d.ts +1 -0
  305. package/dist/idl_codegen/types/WithdrawalCaps.d.ts.map +1 -0
  306. package/dist/idl_codegen/types/WithdrawalCaps.js +4 -0
  307. package/dist/idl_codegen/types/WithdrawalCaps.js.map +1 -1
  308. package/dist/idl_codegen/types/index.d.ts +1 -0
  309. package/dist/idl_codegen/types/index.d.ts.map +1 -0
  310. package/dist/idl_codegen/types/index.js.map +1 -1
  311. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +1 -0
  312. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -0
  313. package/dist/idl_codegen/zero_padding/ObligationZP.js +83 -54
  314. package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
  315. package/dist/idl_codegen/zero_padding/index.d.ts +1 -0
  316. package/dist/idl_codegen/zero_padding/index.d.ts.map +1 -0
  317. package/dist/idl_codegen/zero_padding/index.js.map +1 -1
  318. package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts +1 -0
  319. package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts.map +1 -0
  320. package/dist/idl_codegen_jupiter_perps/accounts/Pool.js +39 -42
  321. package/dist/idl_codegen_jupiter_perps/accounts/Pool.js.map +1 -1
  322. package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts +1 -0
  323. package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts.map +1 -0
  324. package/dist/idl_codegen_jupiter_perps/accounts/index.js.map +1 -1
  325. package/dist/idl_codegen_jupiter_perps/programId.d.ts +1 -0
  326. package/dist/idl_codegen_jupiter_perps/programId.d.ts.map +1 -0
  327. package/dist/idl_codegen_jupiter_perps/programId.js.map +1 -1
  328. package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts +1 -0
  329. package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts.map +1 -0
  330. package/dist/idl_codegen_jupiter_perps/types/Fees.js +9 -0
  331. package/dist/idl_codegen_jupiter_perps/types/Fees.js.map +1 -1
  332. package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts +1 -0
  333. package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts.map +1 -0
  334. package/dist/idl_codegen_jupiter_perps/types/Limit.js +3 -0
  335. package/dist/idl_codegen_jupiter_perps/types/Limit.js.map +1 -1
  336. package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts +1 -0
  337. package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts.map +1 -0
  338. package/dist/idl_codegen_jupiter_perps/types/PoolApr.js +3 -0
  339. package/dist/idl_codegen_jupiter_perps/types/PoolApr.js.map +1 -1
  340. package/dist/idl_codegen_jupiter_perps/types/index.d.ts +1 -0
  341. package/dist/idl_codegen_jupiter_perps/types/index.d.ts.map +1 -0
  342. package/dist/idl_codegen_jupiter_perps/types/index.js.map +1 -1
  343. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +1 -0
  344. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -0
  345. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +58 -47
  346. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
  347. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +1 -0
  348. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -0
  349. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +51 -47
  350. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  351. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +1 -0
  352. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -0
  353. package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
  354. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts +1 -0
  355. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -0
  356. package/dist/idl_codegen_kamino_vault/errors/anchor.js +270 -216
  357. package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
  358. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +1 -0
  359. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -0
  360. package/dist/idl_codegen_kamino_vault/errors/custom.js +120 -96
  361. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  362. package/dist/idl_codegen_kamino_vault/errors/index.d.ts +1 -0
  363. package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -0
  364. package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
  365. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +1 -0
  366. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -0
  367. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  368. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +1 -0
  369. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -0
  370. package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
  371. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +1 -0
  372. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -0
  373. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  374. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +1 -0
  375. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -0
  376. package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
  377. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -0
  378. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -0
  379. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  380. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +1 -0
  381. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -0
  382. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
  383. package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -0
  384. package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -0
  385. package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
  386. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +1 -0
  387. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -0
  388. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +2 -0
  389. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
  390. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -0
  391. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -0
  392. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +2 -1
  393. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
  394. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -0
  395. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -0
  396. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +2 -0
  397. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
  398. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +1 -0
  399. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -0
  400. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +7 -0
  401. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
  402. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +1 -0
  403. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -0
  404. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +6 -0
  405. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
  406. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +1 -0
  407. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -0
  408. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +2 -0
  409. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
  410. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +1 -0
  411. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -0
  412. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +8 -0
  413. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
  414. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +1 -0
  415. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -0
  416. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +77 -5
  417. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  418. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +1 -0
  419. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -0
  420. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +16 -0
  421. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
  422. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +1 -0
  423. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -0
  424. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +41 -1
  425. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
  426. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +1 -0
  427. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -0
  428. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +6 -0
  429. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
  430. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +1 -0
  431. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -0
  432. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +3 -0
  433. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
  434. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +1 -0
  435. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -0
  436. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +27 -4
  437. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
  438. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +1 -0
  439. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -0
  440. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +8 -0
  441. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
  442. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts +1 -0
  443. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts.map +1 -0
  444. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js +4 -0
  445. package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js.map +1 -1
  446. package/dist/idl_codegen_kamino_vault/types/index.d.ts +1 -0
  447. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -0
  448. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  449. package/dist/index.d.ts +1 -0
  450. package/dist/index.d.ts.map +1 -0
  451. package/dist/index.js.map +1 -1
  452. package/dist/lending_operations/index.d.ts +1 -0
  453. package/dist/lending_operations/index.d.ts.map +1 -0
  454. package/dist/lending_operations/index.js.map +1 -1
  455. package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -0
  456. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -0
  457. package/dist/lending_operations/repay_with_collateral_calcs.js +1 -1
  458. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  459. package/dist/lending_operations/repay_with_collateral_operations.d.ts +1 -0
  460. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -0
  461. package/dist/lending_operations/repay_with_collateral_operations.js +15 -24
  462. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  463. package/dist/leverage/calcs.d.ts +1 -0
  464. package/dist/leverage/calcs.d.ts.map +1 -0
  465. package/dist/leverage/calcs.js +119 -132
  466. package/dist/leverage/calcs.js.map +1 -1
  467. package/dist/leverage/index.d.ts +1 -0
  468. package/dist/leverage/index.d.ts.map +1 -0
  469. package/dist/leverage/index.js.map +1 -1
  470. package/dist/leverage/instructions.d.ts +1 -0
  471. package/dist/leverage/instructions.d.ts.map +1 -0
  472. package/dist/leverage/instructions.js.map +1 -1
  473. package/dist/leverage/operations.d.ts +1 -0
  474. package/dist/leverage/operations.d.ts.map +1 -0
  475. package/dist/leverage/operations.js +75 -84
  476. package/dist/leverage/operations.js.map +1 -1
  477. package/dist/leverage/utils.d.ts +1 -0
  478. package/dist/leverage/utils.d.ts.map +1 -0
  479. package/dist/leverage/utils.js +73 -88
  480. package/dist/leverage/utils.js.map +1 -1
  481. package/dist/lib.d.ts +1 -0
  482. package/dist/lib.d.ts.map +1 -0
  483. package/dist/lib.js.map +1 -1
  484. package/dist/referrals/index.d.ts +1 -0
  485. package/dist/referrals/index.d.ts.map +1 -0
  486. package/dist/referrals/index.js.map +1 -1
  487. package/dist/referrals/instructions.d.ts +1 -0
  488. package/dist/referrals/instructions.d.ts.map +1 -0
  489. package/dist/referrals/instructions.js +8 -17
  490. package/dist/referrals/instructions.js.map +1 -1
  491. package/dist/referrals/operations.d.ts +2 -1
  492. package/dist/referrals/operations.d.ts.map +1 -0
  493. package/dist/referrals/operations.js +119 -143
  494. package/dist/referrals/operations.js.map +1 -1
  495. package/dist/utils/ObligationType.d.ts +1 -0
  496. package/dist/utils/ObligationType.d.ts.map +1 -0
  497. package/dist/utils/ObligationType.js +16 -7
  498. package/dist/utils/ObligationType.js.map +1 -1
  499. package/dist/utils/api.d.ts +1 -0
  500. package/dist/utils/api.d.ts.map +1 -0
  501. package/dist/utils/api.js +10 -21
  502. package/dist/utils/api.js.map +1 -1
  503. package/dist/utils/ata.d.ts +1 -0
  504. package/dist/utils/ata.d.ts.map +1 -0
  505. package/dist/utils/ata.js +25 -38
  506. package/dist/utils/ata.js.map +1 -1
  507. package/dist/utils/constants.d.ts +1 -0
  508. package/dist/utils/constants.d.ts.map +1 -0
  509. package/dist/utils/constants.js +1 -1
  510. package/dist/utils/constants.js.map +1 -1
  511. package/dist/utils/idl.d.ts +1 -0
  512. package/dist/utils/idl.d.ts.map +1 -0
  513. package/dist/utils/idl.js.map +1 -1
  514. package/dist/utils/index.d.ts +1 -0
  515. package/dist/utils/index.d.ts.map +1 -0
  516. package/dist/utils/index.js.map +1 -1
  517. package/dist/utils/instruction.d.ts +1 -0
  518. package/dist/utils/instruction.d.ts.map +1 -0
  519. package/dist/utils/instruction.js +116 -143
  520. package/dist/utils/instruction.js.map +1 -1
  521. package/dist/utils/kamino.d.ts +1 -0
  522. package/dist/utils/kamino.d.ts.map +1 -0
  523. package/dist/utils/kamino.js +4 -15
  524. package/dist/utils/kamino.js.map +1 -1
  525. package/dist/utils/layout.d.ts +1 -0
  526. package/dist/utils/layout.d.ts.map +1 -0
  527. package/dist/utils/layout.js.map +1 -1
  528. package/dist/utils/lookupTable.d.ts +1 -0
  529. package/dist/utils/lookupTable.d.ts.map +1 -0
  530. package/dist/utils/lookupTable.js +14 -27
  531. package/dist/utils/lookupTable.js.map +1 -1
  532. package/dist/utils/managerTypes.d.ts +1 -0
  533. package/dist/utils/managerTypes.d.ts.map +1 -0
  534. package/dist/utils/managerTypes.js +31 -2
  535. package/dist/utils/managerTypes.js.map +1 -1
  536. package/dist/utils/oracle.d.ts +1 -0
  537. package/dist/utils/oracle.d.ts.map +1 -0
  538. package/dist/utils/oracle.js +70 -83
  539. package/dist/utils/oracle.js.map +1 -1
  540. package/dist/utils/pubkey.d.ts +1 -0
  541. package/dist/utils/pubkey.d.ts.map +1 -0
  542. package/dist/utils/pubkey.js +7 -9
  543. package/dist/utils/pubkey.js.map +1 -1
  544. package/dist/utils/rpc.d.ts +1 -0
  545. package/dist/utils/rpc.d.ts.map +1 -0
  546. package/dist/utils/rpc.js +48 -70
  547. package/dist/utils/rpc.js.map +1 -1
  548. package/dist/utils/seeds.d.ts +1 -0
  549. package/dist/utils/seeds.d.ts.map +1 -0
  550. package/dist/utils/seeds.js.map +1 -1
  551. package/dist/utils/sendTransactionsUtils.d.ts +1 -0
  552. package/dist/utils/sendTransactionsUtils.d.ts.map +1 -0
  553. package/dist/utils/sendTransactionsUtils.js +82 -82
  554. package/dist/utils/sendTransactionsUtils.js.map +1 -1
  555. package/dist/utils/slots.d.ts +1 -0
  556. package/dist/utils/slots.d.ts.map +1 -0
  557. package/dist/utils/slots.js.map +1 -1
  558. package/dist/utils/syncNative.d.ts +1 -0
  559. package/dist/utils/syncNative.d.ts.map +1 -0
  560. package/dist/utils/syncNative.js.map +1 -1
  561. package/dist/utils/userMetadata.d.ts +1 -0
  562. package/dist/utils/userMetadata.d.ts.map +1 -0
  563. package/dist/utils/userMetadata.js +40 -52
  564. package/dist/utils/userMetadata.js.map +1 -1
  565. package/package.json +9 -3
  566. package/src/classes/action.ts +2884 -0
  567. package/src/classes/curve.ts +29 -0
  568. package/src/classes/fraction.ts +65 -0
  569. package/src/classes/index.ts +10 -0
  570. package/src/classes/jupiterPerps.ts +14 -0
  571. package/src/classes/manager.ts +746 -0
  572. package/src/classes/market.ts +1459 -0
  573. package/src/classes/obligation.ts +1315 -0
  574. package/src/classes/reserve.ts +1980 -0
  575. package/src/classes/shared.ts +57 -0
  576. package/src/classes/utils.ts +192 -0
  577. package/src/classes/vault.ts +808 -0
  578. package/src/client.ts +446 -0
  579. package/src/client_kamino_manager.ts +791 -0
  580. package/src/global.d.ts +1 -0
  581. package/src/idl_codegen/accounts/LendingMarket.ts +364 -0
  582. package/src/idl_codegen/accounts/Obligation.ts +349 -0
  583. package/src/idl_codegen/accounts/ReferrerState.ts +97 -0
  584. package/src/idl_codegen/accounts/ReferrerTokenState.ts +145 -0
  585. package/src/idl_codegen/accounts/Reserve.ts +248 -0
  586. package/src/idl_codegen/accounts/ShortUrl.ts +97 -0
  587. package/src/idl_codegen/accounts/UserMetadata.ts +142 -0
  588. package/src/idl_codegen/accounts/UserState.ts +301 -0
  589. package/src/idl_codegen/accounts/index.ts +19 -0
  590. package/src/idl_codegen/errors/anchor.ts +773 -0
  591. package/src/idl_codegen/errors/custom.ts +1633 -0
  592. package/src/idl_codegen/errors/index.ts +62 -0
  593. package/src/idl_codegen/instructions/borrowObligationLiquidity.ts +82 -0
  594. package/src/idl_codegen/instructions/deleteReferrerStateAndShortUrl.ts +30 -0
  595. package/src/idl_codegen/instructions/depositObligationCollateral.ts +62 -0
  596. package/src/idl_codegen/instructions/depositReserveLiquidity.ts +90 -0
  597. package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.ts +98 -0
  598. package/src/idl_codegen/instructions/flashBorrowReserveLiquidity.ts +82 -0
  599. package/src/idl_codegen/instructions/flashRepayReserveLiquidity.ts +83 -0
  600. package/src/idl_codegen/instructions/idlMissingTypes.ts +62 -0
  601. package/src/idl_codegen/instructions/index.ts +138 -0
  602. package/src/idl_codegen/instructions/initFarmsForReserve.ts +62 -0
  603. package/src/idl_codegen/instructions/initLendingMarket.ts +50 -0
  604. package/src/idl_codegen/instructions/initObligation.ts +52 -0
  605. package/src/idl_codegen/instructions/initObligationFarmsForReserve.ts +60 -0
  606. package/src/idl_codegen/instructions/initReferrerStateAndShortUrl.ts +50 -0
  607. package/src/idl_codegen/instructions/initReferrerTokenState.ts +46 -0
  608. package/src/idl_codegen/instructions/initReserve.ts +74 -0
  609. package/src/idl_codegen/instructions/initUserMetadata.ts +50 -0
  610. package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.ts +139 -0
  611. package/src/idl_codegen/instructions/redeemFees.ts +50 -0
  612. package/src/idl_codegen/instructions/redeemReserveCollateral.ts +94 -0
  613. package/src/idl_codegen/instructions/refreshObligation.ts +24 -0
  614. package/src/idl_codegen/instructions/refreshObligationFarmsForReserve.ts +62 -0
  615. package/src/idl_codegen/instructions/refreshReserve.ts +40 -0
  616. package/src/idl_codegen/instructions/refreshReservesBatch.ts +29 -0
  617. package/src/idl_codegen/instructions/repayObligationLiquidity.ts +64 -0
  618. package/src/idl_codegen/instructions/requestElevationGroup.ts +40 -0
  619. package/src/idl_codegen/instructions/socializeLoss.ts +48 -0
  620. package/src/idl_codegen/instructions/updateEntireReserveConfig.ts +45 -0
  621. package/src/idl_codegen/instructions/updateLendingMarket.ts +43 -0
  622. package/src/idl_codegen/instructions/updateLendingMarketOwner.ts +28 -0
  623. package/src/idl_codegen/instructions/updateReserveConfig.ts +52 -0
  624. package/src/idl_codegen/instructions/updateSingleReserveConfig.ts +48 -0
  625. package/src/idl_codegen/instructions/withdrawObligationCollateral.ts +68 -0
  626. package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +102 -0
  627. package/src/idl_codegen/instructions/withdrawProtocolFee.ts +62 -0
  628. package/src/idl_codegen/instructions/withdrawReferrerFees.ts +54 -0
  629. package/src/idl_codegen/programId.ts +13 -0
  630. package/src/idl_codegen/types/AssetTier.ts +118 -0
  631. package/src/idl_codegen/types/BigFractionBytes.ts +67 -0
  632. package/src/idl_codegen/types/BorrowRateCurve.ts +60 -0
  633. package/src/idl_codegen/types/CurvePoint.ts +64 -0
  634. package/src/idl_codegen/types/ElevationGroup.ts +133 -0
  635. package/src/idl_codegen/types/FeeCalculation.ts +90 -0
  636. package/src/idl_codegen/types/InitObligationArgs.ts +61 -0
  637. package/src/idl_codegen/types/LastUpdate.ts +95 -0
  638. package/src/idl_codegen/types/ObligationCollateral.ts +128 -0
  639. package/src/idl_codegen/types/ObligationLiquidity.ts +159 -0
  640. package/src/idl_codegen/types/PriceHeuristic.ts +81 -0
  641. package/src/idl_codegen/types/PythConfiguration.ts +56 -0
  642. package/src/idl_codegen/types/ReserveCollateral.ts +104 -0
  643. package/src/idl_codegen/types/ReserveConfig.ts +467 -0
  644. package/src/idl_codegen/types/ReserveFarmKind.ts +90 -0
  645. package/src/idl_codegen/types/ReserveFees.ts +122 -0
  646. package/src/idl_codegen/types/ReserveLiquidity.ts +286 -0
  647. package/src/idl_codegen/types/ReserveStatus.ts +120 -0
  648. package/src/idl_codegen/types/ScopeConfiguration.ts +85 -0
  649. package/src/idl_codegen/types/SwitchboardConfiguration.ts +67 -0
  650. package/src/idl_codegen/types/TokenInfo.ts +190 -0
  651. package/src/idl_codegen/types/UpdateConfigMode.ts +1440 -0
  652. package/src/idl_codegen/types/UpdateLendingMarketConfigValue.ts +376 -0
  653. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +570 -0
  654. package/src/idl_codegen/types/WithdrawalCaps.ts +86 -0
  655. package/src/idl_codegen/types/index.ts +276 -0
  656. package/src/idl_codegen/zero_padding/ObligationZP.ts +186 -0
  657. package/src/idl_codegen/zero_padding/index.ts +1 -0
  658. package/src/idl_codegen_jupiter_perps/accounts/Pool.ts +155 -0
  659. package/src/idl_codegen_jupiter_perps/accounts/index.ts +2 -0
  660. package/src/idl_codegen_jupiter_perps/programId.ts +7 -0
  661. package/src/idl_codegen_jupiter_perps/types/Fees.ts +130 -0
  662. package/src/idl_codegen_jupiter_perps/types/Limit.ts +72 -0
  663. package/src/idl_codegen_jupiter_perps/types/PoolApr.ts +69 -0
  664. package/src/idl_codegen_jupiter_perps/types/index.ts +6 -0
  665. package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +221 -0
  666. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +214 -0
  667. package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -0
  668. package/src/idl_codegen_kamino_vault/errors/anchor.ts +764 -0
  669. package/src/idl_codegen_kamino_vault/errors/custom.ts +344 -0
  670. package/src/idl_codegen_kamino_vault/errors/index.ts +49 -0
  671. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +54 -0
  672. package/src/idl_codegen_kamino_vault/instructions/index.ts +10 -0
  673. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +35 -0
  674. package/src/idl_codegen_kamino_vault/instructions/invest.ts +60 -0
  675. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +58 -0
  676. package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +81 -0
  677. package/src/idl_codegen_kamino_vault/programId.ts +7 -0
  678. package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +61 -0
  679. package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +55 -0
  680. package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +61 -0
  681. package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +90 -0
  682. package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +78 -0
  683. package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +56 -0
  684. package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +104 -0
  685. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +426 -0
  686. package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +118 -0
  687. package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +268 -0
  688. package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +85 -0
  689. package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +64 -0
  690. package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +172 -0
  691. package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +115 -0
  692. package/src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts +86 -0
  693. package/src/idl_codegen_kamino_vault/types/index.ts +30 -0
  694. package/src/index.ts +1 -0
  695. package/src/lending_operations/index.ts +2 -0
  696. package/src/lending_operations/repay_with_collateral_calcs.ts +71 -0
  697. package/src/lending_operations/repay_with_collateral_operations.ts +318 -0
  698. package/src/leverage/calcs.ts +465 -0
  699. package/src/leverage/index.ts +4 -0
  700. package/src/leverage/instructions.ts +144 -0
  701. package/src/leverage/operations.ts +1814 -0
  702. package/src/leverage/utils.ts +273 -0
  703. package/src/lib.ts +9 -0
  704. package/src/referrals/index.ts +2 -0
  705. package/src/referrals/instructions.ts +114 -0
  706. package/src/referrals/operations.ts +325 -0
  707. package/src/utils/ObligationType.ts +171 -0
  708. package/src/utils/api.ts +59 -0
  709. package/src/utils/ata.ts +195 -0
  710. package/src/utils/constants.ts +81 -0
  711. package/src/utils/idl.ts +4 -0
  712. package/src/utils/index.ts +16 -0
  713. package/src/utils/instruction.ts +258 -0
  714. package/src/utils/kamino.ts +12 -0
  715. package/src/utils/layout.ts +118 -0
  716. package/src/utils/lookupTable.ts +55 -0
  717. package/src/utils/managerTypes.ts +456 -0
  718. package/src/utils/oracle.ts +338 -0
  719. package/src/utils/pubkey.ts +261 -0
  720. package/src/utils/rpc.ts +108 -0
  721. package/src/utils/seeds.ts +183 -0
  722. package/src/utils/sendTransactionsUtils.ts +207 -0
  723. package/src/utils/slots.ts +28 -0
  724. package/src/utils/syncNative.ts +22 -0
  725. package/src/utils/userMetadata.ts +401 -0
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
35
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
27
  };
@@ -52,278 +43,276 @@ const spl_token_1 = require("@solana/spl-token");
52
43
  dotenv_1.default.config({
53
44
  path: `.env${process.env.ENV ? '.' + process.env.ENV : ''}`,
54
45
  });
55
- function main() {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const commands = new commander_1.Command();
58
- commands.name('kamino-manager-cli').description('CLI to interact with the kvaults and klend programs');
59
- commands
60
- .command('create-market')
61
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
62
- .option(`--staging`, 'If true, will use the staging programs')
63
- .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
64
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ mode, staging, multisig }) {
65
- const env = initializeClient(mode === 'multisig', staging);
66
- if (mode === 'multisig' && !multisig) {
67
- throw new Error('If using multisig mode, multisig pubkey is required');
68
- }
69
- const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
70
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
71
- const { market: marketKp, ixns: createMarketIxns } = yield kaminoManager.createMarketIxs({
72
- admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
73
- });
74
- const _createMarketSig = yield processTxn(env.client, env.payer, createMarketIxns, mode, 2500, [marketKp]);
75
- mode === 'execute' && console.log('Market created:', marketKp.publicKey.toBase58());
76
- }));
77
- commands
78
- .command('add-asset-to-market')
79
- .requiredOption('--market <string>', 'Market addres to add asset to')
80
- .requiredOption('--mint <string>', 'Reserve liquidity token mint')
81
- .requiredOption('--mint-program-id <string>', 'Reserve liquidity token mint program id')
82
- .requiredOption('--reserve-config-path <string>', 'Path for the reserve config')
83
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
84
- .option(`--staging`, 'If true, will use the staging programs')
85
- .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
86
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ market, mint, mintProgramId, reserveConfigPath, mode, staging, multisig }) {
87
- const env = initializeClient(mode === 'multisig', staging);
88
- const tokenMint = new web3_js_1.PublicKey(mint);
89
- const tokenMintProgramId = new web3_js_1.PublicKey(mintProgramId);
90
- const marketAddress = new web3_js_1.PublicKey(market);
91
- if (mode === 'multisig' && !multisig) {
92
- throw new Error('If using multisig mode, multisig is required');
93
- }
94
- const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
95
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
96
- const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
97
- const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
98
- const assetConfig = new lib_1.AssetReserveConfigCli(tokenMint, tokenMintProgramId, reserveConfig);
99
- const { reserve, txnIxns } = yield kaminoManager.addAssetToMarketIxs({
100
- admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
101
- marketAddress: marketAddress,
102
- assetConfig: assetConfig,
103
- });
104
- console.log('reserve: ', reserve.publicKey);
105
- const _createReserveSig = yield processTxn(env.client, env.payer, txnIxns[0], mode, 2500, [reserve]);
106
- const _updateReserveSig = yield processTxn(env.client, env.payer, txnIxns[1], mode, 2500, [], 400000);
107
- mode === 'execute' &&
108
- console.log('Reserve Created with config:', JSON.parse(JSON.stringify(reserveConfig)), '\nreserve address:', reserve.publicKey.toBase58());
109
- }));
110
- commands
111
- .command('update-reserve-config')
112
- .requiredOption('--reserve <string>', 'Reserve address')
113
- .requiredOption('--reserve-config-path <string>', 'Path for the reserve config')
114
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
115
- .option('--update-entire-config', 'If set, it will update entire reserve config in 1 instruction')
116
- .option(`--staging`, 'If true, will use the staging programs')
117
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ reserve, reserveConfigPath, mode, updateEntireConfig, staging, multisig }) {
118
- const env = initializeClient(mode === 'multisig', staging);
119
- const reserveAddress = new web3_js_1.PublicKey(reserve);
120
- const reserveState = yield lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
121
- if (!reserveState) {
122
- throw new Error('Reserve not found');
123
- }
124
- const marketAddress = reserveState.lendingMarket;
125
- const marketState = yield lib_1.LendingMarket.fetch(env.connection, marketAddress, env.kLendProgramId);
126
- if (!marketState) {
127
- throw new Error('Market not found');
128
- }
129
- const marketWithAddress = {
130
- address: marketAddress,
131
- state: marketState,
132
- };
133
- if (mode === 'multisig' && !multisig) {
134
- throw new Error('If using multisig mode, multisig is required');
135
- }
136
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
137
- const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
138
- const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
139
- const ixns = yield kaminoManager.updateReserveIxs(marketWithAddress, reserveAddress, reserveConfig, reserveState, updateEntireConfig);
140
- const _updateReserveSig = yield processTxn(env.client, env.payer, ixns, mode, 2500, [], 400000);
141
- mode === 'execute' && console.log('Reserve Updated with config -> ', JSON.parse(JSON.stringify(reserveConfig)));
142
- }));
143
- commands
144
- .command('download-reserve-config')
145
- .requiredOption('--reserve <string>', 'Reserve address')
146
- .option(`--staging`, 'If true, will use the staging programs')
147
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ reserve, staging }) {
148
- const env = initializeClient(false, staging);
149
- const reserveAddress = new web3_js_1.PublicKey(reserve);
150
- const reserveState = yield lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
151
- if (!reserveState) {
152
- throw new Error('Reserve not found');
153
- }
154
- fs.mkdirSync('./configs/' + reserveState.lendingMarket.toBase58(), { recursive: true });
155
- const decoder = new TextDecoder('utf-8');
46
+ async function main() {
47
+ const commands = new commander_1.Command();
48
+ commands.name('kamino-manager-cli').description('CLI to interact with the kvaults and klend programs');
49
+ commands
50
+ .command('create-market')
51
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
52
+ .option(`--staging`, 'If true, will use the staging programs')
53
+ .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
54
+ .action(async ({ mode, staging, multisig }) => {
55
+ const env = initializeClient(mode === 'multisig', staging);
56
+ if (mode === 'multisig' && !multisig) {
57
+ throw new Error('If using multisig mode, multisig pubkey is required');
58
+ }
59
+ const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
60
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
61
+ const { market: marketKp, ixns: createMarketIxns } = await kaminoManager.createMarketIxs({
62
+ admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
63
+ });
64
+ const _createMarketSig = await processTxn(env.client, env.payer, createMarketIxns, mode, 2500, [marketKp]);
65
+ mode === 'execute' && console.log('Market created:', marketKp.publicKey.toBase58());
66
+ });
67
+ commands
68
+ .command('add-asset-to-market')
69
+ .requiredOption('--market <string>', 'Market addres to add asset to')
70
+ .requiredOption('--mint <string>', 'Reserve liquidity token mint')
71
+ .requiredOption('--mint-program-id <string>', 'Reserve liquidity token mint program id')
72
+ .requiredOption('--reserve-config-path <string>', 'Path for the reserve config')
73
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
74
+ .option(`--staging`, 'If true, will use the staging programs')
75
+ .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
76
+ .action(async ({ market, mint, mintProgramId, reserveConfigPath, mode, staging, multisig }) => {
77
+ const env = initializeClient(mode === 'multisig', staging);
78
+ const tokenMint = new web3_js_1.PublicKey(mint);
79
+ const tokenMintProgramId = new web3_js_1.PublicKey(mintProgramId);
80
+ const marketAddress = new web3_js_1.PublicKey(market);
81
+ if (mode === 'multisig' && !multisig) {
82
+ throw new Error('If using multisig mode, multisig is required');
83
+ }
84
+ const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
85
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
86
+ const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
87
+ const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
88
+ const assetConfig = new lib_1.AssetReserveConfigCli(tokenMint, tokenMintProgramId, reserveConfig);
89
+ const { reserve, txnIxns } = await kaminoManager.addAssetToMarketIxs({
90
+ admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
91
+ marketAddress: marketAddress,
92
+ assetConfig: assetConfig,
93
+ });
94
+ console.log('reserve: ', reserve.publicKey);
95
+ const _createReserveSig = await processTxn(env.client, env.payer, txnIxns[0], mode, 2500, [reserve]);
96
+ const _updateReserveSig = await processTxn(env.client, env.payer, txnIxns[1], mode, 2500, [], 400_000);
97
+ mode === 'execute' &&
98
+ console.log('Reserve Created with config:', JSON.parse(JSON.stringify(reserveConfig)), '\nreserve address:', reserve.publicKey.toBase58());
99
+ });
100
+ commands
101
+ .command('update-reserve-config')
102
+ .requiredOption('--reserve <string>', 'Reserve address')
103
+ .requiredOption('--reserve-config-path <string>', 'Path for the reserve config')
104
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
105
+ .option('--update-entire-config', 'If set, it will update entire reserve config in 1 instruction')
106
+ .option(`--staging`, 'If true, will use the staging programs')
107
+ .action(async ({ reserve, reserveConfigPath, mode, updateEntireConfig, staging, multisig }) => {
108
+ const env = initializeClient(mode === 'multisig', staging);
109
+ const reserveAddress = new web3_js_1.PublicKey(reserve);
110
+ const reserveState = await lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
111
+ if (!reserveState) {
112
+ throw new Error('Reserve not found');
113
+ }
114
+ const marketAddress = reserveState.lendingMarket;
115
+ const marketState = await lib_1.LendingMarket.fetch(env.connection, marketAddress, env.kLendProgramId);
116
+ if (!marketState) {
117
+ throw new Error('Market not found');
118
+ }
119
+ const marketWithAddress = {
120
+ address: marketAddress,
121
+ state: marketState,
122
+ };
123
+ if (mode === 'multisig' && !multisig) {
124
+ throw new Error('If using multisig mode, multisig is required');
125
+ }
126
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
127
+ const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
128
+ const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
129
+ const ixns = await kaminoManager.updateReserveIxs(marketWithAddress, reserveAddress, reserveConfig, reserveState, updateEntireConfig);
130
+ const _updateReserveSig = await processTxn(env.client, env.payer, ixns, mode, 2500, [], 400_000);
131
+ mode === 'execute' && console.log('Reserve Updated with config -> ', JSON.parse(JSON.stringify(reserveConfig)));
132
+ });
133
+ commands
134
+ .command('download-reserve-config')
135
+ .requiredOption('--reserve <string>', 'Reserve address')
136
+ .option(`--staging`, 'If true, will use the staging programs')
137
+ .action(async ({ reserve, staging }) => {
138
+ const env = initializeClient(false, staging);
139
+ const reserveAddress = new web3_js_1.PublicKey(reserve);
140
+ const reserveState = await lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
141
+ if (!reserveState) {
142
+ throw new Error('Reserve not found');
143
+ }
144
+ fs.mkdirSync('./configs/' + reserveState.lendingMarket.toBase58(), { recursive: true });
145
+ const decoder = new TextDecoder('utf-8');
146
+ const reserveName = decoder.decode(Uint8Array.from(reserveState.config.tokenInfo.name)).replace(/\0/g, '');
147
+ const reserveConfigDisplay = parseReserveConfigToFile(reserveState.config);
148
+ fs.writeFileSync('./configs/' + reserveState.lendingMarket.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
149
+ });
150
+ commands
151
+ .command('create-vault')
152
+ .requiredOption('--mint <string>', 'Vault token mint')
153
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
154
+ .option(`--staging`, 'If true, will use the staging programs')
155
+ .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
156
+ .action(async ({ mint, mode, staging, multisig }) => {
157
+ const env = initializeClient(mode === 'multisig', staging);
158
+ const tokenMint = new web3_js_1.PublicKey(mint);
159
+ if (mode === 'multisig' && !multisig) {
160
+ throw new Error('If using multisig mode, multisig is required');
161
+ }
162
+ const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
163
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
164
+ const kaminoVaultConfig = new lib_1.KaminoVaultConfig({
165
+ admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
166
+ tokenMint: tokenMint,
167
+ tokenMintProgramId: spl_token_1.TOKEN_PROGRAM_ID,
168
+ performanceFeeRate: new decimal_js_1.default(0.0),
169
+ managementFeeRate: new decimal_js_1.default(0.0),
170
+ });
171
+ const { vault: vaultKp, ixns: instructions } = await kaminoManager.createVaultIxs(kaminoVaultConfig);
172
+ const _createVaultSig = await processTxn(env.client, env.payer, instructions, mode, 2500, [vaultKp]);
173
+ mode === 'execute' && console.log('Vault created:', vaultKp.publicKey.toBase58());
174
+ });
175
+ commands
176
+ .command('update-vault-reserve-allocation')
177
+ .requiredOption('--vault <string>', 'Vault address')
178
+ .requiredOption('--reserve <string>', 'Reserve address')
179
+ .requiredOption('--allocation-weight <number>', 'Allocation weight')
180
+ .requiredOption('--allocation-cap <string>', 'Allocation cap decimal value')
181
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
182
+ .option(`--staging`, 'If true, will use the staging programs')
183
+ .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
184
+ .action(async ({ vault, reserve, allocationWeight, allocationCap, mode, staging, multisig }) => {
185
+ const env = initializeClient(mode === 'multisig', staging);
186
+ const reserveAddress = new web3_js_1.PublicKey(reserve);
187
+ const vaultAddress = new web3_js_1.PublicKey(vault);
188
+ const allocationWeightValue = Number(allocationWeight);
189
+ const allocationCapDecimal = new decimal_js_1.default(allocationCap);
190
+ if (mode === 'multisig' && !multisig) {
191
+ throw new Error('If using multisig mode, multisig is required');
192
+ }
193
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
194
+ const reserveState = await lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
195
+ if (!reserveState) {
196
+ throw new Error('Reserve not found');
197
+ }
198
+ const reserveWithAddress = {
199
+ address: reserveAddress,
200
+ state: reserveState,
201
+ };
202
+ const firstReserveAllocationConfig = new lib_1.ReserveAllocationConfig(reserveWithAddress, allocationWeightValue, allocationCapDecimal);
203
+ const kaminoVault = new lib_1.KaminoVault(vaultAddress, undefined, env.kVaultProgramId);
204
+ const instructions = await kaminoManager.updateVaultReserveAllocationIxs(kaminoVault, firstReserveAllocationConfig);
205
+ const updateVaultAllocationSig = await processTxn(env.client, env.payer, [instructions], mode, 2500, []);
206
+ mode === 'execute' && console.log('Vault allocation updated:', updateVaultAllocationSig);
207
+ });
208
+ commands.command('get-oracle-mappings').action(async () => {
209
+ const env = initializeClient(false, false);
210
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
211
+ console.log('Getting oracle mappings');
212
+ const oracleConfigs = await kaminoManager.getScopeOracleConfigs();
213
+ console.log('oracleConfigs', JSON.parse(JSON.stringify(oracleConfigs)));
214
+ });
215
+ commands
216
+ .command('download-lending-market-config')
217
+ .requiredOption('--lending-market <string>', 'Lending Market Address')
218
+ .option(`--staging`, 'If true, will use the staging programs')
219
+ .action(async ({ lendingMarket, staging }) => {
220
+ const env = initializeClient(false, staging);
221
+ const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
222
+ const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
223
+ if (!lendingMarketState) {
224
+ throw new Error('Lending Market not found');
225
+ }
226
+ fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
227
+ const lendingMarketConfigForFile = lendingMarketState.toJSON();
228
+ fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
229
+ });
230
+ commands
231
+ .command('download-lending-market-config-and-all-reserves-configs')
232
+ .requiredOption('--lending-market <string>', 'Lending Market Address')
233
+ .option(`--staging`, 'If true, will use the staging programs')
234
+ .action(async ({ lendingMarket, staging }) => {
235
+ const env = initializeClient(false, staging);
236
+ const decoder = new TextDecoder('utf-8');
237
+ const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
238
+ const kaminoMarket = await lib_1.KaminoMarket.load(env.connection, lendingMarketAddress, lib_1.DEFAULT_RECENT_SLOT_DURATION_MS, env.kLendProgramId);
239
+ if (!kaminoMarket) {
240
+ throw new Error('Lending Market not found');
241
+ }
242
+ const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
243
+ if (!lendingMarketState) {
244
+ throw new Error('Lending Market not found');
245
+ }
246
+ fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
247
+ const lendingMarketConfigForFile = lendingMarketState.toJSON();
248
+ fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
249
+ kaminoMarket.reserves.forEach(async (reserve) => {
250
+ const reserveState = reserve.state;
156
251
  const reserveName = decoder.decode(Uint8Array.from(reserveState.config.tokenInfo.name)).replace(/\0/g, '');
157
252
  const reserveConfigDisplay = parseReserveConfigToFile(reserveState.config);
158
- fs.writeFileSync('./configs/' + reserveState.lendingMarket.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
159
- }));
160
- commands
161
- .command('create-vault')
162
- .requiredOption('--mint <string>', 'Vault token mint')
163
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
164
- .option(`--staging`, 'If true, will use the staging programs')
165
- .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
166
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ mint, mode, staging, multisig }) {
167
- const env = initializeClient(mode === 'multisig', staging);
168
- const tokenMint = new web3_js_1.PublicKey(mint);
169
- if (mode === 'multisig' && !multisig) {
170
- throw new Error('If using multisig mode, multisig is required');
171
- }
172
- const multisigPk = multisig ? new web3_js_1.PublicKey(multisig) : web3_js_1.PublicKey.default;
173
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
174
- const kaminoVaultConfig = new lib_1.KaminoVaultConfig({
175
- admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
176
- tokenMint: tokenMint,
177
- tokenMintProgramId: spl_token_1.TOKEN_PROGRAM_ID,
178
- performanceFeeRate: new decimal_js_1.default(0.0),
179
- managementFeeRate: new decimal_js_1.default(0.0),
180
- });
181
- const { vault: vaultKp, ixns: instructions } = yield kaminoManager.createVaultIxs(kaminoVaultConfig);
182
- const _createVaultSig = yield processTxn(env.client, env.payer, instructions, mode, 2500, [vaultKp]);
183
- mode === 'execute' && console.log('Vault created:', vaultKp.publicKey.toBase58());
184
- }));
185
- commands
186
- .command('update-vault-reserve-allocation')
187
- .requiredOption('--vault <string>', 'Vault address')
188
- .requiredOption('--reserve <string>', 'Reserve address')
189
- .requiredOption('--allocation-weight <number>', 'Allocation weight')
190
- .requiredOption('--allocation-cap <string>', 'Allocation cap decimal value')
191
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
192
- .option(`--staging`, 'If true, will use the staging programs')
193
- .option(`--multisig <string>`, 'If using multisig mode this is required, otherwise will be ignored')
194
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ vault, reserve, allocationWeight, allocationCap, mode, staging, multisig }) {
195
- const env = initializeClient(mode === 'multisig', staging);
196
- const reserveAddress = new web3_js_1.PublicKey(reserve);
197
- const vaultAddress = new web3_js_1.PublicKey(vault);
198
- const allocationWeightValue = Number(allocationWeight);
199
- const allocationCapDecimal = new decimal_js_1.default(allocationCap);
200
- if (mode === 'multisig' && !multisig) {
201
- throw new Error('If using multisig mode, multisig is required');
202
- }
203
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
204
- const reserveState = yield lib_1.Reserve.fetch(env.connection, reserveAddress, env.kLendProgramId);
205
- if (!reserveState) {
206
- throw new Error('Reserve not found');
207
- }
208
- const reserveWithAddress = {
209
- address: reserveAddress,
210
- state: reserveState,
211
- };
212
- const firstReserveAllocationConfig = new lib_1.ReserveAllocationConfig(reserveWithAddress, allocationWeightValue, allocationCapDecimal);
213
- const kaminoVault = new lib_1.KaminoVault(vaultAddress, undefined, env.kVaultProgramId);
214
- const instructions = yield kaminoManager.updateVaultReserveAllocationIxs(kaminoVault, firstReserveAllocationConfig);
215
- const updateVaultAllocationSig = yield processTxn(env.client, env.payer, [instructions], mode, 2500, []);
216
- mode === 'execute' && console.log('Vault allocation updated:', updateVaultAllocationSig);
217
- }));
218
- commands.command('get-oracle-mappings').action(() => __awaiter(this, void 0, void 0, function* () {
219
- const env = initializeClient(false, false);
220
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
221
- console.log('Getting oracle mappings');
222
- const oracleConfigs = yield kaminoManager.getScopeOracleConfigs();
223
- console.log('oracleConfigs', JSON.parse(JSON.stringify(oracleConfigs)));
224
- }));
225
- commands
226
- .command('download-lending-market-config')
227
- .requiredOption('--lending-market <string>', 'Lending Market Address')
228
- .option(`--staging`, 'If true, will use the staging programs')
229
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, staging }) {
230
- const env = initializeClient(false, staging);
231
- const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
232
- const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
233
- if (!lendingMarketState) {
234
- throw new Error('Lending Market not found');
235
- }
236
- fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
237
- const lendingMarketConfigForFile = lendingMarketState.toJSON();
238
- fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
239
- }));
240
- commands
241
- .command('download-lending-market-config-and-all-reserves-configs')
242
- .requiredOption('--lending-market <string>', 'Lending Market Address')
243
- .option(`--staging`, 'If true, will use the staging programs')
244
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, staging }) {
245
- const env = initializeClient(false, staging);
246
- const decoder = new TextDecoder('utf-8');
247
- const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
248
- const kaminoMarket = yield lib_1.KaminoMarket.load(env.connection, lendingMarketAddress, lib_1.DEFAULT_RECENT_SLOT_DURATION_MS, env.kLendProgramId);
249
- if (!kaminoMarket) {
250
- throw new Error('Lending Market not found');
251
- }
252
- const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
253
- if (!lendingMarketState) {
254
- throw new Error('Lending Market not found');
255
- }
256
- fs.mkdirSync('./configs/' + lendingMarketAddress.toBase58(), { recursive: true });
257
- const lendingMarketConfigForFile = lendingMarketState.toJSON();
258
- fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/market-' + lendingMarketAddress.toBase58() + '.json', JSON.stringify(lendingMarketConfigForFile, null, 2));
259
- kaminoMarket.reserves.forEach((reserve) => __awaiter(this, void 0, void 0, function* () {
260
- const reserveState = reserve.state;
261
- const reserveName = decoder.decode(Uint8Array.from(reserveState.config.tokenInfo.name)).replace(/\0/g, '');
262
- const reserveConfigDisplay = parseReserveConfigToFile(reserveState.config);
263
- fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
264
- }));
265
- }));
266
- commands
267
- .command('update-lending-market-from-config')
268
- .requiredOption('--lending-market <string>', 'Lending Market address')
269
- .requiredOption('--lending-market-config-path <string>', 'Path for the market config')
270
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
271
- .option(`--staging`, 'If true, will use the staging programs')
272
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, lendingMarketConfigPath, mode, staging }) {
273
- const env = initializeClient(mode === 'multisig', staging);
274
- const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
275
- const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
276
- if (!lendingMarketState) {
277
- throw new Error('Lending Market not found');
278
- }
279
- const marketWithAddress = {
280
- address: lendingMarketAddress,
281
- state: lendingMarketState,
282
- };
283
- if (mode === 'multisig') {
284
- throw new Error('If using multisig mode, multisig is required');
285
- }
286
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
287
- const newLendingMarket = lib_1.LendingMarket.fromJSON(JSON.parse(fs.readFileSync(lendingMarketConfigPath, 'utf8')));
288
- const ixns = kaminoManager.updateLendingMarketIxs(marketWithAddress, newLendingMarket);
289
- // executing 6 ixns in a txn to make sure they fit
290
- for (let ixnIndex = 0; ixnIndex < ixns.length; ixnIndex += 6) {
291
- const ixnToExecute = ixns.slice(ixnIndex, ixnIndex + 6);
292
- const _updateLendingMarketSig = yield processTxn(env.client, env.payer, ixnToExecute, mode, 2500, [], 400000);
293
- }
294
- mode === 'execute' &&
295
- console.log('Reserve Updated with new config -> ', JSON.parse(JSON.stringify(newLendingMarket)));
296
- }));
297
- commands
298
- .command('update-lending-market-owner')
299
- .requiredOption('--lending-market <string>', 'Lending Market address')
300
- .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
301
- .option(`--staging`, 'If true, will use the staging programs')
302
- .action((_a) => __awaiter(this, [_a], void 0, function* ({ lendingMarket, mode, staging }) {
303
- const env = initializeClient(mode === 'multisig', staging);
304
- const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
305
- const lendingMarketState = yield lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
306
- if (!lendingMarketState) {
307
- throw new Error('Lending Market not found');
308
- }
309
- const marketWithAddress = {
310
- address: lendingMarketAddress,
311
- state: lendingMarketState,
312
- };
313
- if (!lendingMarketState) {
314
- throw new Error('Lending Market not found');
315
- }
316
- if (mode === 'multisig') {
317
- throw new Error('If using multisig mode, multisig is required');
318
- }
319
- const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
320
- const ixn = kaminoManager.updateLendingMarketOwnerIxs(marketWithAddress);
321
- const _updateLendingMarketSig = yield processTxn(env.client, env.payer, [ixn], mode, 2500, [], 400000);
322
- mode === 'execute' &&
323
- console.log('Lending market admin updated to the new admin -> ', JSON.parse(JSON.stringify(lendingMarketState.lendingMarketOwnerCached)));
324
- }));
325
- yield commands.parseAsync();
253
+ fs.writeFileSync('./configs/' + lendingMarketAddress.toBase58() + '/' + reserveName + '.json', JSON.stringify(reserveConfigDisplay, null, 2));
254
+ });
255
+ });
256
+ commands
257
+ .command('update-lending-market-from-config')
258
+ .requiredOption('--lending-market <string>', 'Lending Market address')
259
+ .requiredOption('--lending-market-config-path <string>', 'Path for the market config')
260
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
261
+ .option(`--staging`, 'If true, will use the staging programs')
262
+ .action(async ({ lendingMarket, lendingMarketConfigPath, mode, staging }) => {
263
+ const env = initializeClient(mode === 'multisig', staging);
264
+ const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
265
+ const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
266
+ if (!lendingMarketState) {
267
+ throw new Error('Lending Market not found');
268
+ }
269
+ const marketWithAddress = {
270
+ address: lendingMarketAddress,
271
+ state: lendingMarketState,
272
+ };
273
+ if (mode === 'multisig') {
274
+ throw new Error('If using multisig mode, multisig is required');
275
+ }
276
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
277
+ const newLendingMarket = lib_1.LendingMarket.fromJSON(JSON.parse(fs.readFileSync(lendingMarketConfigPath, 'utf8')));
278
+ const ixns = kaminoManager.updateLendingMarketIxs(marketWithAddress, newLendingMarket);
279
+ // executing 6 ixns in a txn to make sure they fit
280
+ for (let ixnIndex = 0; ixnIndex < ixns.length; ixnIndex += 6) {
281
+ const ixnToExecute = ixns.slice(ixnIndex, ixnIndex + 6);
282
+ const _updateLendingMarketSig = await processTxn(env.client, env.payer, ixnToExecute, mode, 2500, [], 400_000);
283
+ }
284
+ mode === 'execute' &&
285
+ console.log('Reserve Updated with new config -> ', JSON.parse(JSON.stringify(newLendingMarket)));
286
+ });
287
+ commands
288
+ .command('update-lending-market-owner')
289
+ .requiredOption('--lending-market <string>', 'Lending Market address')
290
+ .requiredOption(`--mode <string>`, 'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage')
291
+ .option(`--staging`, 'If true, will use the staging programs')
292
+ .action(async ({ lendingMarket, mode, staging }) => {
293
+ const env = initializeClient(mode === 'multisig', staging);
294
+ const lendingMarketAddress = new web3_js_1.PublicKey(lendingMarket);
295
+ const lendingMarketState = await lib_1.LendingMarket.fetch(env.connection, lendingMarketAddress, env.kLendProgramId);
296
+ if (!lendingMarketState) {
297
+ throw new Error('Lending Market not found');
298
+ }
299
+ const marketWithAddress = {
300
+ address: lendingMarketAddress,
301
+ state: lendingMarketState,
302
+ };
303
+ if (!lendingMarketState) {
304
+ throw new Error('Lending Market not found');
305
+ }
306
+ if (mode === 'multisig') {
307
+ throw new Error('If using multisig mode, multisig is required');
308
+ }
309
+ const kaminoManager = new lib_1.KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
310
+ const ixn = kaminoManager.updateLendingMarketOwnerIxs(marketWithAddress);
311
+ const _updateLendingMarketSig = await processTxn(env.client, env.payer, [ixn], mode, 2500, [], 400_000);
312
+ mode === 'execute' &&
313
+ console.log('Lending market admin updated to the new admin -> ', JSON.parse(JSON.stringify(lendingMarketState.lendingMarketOwnerCached)));
326
314
  });
315
+ await commands.parseAsync();
327
316
  }
328
317
  main()
329
318
  .then(() => {
@@ -377,55 +366,53 @@ function setUpProgram(args) {
377
366
  kVaultProgramId: args.kVaultProgramId,
378
367
  };
379
368
  }
380
- function processTxn(web3Client_1, admin_1, ixns_1, mode_1) {
381
- return __awaiter(this, arguments, void 0, function* (web3Client, admin, ixns, mode, priorityFeeMultiplier = 2500, extraSigners, computeUnits = 200000, priorityFeeLamports = 1000) {
382
- if (mode !== 'inspect' && mode !== 'simulate' && mode !== 'execute' && mode !== 'multisig') {
383
- throw new Error('Invalid mode: ' + mode + '. Must be one of: inspect/simulate/execute/multisig');
369
+ async function processTxn(web3Client, admin, ixns, mode, priorityFeeMultiplier = 2500, extraSigners, computeUnits = 200_000, priorityFeeLamports = 1000) {
370
+ if (mode !== 'inspect' && mode !== 'simulate' && mode !== 'execute' && mode !== 'multisig') {
371
+ throw new Error('Invalid mode: ' + mode + '. Must be one of: inspect/simulate/execute/multisig');
372
+ }
373
+ if (mode === 'multisig') {
374
+ const { blockhash } = await web3Client.connection.getLatestBlockhash();
375
+ const txn = new web3_js_1.Transaction();
376
+ txn.add(...ixns);
377
+ txn.recentBlockhash = blockhash;
378
+ txn.feePayer = admin.publicKey;
379
+ console.log((0, base58_js_1.binary_to_base58)(txn.serializeMessage()));
380
+ return '';
381
+ }
382
+ else {
383
+ const microLamport = priorityFeeLamports * 10 ** 6; // 1000 lamports
384
+ const microLamportsPrioritizationFee = microLamport / computeUnits;
385
+ const tx = new web3_js_1.Transaction();
386
+ const { blockhash } = await web3Client.connection.getLatestBlockhash();
387
+ if (priorityFeeMultiplier) {
388
+ const priorityFeeIxn = createAddExtraComputeUnitFeeTransaction(computeUnits, microLamportsPrioritizationFee * priorityFeeMultiplier);
389
+ tx.add(...priorityFeeIxn);
384
390
  }
385
- if (mode === 'multisig') {
386
- const { blockhash } = yield web3Client.connection.getLatestBlockhash();
387
- const txn = new web3_js_1.Transaction();
388
- txn.add(...ixns);
389
- txn.recentBlockhash = blockhash;
390
- txn.feePayer = admin.publicKey;
391
- console.log((0, base58_js_1.binary_to_base58)(txn.serializeMessage()));
392
- return '';
391
+ tx.recentBlockhash = blockhash;
392
+ tx.feePayer = admin.publicKey;
393
+ tx.add(...ixns);
394
+ if (mode === 'execute') {
395
+ return await (0, lib_1.signSendAndConfirmRawTransactionWithRetry)({
396
+ mainConnection: web3Client.sendConnection,
397
+ extraConnections: [],
398
+ tx: new web3_js_1.VersionedTransaction(tx.compileMessage()),
399
+ signers: [admin, ...extraSigners],
400
+ commitment: 'confirmed',
401
+ sendTransactionOptions: {
402
+ skipPreflight: true,
403
+ preflightCommitment: 'confirmed',
404
+ },
405
+ });
393
406
  }
394
- else {
395
- const microLamport = priorityFeeLamports * Math.pow(10, 6); // 1000 lamports
396
- const microLamportsPrioritizationFee = microLamport / computeUnits;
397
- const tx = new web3_js_1.Transaction();
398
- const { blockhash } = yield web3Client.connection.getLatestBlockhash();
399
- if (priorityFeeMultiplier) {
400
- const priorityFeeIxn = createAddExtraComputeUnitFeeTransaction(computeUnits, microLamportsPrioritizationFee * priorityFeeMultiplier);
401
- tx.add(...priorityFeeIxn);
402
- }
403
- tx.recentBlockhash = blockhash;
404
- tx.feePayer = admin.publicKey;
405
- tx.add(...ixns);
406
- if (mode === 'execute') {
407
- return yield (0, lib_1.signSendAndConfirmRawTransactionWithRetry)({
408
- mainConnection: web3Client.sendConnection,
409
- extraConnections: [],
410
- tx: new web3_js_1.VersionedTransaction(tx.compileMessage()),
411
- signers: [admin, ...extraSigners],
412
- commitment: 'confirmed',
413
- sendTransactionOptions: {
414
- skipPreflight: true,
415
- preflightCommitment: 'confirmed',
416
- },
417
- });
418
- }
419
- else if (mode === 'simulate') {
420
- const simulation = yield web3Client.sendConnection.simulateTransaction(new web3_js_1.VersionedTransaction(tx.compileMessage()));
421
- console.log('Simulation: \n' + simulation.value.logs);
422
- }
423
- else if (mode === 'inspect') {
424
- console.log('Tx in B64', `https://explorer.solana.com/tx/inspector?message=${encodeURIComponent(tx.serializeMessage().toString('base64'))}`);
425
- }
426
- return '';
407
+ else if (mode === 'simulate') {
408
+ const simulation = await web3Client.sendConnection.simulateTransaction(new web3_js_1.VersionedTransaction(tx.compileMessage()));
409
+ console.log('Simulation: \n' + simulation.value.logs);
427
410
  }
428
- });
411
+ else if (mode === 'inspect') {
412
+ console.log('Tx in B64', `https://explorer.solana.com/tx/inspector?message=${encodeURIComponent(tx.serializeMessage().toString('base64'))}`);
413
+ }
414
+ return '';
415
+ }
429
416
  }
430
417
  function createAddExtraComputeUnitFeeTransaction(units, microLamports) {
431
418
  const ixns = [];
@@ -451,11 +438,21 @@ function parseReserveConfigFromFile(farmConfigFromFile) {
451
438
  },
452
439
  depositLimit: new anchor_1.BN(farmConfigFromFile.depositLimit),
453
440
  borrowLimit: new anchor_1.BN(farmConfigFromFile.borrowLimit),
454
- tokenInfo: Object.assign(Object.assign({ name: (0, lib_1.encodeTokenName)(farmConfigFromFile.tokenInfo.name), heuristic: new types_1.PriceHeuristic({
441
+ tokenInfo: {
442
+ name: (0, lib_1.encodeTokenName)(farmConfigFromFile.tokenInfo.name),
443
+ heuristic: new types_1.PriceHeuristic({
455
444
  lower: new anchor_1.BN(farmConfigFromFile.tokenInfo.heuristic.lower),
456
445
  upper: new anchor_1.BN(farmConfigFromFile.tokenInfo.heuristic.upper),
457
446
  exp: new anchor_1.BN(farmConfigFromFile.tokenInfo.heuristic.exp),
458
- }), maxTwapDivergenceBps: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxTwapDivergenceBps), maxAgePriceSeconds: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxAgePriceSeconds), maxAgeTwapSeconds: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxAgeTwapSeconds) }, parseOracleConfiguration(farmConfigFromFile)), { blockPriceUsage: farmConfigFromFile.tokenInfo.blockPriceUsage, reserved: Array(7).fill(0), padding: Array(19).fill(new anchor_1.BN(0)) }),
447
+ }),
448
+ maxTwapDivergenceBps: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxTwapDivergenceBps),
449
+ maxAgePriceSeconds: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxAgePriceSeconds),
450
+ maxAgeTwapSeconds: new anchor_1.BN(farmConfigFromFile.tokenInfo.maxAgeTwapSeconds),
451
+ ...parseOracleConfiguration(farmConfigFromFile),
452
+ blockPriceUsage: farmConfigFromFile.tokenInfo.blockPriceUsage,
453
+ reserved: Array(7).fill(0),
454
+ padding: Array(19).fill(new anchor_1.BN(0)),
455
+ },
459
456
  borrowRateCurve: parseBorrowRateCurve(farmConfigFromFile),
460
457
  depositWithdrawalCap: new types_1.WithdrawalCaps({
461
458
  configCapacity: new anchor_1.BN(farmConfigFromFile.depositWithdrawalCap.configCapacity),