@kamino-finance/klend-sdk 2.10.6

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 (369) hide show
  1. package/README.md +85 -0
  2. package/dist/classes/action.d.ts +154 -0
  3. package/dist/classes/action.js +1505 -0
  4. package/dist/classes/action.js.map +1 -0
  5. package/dist/classes/curve.d.ts +15 -0
  6. package/dist/classes/curve.js +32 -0
  7. package/dist/classes/curve.js.map +1 -0
  8. package/dist/classes/fraction.d.ts +23 -0
  9. package/dist/classes/fraction.js +60 -0
  10. package/dist/classes/fraction.js.map +1 -0
  11. package/dist/classes/index.d.ts +8 -0
  12. package/dist/classes/index.js +25 -0
  13. package/dist/classes/index.js.map +1 -0
  14. package/dist/classes/jupiterPerps.d.ts +2 -0
  15. package/dist/classes/jupiterPerps.js +25 -0
  16. package/dist/classes/jupiterPerps.js.map +1 -0
  17. package/dist/classes/market.d.ts +140 -0
  18. package/dist/classes/market.js +901 -0
  19. package/dist/classes/market.js.map +1 -0
  20. package/dist/classes/obligation.d.ts +170 -0
  21. package/dist/classes/obligation.js +610 -0
  22. package/dist/classes/obligation.js.map +1 -0
  23. package/dist/classes/reserve.d.ts +161 -0
  24. package/dist/classes/reserve.js +474 -0
  25. package/dist/classes/reserve.js.map +1 -0
  26. package/dist/classes/shared.d.ts +41 -0
  27. package/dist/classes/shared.js +10 -0
  28. package/dist/classes/shared.js.map +1 -0
  29. package/dist/classes/utils.d.ts +40 -0
  30. package/dist/classes/utils.js +129 -0
  31. package/dist/classes/utils.js.map +1 -0
  32. package/dist/idl.json +4102 -0
  33. package/dist/idl_codegen/accounts/LendingMarket.d.ts +153 -0
  34. package/dist/idl_codegen/accounts/LendingMarket.js +204 -0
  35. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -0
  36. package/dist/idl_codegen/accounts/Obligation.d.ts +139 -0
  37. package/dist/idl_codegen/accounts/Obligation.js +193 -0
  38. package/dist/idl_codegen/accounts/Obligation.js.map +1 -0
  39. package/dist/idl_codegen/accounts/ReferrerState.d.ts +22 -0
  40. package/dist/idl_codegen/accounts/ReferrerState.js +101 -0
  41. package/dist/idl_codegen/accounts/ReferrerState.js.map +1 -0
  42. package/dist/idl_codegen/accounts/ReferrerTokenState.d.ts +51 -0
  43. package/dist/idl_codegen/accounts/ReferrerTokenState.js +126 -0
  44. package/dist/idl_codegen/accounts/ReferrerTokenState.js.map +1 -0
  45. package/dist/idl_codegen/accounts/Reserve.d.ts +72 -0
  46. package/dist/idl_codegen/accounts/Reserve.js +156 -0
  47. package/dist/idl_codegen/accounts/Reserve.js.map +1 -0
  48. package/dist/idl_codegen/accounts/ShortUrl.d.ts +22 -0
  49. package/dist/idl_codegen/accounts/ShortUrl.js +101 -0
  50. package/dist/idl_codegen/accounts/ShortUrl.js.map +1 -0
  51. package/dist/idl_codegen/accounts/UserMetadata.d.ts +48 -0
  52. package/dist/idl_codegen/accounts/UserMetadata.js +126 -0
  53. package/dist/idl_codegen/accounts/UserMetadata.js.map +1 -0
  54. package/dist/idl_codegen/accounts/UserState.d.ts +143 -0
  55. package/dist/idl_codegen/accounts/UserState.js +180 -0
  56. package/dist/idl_codegen/accounts/UserState.js.map +1 -0
  57. package/dist/idl_codegen/accounts/index.d.ts +16 -0
  58. package/dist/idl_codegen/accounts/index.js +20 -0
  59. package/dist/idl_codegen/accounts/index.js.map +1 -0
  60. package/dist/idl_codegen/errors/anchor.d.ts +434 -0
  61. package/dist/idl_codegen/errors/anchor.js +713 -0
  62. package/dist/idl_codegen/errors/anchor.js.map +1 -0
  63. package/dist/idl_codegen/errors/custom.d.ts +730 -0
  64. package/dist/idl_codegen/errors/custom.js +1194 -0
  65. package/dist/idl_codegen/errors/custom.js.map +1 -0
  66. package/dist/idl_codegen/errors/index.d.ts +5 -0
  67. package/dist/idl_codegen/errors/index.js +71 -0
  68. package/dist/idl_codegen/errors/index.js.map +1 -0
  69. package/dist/idl_codegen/instructions/borrowObligationLiquidity.d.ts +20 -0
  70. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js +75 -0
  71. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -0
  72. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.d.ts +9 -0
  73. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js +20 -0
  74. package/dist/idl_codegen/instructions/deleteReferrerStateAndShortUrl.js.map +1 -0
  75. package/dist/idl_codegen/instructions/depositObligationCollateral.d.ts +17 -0
  76. package/dist/idl_codegen/instructions/depositObligationCollateral.js +64 -0
  77. package/dist/idl_codegen/instructions/depositObligationCollateral.js.map +1 -0
  78. package/dist/idl_codegen/instructions/depositReserveLiquidity.d.ts +19 -0
  79. package/dist/idl_codegen/instructions/depositReserveLiquidity.js +74 -0
  80. package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -0
  81. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +21 -0
  82. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js +80 -0
  83. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -0
  84. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.d.ts +20 -0
  85. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js +75 -0
  86. package/dist/idl_codegen/instructions/flashBorrowReserveLiquidity.js.map +1 -0
  87. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.d.ts +21 -0
  88. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js +75 -0
  89. package/dist/idl_codegen/instructions/flashRepayReserveLiquidity.js.map +1 -0
  90. package/dist/idl_codegen/instructions/idlMissingTypes.d.ts +18 -0
  91. package/dist/idl_codegen/instructions/idlMissingTypes.js +62 -0
  92. package/dist/idl_codegen/instructions/idlMissingTypes.js.map +1 -0
  93. package/dist/idl_codegen/instructions/index.d.ts +66 -0
  94. package/dist/idl_codegen/instructions/index.js +70 -0
  95. package/dist/idl_codegen/instructions/index.js.map +1 -0
  96. package/dist/idl_codegen/instructions/initFarmsForReserve.d.ts +19 -0
  97. package/dist/idl_codegen/instructions/initFarmsForReserve.js +63 -0
  98. package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -0
  99. package/dist/idl_codegen/instructions/initLendingMarket.d.ts +13 -0
  100. package/dist/idl_codegen/instructions/initLendingMarket.js +55 -0
  101. package/dist/idl_codegen/instructions/initLendingMarket.js.map +1 -0
  102. package/dist/idl_codegen/instructions/initObligation.d.ts +19 -0
  103. package/dist/idl_codegen/instructions/initObligation.js +55 -0
  104. package/dist/idl_codegen/instructions/initObligation.js.map +1 -0
  105. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.d.ts +20 -0
  106. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js +60 -0
  107. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -0
  108. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.d.ts +14 -0
  109. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js +54 -0
  110. package/dist/idl_codegen/instructions/initReferrerStateAndShortUrl.js.map +1 -0
  111. package/dist/idl_codegen/instructions/initReferrerTokenState.d.ts +14 -0
  112. package/dist/idl_codegen/instructions/initReferrerTokenState.js +50 -0
  113. package/dist/idl_codegen/instructions/initReferrerTokenState.js.map +1 -0
  114. package/dist/idl_codegen/instructions/initReserve.d.ts +16 -0
  115. package/dist/idl_codegen/instructions/initReserve.js +47 -0
  116. package/dist/idl_codegen/instructions/initReserve.js.map +1 -0
  117. package/dist/idl_codegen/instructions/initUserMetadata.d.ts +14 -0
  118. package/dist/idl_codegen/instructions/initUserMetadata.js +54 -0
  119. package/dist/idl_codegen/instructions/initUserMetadata.js.map +1 -0
  120. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +27 -0
  121. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js +102 -0
  122. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -0
  123. package/dist/idl_codegen/instructions/redeemFees.d.ts +10 -0
  124. package/dist/idl_codegen/instructions/redeemFees.js +33 -0
  125. package/dist/idl_codegen/instructions/redeemFees.js.map +1 -0
  126. package/dist/idl_codegen/instructions/redeemReserveCollateral.d.ts +19 -0
  127. package/dist/idl_codegen/instructions/redeemReserveCollateral.js +78 -0
  128. package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -0
  129. package/dist/idl_codegen/instructions/refreshObligation.d.ts +6 -0
  130. package/dist/idl_codegen/instructions/refreshObligation.js +17 -0
  131. package/dist/idl_codegen/instructions/refreshObligation.js.map +1 -0
  132. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.d.ts +19 -0
  133. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js +63 -0
  134. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -0
  135. package/dist/idl_codegen/instructions/refreshReserve.d.ts +10 -0
  136. package/dist/idl_codegen/instructions/refreshReserve.js +29 -0
  137. package/dist/idl_codegen/instructions/refreshReserve.js.map +1 -0
  138. package/dist/idl_codegen/instructions/repayObligationLiquidity.d.ts +17 -0
  139. package/dist/idl_codegen/instructions/repayObligationLiquidity.js +60 -0
  140. package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -0
  141. package/dist/idl_codegen/instructions/requestElevationGroup.d.ts +11 -0
  142. package/dist/idl_codegen/instructions/requestElevationGroup.js +47 -0
  143. package/dist/idl_codegen/instructions/requestElevationGroup.js.map +1 -0
  144. package/dist/idl_codegen/instructions/socializeLoss.d.ts +14 -0
  145. package/dist/idl_codegen/instructions/socializeLoss.js +53 -0
  146. package/dist/idl_codegen/instructions/socializeLoss.js.map +1 -0
  147. package/dist/idl_codegen/instructions/updateEntireReserveConfig.d.ts +13 -0
  148. package/dist/idl_codegen/instructions/updateEntireReserveConfig.js +51 -0
  149. package/dist/idl_codegen/instructions/updateEntireReserveConfig.js.map +1 -0
  150. package/dist/idl_codegen/instructions/updateLendingMarket.d.ts +12 -0
  151. package/dist/idl_codegen/instructions/updateLendingMarket.js +50 -0
  152. package/dist/idl_codegen/instructions/updateLendingMarket.js.map +1 -0
  153. package/dist/idl_codegen/instructions/updateLendingMarketOwner.d.ts +6 -0
  154. package/dist/idl_codegen/instructions/updateLendingMarketOwner.js +21 -0
  155. package/dist/idl_codegen/instructions/updateLendingMarketOwner.js.map +1 -0
  156. package/dist/idl_codegen/instructions/updateReserveConfig.d.ts +13 -0
  157. package/dist/idl_codegen/instructions/updateReserveConfig.js +51 -0
  158. package/dist/idl_codegen/instructions/updateReserveConfig.js.map +1 -0
  159. package/dist/idl_codegen/instructions/updateSingleReserveConfig.d.ts +13 -0
  160. package/dist/idl_codegen/instructions/updateSingleReserveConfig.js +51 -0
  161. package/dist/idl_codegen/instructions/updateSingleReserveConfig.js.map +1 -0
  162. package/dist/idl_codegen/instructions/withdrawObligationCollateral.d.ts +18 -0
  163. package/dist/idl_codegen/instructions/withdrawObligationCollateral.js +69 -0
  164. package/dist/idl_codegen/instructions/withdrawObligationCollateral.js.map +1 -0
  165. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +21 -0
  166. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +84 -0
  167. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -0
  168. package/dist/idl_codegen/instructions/withdrawProtocolFee.d.ts +16 -0
  169. package/dist/idl_codegen/instructions/withdrawProtocolFee.js +59 -0
  170. package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -0
  171. package/dist/idl_codegen/instructions/withdrawReferrerFees.d.ts +12 -0
  172. package/dist/idl_codegen/instructions/withdrawReferrerFees.js +35 -0
  173. package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -0
  174. package/dist/idl_codegen/programId.d.ts +4 -0
  175. package/dist/idl_codegen/programId.js +13 -0
  176. package/dist/idl_codegen/programId.js.map +1 -0
  177. package/dist/idl_codegen/types/AssetTier.d.ts +44 -0
  178. package/dist/idl_codegen/types/AssetTier.js +128 -0
  179. package/dist/idl_codegen/types/AssetTier.js.map +1 -0
  180. package/dist/idl_codegen/types/BigFractionBytes.d.ts +27 -0
  181. package/dist/idl_codegen/types/BigFractionBytes.js +73 -0
  182. package/dist/idl_codegen/types/BigFractionBytes.js.map +1 -0
  183. package/dist/idl_codegen/types/BorrowRateCurve.d.ts +27 -0
  184. package/dist/idl_codegen/types/BorrowRateCurve.js +62 -0
  185. package/dist/idl_codegen/types/BorrowRateCurve.js.map +1 -0
  186. package/dist/idl_codegen/types/CurvePoint.d.ts +26 -0
  187. package/dist/idl_codegen/types/CurvePoint.js +66 -0
  188. package/dist/idl_codegen/types/CurvePoint.js.map +1 -0
  189. package/dist/idl_codegen/types/ElevationGroup.d.ts +52 -0
  190. package/dist/idl_codegen/types/ElevationGroup.js +103 -0
  191. package/dist/idl_codegen/types/ElevationGroup.js.map +1 -0
  192. package/dist/idl_codegen/types/FeeCalculation.d.ts +31 -0
  193. package/dist/idl_codegen/types/FeeCalculation.js +102 -0
  194. package/dist/idl_codegen/types/FeeCalculation.js.map +1 -0
  195. package/dist/idl_codegen/types/InitObligationArgs.d.ts +26 -0
  196. package/dist/idl_codegen/types/InitObligationArgs.js +66 -0
  197. package/dist/idl_codegen/types/InitObligationArgs.js.map +1 -0
  198. package/dist/idl_codegen/types/LastUpdate.d.ts +47 -0
  199. package/dist/idl_codegen/types/LastUpdate.js +86 -0
  200. package/dist/idl_codegen/types/LastUpdate.js.map +1 -0
  201. package/dist/idl_codegen/types/ObligationCollateral.d.ts +48 -0
  202. package/dist/idl_codegen/types/ObligationCollateral.js +87 -0
  203. package/dist/idl_codegen/types/ObligationCollateral.js.map +1 -0
  204. package/dist/idl_codegen/types/ObligationLiquidity.d.ts +75 -0
  205. package/dist/idl_codegen/types/ObligationLiquidity.js +107 -0
  206. package/dist/idl_codegen/types/ObligationLiquidity.js.map +1 -0
  207. package/dist/idl_codegen/types/PriceHeuristic.d.ts +41 -0
  208. package/dist/idl_codegen/types/PriceHeuristic.js +75 -0
  209. package/dist/idl_codegen/types/PriceHeuristic.js.map +1 -0
  210. package/dist/idl_codegen/types/PythConfiguration.d.ts +25 -0
  211. package/dist/idl_codegen/types/PythConfiguration.js +62 -0
  212. package/dist/idl_codegen/types/PythConfiguration.js.map +1 -0
  213. package/dist/idl_codegen/types/ReserveCollateral.d.ts +53 -0
  214. package/dist/idl_codegen/types/ReserveCollateral.js +93 -0
  215. package/dist/idl_codegen/types/ReserveCollateral.js.map +1 -0
  216. package/dist/idl_codegen/types/ReserveConfig.d.ts +304 -0
  217. package/dist/idl_codegen/types/ReserveConfig.js +209 -0
  218. package/dist/idl_codegen/types/ReserveConfig.js.map +1 -0
  219. package/dist/idl_codegen/types/ReserveFarmKind.d.ts +31 -0
  220. package/dist/idl_codegen/types/ReserveFarmKind.js +102 -0
  221. package/dist/idl_codegen/types/ReserveFarmKind.js.map +1 -0
  222. package/dist/idl_codegen/types/ReserveFees.d.ts +78 -0
  223. package/dist/idl_codegen/types/ReserveFees.js +86 -0
  224. package/dist/idl_codegen/types/ReserveFees.js.map +1 -0
  225. package/dist/idl_codegen/types/ReserveLiquidity.d.ts +173 -0
  226. package/dist/idl_codegen/types/ReserveLiquidity.js +166 -0
  227. package/dist/idl_codegen/types/ReserveLiquidity.js.map +1 -0
  228. package/dist/idl_codegen/types/ReserveStatus.d.ts +44 -0
  229. package/dist/idl_codegen/types/ReserveStatus.js +128 -0
  230. package/dist/idl_codegen/types/ReserveStatus.js.map +1 -0
  231. package/dist/idl_codegen/types/ScopeConfiguration.d.ts +41 -0
  232. package/dist/idl_codegen/types/ScopeConfiguration.js +76 -0
  233. package/dist/idl_codegen/types/ScopeConfiguration.js.map +1 -0
  234. package/dist/idl_codegen/types/SwitchboardConfiguration.d.ts +30 -0
  235. package/dist/idl_codegen/types/SwitchboardConfiguration.js +67 -0
  236. package/dist/idl_codegen/types/SwitchboardConfiguration.js.map +1 -0
  237. package/dist/idl_codegen/types/TokenInfo.d.ts +109 -0
  238. package/dist/idl_codegen/types/TokenInfo.js +116 -0
  239. package/dist/idl_codegen/types/TokenInfo.js.map +1 -0
  240. package/dist/idl_codegen/types/UpdateConfigMode.d.ts +538 -0
  241. package/dist/idl_codegen/types/UpdateConfigMode.js +1116 -0
  242. package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -0
  243. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +155 -0
  244. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +273 -0
  245. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -0
  246. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +200 -0
  247. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +440 -0
  248. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -0
  249. package/dist/idl_codegen/types/WithdrawalCaps.d.ts +38 -0
  250. package/dist/idl_codegen/types/WithdrawalCaps.js +86 -0
  251. package/dist/idl_codegen/types/WithdrawalCaps.js.map +1 -0
  252. package/dist/idl_codegen/types/index.d.ts +65 -0
  253. package/dist/idl_codegen/types/index.js +77 -0
  254. package/dist/idl_codegen/types/index.js.map +1 -0
  255. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +53 -0
  256. package/dist/idl_codegen/zero_padding/ObligationZP.js +140 -0
  257. package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -0
  258. package/dist/idl_codegen/zero_padding/index.d.ts +1 -0
  259. package/dist/idl_codegen/zero_padding/index.js +6 -0
  260. package/dist/idl_codegen/zero_padding/index.js.map +1 -0
  261. package/dist/idl_codegen_jupiter_perps/accounts/Pool.d.ts +48 -0
  262. package/dist/idl_codegen_jupiter_perps/accounts/Pool.js +144 -0
  263. package/dist/idl_codegen_jupiter_perps/accounts/Pool.js.map +1 -0
  264. package/dist/idl_codegen_jupiter_perps/accounts/index.d.ts +2 -0
  265. package/dist/idl_codegen_jupiter_perps/accounts/index.js +6 -0
  266. package/dist/idl_codegen_jupiter_perps/accounts/index.js.map +1 -0
  267. package/dist/idl_codegen_jupiter_perps/programId.d.ts +3 -0
  268. package/dist/idl_codegen_jupiter_perps/programId.js +9 -0
  269. package/dist/idl_codegen_jupiter_perps/programId.js.map +1 -0
  270. package/dist/idl_codegen_jupiter_perps/types/Fees.d.ts +62 -0
  271. package/dist/idl_codegen_jupiter_perps/types/Fees.js +115 -0
  272. package/dist/idl_codegen_jupiter_perps/types/Fees.js.map +1 -0
  273. package/dist/idl_codegen_jupiter_perps/types/Limit.d.ts +32 -0
  274. package/dist/idl_codegen_jupiter_perps/types/Limit.js +75 -0
  275. package/dist/idl_codegen_jupiter_perps/types/Limit.js.map +1 -0
  276. package/dist/idl_codegen_jupiter_perps/types/PoolApr.d.ts +32 -0
  277. package/dist/idl_codegen_jupiter_perps/types/PoolApr.js +75 -0
  278. package/dist/idl_codegen_jupiter_perps/types/PoolApr.js.map +1 -0
  279. package/dist/idl_codegen_jupiter_perps/types/index.d.ts +6 -0
  280. package/dist/idl_codegen_jupiter_perps/types/index.js +10 -0
  281. package/dist/idl_codegen_jupiter_perps/types/index.js.map +1 -0
  282. package/dist/index.d.ts +1 -0
  283. package/dist/index.js +18 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/lending_operations/index.d.ts +2 -0
  286. package/dist/lending_operations/index.js +19 -0
  287. package/dist/lending_operations/index.js.map +1 -0
  288. package/dist/lending_operations/repay_with_collateral_calcs.d.ts +5 -0
  289. package/dist/lending_operations/repay_with_collateral_calcs.js +26 -0
  290. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -0
  291. package/dist/lending_operations/repay_with_collateral_operations.d.ts +47 -0
  292. package/dist/lending_operations/repay_with_collateral_operations.js +163 -0
  293. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -0
  294. package/dist/leverage/calcs.d.ts +132 -0
  295. package/dist/leverage/calcs.js +291 -0
  296. package/dist/leverage/calcs.js.map +1 -0
  297. package/dist/leverage/index.d.ts +4 -0
  298. package/dist/leverage/index.js +21 -0
  299. package/dist/leverage/index.js.map +1 -0
  300. package/dist/leverage/instructions.d.ts +43 -0
  301. package/dist/leverage/instructions.js +103 -0
  302. package/dist/leverage/instructions.js.map +1 -0
  303. package/dist/leverage/operations.d.ts +231 -0
  304. package/dist/leverage/operations.js +1058 -0
  305. package/dist/leverage/operations.js.map +1 -0
  306. package/dist/leverage/utils.d.ts +22 -0
  307. package/dist/leverage/utils.js +144 -0
  308. package/dist/leverage/utils.js.map +1 -0
  309. package/dist/lib.d.ts +9 -0
  310. package/dist/lib.js +26 -0
  311. package/dist/lib.js.map +1 -0
  312. package/dist/referrals/index.d.ts +2 -0
  313. package/dist/referrals/index.js +19 -0
  314. package/dist/referrals/index.js.map +1 -0
  315. package/dist/referrals/instructions.d.ts +16 -0
  316. package/dist/referrals/instructions.js +76 -0
  317. package/dist/referrals/instructions.js.map +1 -0
  318. package/dist/referrals/operations.d.ts +97 -0
  319. package/dist/referrals/operations.js +258 -0
  320. package/dist/referrals/operations.js.map +1 -0
  321. package/dist/utils/ObligationType.d.ts +49 -0
  322. package/dist/utils/ObligationType.js +129 -0
  323. package/dist/utils/ObligationType.js.map +1 -0
  324. package/dist/utils/api.d.ts +6 -0
  325. package/dist/utils/api.js +61 -0
  326. package/dist/utils/api.js.map +1 -0
  327. package/dist/utils/ata.d.ts +25 -0
  328. package/dist/utils/ata.js +155 -0
  329. package/dist/utils/ata.js.map +1 -0
  330. package/dist/utils/constants.d.ts +48 -0
  331. package/dist/utils/constants.js +75 -0
  332. package/dist/utils/constants.js.map +1 -0
  333. package/dist/utils/idl.d.ts +2 -0
  334. package/dist/utils/idl.js +9 -0
  335. package/dist/utils/idl.js.map +1 -0
  336. package/dist/utils/index.d.ts +14 -0
  337. package/dist/utils/index.js +31 -0
  338. package/dist/utils/index.js.map +1 -0
  339. package/dist/utils/instruction.d.ts +22 -0
  340. package/dist/utils/instruction.js +202 -0
  341. package/dist/utils/instruction.js.map +1 -0
  342. package/dist/utils/kamino.d.ts +3 -0
  343. package/dist/utils/kamino.js +45 -0
  344. package/dist/utils/kamino.js.map +1 -0
  345. package/dist/utils/layout.d.ts +13 -0
  346. package/dist/utils/layout.js +123 -0
  347. package/dist/utils/layout.js.map +1 -0
  348. package/dist/utils/lookupTable.d.ts +5 -0
  349. package/dist/utils/lookupTable.js +57 -0
  350. package/dist/utils/lookupTable.js.map +1 -0
  351. package/dist/utils/oracle.d.ts +51 -0
  352. package/dist/utils/oracle.js +295 -0
  353. package/dist/utils/oracle.js.map +1 -0
  354. package/dist/utils/pubkey.d.ts +74 -0
  355. package/dist/utils/pubkey.js +229 -0
  356. package/dist/utils/pubkey.js.map +1 -0
  357. package/dist/utils/seeds.d.ts +122 -0
  358. package/dist/utils/seeds.js +153 -0
  359. package/dist/utils/seeds.js.map +1 -0
  360. package/dist/utils/slots.d.ts +18 -0
  361. package/dist/utils/slots.js +32 -0
  362. package/dist/utils/slots.js.map +1 -0
  363. package/dist/utils/syncNative.d.ts +10 -0
  364. package/dist/utils/syncNative.js +46 -0
  365. package/dist/utils/syncNative.js.map +1 -0
  366. package/dist/utils/userMetadata.d.ts +15 -0
  367. package/dist/utils/userMetadata.js +259 -0
  368. package/dist/utils/userMetadata.js.map +1 -0
  369. package/package.json +94 -0
