@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,156 @@
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 __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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.Reserve = void 0;
39
+ const web3_js_1 = require("@solana/web3.js");
40
+ const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
41
+ const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
42
+ const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
43
+ const programId_1 = require("../programId");
44
+ class Reserve {
45
+ constructor(fields) {
46
+ this.version = fields.version;
47
+ this.lastUpdate = new types.LastUpdate(Object.assign({}, fields.lastUpdate));
48
+ this.lendingMarket = fields.lendingMarket;
49
+ this.farmCollateral = fields.farmCollateral;
50
+ this.farmDebt = fields.farmDebt;
51
+ this.liquidity = new types.ReserveLiquidity(Object.assign({}, fields.liquidity));
52
+ this.reserveLiquidityPadding = fields.reserveLiquidityPadding;
53
+ this.collateral = new types.ReserveCollateral(Object.assign({}, fields.collateral));
54
+ this.reserveCollateralPadding = fields.reserveCollateralPadding;
55
+ this.config = new types.ReserveConfig(Object.assign({}, fields.config));
56
+ this.configPadding = fields.configPadding;
57
+ this.padding = fields.padding;
58
+ }
59
+ static fetch(c, address, programId = programId_1.PROGRAM_ID) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ const info = yield c.getAccountInfo(address);
62
+ if (info === null) {
63
+ return null;
64
+ }
65
+ if (!info.owner.equals(programId)) {
66
+ throw new Error("account doesn't belong to this program");
67
+ }
68
+ return this.decode(info.data);
69
+ });
70
+ }
71
+ static fetchMultiple(c, addresses, programId = programId_1.PROGRAM_ID) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const infos = yield c.getMultipleAccountsInfo(addresses);
74
+ return infos.map((info) => {
75
+ if (info === null) {
76
+ return null;
77
+ }
78
+ if (!info.owner.equals(programId)) {
79
+ throw new Error("account doesn't belong to this program");
80
+ }
81
+ return this.decode(info.data);
82
+ });
83
+ });
84
+ }
85
+ static decode(data) {
86
+ if (!data.slice(0, 8).equals(Reserve.discriminator)) {
87
+ throw new Error("invalid account discriminator");
88
+ }
89
+ const dec = Reserve.layout.decode(data.slice(8));
90
+ return new Reserve({
91
+ version: dec.version,
92
+ lastUpdate: types.LastUpdate.fromDecoded(dec.lastUpdate),
93
+ lendingMarket: dec.lendingMarket,
94
+ farmCollateral: dec.farmCollateral,
95
+ farmDebt: dec.farmDebt,
96
+ liquidity: types.ReserveLiquidity.fromDecoded(dec.liquidity),
97
+ reserveLiquidityPadding: dec.reserveLiquidityPadding,
98
+ collateral: types.ReserveCollateral.fromDecoded(dec.collateral),
99
+ reserveCollateralPadding: dec.reserveCollateralPadding,
100
+ config: types.ReserveConfig.fromDecoded(dec.config),
101
+ configPadding: dec.configPadding,
102
+ padding: dec.padding,
103
+ });
104
+ }
105
+ toJSON() {
106
+ return {
107
+ version: this.version.toString(),
108
+ lastUpdate: this.lastUpdate.toJSON(),
109
+ lendingMarket: this.lendingMarket.toString(),
110
+ farmCollateral: this.farmCollateral.toString(),
111
+ farmDebt: this.farmDebt.toString(),
112
+ liquidity: this.liquidity.toJSON(),
113
+ reserveLiquidityPadding: this.reserveLiquidityPadding.map((item) => item.toString()),
114
+ collateral: this.collateral.toJSON(),
115
+ reserveCollateralPadding: this.reserveCollateralPadding.map((item) => item.toString()),
116
+ config: this.config.toJSON(),
117
+ configPadding: this.configPadding.map((item) => item.toString()),
118
+ padding: this.padding.map((item) => item.toString()),
119
+ };
120
+ }
121
+ static fromJSON(obj) {
122
+ return new Reserve({
123
+ version: new bn_js_1.default(obj.version),
124
+ lastUpdate: types.LastUpdate.fromJSON(obj.lastUpdate),
125
+ lendingMarket: new web3_js_1.PublicKey(obj.lendingMarket),
126
+ farmCollateral: new web3_js_1.PublicKey(obj.farmCollateral),
127
+ farmDebt: new web3_js_1.PublicKey(obj.farmDebt),
128
+ liquidity: types.ReserveLiquidity.fromJSON(obj.liquidity),
129
+ reserveLiquidityPadding: obj.reserveLiquidityPadding.map((item) => new bn_js_1.default(item)),
130
+ collateral: types.ReserveCollateral.fromJSON(obj.collateral),
131
+ reserveCollateralPadding: obj.reserveCollateralPadding.map((item) => new bn_js_1.default(item)),
132
+ config: types.ReserveConfig.fromJSON(obj.config),
133
+ configPadding: obj.configPadding.map((item) => new bn_js_1.default(item)),
134
+ padding: obj.padding.map((item) => new bn_js_1.default(item)),
135
+ });
136
+ }
137
+ }
138
+ exports.Reserve = Reserve;
139
+ Reserve.discriminator = Buffer.from([
140
+ 43, 242, 204, 202, 26, 247, 59, 127,
141
+ ]);
142
+ Reserve.layout = borsh.struct([
143
+ borsh.u64("version"),
144
+ types.LastUpdate.layout("lastUpdate"),
145
+ borsh.publicKey("lendingMarket"),
146
+ borsh.publicKey("farmCollateral"),
147
+ borsh.publicKey("farmDebt"),
148
+ types.ReserveLiquidity.layout("liquidity"),
149
+ borsh.array(borsh.u64(), 150, "reserveLiquidityPadding"),
150
+ types.ReserveCollateral.layout("collateral"),
151
+ borsh.array(borsh.u64(), 150, "reserveCollateralPadding"),
152
+ types.ReserveConfig.layout("config"),
153
+ borsh.array(borsh.u64(), 150, "configPadding"),
154
+ borsh.array(borsh.u64(), 240, "padding"),
155
+ ]);
156
+ //# sourceMappingURL=Reserve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reserve.js","sourceRoot":"","sources":["../../../src/idl_codegen/accounts/Reserve.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey, Connection } from \"@solana/web3.js\"\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { PROGRAM_ID } from \"../programId\"\n\nexport interface ReserveFields {\n /** Version of the reserve */\n version: BN\n /** Last slot when supply and rates updated */\n lastUpdate: types.LastUpdateFields\n /** Lending market address */\n lendingMarket: PublicKey\n farmCollateral: PublicKey\n farmDebt: PublicKey\n /** Reserve liquidity */\n liquidity: types.ReserveLiquidityFields\n reserveLiquidityPadding: Array<BN>\n /** Reserve collateral */\n collateral: types.ReserveCollateralFields\n reserveCollateralPadding: Array<BN>\n /** Reserve configuration values */\n config: types.ReserveConfigFields\n configPadding: Array<BN>\n padding: Array<BN>\n}\n\nexport interface ReserveJSON {\n /** Version of the reserve */\n version: string\n /** Last slot when supply and rates updated */\n lastUpdate: types.LastUpdateJSON\n /** Lending market address */\n lendingMarket: string\n farmCollateral: string\n farmDebt: string\n /** Reserve liquidity */\n liquidity: types.ReserveLiquidityJSON\n reserveLiquidityPadding: Array<string>\n /** Reserve collateral */\n collateral: types.ReserveCollateralJSON\n reserveCollateralPadding: Array<string>\n /** Reserve configuration values */\n config: types.ReserveConfigJSON\n configPadding: Array<string>\n padding: Array<string>\n}\n\nexport class Reserve {\n /** Version of the reserve */\n readonly version: BN\n /** Last slot when supply and rates updated */\n readonly lastUpdate: types.LastUpdate\n /** Lending market address */\n readonly lendingMarket: PublicKey\n readonly farmCollateral: PublicKey\n readonly farmDebt: PublicKey\n /** Reserve liquidity */\n readonly liquidity: types.ReserveLiquidity\n readonly reserveLiquidityPadding: Array<BN>\n /** Reserve collateral */\n readonly collateral: types.ReserveCollateral\n readonly reserveCollateralPadding: Array<BN>\n /** Reserve configuration values */\n readonly config: types.ReserveConfig\n readonly configPadding: Array<BN>\n readonly padding: Array<BN>\n\n static readonly discriminator = Buffer.from([\n 43, 242, 204, 202, 26, 247, 59, 127,\n ])\n\n static readonly layout = borsh.struct([\n borsh.u64(\"version\"),\n types.LastUpdate.layout(\"lastUpdate\"),\n borsh.publicKey(\"lendingMarket\"),\n borsh.publicKey(\"farmCollateral\"),\n borsh.publicKey(\"farmDebt\"),\n types.ReserveLiquidity.layout(\"liquidity\"),\n borsh.array(borsh.u64(), 150, \"reserveLiquidityPadding\"),\n types.ReserveCollateral.layout(\"collateral\"),\n borsh.array(borsh.u64(), 150, \"reserveCollateralPadding\"),\n types.ReserveConfig.layout(\"config\"),\n borsh.array(borsh.u64(), 150, \"configPadding\"),\n borsh.array(borsh.u64(), 240, \"padding\"),\n ])\n\n constructor(fields: ReserveFields) {\n this.version = fields.version\n this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate })\n this.lendingMarket = fields.lendingMarket\n this.farmCollateral = fields.farmCollateral\n this.farmDebt = fields.farmDebt\n this.liquidity = new types.ReserveLiquidity({ ...fields.liquidity })\n this.reserveLiquidityPadding = fields.reserveLiquidityPadding\n this.collateral = new types.ReserveCollateral({ ...fields.collateral })\n this.reserveCollateralPadding = fields.reserveCollateralPadding\n this.config = new types.ReserveConfig({ ...fields.config })\n this.configPadding = fields.configPadding\n this.padding = fields.padding\n }\n\n static async fetch(\n c: Connection,\n address: PublicKey,\n programId: PublicKey = PROGRAM_ID\n ): Promise<Reserve | null> {\n const info = await c.getAccountInfo(address)\n\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n }\n\n static async fetchMultiple(\n c: Connection,\n addresses: PublicKey[],\n programId: PublicKey = PROGRAM_ID\n ): Promise<Array<Reserve | null>> {\n const infos = await c.getMultipleAccountsInfo(addresses)\n\n return infos.map((info) => {\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n })\n }\n\n static decode(data: Buffer): Reserve {\n if (!data.slice(0, 8).equals(Reserve.discriminator)) {\n throw new Error(\"invalid account discriminator\")\n }\n\n const dec = Reserve.layout.decode(data.slice(8))\n\n return new Reserve({\n version: dec.version,\n lastUpdate: types.LastUpdate.fromDecoded(dec.lastUpdate),\n lendingMarket: dec.lendingMarket,\n farmCollateral: dec.farmCollateral,\n farmDebt: dec.farmDebt,\n liquidity: types.ReserveLiquidity.fromDecoded(dec.liquidity),\n reserveLiquidityPadding: dec.reserveLiquidityPadding,\n collateral: types.ReserveCollateral.fromDecoded(dec.collateral),\n reserveCollateralPadding: dec.reserveCollateralPadding,\n config: types.ReserveConfig.fromDecoded(dec.config),\n configPadding: dec.configPadding,\n padding: dec.padding,\n })\n }\n\n toJSON(): ReserveJSON {\n return {\n version: this.version.toString(),\n lastUpdate: this.lastUpdate.toJSON(),\n lendingMarket: this.lendingMarket.toString(),\n farmCollateral: this.farmCollateral.toString(),\n farmDebt: this.farmDebt.toString(),\n liquidity: this.liquidity.toJSON(),\n reserveLiquidityPadding: this.reserveLiquidityPadding.map((item) =>\n item.toString()\n ),\n collateral: this.collateral.toJSON(),\n reserveCollateralPadding: this.reserveCollateralPadding.map((item) =>\n item.toString()\n ),\n config: this.config.toJSON(),\n configPadding: this.configPadding.map((item) => item.toString()),\n padding: this.padding.map((item) => item.toString()),\n }\n }\n\n static fromJSON(obj: ReserveJSON): Reserve {\n return new Reserve({\n version: new BN(obj.version),\n lastUpdate: types.LastUpdate.fromJSON(obj.lastUpdate),\n lendingMarket: new PublicKey(obj.lendingMarket),\n farmCollateral: new PublicKey(obj.farmCollateral),\n farmDebt: new PublicKey(obj.farmDebt),\n liquidity: types.ReserveLiquidity.fromJSON(obj.liquidity),\n reserveLiquidityPadding: obj.reserveLiquidityPadding.map(\n (item) => new BN(item)\n ),\n collateral: types.ReserveCollateral.fromJSON(obj.collateral),\n reserveCollateralPadding: obj.reserveCollateralPadding.map(\n (item) => new BN(item)\n ),\n config: types.ReserveConfig.fromJSON(obj.config),\n configPadding: obj.configPadding.map((item) => new BN(item)),\n padding: obj.padding.map((item) => new BN(item)),\n })\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ /// <reference types="node" />
2
+ import { PublicKey, Connection } from "@solana/web3.js";
3
+ export interface ShortUrlFields {
4
+ referrer: PublicKey;
5
+ shortUrl: string;
6
+ }
7
+ export interface ShortUrlJSON {
8
+ referrer: string;
9
+ shortUrl: string;
10
+ }
11
+ export declare class ShortUrl {
12
+ readonly referrer: PublicKey;
13
+ readonly shortUrl: string;
14
+ static readonly discriminator: Buffer;
15
+ static readonly layout: any;
16
+ constructor(fields: ShortUrlFields);
17
+ static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<ShortUrl | null>;
18
+ static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<ShortUrl | null>>;
19
+ static decode(data: Buffer): ShortUrl;
20
+ toJSON(): ShortUrlJSON;
21
+ static fromJSON(obj: ShortUrlJSON): ShortUrl;
22
+ }
@@ -0,0 +1,101 @@
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 __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
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.ShortUrl = void 0;
36
+ const web3_js_1 = require("@solana/web3.js");
37
+ const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
38
+ const programId_1 = require("../programId");
39
+ class ShortUrl {
40
+ constructor(fields) {
41
+ this.referrer = fields.referrer;
42
+ this.shortUrl = fields.shortUrl;
43
+ }
44
+ static fetch(c, address, programId = programId_1.PROGRAM_ID) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const info = yield c.getAccountInfo(address);
47
+ if (info === null) {
48
+ return null;
49
+ }
50
+ if (!info.owner.equals(programId)) {
51
+ throw new Error("account doesn't belong to this program");
52
+ }
53
+ return this.decode(info.data);
54
+ });
55
+ }
56
+ static fetchMultiple(c, addresses, programId = programId_1.PROGRAM_ID) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const infos = yield c.getMultipleAccountsInfo(addresses);
59
+ return infos.map((info) => {
60
+ if (info === null) {
61
+ return null;
62
+ }
63
+ if (!info.owner.equals(programId)) {
64
+ throw new Error("account doesn't belong to this program");
65
+ }
66
+ return this.decode(info.data);
67
+ });
68
+ });
69
+ }
70
+ static decode(data) {
71
+ if (!data.slice(0, 8).equals(ShortUrl.discriminator)) {
72
+ throw new Error("invalid account discriminator");
73
+ }
74
+ const dec = ShortUrl.layout.decode(data.slice(8));
75
+ return new ShortUrl({
76
+ referrer: dec.referrer,
77
+ shortUrl: dec.shortUrl,
78
+ });
79
+ }
80
+ toJSON() {
81
+ return {
82
+ referrer: this.referrer.toString(),
83
+ shortUrl: this.shortUrl,
84
+ };
85
+ }
86
+ static fromJSON(obj) {
87
+ return new ShortUrl({
88
+ referrer: new web3_js_1.PublicKey(obj.referrer),
89
+ shortUrl: obj.shortUrl,
90
+ });
91
+ }
92
+ }
93
+ exports.ShortUrl = ShortUrl;
94
+ ShortUrl.discriminator = Buffer.from([
95
+ 28, 89, 174, 25, 226, 124, 126, 212,
96
+ ]);
97
+ ShortUrl.layout = borsh.struct([
98
+ borsh.publicKey("referrer"),
99
+ borsh.str("shortUrl"),
100
+ ]);
101
+ //# sourceMappingURL=ShortUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortUrl.js","sourceRoot":"","sources":["../../../src/idl_codegen/accounts/ShortUrl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAEvD,wDAAyC,CAAC,wDAAwD;AAElG,4CAAyC;AAYzC,MAAa,QAAQ;IAanB,YAAY,MAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IACjC,CAAC;IAED,MAAM,CAAO,KAAK,CAChB,CAAa,EACb,OAAkB,EAClB,YAAuB,sBAAU;;YAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAE5C,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,OAAO,IAAI,CAAA;aACZ;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;aAC1D;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;KAAA;IAED,MAAM,CAAO,aAAa,CACxB,CAAa,EACb,SAAsB,EACtB,YAAuB,sBAAU;;YAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAA;YAExD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,OAAO,IAAI,CAAA;iBACZ;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;iBAC1D;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAEjD,OAAO,IAAI,QAAQ,CAAC;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM;QACJ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAiB;QAC/B,OAAO,IAAI,QAAQ,CAAC;YAClB,QAAQ,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAA;IACJ,CAAC;;AA/EH,4BAgFC;AA5EiB,sBAAa,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACpC,CAAC,CAAA;AAEc,eAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;IAC3B,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;CACtB,CAAC,CAAA","sourcesContent":["import { PublicKey, Connection } from \"@solana/web3.js\"\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { PROGRAM_ID } from \"../programId\"\n\nexport interface ShortUrlFields {\n referrer: PublicKey\n shortUrl: string\n}\n\nexport interface ShortUrlJSON {\n referrer: string\n shortUrl: string\n}\n\nexport class ShortUrl {\n readonly referrer: PublicKey\n readonly shortUrl: string\n\n static readonly discriminator = Buffer.from([\n 28, 89, 174, 25, 226, 124, 126, 212,\n ])\n\n static readonly layout = borsh.struct([\n borsh.publicKey(\"referrer\"),\n borsh.str(\"shortUrl\"),\n ])\n\n constructor(fields: ShortUrlFields) {\n this.referrer = fields.referrer\n this.shortUrl = fields.shortUrl\n }\n\n static async fetch(\n c: Connection,\n address: PublicKey,\n programId: PublicKey = PROGRAM_ID\n ): Promise<ShortUrl | null> {\n const info = await c.getAccountInfo(address)\n\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n }\n\n static async fetchMultiple(\n c: Connection,\n addresses: PublicKey[],\n programId: PublicKey = PROGRAM_ID\n ): Promise<Array<ShortUrl | null>> {\n const infos = await c.getMultipleAccountsInfo(addresses)\n\n return infos.map((info) => {\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n })\n }\n\n static decode(data: Buffer): ShortUrl {\n if (!data.slice(0, 8).equals(ShortUrl.discriminator)) {\n throw new Error(\"invalid account discriminator\")\n }\n\n const dec = ShortUrl.layout.decode(data.slice(8))\n\n return new ShortUrl({\n referrer: dec.referrer,\n shortUrl: dec.shortUrl,\n })\n }\n\n toJSON(): ShortUrlJSON {\n return {\n referrer: this.referrer.toString(),\n shortUrl: this.shortUrl,\n }\n }\n\n static fromJSON(obj: ShortUrlJSON): ShortUrl {\n return new ShortUrl({\n referrer: new PublicKey(obj.referrer),\n shortUrl: obj.shortUrl,\n })\n }\n}\n"]}
@@ -0,0 +1,48 @@
1
+ /// <reference types="node" />
2
+ import { PublicKey, Connection } from "@solana/web3.js";
3
+ import BN from "bn.js";
4
+ export interface UserMetadataFields {
5
+ /** Pubkey of the referrer/owner - pubkey::default if no referrer */
6
+ referrer: PublicKey;
7
+ /** Bump used for validation of account address */
8
+ bump: BN;
9
+ /** User lookup table - used to store all user accounts - atas for each reserve mint, each obligation PDA, UserMetadata itself and all referrer_token_states if there is a referrer */
10
+ userLookupTable: PublicKey;
11
+ /** User metadata account owner */
12
+ owner: PublicKey;
13
+ padding1: Array<BN>;
14
+ padding2: Array<BN>;
15
+ }
16
+ export interface UserMetadataJSON {
17
+ /** Pubkey of the referrer/owner - pubkey::default if no referrer */
18
+ referrer: string;
19
+ /** Bump used for validation of account address */
20
+ bump: string;
21
+ /** User lookup table - used to store all user accounts - atas for each reserve mint, each obligation PDA, UserMetadata itself and all referrer_token_states if there is a referrer */
22
+ userLookupTable: string;
23
+ /** User metadata account owner */
24
+ owner: string;
25
+ padding1: Array<string>;
26
+ padding2: Array<string>;
27
+ }
28
+ /** Referrer account -> each owner can have multiple accounts for specific reserves */
29
+ export declare class UserMetadata {
30
+ /** Pubkey of the referrer/owner - pubkey::default if no referrer */
31
+ readonly referrer: PublicKey;
32
+ /** Bump used for validation of account address */
33
+ readonly bump: BN;
34
+ /** User lookup table - used to store all user accounts - atas for each reserve mint, each obligation PDA, UserMetadata itself and all referrer_token_states if there is a referrer */
35
+ readonly userLookupTable: PublicKey;
36
+ /** User metadata account owner */
37
+ readonly owner: PublicKey;
38
+ readonly padding1: Array<BN>;
39
+ readonly padding2: Array<BN>;
40
+ static readonly discriminator: Buffer;
41
+ static readonly layout: any;
42
+ constructor(fields: UserMetadataFields);
43
+ static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<UserMetadata | null>;
44
+ static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<UserMetadata | null>>;
45
+ static decode(data: Buffer): UserMetadata;
46
+ toJSON(): UserMetadataJSON;
47
+ static fromJSON(obj: UserMetadataJSON): UserMetadata;
48
+ }
@@ -0,0 +1,126 @@
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 __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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.UserMetadata = void 0;
39
+ const web3_js_1 = require("@solana/web3.js");
40
+ const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
41
+ const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
42
+ const programId_1 = require("../programId");
43
+ /** Referrer account -> each owner can have multiple accounts for specific reserves */
44
+ class UserMetadata {
45
+ constructor(fields) {
46
+ this.referrer = fields.referrer;
47
+ this.bump = fields.bump;
48
+ this.userLookupTable = fields.userLookupTable;
49
+ this.owner = fields.owner;
50
+ this.padding1 = fields.padding1;
51
+ this.padding2 = fields.padding2;
52
+ }
53
+ static fetch(c, address, programId = programId_1.PROGRAM_ID) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const info = yield c.getAccountInfo(address);
56
+ if (info === null) {
57
+ return null;
58
+ }
59
+ if (!info.owner.equals(programId)) {
60
+ throw new Error("account doesn't belong to this program");
61
+ }
62
+ return this.decode(info.data);
63
+ });
64
+ }
65
+ static fetchMultiple(c, addresses, programId = programId_1.PROGRAM_ID) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const infos = yield c.getMultipleAccountsInfo(addresses);
68
+ return infos.map((info) => {
69
+ if (info === null) {
70
+ return null;
71
+ }
72
+ if (!info.owner.equals(programId)) {
73
+ throw new Error("account doesn't belong to this program");
74
+ }
75
+ return this.decode(info.data);
76
+ });
77
+ });
78
+ }
79
+ static decode(data) {
80
+ if (!data.slice(0, 8).equals(UserMetadata.discriminator)) {
81
+ throw new Error("invalid account discriminator");
82
+ }
83
+ const dec = UserMetadata.layout.decode(data.slice(8));
84
+ return new UserMetadata({
85
+ referrer: dec.referrer,
86
+ bump: dec.bump,
87
+ userLookupTable: dec.userLookupTable,
88
+ owner: dec.owner,
89
+ padding1: dec.padding1,
90
+ padding2: dec.padding2,
91
+ });
92
+ }
93
+ toJSON() {
94
+ return {
95
+ referrer: this.referrer.toString(),
96
+ bump: this.bump.toString(),
97
+ userLookupTable: this.userLookupTable.toString(),
98
+ owner: this.owner.toString(),
99
+ padding1: this.padding1.map((item) => item.toString()),
100
+ padding2: this.padding2.map((item) => item.toString()),
101
+ };
102
+ }
103
+ static fromJSON(obj) {
104
+ return new UserMetadata({
105
+ referrer: new web3_js_1.PublicKey(obj.referrer),
106
+ bump: new bn_js_1.default(obj.bump),
107
+ userLookupTable: new web3_js_1.PublicKey(obj.userLookupTable),
108
+ owner: new web3_js_1.PublicKey(obj.owner),
109
+ padding1: obj.padding1.map((item) => new bn_js_1.default(item)),
110
+ padding2: obj.padding2.map((item) => new bn_js_1.default(item)),
111
+ });
112
+ }
113
+ }
114
+ exports.UserMetadata = UserMetadata;
115
+ UserMetadata.discriminator = Buffer.from([
116
+ 157, 214, 220, 235, 98, 135, 171, 28,
117
+ ]);
118
+ UserMetadata.layout = borsh.struct([
119
+ borsh.publicKey("referrer"),
120
+ borsh.u64("bump"),
121
+ borsh.publicKey("userLookupTable"),
122
+ borsh.publicKey("owner"),
123
+ borsh.array(borsh.u64(), 51, "padding1"),
124
+ borsh.array(borsh.u64(), 64, "padding2"),
125
+ ]);
126
+ //# sourceMappingURL=UserMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../../src/idl_codegen/accounts/UserMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey, Connection } from \"@solana/web3.js\"\nimport BN from \"bn.js\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as borsh from \"@coral-xyz/borsh\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport * as types from \"../types\" // eslint-disable-line @typescript-eslint/no-unused-vars\nimport { PROGRAM_ID } from \"../programId\"\n\nexport interface UserMetadataFields {\n /** Pubkey of the referrer/owner - pubkey::default if no referrer */\n referrer: PublicKey\n /** Bump used for validation of account address */\n bump: BN\n /** User lookup table - used to store all user accounts - atas for each reserve mint, each obligation PDA, UserMetadata itself and all referrer_token_states if there is a referrer */\n userLookupTable: PublicKey\n /** User metadata account owner */\n owner: PublicKey\n padding1: Array<BN>\n padding2: Array<BN>\n}\n\nexport interface UserMetadataJSON {\n /** Pubkey of the referrer/owner - pubkey::default if no referrer */\n referrer: string\n /** Bump used for validation of account address */\n bump: string\n /** User lookup table - used to store all user accounts - atas for each reserve mint, each obligation PDA, UserMetadata itself and all referrer_token_states if there is a referrer */\n userLookupTable: string\n /** User metadata account owner */\n owner: string\n padding1: Array<string>\n padding2: Array<string>\n}\n\n/** Referrer account -> each owner can have multiple accounts for specific reserves */\nexport class UserMetadata {\n /** Pubkey of the referrer/owner - pubkey::default if no referrer */\n readonly referrer: PublicKey\n /** Bump used for validation of account address */\n readonly bump: BN\n /** User lookup table - used to store all user accounts - atas for each reserve mint, each obligation PDA, UserMetadata itself and all referrer_token_states if there is a referrer */\n readonly userLookupTable: PublicKey\n /** User metadata account owner */\n readonly owner: PublicKey\n readonly padding1: Array<BN>\n readonly padding2: Array<BN>\n\n static readonly discriminator = Buffer.from([\n 157, 214, 220, 235, 98, 135, 171, 28,\n ])\n\n static readonly layout = borsh.struct([\n borsh.publicKey(\"referrer\"),\n borsh.u64(\"bump\"),\n borsh.publicKey(\"userLookupTable\"),\n borsh.publicKey(\"owner\"),\n borsh.array(borsh.u64(), 51, \"padding1\"),\n borsh.array(borsh.u64(), 64, \"padding2\"),\n ])\n\n constructor(fields: UserMetadataFields) {\n this.referrer = fields.referrer\n this.bump = fields.bump\n this.userLookupTable = fields.userLookupTable\n this.owner = fields.owner\n this.padding1 = fields.padding1\n this.padding2 = fields.padding2\n }\n\n static async fetch(\n c: Connection,\n address: PublicKey,\n programId: PublicKey = PROGRAM_ID\n ): Promise<UserMetadata | null> {\n const info = await c.getAccountInfo(address)\n\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n }\n\n static async fetchMultiple(\n c: Connection,\n addresses: PublicKey[],\n programId: PublicKey = PROGRAM_ID\n ): Promise<Array<UserMetadata | null>> {\n const infos = await c.getMultipleAccountsInfo(addresses)\n\n return infos.map((info) => {\n if (info === null) {\n return null\n }\n if (!info.owner.equals(programId)) {\n throw new Error(\"account doesn't belong to this program\")\n }\n\n return this.decode(info.data)\n })\n }\n\n static decode(data: Buffer): UserMetadata {\n if (!data.slice(0, 8).equals(UserMetadata.discriminator)) {\n throw new Error(\"invalid account discriminator\")\n }\n\n const dec = UserMetadata.layout.decode(data.slice(8))\n\n return new UserMetadata({\n referrer: dec.referrer,\n bump: dec.bump,\n userLookupTable: dec.userLookupTable,\n owner: dec.owner,\n padding1: dec.padding1,\n padding2: dec.padding2,\n })\n }\n\n toJSON(): UserMetadataJSON {\n return {\n referrer: this.referrer.toString(),\n bump: this.bump.toString(),\n userLookupTable: this.userLookupTable.toString(),\n owner: this.owner.toString(),\n padding1: this.padding1.map((item) => item.toString()),\n padding2: this.padding2.map((item) => item.toString()),\n }\n }\n\n static fromJSON(obj: UserMetadataJSON): UserMetadata {\n return new UserMetadata({\n referrer: new PublicKey(obj.referrer),\n bump: new BN(obj.bump),\n userLookupTable: new PublicKey(obj.userLookupTable),\n owner: new PublicKey(obj.owner),\n padding1: obj.padding1.map((item) => new BN(item)),\n padding2: obj.padding2.map((item) => new BN(item)),\n })\n }\n}\n"]}
@@ -0,0 +1,143 @@
1
+ /// <reference types="node" />
2
+ import { PublicKey, Connection } from "@solana/web3.js";
3
+ import BN from "bn.js";
4
+ export interface UserStateFields {
5
+ userId: BN;
6
+ farmState: PublicKey;
7
+ owner: PublicKey;
8
+ /** Indicate if this user state is part of a delegated farm */
9
+ isFarmDelegated: number;
10
+ padding0: Array<number>;
11
+ /**
12
+ * Rewards tally used for computation of gained rewards
13
+ * (scaled from `Decimal` representation).
14
+ */
15
+ rewardsTallyScaled: Array<BN>;
16
+ /** Number of reward tokens ready for claim */
17
+ rewardsIssuedUnclaimed: Array<BN>;
18
+ lastClaimTs: Array<BN>;
19
+ /**
20
+ * User stake deposited and usable, generating rewards and fees.
21
+ * (scaled from `Decimal` representation).
22
+ */
23
+ activeStakeScaled: BN;
24
+ /**
25
+ * User stake deposited but not usable and not generating rewards yet.
26
+ * (scaled from `Decimal` representation).
27
+ */
28
+ pendingDepositStakeScaled: BN;
29
+ /**
30
+ * After this timestamp, pending user stake can be moved to user stake
31
+ * Initialized to now() + delayed user stake period
32
+ */
33
+ pendingDepositStakeTs: BN;
34
+ /**
35
+ * User deposits unstaked, pending for withdrawal, not usable and not generating rewards.
36
+ * (scaled from `Decimal` representation).
37
+ */
38
+ pendingWithdrawalUnstakeScaled: BN;
39
+ /** After this timestamp, user can withdraw their deposit. */
40
+ pendingWithdrawalUnstakeTs: BN;
41
+ /** User bump used for account address validation */
42
+ bump: BN;
43
+ /** Delegatee used for initialisation - useful to check against */
44
+ delegatee: PublicKey;
45
+ lastStakeTs: BN;
46
+ padding1: Array<BN>;
47
+ }
48
+ export interface UserStateJSON {
49
+ userId: string;
50
+ farmState: string;
51
+ owner: string;
52
+ /** Indicate if this user state is part of a delegated farm */
53
+ isFarmDelegated: number;
54
+ padding0: Array<number>;
55
+ /**
56
+ * Rewards tally used for computation of gained rewards
57
+ * (scaled from `Decimal` representation).
58
+ */
59
+ rewardsTallyScaled: Array<string>;
60
+ /** Number of reward tokens ready for claim */
61
+ rewardsIssuedUnclaimed: Array<string>;
62
+ lastClaimTs: Array<string>;
63
+ /**
64
+ * User stake deposited and usable, generating rewards and fees.
65
+ * (scaled from `Decimal` representation).
66
+ */
67
+ activeStakeScaled: string;
68
+ /**
69
+ * User stake deposited but not usable and not generating rewards yet.
70
+ * (scaled from `Decimal` representation).
71
+ */
72
+ pendingDepositStakeScaled: string;
73
+ /**
74
+ * After this timestamp, pending user stake can be moved to user stake
75
+ * Initialized to now() + delayed user stake period
76
+ */
77
+ pendingDepositStakeTs: string;
78
+ /**
79
+ * User deposits unstaked, pending for withdrawal, not usable and not generating rewards.
80
+ * (scaled from `Decimal` representation).
81
+ */
82
+ pendingWithdrawalUnstakeScaled: string;
83
+ /** After this timestamp, user can withdraw their deposit. */
84
+ pendingWithdrawalUnstakeTs: string;
85
+ /** User bump used for account address validation */
86
+ bump: string;
87
+ /** Delegatee used for initialisation - useful to check against */
88
+ delegatee: string;
89
+ lastStakeTs: string;
90
+ padding1: Array<string>;
91
+ }
92
+ export declare class UserState {
93
+ readonly userId: BN;
94
+ readonly farmState: PublicKey;
95
+ readonly owner: PublicKey;
96
+ /** Indicate if this user state is part of a delegated farm */
97
+ readonly isFarmDelegated: number;
98
+ readonly padding0: Array<number>;
99
+ /**
100
+ * Rewards tally used for computation of gained rewards
101
+ * (scaled from `Decimal` representation).
102
+ */
103
+ readonly rewardsTallyScaled: Array<BN>;
104
+ /** Number of reward tokens ready for claim */
105
+ readonly rewardsIssuedUnclaimed: Array<BN>;
106
+ readonly lastClaimTs: Array<BN>;
107
+ /**
108
+ * User stake deposited and usable, generating rewards and fees.
109
+ * (scaled from `Decimal` representation).
110
+ */
111
+ readonly activeStakeScaled: BN;
112
+ /**
113
+ * User stake deposited but not usable and not generating rewards yet.
114
+ * (scaled from `Decimal` representation).
115
+ */
116
+ readonly pendingDepositStakeScaled: BN;
117
+ /**
118
+ * After this timestamp, pending user stake can be moved to user stake
119
+ * Initialized to now() + delayed user stake period
120
+ */
121
+ readonly pendingDepositStakeTs: BN;
122
+ /**
123
+ * User deposits unstaked, pending for withdrawal, not usable and not generating rewards.
124
+ * (scaled from `Decimal` representation).
125
+ */
126
+ readonly pendingWithdrawalUnstakeScaled: BN;
127
+ /** After this timestamp, user can withdraw their deposit. */
128
+ readonly pendingWithdrawalUnstakeTs: BN;
129
+ /** User bump used for account address validation */
130
+ readonly bump: BN;
131
+ /** Delegatee used for initialisation - useful to check against */
132
+ readonly delegatee: PublicKey;
133
+ readonly lastStakeTs: BN;
134
+ readonly padding1: Array<BN>;
135
+ static readonly discriminator: Buffer;
136
+ static readonly layout: any;
137
+ constructor(fields: UserStateFields);
138
+ static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<UserState | null>;
139
+ static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<UserState | null>>;
140
+ static decode(data: Buffer): UserState;
141
+ toJSON(): UserStateJSON;
142
+ static fromJSON(obj: UserStateJSON): UserState;
143
+ }