@@ -0,0 +1,109 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import BN from "bn.js";
3
+ import * as types from "../types";
4
+ export interface TokenInfoFields {
5
+ /** UTF-8 encoded name of the token (null-terminated) */
6
+ name: Array<number>;
7
+ /** Heuristics limits of acceptable price */
8
+ heuristic: types.PriceHeuristicFields;
9
+ /** Max divergence between twap and price in bps */
10
+ maxTwapDivergenceBps: BN;
11
+ maxAgePriceSeconds: BN;
12
+ maxAgeTwapSeconds: BN;
13
+ /** Scope price configuration */
14
+ scopeConfiguration: types.ScopeConfigurationFields;
15
+ /** Switchboard configuration */
16
+ switchboardConfiguration: types.SwitchboardConfigurationFields;
17
+ /** Pyth configuration */
18
+ pythConfiguration: types.PythConfigurationFields;
19
+ padding: Array<BN>;
20
+ }
21
+ export interface TokenInfoJSON {
22
+ /** UTF-8 encoded name of the token (null-terminated) */
23
+ name: Array<number>;
24
+ /** Heuristics limits of acceptable price */
25
+ heuristic: types.PriceHeuristicJSON;
26
+ /** Max divergence between twap and price in bps */
27
+ maxTwapDivergenceBps: string;
28
+ maxAgePriceSeconds: string;
29
+ maxAgeTwapSeconds: string;
30
+ /** Scope price configuration */
31
+ scopeConfiguration: types.ScopeConfigurationJSON;
32
+ /** Switchboard configuration */
33
+ switchboardConfiguration: types.SwitchboardConfigurationJSON;
34
+ /** Pyth configuration */
35
+ pythConfiguration: types.PythConfigurationJSON;
36
+ padding: Array<string>;
37
+ }
38
+ export declare class TokenInfo {
39
+ /** UTF-8 encoded name of the token (null-terminated) */
40
+ readonly name: Array<number>;
41
+ /** Heuristics limits of acceptable price */
42
+ readonly heuristic: types.PriceHeuristic;
43
+ /** Max divergence between twap and price in bps */
44
+ readonly maxTwapDivergenceBps: BN;
45
+ readonly maxAgePriceSeconds: BN;
46
+ readonly maxAgeTwapSeconds: BN;
47
+ /** Scope price configuration */
48
+ readonly scopeConfiguration: types.ScopeConfiguration;
49
+ /** Switchboard configuration */
50
+ readonly switchboardConfiguration: types.SwitchboardConfiguration;
51
+ /** Pyth configuration */
52
+ readonly pythConfiguration: types.PythConfiguration;
53
+ readonly padding: Array<BN>;
54
+ constructor(fields: TokenInfoFields);
55
+ static layout(property?: string): any;
56
+ static fromDecoded(obj: any): types.TokenInfo;
57
+ static toEncodable(fields: TokenInfoFields): {
58
+ name: number[];
59
+ heuristic: {
60
+ lower: BN;
61
+ /** UTF-8 encoded name of the token (null-terminated) */
62
+ upper: BN;
63
+ exp: BN;
64
+ };
65
+ maxTwapDivergenceBps: BN;
66
+ maxAgePriceSeconds: BN;
67
+ maxAgeTwapSeconds: BN;
68
+ scopeConfiguration: {
69
+ priceFeed: PublicKey;
70
+ priceChain: number[]; /** Pyth configuration */
71
+ twapChain: number[];
72
+ };
73
+ switchboardConfiguration: {
74
+ priceAggregator: PublicKey;
75
+ twapAggregator: PublicKey;
76
+ };
77
+ pythConfiguration: {
78
+ price: PublicKey;
79
+ };
80
+ padding: BN[];
81
+ };
82
+ toJSON(): TokenInfoJSON;
83
+ static fromJSON(obj: TokenInfoJSON): TokenInfo;
84
+ toEncodable(): {
85
+ name: number[];
86
+ heuristic: {
87
+ lower: BN;
88
+ /** UTF-8 encoded name of the token (null-terminated) */
89
+ upper: BN;
90
+ exp: BN;
91
+ };
92
+ maxTwapDivergenceBps: BN;
93
+ maxAgePriceSeconds: BN;
94
+ maxAgeTwapSeconds: BN;
95
+ scopeConfiguration: {
96
+ priceFeed: PublicKey;
97
+ priceChain: number[]; /** Pyth configuration */
98
+ twapChain: number[];
99
+ };
100
+ switchboardConfiguration: {
101
+ priceAggregator: PublicKey;
102
+ twapAggregator: PublicKey;
103
+ };
104
+ pythConfiguration: {
105
+ price: PublicKey;
106
+ };
107
+ padding: BN[];
108
+ };
109
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.TokenInfo = void 0;
30
+ const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
31
+ const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
32
+ const borsh = __importStar(require("@coral-xyz/borsh"));
33
+ class TokenInfo {
34
+ constructor(fields) {
35
+ this.name = fields.name;
36
+ this.heuristic = new types.PriceHeuristic(Object.assign({}, fields.heuristic));
37
+ this.maxTwapDivergenceBps = fields.maxTwapDivergenceBps;
38
+ this.maxAgePriceSeconds = fields.maxAgePriceSeconds;
39
+ this.maxAgeTwapSeconds = fields.maxAgeTwapSeconds;
40
+ this.scopeConfiguration = new types.ScopeConfiguration(Object.assign({}, fields.scopeConfiguration));
41
+ this.switchboardConfiguration = new types.SwitchboardConfiguration(Object.assign({}, fields.switchboardConfiguration));
42
+ this.pythConfiguration = new types.PythConfiguration(Object.assign({}, fields.pythConfiguration));
43
+ this.padding = fields.padding;
44
+ }
45
+ static layout(property) {
46
+ return borsh.struct([
47
+ borsh.array(borsh.u8(), 32, "name"),
48
+ types.PriceHeuristic.layout("heuristic"),
49
+ borsh.u64("maxTwapDivergenceBps"),
50
+ borsh.u64("maxAgePriceSeconds"),
51
+ borsh.u64("maxAgeTwapSeconds"),
52
+ types.ScopeConfiguration.layout("scopeConfiguration"),
53
+ types.SwitchboardConfiguration.layout("switchboardConfiguration"),
54
+ types.PythConfiguration.layout("pythConfiguration"),
55
+ borsh.array(borsh.u64(), 20, "padding"),
56
+ ], property);
57
+ }
58
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
+ static fromDecoded(obj) {
60
+ return new TokenInfo({
61
+ name: obj.name,
62
+ heuristic: types.PriceHeuristic.fromDecoded(obj.heuristic),
63
+ maxTwapDivergenceBps: obj.maxTwapDivergenceBps,
64
+ maxAgePriceSeconds: obj.maxAgePriceSeconds,
65
+ maxAgeTwapSeconds: obj.maxAgeTwapSeconds,
66
+ scopeConfiguration: types.ScopeConfiguration.fromDecoded(obj.scopeConfiguration),
67
+ switchboardConfiguration: types.SwitchboardConfiguration.fromDecoded(obj.switchboardConfiguration),
68
+ pythConfiguration: types.PythConfiguration.fromDecoded(obj.pythConfiguration),
69
+ padding: obj.padding,
70
+ });
71
+ }
72
+ static toEncodable(fields) {
73
+ return {
74
+ name: fields.name,
75
+ heuristic: types.PriceHeuristic.toEncodable(fields.heuristic),
76
+ maxTwapDivergenceBps: fields.maxTwapDivergenceBps,
77
+ maxAgePriceSeconds: fields.maxAgePriceSeconds,
78
+ maxAgeTwapSeconds: fields.maxAgeTwapSeconds,
79
+ scopeConfiguration: types.ScopeConfiguration.toEncodable(fields.scopeConfiguration),
80
+ switchboardConfiguration: types.SwitchboardConfiguration.toEncodable(fields.switchboardConfiguration),
81
+ pythConfiguration: types.PythConfiguration.toEncodable(fields.pythConfiguration),
82
+ padding: fields.padding,
83
+ };
84
+ }
85
+ toJSON() {
86
+ return {
87
+ name: this.name,
88
+ heuristic: this.heuristic.toJSON(),
89
+ maxTwapDivergenceBps: this.maxTwapDivergenceBps.toString(),
90
+ maxAgePriceSeconds: this.maxAgePriceSeconds.toString(),
91
+ maxAgeTwapSeconds: this.maxAgeTwapSeconds.toString(),
92
+ scopeConfiguration: this.scopeConfiguration.toJSON(),
93
+ switchboardConfiguration: this.switchboardConfiguration.toJSON(),
94
+ pythConfiguration: this.pythConfiguration.toJSON(),
95
+ padding: this.padding.map((item) => item.toString()),
96
+ };
97
+ }
98
+ static fromJSON(obj) {
99
+ return new TokenInfo({
100
+ name: obj.name,
101
+ heuristic: types.PriceHeuristic.fromJSON(obj.heuristic),
102
+ maxTwapDivergenceBps: new bn_js_1.default(obj.maxTwapDivergenceBps),
103
+ maxAgePriceSeconds: new bn_js_1.default(obj.maxAgePriceSeconds),
104
+ maxAgeTwapSeconds: new bn_js_1.default(obj.maxAgeTwapSeconds),
105
+ scopeConfiguration: types.ScopeConfiguration.fromJSON(obj.scopeConfiguration),
106
+ switchboardConfiguration: types.SwitchboardConfiguration.fromJSON(obj.switchboardConfiguration),
107
+ pythConfiguration: types.PythConfiguration.fromJSON(obj.pythConfiguration),
108
+ padding: obj.padding.map((item) => new bn_js_1.default(item)),
109
+ });
110
+ }
111
+ toEncodable() {
112
+ return TokenInfo.toEncodable(this);
113
+ }
114
+ }
115
+ exports.TokenInfo = TokenInfo;
116
+ //# sourceMappingURL=TokenInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenInfo.js","sourceRoot":"","sources":["../../../src/idl_codegen/types/TokenInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey } from \"@solana/web3.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\"\n\nexport interface TokenInfoFields {\n /** UTF-8 encoded name of the token (null-terminated) */\n name: Array<number>\n /** Heuristics limits of acceptable price */\n heuristic: types.PriceHeuristicFields\n /** Max divergence between twap and price in bps */\n maxTwapDivergenceBps: BN\n maxAgePriceSeconds: BN\n maxAgeTwapSeconds: BN\n /** Scope price configuration */\n scopeConfiguration: types.ScopeConfigurationFields\n /** Switchboard configuration */\n switchboardConfiguration: types.SwitchboardConfigurationFields\n /** Pyth configuration */\n pythConfiguration: types.PythConfigurationFields\n padding: Array<BN>\n}\n\nexport interface TokenInfoJSON {\n /** UTF-8 encoded name of the token (null-terminated) */\n name: Array<number>\n /** Heuristics limits of acceptable price */\n heuristic: types.PriceHeuristicJSON\n /** Max divergence between twap and price in bps */\n maxTwapDivergenceBps: string\n maxAgePriceSeconds: string\n maxAgeTwapSeconds: string\n /** Scope price configuration */\n scopeConfiguration: types.ScopeConfigurationJSON\n /** Switchboard configuration */\n switchboardConfiguration: types.SwitchboardConfigurationJSON\n /** Pyth configuration */\n pythConfiguration: types.PythConfigurationJSON\n padding: Array<string>\n}\n\nexport class TokenInfo {\n /** UTF-8 encoded name of the token (null-terminated) */\n readonly name: Array<number>\n /** Heuristics limits of acceptable price */\n readonly heuristic: types.PriceHeuristic\n /** Max divergence between twap and price in bps */\n readonly maxTwapDivergenceBps: BN\n readonly maxAgePriceSeconds: BN\n readonly maxAgeTwapSeconds: BN\n /** Scope price configuration */\n readonly scopeConfiguration: types.ScopeConfiguration\n /** Switchboard configuration */\n readonly switchboardConfiguration: types.SwitchboardConfiguration\n /** Pyth configuration */\n readonly pythConfiguration: types.PythConfiguration\n readonly padding: Array<BN>\n\n constructor(fields: TokenInfoFields) {\n this.name = fields.name\n this.heuristic = new types.PriceHeuristic({ ...fields.heuristic })\n this.maxTwapDivergenceBps = fields.maxTwapDivergenceBps\n this.maxAgePriceSeconds = fields.maxAgePriceSeconds\n this.maxAgeTwapSeconds = fields.maxAgeTwapSeconds\n this.scopeConfiguration = new types.ScopeConfiguration({\n ...fields.scopeConfiguration,\n })\n this.switchboardConfiguration = new types.SwitchboardConfiguration({\n ...fields.switchboardConfiguration,\n })\n this.pythConfiguration = new types.PythConfiguration({\n ...fields.pythConfiguration,\n })\n this.padding = fields.padding\n }\n\n static layout(property?: string) {\n return borsh.struct(\n [\n borsh.array(borsh.u8(), 32, \"name\"),\n types.PriceHeuristic.layout(\"heuristic\"),\n borsh.u64(\"maxTwapDivergenceBps\"),\n borsh.u64(\"maxAgePriceSeconds\"),\n borsh.u64(\"maxAgeTwapSeconds\"),\n types.ScopeConfiguration.layout(\"scopeConfiguration\"),\n types.SwitchboardConfiguration.layout(\"switchboardConfiguration\"),\n types.PythConfiguration.layout(\"pythConfiguration\"),\n borsh.array(borsh.u64(), 20, \"padding\"),\n ],\n property\n )\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static fromDecoded(obj: any) {\n return new TokenInfo({\n name: obj.name,\n heuristic: types.PriceHeuristic.fromDecoded(obj.heuristic),\n maxTwapDivergenceBps: obj.maxTwapDivergenceBps,\n maxAgePriceSeconds: obj.maxAgePriceSeconds,\n maxAgeTwapSeconds: obj.maxAgeTwapSeconds,\n scopeConfiguration: types.ScopeConfiguration.fromDecoded(\n obj.scopeConfiguration\n ),\n switchboardConfiguration: types.SwitchboardConfiguration.fromDecoded(\n obj.switchboardConfiguration\n ),\n pythConfiguration: types.PythConfiguration.fromDecoded(\n obj.pythConfiguration\n ),\n padding: obj.padding,\n })\n }\n\n static toEncodable(fields: TokenInfoFields) {\n return {\n name: fields.name,\n heuristic: types.PriceHeuristic.toEncodable(fields.heuristic),\n maxTwapDivergenceBps: fields.maxTwapDivergenceBps,\n maxAgePriceSeconds: fields.maxAgePriceSeconds,\n maxAgeTwapSeconds: fields.maxAgeTwapSeconds,\n scopeConfiguration: types.ScopeConfiguration.toEncodable(\n fields.scopeConfiguration\n ),\n switchboardConfiguration: types.SwitchboardConfiguration.toEncodable(\n fields.switchboardConfiguration\n ),\n pythConfiguration: types.PythConfiguration.toEncodable(\n fields.pythConfiguration\n ),\n padding: fields.padding,\n }\n }\n\n toJSON(): TokenInfoJSON {\n return {\n name: this.name,\n heuristic: this.heuristic.toJSON(),\n maxTwapDivergenceBps: this.maxTwapDivergenceBps.toString(),\n maxAgePriceSeconds: this.maxAgePriceSeconds.toString(),\n maxAgeTwapSeconds: this.maxAgeTwapSeconds.toString(),\n scopeConfiguration: this.scopeConfiguration.toJSON(),\n switchboardConfiguration: this.switchboardConfiguration.toJSON(),\n pythConfiguration: this.pythConfiguration.toJSON(),\n padding: this.padding.map((item) => item.toString()),\n }\n }\n\n static fromJSON(obj: TokenInfoJSON): TokenInfo {\n return new TokenInfo({\n name: obj.name,\n heuristic: types.PriceHeuristic.fromJSON(obj.heuristic),\n maxTwapDivergenceBps: new BN(obj.maxTwapDivergenceBps),\n maxAgePriceSeconds: new BN(obj.maxAgePriceSeconds),\n maxAgeTwapSeconds: new BN(obj.maxAgeTwapSeconds),\n scopeConfiguration: types.ScopeConfiguration.fromJSON(\n obj.scopeConfiguration\n ),\n switchboardConfiguration: types.SwitchboardConfiguration.fromJSON(\n obj.switchboardConfiguration\n ),\n pythConfiguration: types.PythConfiguration.fromJSON(\n obj.pythConfiguration\n ),\n padding: obj.padding.map((item) => new BN(item)),\n })\n }\n\n toEncodable() {\n return TokenInfo.toEncodable(this)\n }\n}\n"]}