@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
package/dist/idl.json ADDED
@@ -0,0 +1,4102 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "name": "kamino_lending",
4
+ "instructions": [
5
+ {
6
+ "name": "initLendingMarket",
7
+ "accounts": [
8
+ {
9
+ "name": "lendingMarketOwner",
10
+ "isMut": true,
11
+ "isSigner": true
12
+ },
13
+ {
14
+ "name": "lendingMarket",
15
+ "isMut": true,
16
+ "isSigner": false
17
+ },
18
+ {
19
+ "name": "lendingMarketAuthority",
20
+ "isMut": false,
21
+ "isSigner": false
22
+ },
23
+ {
24
+ "name": "systemProgram",
25
+ "isMut": false,
26
+ "isSigner": false
27
+ },
28
+ {
29
+ "name": "rent",
30
+ "isMut": false,
31
+ "isSigner": false
32
+ }
33
+ ],
34
+ "args": [
35
+ {
36
+ "name": "quoteCurrency",
37
+ "type": {
38
+ "array": [
39
+ "u8",
40
+ 32
41
+ ]
42
+ }
43
+ }
44
+ ]
45
+ },
46
+ {
47
+ "name": "updateLendingMarket",
48
+ "accounts": [
49
+ {
50
+ "name": "lendingMarketOwner",
51
+ "isMut": false,
52
+ "isSigner": true
53
+ },
54
+ {
55
+ "name": "lendingMarket",
56
+ "isMut": true,
57
+ "isSigner": false
58
+ }
59
+ ],
60
+ "args": [
61
+ {
62
+ "name": "mode",
63
+ "type": "u64"
64
+ },
65
+ {
66
+ "name": "value",
67
+ "type": {
68
+ "array": [
69
+ "u8",
70
+ 72
71
+ ]
72
+ }
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "name": "updateLendingMarketOwner",
78
+ "accounts": [
79
+ {
80
+ "name": "lendingMarketOwnerCached",
81
+ "isMut": false,
82
+ "isSigner": true
83
+ },
84
+ {
85
+ "name": "lendingMarket",
86
+ "isMut": true,
87
+ "isSigner": false
88
+ }
89
+ ],
90
+ "args": []
91
+ },
92
+ {
93
+ "name": "initReserve",
94
+ "accounts": [
95
+ {
96
+ "name": "lendingMarketOwner",
97
+ "isMut": true,
98
+ "isSigner": true
99
+ },
100
+ {
101
+ "name": "lendingMarket",
102
+ "isMut": false,
103
+ "isSigner": false
104
+ },
105
+ {
106
+ "name": "lendingMarketAuthority",
107
+ "isMut": false,
108
+ "isSigner": false
109
+ },
110
+ {
111
+ "name": "reserve",
112
+ "isMut": true,
113
+ "isSigner": false
114
+ },
115
+ {
116
+ "name": "reserveLiquidityMint",
117
+ "isMut": false,
118
+ "isSigner": false
119
+ },
120
+ {
121
+ "name": "reserveLiquiditySupply",
122
+ "isMut": true,
123
+ "isSigner": false
124
+ },
125
+ {
126
+ "name": "feeReceiver",
127
+ "isMut": true,
128
+ "isSigner": false
129
+ },
130
+ {
131
+ "name": "reserveCollateralMint",
132
+ "isMut": true,
133
+ "isSigner": false
134
+ },
135
+ {
136
+ "name": "reserveCollateralSupply",
137
+ "isMut": true,
138
+ "isSigner": false
139
+ },
140
+ {
141
+ "name": "rent",
142
+ "isMut": false,
143
+ "isSigner": false
144
+ },
145
+ {
146
+ "name": "tokenProgram",
147
+ "isMut": false,
148
+ "isSigner": false
149
+ },
150
+ {
151
+ "name": "systemProgram",
152
+ "isMut": false,
153
+ "isSigner": false
154
+ }
155
+ ],
156
+ "args": []
157
+ },
158
+ {
159
+ "name": "initFarmsForReserve",
160
+ "accounts": [
161
+ {
162
+ "name": "lendingMarketOwner",
163
+ "isMut": true,
164
+ "isSigner": true
165
+ },
166
+ {
167
+ "name": "lendingMarket",
168
+ "isMut": false,
169
+ "isSigner": false
170
+ },
171
+ {
172
+ "name": "lendingMarketAuthority",
173
+ "isMut": true,
174
+ "isSigner": false
175
+ },
176
+ {
177
+ "name": "reserve",
178
+ "isMut": true,
179
+ "isSigner": false
180
+ },
181
+ {
182
+ "name": "farmsProgram",
183
+ "isMut": false,
184
+ "isSigner": false
185
+ },
186
+ {
187
+ "name": "farmsGlobalConfig",
188
+ "isMut": false,
189
+ "isSigner": false
190
+ },
191
+ {
192
+ "name": "farmState",
193
+ "isMut": true,
194
+ "isSigner": false
195
+ },
196
+ {
197
+ "name": "farmsVaultAuthority",
198
+ "isMut": false,
199
+ "isSigner": false
200
+ },
201
+ {
202
+ "name": "rent",
203
+ "isMut": false,
204
+ "isSigner": false
205
+ },
206
+ {
207
+ "name": "tokenProgram",
208
+ "isMut": false,
209
+ "isSigner": false
210
+ },
211
+ {
212
+ "name": "systemProgram",
213
+ "isMut": false,
214
+ "isSigner": false
215
+ }
216
+ ],
217
+ "args": [
218
+ {
219
+ "name": "mode",
220
+ "type": "u8"
221
+ }
222
+ ]
223
+ },
224
+ {
225
+ "name": "updateSingleReserveConfig",
226
+ "accounts": [
227
+ {
228
+ "name": "lendingMarketOwner",
229
+ "isMut": false,
230
+ "isSigner": true
231
+ },
232
+ {
233
+ "name": "lendingMarket",
234
+ "isMut": false,
235
+ "isSigner": false
236
+ },
237
+ {
238
+ "name": "reserve",
239
+ "isMut": true,
240
+ "isSigner": false
241
+ }
242
+ ],
243
+ "args": [
244
+ {
245
+ "name": "mode",
246
+ "type": "u64"
247
+ },
248
+ {
249
+ "name": "value",
250
+ "type": {
251
+ "array": [
252
+ "u8",
253
+ 32
254
+ ]
255
+ }
256
+ }
257
+ ]
258
+ },
259
+ {
260
+ "name": "updateEntireReserveConfig",
261
+ "accounts": [
262
+ {
263
+ "name": "lendingMarketOwner",
264
+ "isMut": false,
265
+ "isSigner": true
266
+ },
267
+ {
268
+ "name": "lendingMarket",
269
+ "isMut": false,
270
+ "isSigner": false
271
+ },
272
+ {
273
+ "name": "reserve",
274
+ "isMut": true,
275
+ "isSigner": false
276
+ }
277
+ ],
278
+ "args": [
279
+ {
280
+ "name": "mode",
281
+ "type": "u64"
282
+ },
283
+ {
284
+ "name": "value",
285
+ "type": {
286
+ "array": [
287
+ "u8",
288
+ 648
289
+ ]
290
+ }
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "name": "refreshReserve",
296
+ "accounts": [
297
+ {
298
+ "name": "reserve",
299
+ "isMut": true,
300
+ "isSigner": false
301
+ },
302
+ {
303
+ "name": "lendingMarket",
304
+ "isMut": false,
305
+ "isSigner": false
306
+ },
307
+ {
308
+ "name": "pythOracle",
309
+ "isMut": false,
310
+ "isSigner": false,
311
+ "isOptional": true
312
+ },
313
+ {
314
+ "name": "switchboardPriceOracle",
315
+ "isMut": false,
316
+ "isSigner": false,
317
+ "isOptional": true
318
+ },
319
+ {
320
+ "name": "switchboardTwapOracle",
321
+ "isMut": false,
322
+ "isSigner": false,
323
+ "isOptional": true
324
+ },
325
+ {
326
+ "name": "scopePrices",
327
+ "isMut": false,
328
+ "isSigner": false,
329
+ "isOptional": true
330
+ }
331
+ ],
332
+ "args": []
333
+ },
334
+ {
335
+ "name": "depositReserveLiquidity",
336
+ "accounts": [
337
+ {
338
+ "name": "owner",
339
+ "isMut": false,
340
+ "isSigner": true
341
+ },
342
+ {
343
+ "name": "reserve",
344
+ "isMut": true,
345
+ "isSigner": false
346
+ },
347
+ {
348
+ "name": "lendingMarket",
349
+ "isMut": false,
350
+ "isSigner": false
351
+ },
352
+ {
353
+ "name": "lendingMarketAuthority",
354
+ "isMut": false,
355
+ "isSigner": false
356
+ },
357
+ {
358
+ "name": "reserveLiquiditySupply",
359
+ "isMut": true,
360
+ "isSigner": false
361
+ },
362
+ {
363
+ "name": "reserveCollateralMint",
364
+ "isMut": true,
365
+ "isSigner": false
366
+ },
367
+ {
368
+ "name": "userSourceLiquidity",
369
+ "isMut": true,
370
+ "isSigner": false
371
+ },
372
+ {
373
+ "name": "userDestinationCollateral",
374
+ "isMut": true,
375
+ "isSigner": false
376
+ },
377
+ {
378
+ "name": "tokenProgram",
379
+ "isMut": false,
380
+ "isSigner": false
381
+ },
382
+ {
383
+ "name": "instructionSysvarAccount",
384
+ "isMut": false,
385
+ "isSigner": false
386
+ }
387
+ ],
388
+ "args": [
389
+ {
390
+ "name": "liquidityAmount",
391
+ "type": "u64"
392
+ }
393
+ ]
394
+ },
395
+ {
396
+ "name": "redeemReserveCollateral",
397
+ "accounts": [
398
+ {
399
+ "name": "owner",
400
+ "isMut": false,
401
+ "isSigner": true
402
+ },
403
+ {
404
+ "name": "lendingMarket",
405
+ "isMut": false,
406
+ "isSigner": false
407
+ },
408
+ {
409
+ "name": "reserve",
410
+ "isMut": true,
411
+ "isSigner": false
412
+ },
413
+ {
414
+ "name": "lendingMarketAuthority",
415
+ "isMut": false,
416
+ "isSigner": false
417
+ },
418
+ {
419
+ "name": "reserveCollateralMint",
420
+ "isMut": true,
421
+ "isSigner": false
422
+ },
423
+ {
424
+ "name": "reserveLiquiditySupply",
425
+ "isMut": true,
426
+ "isSigner": false
427
+ },
428
+ {
429
+ "name": "userSourceCollateral",
430
+ "isMut": true,
431
+ "isSigner": false
432
+ },
433
+ {
434
+ "name": "userDestinationLiquidity",
435
+ "isMut": true,
436
+ "isSigner": false
437
+ },
438
+ {
439
+ "name": "tokenProgram",
440
+ "isMut": false,
441
+ "isSigner": false
442
+ },
443
+ {
444
+ "name": "instructionSysvarAccount",
445
+ "isMut": false,
446
+ "isSigner": false
447
+ }
448
+ ],
449
+ "args": [
450
+ {
451
+ "name": "collateralAmount",
452
+ "type": "u64"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "name": "initObligation",
458
+ "accounts": [
459
+ {
460
+ "name": "obligationOwner",
461
+ "isMut": false,
462
+ "isSigner": true
463
+ },
464
+ {
465
+ "name": "feePayer",
466
+ "isMut": true,
467
+ "isSigner": true
468
+ },
469
+ {
470
+ "name": "obligation",
471
+ "isMut": true,
472
+ "isSigner": false
473
+ },
474
+ {
475
+ "name": "lendingMarket",
476
+ "isMut": false,
477
+ "isSigner": false
478
+ },
479
+ {
480
+ "name": "seed1Account",
481
+ "isMut": false,
482
+ "isSigner": false
483
+ },
484
+ {
485
+ "name": "seed2Account",
486
+ "isMut": false,
487
+ "isSigner": false
488
+ },
489
+ {
490
+ "name": "ownerUserMetadata",
491
+ "isMut": false,
492
+ "isSigner": false
493
+ },
494
+ {
495
+ "name": "rent",
496
+ "isMut": false,
497
+ "isSigner": false
498
+ },
499
+ {
500
+ "name": "tokenProgram",
501
+ "isMut": false,
502
+ "isSigner": false
503
+ },
504
+ {
505
+ "name": "systemProgram",
506
+ "isMut": false,
507
+ "isSigner": false
508
+ }
509
+ ],
510
+ "args": [
511
+ {
512
+ "name": "args",
513
+ "type": {
514
+ "defined": "InitObligationArgs"
515
+ }
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ "name": "initObligationFarmsForReserve",
521
+ "accounts": [
522
+ {
523
+ "name": "payer",
524
+ "isMut": true,
525
+ "isSigner": true
526
+ },
527
+ {
528
+ "name": "owner",
529
+ "isMut": false,
530
+ "isSigner": false
531
+ },
532
+ {
533
+ "name": "obligation",
534
+ "isMut": true,
535
+ "isSigner": false
536
+ },
537
+ {
538
+ "name": "lendingMarketAuthority",
539
+ "isMut": true,
540
+ "isSigner": false
541
+ },
542
+ {
543
+ "name": "reserve",
544
+ "isMut": true,
545
+ "isSigner": false
546
+ },
547
+ {
548
+ "name": "reserveFarmState",
549
+ "isMut": true,
550
+ "isSigner": false
551
+ },
552
+ {
553
+ "name": "obligationFarm",
554
+ "isMut": true,
555
+ "isSigner": false
556
+ },
557
+ {
558
+ "name": "lendingMarket",
559
+ "isMut": false,
560
+ "isSigner": false
561
+ },
562
+ {
563
+ "name": "farmsProgram",
564
+ "isMut": false,
565
+ "isSigner": false
566
+ },
567
+ {
568
+ "name": "rent",
569
+ "isMut": false,
570
+ "isSigner": false
571
+ },
572
+ {
573
+ "name": "tokenProgram",
574
+ "isMut": false,
575
+ "isSigner": false
576
+ },
577
+ {
578
+ "name": "systemProgram",
579
+ "isMut": false,
580
+ "isSigner": false
581
+ }
582
+ ],
583
+ "args": [
584
+ {
585
+ "name": "mode",
586
+ "type": "u8"
587
+ }
588
+ ]
589
+ },
590
+ {
591
+ "name": "refreshObligationFarmsForReserve",
592
+ "accounts": [
593
+ {
594
+ "name": "crank",
595
+ "isMut": true,
596
+ "isSigner": true
597
+ },
598
+ {
599
+ "name": "obligation",
600
+ "isMut": false,
601
+ "isSigner": false
602
+ },
603
+ {
604
+ "name": "lendingMarketAuthority",
605
+ "isMut": true,
606
+ "isSigner": false
607
+ },
608
+ {
609
+ "name": "reserve",
610
+ "isMut": false,
611
+ "isSigner": false
612
+ },
613
+ {
614
+ "name": "reserveFarmState",
615
+ "isMut": true,
616
+ "isSigner": false
617
+ },
618
+ {
619
+ "name": "obligationFarmUserState",
620
+ "isMut": true,
621
+ "isSigner": false
622
+ },
623
+ {
624
+ "name": "lendingMarket",
625
+ "isMut": false,
626
+ "isSigner": false
627
+ },
628
+ {
629
+ "name": "farmsProgram",
630
+ "isMut": false,
631
+ "isSigner": false
632
+ },
633
+ {
634
+ "name": "rent",
635
+ "isMut": false,
636
+ "isSigner": false
637
+ },
638
+ {
639
+ "name": "tokenProgram",
640
+ "isMut": false,
641
+ "isSigner": false
642
+ },
643
+ {
644
+ "name": "systemProgram",
645
+ "isMut": false,
646
+ "isSigner": false
647
+ }
648
+ ],
649
+ "args": [
650
+ {
651
+ "name": "mode",
652
+ "type": "u8"
653
+ }
654
+ ]
655
+ },
656
+ {
657
+ "name": "refreshObligation",
658
+ "accounts": [
659
+ {
660
+ "name": "lendingMarket",
661
+ "isMut": false,
662
+ "isSigner": false
663
+ },
664
+ {
665
+ "name": "obligation",
666
+ "isMut": true,
667
+ "isSigner": false
668
+ }
669
+ ],
670
+ "args": []
671
+ },
672
+ {
673
+ "name": "depositObligationCollateral",
674
+ "accounts": [
675
+ {
676
+ "name": "owner",
677
+ "isMut": false,
678
+ "isSigner": true
679
+ },
680
+ {
681
+ "name": "obligation",
682
+ "isMut": true,
683
+ "isSigner": false
684
+ },
685
+ {
686
+ "name": "lendingMarket",
687
+ "isMut": false,
688
+ "isSigner": false
689
+ },
690
+ {
691
+ "name": "depositReserve",
692
+ "isMut": true,
693
+ "isSigner": false
694
+ },
695
+ {
696
+ "name": "reserveDestinationCollateral",
697
+ "isMut": true,
698
+ "isSigner": false
699
+ },
700
+ {
701
+ "name": "userSourceCollateral",
702
+ "isMut": true,
703
+ "isSigner": false
704
+ },
705
+ {
706
+ "name": "tokenProgram",
707
+ "isMut": false,
708
+ "isSigner": false
709
+ },
710
+ {
711
+ "name": "instructionSysvarAccount",
712
+ "isMut": false,
713
+ "isSigner": false
714
+ }
715
+ ],
716
+ "args": [
717
+ {
718
+ "name": "collateralAmount",
719
+ "type": "u64"
720
+ }
721
+ ]
722
+ },
723
+ {
724
+ "name": "withdrawObligationCollateral",
725
+ "accounts": [
726
+ {
727
+ "name": "owner",
728
+ "isMut": false,
729
+ "isSigner": true
730
+ },
731
+ {
732
+ "name": "obligation",
733
+ "isMut": true,
734
+ "isSigner": false
735
+ },
736
+ {
737
+ "name": "lendingMarket",
738
+ "isMut": false,
739
+ "isSigner": false
740
+ },
741
+ {
742
+ "name": "lendingMarketAuthority",
743
+ "isMut": false,
744
+ "isSigner": false
745
+ },
746
+ {
747
+ "name": "withdrawReserve",
748
+ "isMut": false,
749
+ "isSigner": false
750
+ },
751
+ {
752
+ "name": "reserveSourceCollateral",
753
+ "isMut": true,
754
+ "isSigner": false
755
+ },
756
+ {
757
+ "name": "userDestinationCollateral",
758
+ "isMut": true,
759
+ "isSigner": false
760
+ },
761
+ {
762
+ "name": "tokenProgram",
763
+ "isMut": false,
764
+ "isSigner": false
765
+ },
766
+ {
767
+ "name": "instructionSysvarAccount",
768
+ "isMut": false,
769
+ "isSigner": false
770
+ }
771
+ ],
772
+ "args": [
773
+ {
774
+ "name": "collateralAmount",
775
+ "type": "u64"
776
+ }
777
+ ]
778
+ },
779
+ {
780
+ "name": "borrowObligationLiquidity",
781
+ "accounts": [
782
+ {
783
+ "name": "owner",
784
+ "isMut": false,
785
+ "isSigner": true
786
+ },
787
+ {
788
+ "name": "obligation",
789
+ "isMut": true,
790
+ "isSigner": false
791
+ },
792
+ {
793
+ "name": "lendingMarket",
794
+ "isMut": false,
795
+ "isSigner": false
796
+ },
797
+ {
798
+ "name": "lendingMarketAuthority",
799
+ "isMut": false,
800
+ "isSigner": false
801
+ },
802
+ {
803
+ "name": "borrowReserve",
804
+ "isMut": true,
805
+ "isSigner": false
806
+ },
807
+ {
808
+ "name": "reserveSourceLiquidity",
809
+ "isMut": true,
810
+ "isSigner": false
811
+ },
812
+ {
813
+ "name": "borrowReserveLiquidityFeeReceiver",
814
+ "isMut": true,
815
+ "isSigner": false
816
+ },
817
+ {
818
+ "name": "userDestinationLiquidity",
819
+ "isMut": true,
820
+ "isSigner": false
821
+ },
822
+ {
823
+ "name": "referrerTokenState",
824
+ "isMut": true,
825
+ "isSigner": false,
826
+ "isOptional": true
827
+ },
828
+ {
829
+ "name": "tokenProgram",
830
+ "isMut": false,
831
+ "isSigner": false
832
+ },
833
+ {
834
+ "name": "instructionSysvarAccount",
835
+ "isMut": false,
836
+ "isSigner": false
837
+ }
838
+ ],
839
+ "args": [
840
+ {
841
+ "name": "liquidityAmount",
842
+ "type": "u64"
843
+ }
844
+ ]
845
+ },
846
+ {
847
+ "name": "repayObligationLiquidity",
848
+ "accounts": [
849
+ {
850
+ "name": "owner",
851
+ "isMut": false,
852
+ "isSigner": true
853
+ },
854
+ {
855
+ "name": "obligation",
856
+ "isMut": true,
857
+ "isSigner": false
858
+ },
859
+ {
860
+ "name": "lendingMarket",
861
+ "isMut": false,
862
+ "isSigner": false
863
+ },
864
+ {
865
+ "name": "repayReserve",
866
+ "isMut": true,
867
+ "isSigner": false
868
+ },
869
+ {
870
+ "name": "reserveDestinationLiquidity",
871
+ "isMut": true,
872
+ "isSigner": false
873
+ },
874
+ {
875
+ "name": "userSourceLiquidity",
876
+ "isMut": true,
877
+ "isSigner": false
878
+ },
879
+ {
880
+ "name": "tokenProgram",
881
+ "isMut": false,
882
+ "isSigner": false
883
+ },
884
+ {
885
+ "name": "instructionSysvarAccount",
886
+ "isMut": false,
887
+ "isSigner": false
888
+ }
889
+ ],
890
+ "args": [
891
+ {
892
+ "name": "liquidityAmount",
893
+ "type": "u64"
894
+ }
895
+ ]
896
+ },
897
+ {
898
+ "name": "depositReserveLiquidityAndObligationCollateral",
899
+ "accounts": [
900
+ {
901
+ "name": "owner",
902
+ "isMut": true,
903
+ "isSigner": true
904
+ },
905
+ {
906
+ "name": "obligation",
907
+ "isMut": true,
908
+ "isSigner": false
909
+ },
910
+ {
911
+ "name": "lendingMarket",
912
+ "isMut": false,
913
+ "isSigner": false
914
+ },
915
+ {
916
+ "name": "lendingMarketAuthority",
917
+ "isMut": false,
918
+ "isSigner": false
919
+ },
920
+ {
921
+ "name": "reserve",
922
+ "isMut": true,
923
+ "isSigner": false
924
+ },
925
+ {
926
+ "name": "reserveLiquiditySupply",
927
+ "isMut": true,
928
+ "isSigner": false
929
+ },
930
+ {
931
+ "name": "reserveCollateralMint",
932
+ "isMut": true,
933
+ "isSigner": false
934
+ },
935
+ {
936
+ "name": "reserveDestinationDepositCollateral",
937
+ "isMut": true,
938
+ "isSigner": false
939
+ },
940
+ {
941
+ "name": "userSourceLiquidity",
942
+ "isMut": true,
943
+ "isSigner": false
944
+ },
945
+ {
946
+ "name": "placeholderUserDestinationCollateral",
947
+ "isMut": false,
948
+ "isSigner": false,
949
+ "isOptional": true
950
+ },
951
+ {
952
+ "name": "tokenProgram",
953
+ "isMut": false,
954
+ "isSigner": false
955
+ },
956
+ {
957
+ "name": "instructionSysvarAccount",
958
+ "isMut": false,
959
+ "isSigner": false
960
+ }
961
+ ],
962
+ "args": [
963
+ {
964
+ "name": "liquidityAmount",
965
+ "type": "u64"
966
+ }
967
+ ]
968
+ },
969
+ {
970
+ "name": "withdrawObligationCollateralAndRedeemReserveCollateral",
971
+ "accounts": [
972
+ {
973
+ "name": "owner",
974
+ "isMut": true,
975
+ "isSigner": true
976
+ },
977
+ {
978
+ "name": "obligation",
979
+ "isMut": true,
980
+ "isSigner": false
981
+ },
982
+ {
983
+ "name": "lendingMarket",
984
+ "isMut": false,
985
+ "isSigner": false
986
+ },
987
+ {
988
+ "name": "lendingMarketAuthority",
989
+ "isMut": false,
990
+ "isSigner": false
991
+ },
992
+ {
993
+ "name": "withdrawReserve",
994
+ "isMut": true,
995
+ "isSigner": false
996
+ },
997
+ {
998
+ "name": "reserveSourceCollateral",
999
+ "isMut": true,
1000
+ "isSigner": false
1001
+ },
1002
+ {
1003
+ "name": "reserveCollateralMint",
1004
+ "isMut": true,
1005
+ "isSigner": false
1006
+ },
1007
+ {
1008
+ "name": "reserveLiquiditySupply",
1009
+ "isMut": true,
1010
+ "isSigner": false
1011
+ },
1012
+ {
1013
+ "name": "userDestinationLiquidity",
1014
+ "isMut": true,
1015
+ "isSigner": false
1016
+ },
1017
+ {
1018
+ "name": "placeholderUserDestinationCollateral",
1019
+ "isMut": false,
1020
+ "isSigner": false,
1021
+ "isOptional": true
1022
+ },
1023
+ {
1024
+ "name": "tokenProgram",
1025
+ "isMut": false,
1026
+ "isSigner": false
1027
+ },
1028
+ {
1029
+ "name": "instructionSysvarAccount",
1030
+ "isMut": false,
1031
+ "isSigner": false
1032
+ }
1033
+ ],
1034
+ "args": [
1035
+ {
1036
+ "name": "collateralAmount",
1037
+ "type": "u64"
1038
+ }
1039
+ ]
1040
+ },
1041
+ {
1042
+ "name": "liquidateObligationAndRedeemReserveCollateral",
1043
+ "accounts": [
1044
+ {
1045
+ "name": "liquidator",
1046
+ "isMut": false,
1047
+ "isSigner": true
1048
+ },
1049
+ {
1050
+ "name": "obligation",
1051
+ "isMut": true,
1052
+ "isSigner": false
1053
+ },
1054
+ {
1055
+ "name": "lendingMarket",
1056
+ "isMut": false,
1057
+ "isSigner": false
1058
+ },
1059
+ {
1060
+ "name": "lendingMarketAuthority",
1061
+ "isMut": false,
1062
+ "isSigner": false
1063
+ },
1064
+ {
1065
+ "name": "repayReserve",
1066
+ "isMut": true,
1067
+ "isSigner": false
1068
+ },
1069
+ {
1070
+ "name": "repayReserveLiquiditySupply",
1071
+ "isMut": true,
1072
+ "isSigner": false
1073
+ },
1074
+ {
1075
+ "name": "withdrawReserve",
1076
+ "isMut": true,
1077
+ "isSigner": false
1078
+ },
1079
+ {
1080
+ "name": "withdrawReserveCollateralMint",
1081
+ "isMut": true,
1082
+ "isSigner": false
1083
+ },
1084
+ {
1085
+ "name": "withdrawReserveCollateralSupply",
1086
+ "isMut": true,
1087
+ "isSigner": false
1088
+ },
1089
+ {
1090
+ "name": "withdrawReserveLiquiditySupply",
1091
+ "isMut": true,
1092
+ "isSigner": false
1093
+ },
1094
+ {
1095
+ "name": "withdrawReserveLiquidityFeeReceiver",
1096
+ "isMut": true,
1097
+ "isSigner": false
1098
+ },
1099
+ {
1100
+ "name": "userSourceLiquidity",
1101
+ "isMut": true,
1102
+ "isSigner": false
1103
+ },
1104
+ {
1105
+ "name": "userDestinationCollateral",
1106
+ "isMut": true,
1107
+ "isSigner": false
1108
+ },
1109
+ {
1110
+ "name": "userDestinationLiquidity",
1111
+ "isMut": true,
1112
+ "isSigner": false
1113
+ },
1114
+ {
1115
+ "name": "tokenProgram",
1116
+ "isMut": false,
1117
+ "isSigner": false
1118
+ },
1119
+ {
1120
+ "name": "instructionSysvarAccount",
1121
+ "isMut": false,
1122
+ "isSigner": false
1123
+ }
1124
+ ],
1125
+ "args": [
1126
+ {
1127
+ "name": "liquidityAmount",
1128
+ "type": "u64"
1129
+ },
1130
+ {
1131
+ "name": "minAcceptableReceivedCollateralAmount",
1132
+ "type": "u64"
1133
+ },
1134
+ {
1135
+ "name": "maxAllowedLtvOverridePercent",
1136
+ "type": "u64"
1137
+ }
1138
+ ]
1139
+ },
1140
+ {
1141
+ "name": "redeemFees",
1142
+ "accounts": [
1143
+ {
1144
+ "name": "reserve",
1145
+ "isMut": true,
1146
+ "isSigner": false
1147
+ },
1148
+ {
1149
+ "name": "reserveLiquidityFeeReceiver",
1150
+ "isMut": true,
1151
+ "isSigner": false
1152
+ },
1153
+ {
1154
+ "name": "reserveSupplyLiquidity",
1155
+ "isMut": true,
1156
+ "isSigner": false
1157
+ },
1158
+ {
1159
+ "name": "lendingMarket",
1160
+ "isMut": false,
1161
+ "isSigner": false
1162
+ },
1163
+ {
1164
+ "name": "lendingMarketAuthority",
1165
+ "isMut": false,
1166
+ "isSigner": false
1167
+ },
1168
+ {
1169
+ "name": "tokenProgram",
1170
+ "isMut": false,
1171
+ "isSigner": false
1172
+ }
1173
+ ],
1174
+ "args": []
1175
+ },
1176
+ {
1177
+ "name": "flashRepayReserveLiquidity",
1178
+ "accounts": [
1179
+ {
1180
+ "name": "userTransferAuthority",
1181
+ "isMut": false,
1182
+ "isSigner": true
1183
+ },
1184
+ {
1185
+ "name": "lendingMarketAuthority",
1186
+ "isMut": false,
1187
+ "isSigner": false
1188
+ },
1189
+ {
1190
+ "name": "lendingMarket",
1191
+ "isMut": false,
1192
+ "isSigner": false
1193
+ },
1194
+ {
1195
+ "name": "reserve",
1196
+ "isMut": true,
1197
+ "isSigner": false
1198
+ },
1199
+ {
1200
+ "name": "reserveDestinationLiquidity",
1201
+ "isMut": true,
1202
+ "isSigner": false
1203
+ },
1204
+ {
1205
+ "name": "userSourceLiquidity",
1206
+ "isMut": true,
1207
+ "isSigner": false
1208
+ },
1209
+ {
1210
+ "name": "reserveLiquidityFeeReceiver",
1211
+ "isMut": true,
1212
+ "isSigner": false
1213
+ },
1214
+ {
1215
+ "name": "referrerTokenState",
1216
+ "isMut": true,
1217
+ "isSigner": false,
1218
+ "isOptional": true
1219
+ },
1220
+ {
1221
+ "name": "referrerAccount",
1222
+ "isMut": true,
1223
+ "isSigner": false,
1224
+ "isOptional": true
1225
+ },
1226
+ {
1227
+ "name": "sysvarInfo",
1228
+ "isMut": false,
1229
+ "isSigner": false
1230
+ },
1231
+ {
1232
+ "name": "tokenProgram",
1233
+ "isMut": false,
1234
+ "isSigner": false
1235
+ }
1236
+ ],
1237
+ "args": [
1238
+ {
1239
+ "name": "liquidityAmount",
1240
+ "type": "u64"
1241
+ },
1242
+ {
1243
+ "name": "borrowInstructionIndex",
1244
+ "type": "u8"
1245
+ }
1246
+ ]
1247
+ },
1248
+ {
1249
+ "name": "flashBorrowReserveLiquidity",
1250
+ "accounts": [
1251
+ {
1252
+ "name": "userTransferAuthority",
1253
+ "isMut": false,
1254
+ "isSigner": true
1255
+ },
1256
+ {
1257
+ "name": "lendingMarketAuthority",
1258
+ "isMut": false,
1259
+ "isSigner": false
1260
+ },
1261
+ {
1262
+ "name": "lendingMarket",
1263
+ "isMut": false,
1264
+ "isSigner": false
1265
+ },
1266
+ {
1267
+ "name": "reserve",
1268
+ "isMut": true,
1269
+ "isSigner": false
1270
+ },
1271
+ {
1272
+ "name": "reserveSourceLiquidity",
1273
+ "isMut": true,
1274
+ "isSigner": false
1275
+ },
1276
+ {
1277
+ "name": "userDestinationLiquidity",
1278
+ "isMut": true,
1279
+ "isSigner": false
1280
+ },
1281
+ {
1282
+ "name": "reserveLiquidityFeeReceiver",
1283
+ "isMut": true,
1284
+ "isSigner": false
1285
+ },
1286
+ {
1287
+ "name": "referrerTokenState",
1288
+ "isMut": true,
1289
+ "isSigner": false,
1290
+ "isOptional": true
1291
+ },
1292
+ {
1293
+ "name": "referrerAccount",
1294
+ "isMut": true,
1295
+ "isSigner": false,
1296
+ "isOptional": true
1297
+ },
1298
+ {
1299
+ "name": "sysvarInfo",
1300
+ "isMut": false,
1301
+ "isSigner": false
1302
+ },
1303
+ {
1304
+ "name": "tokenProgram",
1305
+ "isMut": false,
1306
+ "isSigner": false
1307
+ }
1308
+ ],
1309
+ "args": [
1310
+ {
1311
+ "name": "liquidityAmount",
1312
+ "type": "u64"
1313
+ }
1314
+ ]
1315
+ },
1316
+ {
1317
+ "name": "socializeLoss",
1318
+ "accounts": [
1319
+ {
1320
+ "name": "riskCouncil",
1321
+ "isMut": false,
1322
+ "isSigner": true
1323
+ },
1324
+ {
1325
+ "name": "obligation",
1326
+ "isMut": true,
1327
+ "isSigner": false
1328
+ },
1329
+ {
1330
+ "name": "lendingMarket",
1331
+ "isMut": false,
1332
+ "isSigner": false
1333
+ },
1334
+ {
1335
+ "name": "reserve",
1336
+ "isMut": true,
1337
+ "isSigner": false
1338
+ },
1339
+ {
1340
+ "name": "instructionSysvarAccount",
1341
+ "isMut": false,
1342
+ "isSigner": false
1343
+ }
1344
+ ],
1345
+ "args": [
1346
+ {
1347
+ "name": "liquidityAmount",
1348
+ "type": "u64"
1349
+ }
1350
+ ]
1351
+ },
1352
+ {
1353
+ "name": "requestElevationGroup",
1354
+ "accounts": [
1355
+ {
1356
+ "name": "owner",
1357
+ "isMut": false,
1358
+ "isSigner": true
1359
+ },
1360
+ {
1361
+ "name": "obligation",
1362
+ "isMut": true,
1363
+ "isSigner": false
1364
+ },
1365
+ {
1366
+ "name": "lendingMarket",
1367
+ "isMut": false,
1368
+ "isSigner": false
1369
+ }
1370
+ ],
1371
+ "args": [
1372
+ {
1373
+ "name": "elevationGroup",
1374
+ "type": "u8"
1375
+ }
1376
+ ]
1377
+ },
1378
+ {
1379
+ "name": "initReferrerTokenState",
1380
+ "accounts": [
1381
+ {
1382
+ "name": "payer",
1383
+ "isMut": true,
1384
+ "isSigner": true
1385
+ },
1386
+ {
1387
+ "name": "lendingMarket",
1388
+ "isMut": false,
1389
+ "isSigner": false
1390
+ },
1391
+ {
1392
+ "name": "reserve",
1393
+ "isMut": false,
1394
+ "isSigner": false
1395
+ },
1396
+ {
1397
+ "name": "referrerTokenState",
1398
+ "isMut": true,
1399
+ "isSigner": false
1400
+ },
1401
+ {
1402
+ "name": "rent",
1403
+ "isMut": false,
1404
+ "isSigner": false
1405
+ },
1406
+ {
1407
+ "name": "systemProgram",
1408
+ "isMut": false,
1409
+ "isSigner": false
1410
+ }
1411
+ ],
1412
+ "args": [
1413
+ {
1414
+ "name": "referrer",
1415
+ "type": "publicKey"
1416
+ }
1417
+ ]
1418
+ },
1419
+ {
1420
+ "name": "initUserMetadata",
1421
+ "accounts": [
1422
+ {
1423
+ "name": "owner",
1424
+ "isMut": false,
1425
+ "isSigner": true
1426
+ },
1427
+ {
1428
+ "name": "feePayer",
1429
+ "isMut": true,
1430
+ "isSigner": true
1431
+ },
1432
+ {
1433
+ "name": "userMetadata",
1434
+ "isMut": true,
1435
+ "isSigner": false
1436
+ },
1437
+ {
1438
+ "name": "referrerUserMetadata",
1439
+ "isMut": false,
1440
+ "isSigner": false,
1441
+ "isOptional": true
1442
+ },
1443
+ {
1444
+ "name": "rent",
1445
+ "isMut": false,
1446
+ "isSigner": false
1447
+ },
1448
+ {
1449
+ "name": "systemProgram",
1450
+ "isMut": false,
1451
+ "isSigner": false
1452
+ }
1453
+ ],
1454
+ "args": [
1455
+ {
1456
+ "name": "userLookupTable",
1457
+ "type": "publicKey"
1458
+ }
1459
+ ]
1460
+ },
1461
+ {
1462
+ "name": "withdrawReferrerFees",
1463
+ "accounts": [
1464
+ {
1465
+ "name": "referrer",
1466
+ "isMut": true,
1467
+ "isSigner": true
1468
+ },
1469
+ {
1470
+ "name": "referrerTokenState",
1471
+ "isMut": true,
1472
+ "isSigner": false
1473
+ },
1474
+ {
1475
+ "name": "reserve",
1476
+ "isMut": true,
1477
+ "isSigner": false
1478
+ },
1479
+ {
1480
+ "name": "reserveSupplyLiquidity",
1481
+ "isMut": true,
1482
+ "isSigner": false
1483
+ },
1484
+ {
1485
+ "name": "referrerTokenAccount",
1486
+ "isMut": true,
1487
+ "isSigner": false
1488
+ },
1489
+ {
1490
+ "name": "lendingMarket",
1491
+ "isMut": false,
1492
+ "isSigner": false
1493
+ },
1494
+ {
1495
+ "name": "lendingMarketAuthority",
1496
+ "isMut": false,
1497
+ "isSigner": false
1498
+ },
1499
+ {
1500
+ "name": "tokenProgram",
1501
+ "isMut": false,
1502
+ "isSigner": false
1503
+ }
1504
+ ],
1505
+ "args": []
1506
+ },
1507
+ {
1508
+ "name": "withdrawProtocolFee",
1509
+ "accounts": [
1510
+ {
1511
+ "name": "lendingMarketOwner",
1512
+ "isMut": false,
1513
+ "isSigner": true
1514
+ },
1515
+ {
1516
+ "name": "lendingMarket",
1517
+ "isMut": false,
1518
+ "isSigner": false
1519
+ },
1520
+ {
1521
+ "name": "reserve",
1522
+ "isMut": false,
1523
+ "isSigner": false
1524
+ },
1525
+ {
1526
+ "name": "lendingMarketAuthority",
1527
+ "isMut": false,
1528
+ "isSigner": false
1529
+ },
1530
+ {
1531
+ "name": "feeVault",
1532
+ "isMut": true,
1533
+ "isSigner": false
1534
+ },
1535
+ {
1536
+ "name": "lendingMarketOwnerAta",
1537
+ "isMut": true,
1538
+ "isSigner": false
1539
+ },
1540
+ {
1541
+ "name": "tokenProgram",
1542
+ "isMut": false,
1543
+ "isSigner": false
1544
+ }
1545
+ ],
1546
+ "args": [
1547
+ {
1548
+ "name": "amount",
1549
+ "type": "u64"
1550
+ }
1551
+ ]
1552
+ },
1553
+ {
1554
+ "name": "initReferrerStateAndShortUrl",
1555
+ "accounts": [
1556
+ {
1557
+ "name": "referrer",
1558
+ "isMut": true,
1559
+ "isSigner": true
1560
+ },
1561
+ {
1562
+ "name": "referrerState",
1563
+ "isMut": true,
1564
+ "isSigner": false
1565
+ },
1566
+ {
1567
+ "name": "referrerShortUrl",
1568
+ "isMut": true,
1569
+ "isSigner": false
1570
+ },
1571
+ {
1572
+ "name": "referrerUserMetadata",
1573
+ "isMut": false,
1574
+ "isSigner": false
1575
+ },
1576
+ {
1577
+ "name": "rent",
1578
+ "isMut": false,
1579
+ "isSigner": false
1580
+ },
1581
+ {
1582
+ "name": "systemProgram",
1583
+ "isMut": false,
1584
+ "isSigner": false
1585
+ }
1586
+ ],
1587
+ "args": [
1588
+ {
1589
+ "name": "shortUrl",
1590
+ "type": "string"
1591
+ }
1592
+ ]
1593
+ },
1594
+ {
1595
+ "name": "deleteReferrerStateAndShortUrl",
1596
+ "accounts": [
1597
+ {
1598
+ "name": "referrer",
1599
+ "isMut": true,
1600
+ "isSigner": true
1601
+ },
1602
+ {
1603
+ "name": "referrerState",
1604
+ "isMut": true,
1605
+ "isSigner": false
1606
+ },
1607
+ {
1608
+ "name": "shortUrl",
1609
+ "isMut": true,
1610
+ "isSigner": false
1611
+ },
1612
+ {
1613
+ "name": "rent",
1614
+ "isMut": false,
1615
+ "isSigner": false
1616
+ },
1617
+ {
1618
+ "name": "systemProgram",
1619
+ "isMut": false,
1620
+ "isSigner": false
1621
+ }
1622
+ ],
1623
+ "args": []
1624
+ },
1625
+ {
1626
+ "name": "idlMissingTypes",
1627
+ "accounts": [
1628
+ {
1629
+ "name": "lendingMarketOwner",
1630
+ "isMut": false,
1631
+ "isSigner": true
1632
+ },
1633
+ {
1634
+ "name": "lendingMarket",
1635
+ "isMut": false,
1636
+ "isSigner": false
1637
+ },
1638
+ {
1639
+ "name": "reserve",
1640
+ "isMut": true,
1641
+ "isSigner": false
1642
+ }
1643
+ ],
1644
+ "args": [
1645
+ {
1646
+ "name": "reserveFarmKind",
1647
+ "type": {
1648
+ "defined": "ReserveFarmKind"
1649
+ }
1650
+ },
1651
+ {
1652
+ "name": "assetTier",
1653
+ "type": {
1654
+ "defined": "AssetTier"
1655
+ }
1656
+ },
1657
+ {
1658
+ "name": "feeCalculation",
1659
+ "type": {
1660
+ "defined": "FeeCalculation"
1661
+ }
1662
+ },
1663
+ {
1664
+ "name": "reserveStatus",
1665
+ "type": {
1666
+ "defined": "ReserveStatus"
1667
+ }
1668
+ },
1669
+ {
1670
+ "name": "updateConfigMode",
1671
+ "type": {
1672
+ "defined": "UpdateConfigMode"
1673
+ }
1674
+ },
1675
+ {
1676
+ "name": "updateLendingMarketConfigValue",
1677
+ "type": {
1678
+ "defined": "UpdateLendingMarketConfigValue"
1679
+ }
1680
+ },
1681
+ {
1682
+ "name": "updateLendingMarketConfigMode",
1683
+ "type": {
1684
+ "defined": "UpdateLendingMarketMode"
1685
+ }
1686
+ }
1687
+ ]
1688
+ }
1689
+ ],
1690
+ "accounts": [
1691
+ {
1692
+ "name": "UserState",
1693
+ "type": {
1694
+ "kind": "struct",
1695
+ "fields": [
1696
+ {
1697
+ "name": "userId",
1698
+ "type": "u64"
1699
+ },
1700
+ {
1701
+ "name": "farmState",
1702
+ "type": "publicKey"
1703
+ },
1704
+ {
1705
+ "name": "owner",
1706
+ "type": "publicKey"
1707
+ },
1708
+ {
1709
+ "name": "isFarmDelegated",
1710
+ "docs": [
1711
+ "Indicate if this user state is part of a delegated farm"
1712
+ ],
1713
+ "type": "u8"
1714
+ },
1715
+ {
1716
+ "name": "padding0",
1717
+ "type": {
1718
+ "array": [
1719
+ "u8",
1720
+ 7
1721
+ ]
1722
+ }
1723
+ },
1724
+ {
1725
+ "name": "rewardsTallyScaled",
1726
+ "docs": [
1727
+ "Rewards tally used for computation of gained rewards",
1728
+ "(scaled from `Decimal` representation)."
1729
+ ],
1730
+ "type": {
1731
+ "array": [
1732
+ "u128",
1733
+ 10
1734
+ ]
1735
+ }
1736
+ },
1737
+ {
1738
+ "name": "rewardsIssuedUnclaimed",
1739
+ "docs": [
1740
+ "Number of reward tokens ready for claim"
1741
+ ],
1742
+ "type": {
1743
+ "array": [
1744
+ "u64",
1745
+ 10
1746
+ ]
1747
+ }
1748
+ },
1749
+ {
1750
+ "name": "lastClaimTs",
1751
+ "type": {
1752
+ "array": [
1753
+ "u64",
1754
+ 10
1755
+ ]
1756
+ }
1757
+ },
1758
+ {
1759
+ "name": "activeStakeScaled",
1760
+ "docs": [
1761
+ "User stake deposited and usable, generating rewards and fees.",
1762
+ "(scaled from `Decimal` representation)."
1763
+ ],
1764
+ "type": "u128"
1765
+ },
1766
+ {
1767
+ "name": "pendingDepositStakeScaled",
1768
+ "docs": [
1769
+ "User stake deposited but not usable and not generating rewards yet.",
1770
+ "(scaled from `Decimal` representation)."
1771
+ ],
1772
+ "type": "u128"
1773
+ },
1774
+ {
1775
+ "name": "pendingDepositStakeTs",
1776
+ "docs": [
1777
+ "After this timestamp, pending user stake can be moved to user stake",
1778
+ "Initialized to now() + delayed user stake period"
1779
+ ],
1780
+ "type": "u64"
1781
+ },
1782
+ {
1783
+ "name": "pendingWithdrawalUnstakeScaled",
1784
+ "docs": [
1785
+ "User deposits unstaked, pending for withdrawal, not usable and not generating rewards.",
1786
+ "(scaled from `Decimal` representation)."
1787
+ ],
1788
+ "type": "u128"
1789
+ },
1790
+ {
1791
+ "name": "pendingWithdrawalUnstakeTs",
1792
+ "docs": [
1793
+ "After this timestamp, user can withdraw their deposit."
1794
+ ],
1795
+ "type": "u64"
1796
+ },
1797
+ {
1798
+ "name": "bump",
1799
+ "docs": [
1800
+ "User bump used for account address validation"
1801
+ ],
1802
+ "type": "u64"
1803
+ },
1804
+ {
1805
+ "name": "delegatee",
1806
+ "docs": [
1807
+ "Delegatee used for initialisation - useful to check against"
1808
+ ],
1809
+ "type": "publicKey"
1810
+ },
1811
+ {
1812
+ "name": "lastStakeTs",
1813
+ "type": "u64"
1814
+ },
1815
+ {
1816
+ "name": "padding1",
1817
+ "type": {
1818
+ "array": [
1819
+ "u64",
1820
+ 50
1821
+ ]
1822
+ }
1823
+ }
1824
+ ]
1825
+ }
1826
+ },
1827
+ {
1828
+ "name": "LendingMarket",
1829
+ "type": {
1830
+ "kind": "struct",
1831
+ "fields": [
1832
+ {
1833
+ "name": "version",
1834
+ "docs": [
1835
+ "Version of lending market"
1836
+ ],
1837
+ "type": "u64"
1838
+ },
1839
+ {
1840
+ "name": "bumpSeed",
1841
+ "docs": [
1842
+ "Bump seed for derived authority address"
1843
+ ],
1844
+ "type": "u64"
1845
+ },
1846
+ {
1847
+ "name": "lendingMarketOwner",
1848
+ "docs": [
1849
+ "Owner authority which can add new reserves"
1850
+ ],
1851
+ "type": "publicKey"
1852
+ },
1853
+ {
1854
+ "name": "lendingMarketOwnerCached",
1855
+ "docs": [
1856
+ "Temporary cache of the lending market owner, used in update_lending_market_owner"
1857
+ ],
1858
+ "type": "publicKey"
1859
+ },
1860
+ {
1861
+ "name": "quoteCurrency",
1862
+ "docs": [
1863
+ "Currency market prices are quoted in",
1864
+ "e.g. \"USD\" null padded (`*b\"USD\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"`) or a SPL token mint pubkey"
1865
+ ],
1866
+ "type": {
1867
+ "array": [
1868
+ "u8",
1869
+ 32
1870
+ ]
1871
+ }
1872
+ },
1873
+ {
1874
+ "name": "referralFeeBps",
1875
+ "docs": [
1876
+ "Referral fee for the lending market, as bps out of the total protocol fee"
1877
+ ],
1878
+ "type": "u16"
1879
+ },
1880
+ {
1881
+ "name": "emergencyMode",
1882
+ "type": "u8"
1883
+ },
1884
+ {
1885
+ "name": "autodeleverageEnabled",
1886
+ "type": "u8"
1887
+ },
1888
+ {
1889
+ "name": "borrowDisabled",
1890
+ "docs": [
1891
+ "Padding used for alignment"
1892
+ ],
1893
+ "type": "u8"
1894
+ },
1895
+ {
1896
+ "name": "priceRefreshTriggerToMaxAgePct",
1897
+ "docs": [
1898
+ "Refresh price from oracle only if it's older than this percentage of the price max age.",
1899
+ "e.g. if the max age is set to 100s and this is set to 80%, the price will be refreshed if it's older than 80s.",
1900
+ "Price is always refreshed if this set to 0."
1901
+ ],
1902
+ "type": "u8"
1903
+ },
1904
+ {
1905
+ "name": "liquidationMaxDebtCloseFactorPct",
1906
+ "docs": [
1907
+ "Percentage of the total borrowed value in an obligation available for liquidation"
1908
+ ],
1909
+ "type": "u8"
1910
+ },
1911
+ {
1912
+ "name": "insolvencyRiskUnhealthyLtvPct",
1913
+ "docs": [
1914
+ "Minimum acceptable unhealthy LTV before max_debt_close_factor_pct becomes 100%"
1915
+ ],
1916
+ "type": "u8"
1917
+ },
1918
+ {
1919
+ "name": "minFullLiquidationValueThreshold",
1920
+ "docs": [
1921
+ "Minimum liquidation value threshold triggering full liquidation for an obligation"
1922
+ ],
1923
+ "type": "u64"
1924
+ },
1925
+ {
1926
+ "name": "maxLiquidatableDebtMarketValueAtOnce",
1927
+ "docs": [
1928
+ "Max allowed liquidation value in one ix call"
1929
+ ],
1930
+ "type": "u64"
1931
+ },
1932
+ {
1933
+ "name": "globalUnhealthyBorrowValue",
1934
+ "docs": [
1935
+ "Global maximum unhealthy borrow value allowed for any obligation"
1936
+ ],
1937
+ "type": "u64"
1938
+ },
1939
+ {
1940
+ "name": "globalAllowedBorrowValue",
1941
+ "docs": [
1942
+ "Global maximum allowed borrow value allowed for any obligation"
1943
+ ],
1944
+ "type": "u64"
1945
+ },
1946
+ {
1947
+ "name": "riskCouncil",
1948
+ "docs": [
1949
+ "The address of the risk council, in charge of making parameter and risk decisions on behalf of the protocol"
1950
+ ],
1951
+ "type": "publicKey"
1952
+ },
1953
+ {
1954
+ "name": "multiplierPointsTagBoost",
1955
+ "docs": [
1956
+ "Reward points multiplier per obligation type"
1957
+ ],
1958
+ "type": {
1959
+ "array": [
1960
+ "u8",
1961
+ 8
1962
+ ]
1963
+ }
1964
+ },
1965
+ {
1966
+ "name": "elevationGroups",
1967
+ "docs": [
1968
+ "Elevation groups are used to group together reserves that have the same risk parameters and can bump the ltv and liquidation threshold"
1969
+ ],
1970
+ "type": {
1971
+ "array": [
1972
+ {
1973
+ "defined": "ElevationGroup"
1974
+ },
1975
+ 32
1976
+ ]
1977
+ }
1978
+ },
1979
+ {
1980
+ "name": "elevationGroupPadding",
1981
+ "type": {
1982
+ "array": [
1983
+ "u64",
1984
+ 90
1985
+ ]
1986
+ }
1987
+ },
1988
+ {
1989
+ "name": "padding1",
1990
+ "type": {
1991
+ "array": [
1992
+ "u64",
1993
+ 180
1994
+ ]
1995
+ }
1996
+ }
1997
+ ]
1998
+ }
1999
+ },
2000
+ {
2001
+ "name": "Obligation",
2002
+ "docs": [
2003
+ "Lending market obligation state"
2004
+ ],
2005
+ "type": {
2006
+ "kind": "struct",
2007
+ "fields": [
2008
+ {
2009
+ "name": "tag",
2010
+ "docs": [
2011
+ "Version of the struct"
2012
+ ],
2013
+ "type": "u64"
2014
+ },
2015
+ {
2016
+ "name": "lastUpdate",
2017
+ "docs": [
2018
+ "Last update to collateral, liquidity, or their market values"
2019
+ ],
2020
+ "type": {
2021
+ "defined": "LastUpdate"
2022
+ }
2023
+ },
2024
+ {
2025
+ "name": "lendingMarket",
2026
+ "docs": [
2027
+ "Lending market address"
2028
+ ],
2029
+ "type": "publicKey"
2030
+ },
2031
+ {
2032
+ "name": "owner",
2033
+ "docs": [
2034
+ "Owner authority which can borrow liquidity"
2035
+ ],
2036
+ "type": "publicKey"
2037
+ },
2038
+ {
2039
+ "name": "deposits",
2040
+ "docs": [
2041
+ "TODO: Does this break the stack size when copied onto the stack, if too big?",
2042
+ "Deposited collateral for the obligation, unique by deposit reserve address"
2043
+ ],
2044
+ "type": {
2045
+ "array": [
2046
+ {
2047
+ "defined": "ObligationCollateral"
2048
+ },
2049
+ 8
2050
+ ]
2051
+ }
2052
+ },
2053
+ {
2054
+ "name": "lowestReserveDepositLtv",
2055
+ "docs": [
2056
+ "Worst LTV for the collaterals backing the loan, represented as a percentage"
2057
+ ],
2058
+ "type": "u64"
2059
+ },
2060
+ {
2061
+ "name": "depositedValueSf",
2062
+ "docs": [
2063
+ "Market value of deposits (scaled fraction)"
2064
+ ],
2065
+ "type": "u128"
2066
+ },
2067
+ {
2068
+ "name": "borrows",
2069
+ "docs": [
2070
+ "Borrowed liquidity for the obligation, unique by borrow reserve address"
2071
+ ],
2072
+ "type": {
2073
+ "array": [
2074
+ {
2075
+ "defined": "ObligationLiquidity"
2076
+ },
2077
+ 5
2078
+ ]
2079
+ }
2080
+ },
2081
+ {
2082
+ "name": "borrowFactorAdjustedDebtValueSf",
2083
+ "docs": [
2084
+ "Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction)"
2085
+ ],
2086
+ "type": "u128"
2087
+ },
2088
+ {
2089
+ "name": "borrowedAssetsMarketValueSf",
2090
+ "docs": [
2091
+ "Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction)"
2092
+ ],
2093
+ "type": "u128"
2094
+ },
2095
+ {
2096
+ "name": "allowedBorrowValueSf",
2097
+ "docs": [
2098
+ "The maximum borrow value at the weighted average loan to value ratio (scaled fraction)"
2099
+ ],
2100
+ "type": "u128"
2101
+ },
2102
+ {
2103
+ "name": "unhealthyBorrowValueSf",
2104
+ "docs": [
2105
+ "The dangerous borrow value at the weighted average liquidation threshold (scaled fraction)"
2106
+ ],
2107
+ "type": "u128"
2108
+ },
2109
+ {
2110
+ "name": "depositsAssetTiers",
2111
+ "docs": [
2112
+ "The asset tier of the deposits"
2113
+ ],
2114
+ "type": {
2115
+ "array": [
2116
+ "u8",
2117
+ 8
2118
+ ]
2119
+ }
2120
+ },
2121
+ {
2122
+ "name": "borrowsAssetTiers",
2123
+ "docs": [
2124
+ "The asset tier of the borrows"
2125
+ ],
2126
+ "type": {
2127
+ "array": [
2128
+ "u8",
2129
+ 5
2130
+ ]
2131
+ }
2132
+ },
2133
+ {
2134
+ "name": "elevationGroup",
2135
+ "docs": [
2136
+ "The elevation group id the obligation opted into."
2137
+ ],
2138
+ "type": "u8"
2139
+ },
2140
+ {
2141
+ "name": "numOfObsoleteReserves",
2142
+ "docs": [
2143
+ "The number of deprecated reserves the obligation has a deposit"
2144
+ ],
2145
+ "type": "u8"
2146
+ },
2147
+ {
2148
+ "name": "hasDebt",
2149
+ "docs": [
2150
+ "Marked = 1 if borrows array is not empty, 0 = borrows empty"
2151
+ ],
2152
+ "type": "u8"
2153
+ },
2154
+ {
2155
+ "name": "referrer",
2156
+ "docs": [
2157
+ "Wallet address of the referrer"
2158
+ ],
2159
+ "type": "publicKey"
2160
+ },
2161
+ {
2162
+ "name": "padding3",
2163
+ "type": {
2164
+ "array": [
2165
+ "u64",
2166
+ 128
2167
+ ]
2168
+ }
2169
+ }
2170
+ ]
2171
+ }
2172
+ },
2173
+ {
2174
+ "name": "ReferrerState",
2175
+ "type": {
2176
+ "kind": "struct",
2177
+ "fields": [
2178
+ {
2179
+ "name": "shortUrl",
2180
+ "type": "publicKey"
2181
+ },
2182
+ {
2183
+ "name": "owner",
2184
+ "type": "publicKey"
2185
+ }
2186
+ ]
2187
+ }
2188
+ },
2189
+ {
2190
+ "name": "ReferrerTokenState",
2191
+ "docs": [
2192
+ "Referrer account -> each owner can have multiple accounts for specific reserves"
2193
+ ],
2194
+ "type": {
2195
+ "kind": "struct",
2196
+ "fields": [
2197
+ {
2198
+ "name": "referrer",
2199
+ "docs": [
2200
+ "Pubkey of the referrer/owner"
2201
+ ],
2202
+ "type": "publicKey"
2203
+ },
2204
+ {
2205
+ "name": "mint",
2206
+ "docs": [
2207
+ "Token mint for the account"
2208
+ ],
2209
+ "type": "publicKey"
2210
+ },
2211
+ {
2212
+ "name": "amountUnclaimedSf",
2213
+ "docs": [
2214
+ "Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction)"
2215
+ ],
2216
+ "type": "u128"
2217
+ },
2218
+ {
2219
+ "name": "amountCumulativeSf",
2220
+ "docs": [
2221
+ "Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction)"
2222
+ ],
2223
+ "type": "u128"
2224
+ },
2225
+ {
2226
+ "name": "bump",
2227
+ "docs": [
2228
+ "Referrer token state bump, used for address validation"
2229
+ ],
2230
+ "type": "u64"
2231
+ },
2232
+ {
2233
+ "name": "padding",
2234
+ "type": {
2235
+ "array": [
2236
+ "u64",
2237
+ 31
2238
+ ]
2239
+ }
2240
+ }
2241
+ ]
2242
+ }
2243
+ },
2244
+ {
2245
+ "name": "ShortUrl",
2246
+ "type": {
2247
+ "kind": "struct",
2248
+ "fields": [
2249
+ {
2250
+ "name": "referrer",
2251
+ "type": "publicKey"
2252
+ },
2253
+ {
2254
+ "name": "shortUrl",
2255
+ "type": "string"
2256
+ }
2257
+ ]
2258
+ }
2259
+ },
2260
+ {
2261
+ "name": "UserMetadata",
2262
+ "docs": [
2263
+ "Referrer account -> each owner can have multiple accounts for specific reserves"
2264
+ ],
2265
+ "type": {
2266
+ "kind": "struct",
2267
+ "fields": [
2268
+ {
2269
+ "name": "referrer",
2270
+ "docs": [
2271
+ "Pubkey of the referrer/owner - pubkey::default if no referrer"
2272
+ ],
2273
+ "type": "publicKey"
2274
+ },
2275
+ {
2276
+ "name": "bump",
2277
+ "docs": [
2278
+ "Bump used for validation of account address"
2279
+ ],
2280
+ "type": "u64"
2281
+ },
2282
+ {
2283
+ "name": "userLookupTable",
2284
+ "docs": [
2285
+ "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"
2286
+ ],
2287
+ "type": "publicKey"
2288
+ },
2289
+ {
2290
+ "name": "owner",
2291
+ "docs": [
2292
+ "User metadata account owner"
2293
+ ],
2294
+ "type": "publicKey"
2295
+ },
2296
+ {
2297
+ "name": "padding1",
2298
+ "type": {
2299
+ "array": [
2300
+ "u64",
2301
+ 51
2302
+ ]
2303
+ }
2304
+ },
2305
+ {
2306
+ "name": "padding2",
2307
+ "type": {
2308
+ "array": [
2309
+ "u64",
2310
+ 64
2311
+ ]
2312
+ }
2313
+ }
2314
+ ]
2315
+ }
2316
+ },
2317
+ {
2318
+ "name": "Reserve",
2319
+ "type": {
2320
+ "kind": "struct",
2321
+ "fields": [
2322
+ {
2323
+ "name": "version",
2324
+ "docs": [
2325
+ "Version of the reserve"
2326
+ ],
2327
+ "type": "u64"
2328
+ },
2329
+ {
2330
+ "name": "lastUpdate",
2331
+ "docs": [
2332
+ "Last slot when supply and rates updated"
2333
+ ],
2334
+ "type": {
2335
+ "defined": "LastUpdate"
2336
+ }
2337
+ },
2338
+ {
2339
+ "name": "lendingMarket",
2340
+ "docs": [
2341
+ "Lending market address"
2342
+ ],
2343
+ "type": "publicKey"
2344
+ },
2345
+ {
2346
+ "name": "farmCollateral",
2347
+ "type": "publicKey"
2348
+ },
2349
+ {
2350
+ "name": "farmDebt",
2351
+ "type": "publicKey"
2352
+ },
2353
+ {
2354
+ "name": "liquidity",
2355
+ "docs": [
2356
+ "Reserve liquidity"
2357
+ ],
2358
+ "type": {
2359
+ "defined": "ReserveLiquidity"
2360
+ }
2361
+ },
2362
+ {
2363
+ "name": "reserveLiquidityPadding",
2364
+ "type": {
2365
+ "array": [
2366
+ "u64",
2367
+ 150
2368
+ ]
2369
+ }
2370
+ },
2371
+ {
2372
+ "name": "collateral",
2373
+ "docs": [
2374
+ "Reserve collateral"
2375
+ ],
2376
+ "type": {
2377
+ "defined": "ReserveCollateral"
2378
+ }
2379
+ },
2380
+ {
2381
+ "name": "reserveCollateralPadding",
2382
+ "type": {
2383
+ "array": [
2384
+ "u64",
2385
+ 150
2386
+ ]
2387
+ }
2388
+ },
2389
+ {
2390
+ "name": "config",
2391
+ "docs": [
2392
+ "Reserve configuration values"
2393
+ ],
2394
+ "type": {
2395
+ "defined": "ReserveConfig"
2396
+ }
2397
+ },
2398
+ {
2399
+ "name": "configPadding",
2400
+ "type": {
2401
+ "array": [
2402
+ "u64",
2403
+ 150
2404
+ ]
2405
+ }
2406
+ },
2407
+ {
2408
+ "name": "padding",
2409
+ "type": {
2410
+ "array": [
2411
+ "u64",
2412
+ 240
2413
+ ]
2414
+ }
2415
+ }
2416
+ ]
2417
+ }
2418
+ }
2419
+ ],
2420
+ "types": [
2421
+ {
2422
+ "name": "UpdateConfigMode",
2423
+ "type": {
2424
+ "kind": "enum",
2425
+ "variants": [
2426
+ {
2427
+ "name": "UpdateLoanToValuePct"
2428
+ },
2429
+ {
2430
+ "name": "UpdateMaxLiquidationBonusBps"
2431
+ },
2432
+ {
2433
+ "name": "UpdateLiquidationThresholdPct"
2434
+ },
2435
+ {
2436
+ "name": "UpdateProtocolLiquidationFee"
2437
+ },
2438
+ {
2439
+ "name": "UpdateProtocolTakeRate"
2440
+ },
2441
+ {
2442
+ "name": "UpdateFeesBorrowFee"
2443
+ },
2444
+ {
2445
+ "name": "UpdateFeesFlashLoanFee"
2446
+ },
2447
+ {
2448
+ "name": "UpdateFeesReferralFeeBps"
2449
+ },
2450
+ {
2451
+ "name": "UpdateDepositLimit"
2452
+ },
2453
+ {
2454
+ "name": "UpdateBorrowLimit"
2455
+ },
2456
+ {
2457
+ "name": "UpdateTokenInfoLowerHeuristic"
2458
+ },
2459
+ {
2460
+ "name": "UpdateTokenInfoUpperHeuristic"
2461
+ },
2462
+ {
2463
+ "name": "UpdateTokenInfoExpHeuristic"
2464
+ },
2465
+ {
2466
+ "name": "UpdateTokenInfoTwapDivergence"
2467
+ },
2468
+ {
2469
+ "name": "UpdateTokenInfoScopeTwap"
2470
+ },
2471
+ {
2472
+ "name": "UpdateTokenInfoScopeChain"
2473
+ },
2474
+ {
2475
+ "name": "UpdateTokenInfoName"
2476
+ },
2477
+ {
2478
+ "name": "UpdateTokenInfoPriceMaxAge"
2479
+ },
2480
+ {
2481
+ "name": "UpdateTokenInfoTwapMaxAge"
2482
+ },
2483
+ {
2484
+ "name": "UpdateScopePriceFeed"
2485
+ },
2486
+ {
2487
+ "name": "UpdatePythPrice"
2488
+ },
2489
+ {
2490
+ "name": "UpdateSwitchboardFeed"
2491
+ },
2492
+ {
2493
+ "name": "UpdateSwitchboardTwapFeed"
2494
+ },
2495
+ {
2496
+ "name": "UpdateBorrowRateCurve"
2497
+ },
2498
+ {
2499
+ "name": "UpdateEntireReserveConfig"
2500
+ },
2501
+ {
2502
+ "name": "UpdateDebtWithdrawalCap"
2503
+ },
2504
+ {
2505
+ "name": "UpdateDepositWithdrawalCap"
2506
+ },
2507
+ {
2508
+ "name": "UpdateDebtWithdrawalCapCurrentTotal"
2509
+ },
2510
+ {
2511
+ "name": "UpdateDepositWithdrawalCapCurrentTotal"
2512
+ },
2513
+ {
2514
+ "name": "UpdateBadDebtLiquidationBonusBps"
2515
+ },
2516
+ {
2517
+ "name": "UpdateMinLiquidationBonusBps"
2518
+ },
2519
+ {
2520
+ "name": "DeleveragingMarginCallPeriod"
2521
+ },
2522
+ {
2523
+ "name": "UpdateBorrowFactor"
2524
+ },
2525
+ {
2526
+ "name": "UpdateAssetTier"
2527
+ },
2528
+ {
2529
+ "name": "UpdateElevationGroup"
2530
+ },
2531
+ {
2532
+ "name": "DeleveragingThresholdSlotsPerBps"
2533
+ },
2534
+ {
2535
+ "name": "UpdateMultiplierSideBoost"
2536
+ },
2537
+ {
2538
+ "name": "UpdateMultiplierTagBoost"
2539
+ },
2540
+ {
2541
+ "name": "UpdateReserveStatus"
2542
+ },
2543
+ {
2544
+ "name": "UpdateFarmCollateral"
2545
+ },
2546
+ {
2547
+ "name": "UpdateFarmDebt"
2548
+ }
2549
+ ]
2550
+ }
2551
+ },
2552
+ {
2553
+ "name": "UpdateLendingMarketConfigValue",
2554
+ "type": {
2555
+ "kind": "enum",
2556
+ "variants": [
2557
+ {
2558
+ "name": "Bool",
2559
+ "fields": [
2560
+ "bool"
2561
+ ]
2562
+ },
2563
+ {
2564
+ "name": "U8",
2565
+ "fields": [
2566
+ "u8"
2567
+ ]
2568
+ },
2569
+ {
2570
+ "name": "U8Array",
2571
+ "fields": [
2572
+ {
2573
+ "array": [
2574
+ "u8",
2575
+ 8
2576
+ ]
2577
+ }
2578
+ ]
2579
+ },
2580
+ {
2581
+ "name": "U16",
2582
+ "fields": [
2583
+ "u16"
2584
+ ]
2585
+ },
2586
+ {
2587
+ "name": "U64",
2588
+ "fields": [
2589
+ "u64"
2590
+ ]
2591
+ },
2592
+ {
2593
+ "name": "Pubkey",
2594
+ "fields": [
2595
+ "publicKey"
2596
+ ]
2597
+ },
2598
+ {
2599
+ "name": "ElevationGroup",
2600
+ "fields": [
2601
+ {
2602
+ "defined": "ElevationGroup"
2603
+ }
2604
+ ]
2605
+ }
2606
+ ]
2607
+ }
2608
+ },
2609
+ {
2610
+ "name": "UpdateLendingMarketMode",
2611
+ "type": {
2612
+ "kind": "enum",
2613
+ "variants": [
2614
+ {
2615
+ "name": "UpdateOwner"
2616
+ },
2617
+ {
2618
+ "name": "UpdateEmergencyMode"
2619
+ },
2620
+ {
2621
+ "name": "UpdateLiquidationCloseFactor"
2622
+ },
2623
+ {
2624
+ "name": "UpdateLiquidationMaxValue"
2625
+ },
2626
+ {
2627
+ "name": "UpdateGlobalUnhealthyBorrow"
2628
+ },
2629
+ {
2630
+ "name": "UpdateGlobalAllowedBorrow"
2631
+ },
2632
+ {
2633
+ "name": "UpdateRiskCouncil"
2634
+ },
2635
+ {
2636
+ "name": "UpdateMinFullLiquidationThreshold"
2637
+ },
2638
+ {
2639
+ "name": "UpdateInsolvencyRiskLtv"
2640
+ },
2641
+ {
2642
+ "name": "UpdateElevationGroup"
2643
+ },
2644
+ {
2645
+ "name": "UpdateReferralFeeBps"
2646
+ },
2647
+ {
2648
+ "name": "UpdateMultiplierPoints"
2649
+ },
2650
+ {
2651
+ "name": "UpdatePriceRefreshTriggerToMaxAgePct"
2652
+ },
2653
+ {
2654
+ "name": "UpdateAutodeleverageEnabled"
2655
+ },
2656
+ {
2657
+ "name": "UpdateBorrowingDisabled"
2658
+ }
2659
+ ]
2660
+ }
2661
+ },
2662
+ {
2663
+ "name": "LastUpdate",
2664
+ "docs": [
2665
+ "Last update state"
2666
+ ],
2667
+ "type": {
2668
+ "kind": "struct",
2669
+ "fields": [
2670
+ {
2671
+ "name": "slot",
2672
+ "docs": [
2673
+ "Last slot when updated"
2674
+ ],
2675
+ "type": "u64"
2676
+ },
2677
+ {
2678
+ "name": "stale",
2679
+ "docs": [
2680
+ "True when marked stale, false when slot updated"
2681
+ ],
2682
+ "type": "u8"
2683
+ },
2684
+ {
2685
+ "name": "priceStatus",
2686
+ "docs": [
2687
+ "Status of the prices used to calculate the last update"
2688
+ ],
2689
+ "type": "u8"
2690
+ },
2691
+ {
2692
+ "name": "placeholder",
2693
+ "type": {
2694
+ "array": [
2695
+ "u8",
2696
+ 6
2697
+ ]
2698
+ }
2699
+ }
2700
+ ]
2701
+ }
2702
+ },
2703
+ {
2704
+ "name": "ElevationGroup",
2705
+ "type": {
2706
+ "kind": "struct",
2707
+ "fields": [
2708
+ {
2709
+ "name": "maxLiquidationBonusBps",
2710
+ "type": "u16"
2711
+ },
2712
+ {
2713
+ "name": "id",
2714
+ "type": "u8"
2715
+ },
2716
+ {
2717
+ "name": "ltvPct",
2718
+ "type": "u8"
2719
+ },
2720
+ {
2721
+ "name": "liquidationThresholdPct",
2722
+ "type": "u8"
2723
+ },
2724
+ {
2725
+ "name": "allowNewLoans",
2726
+ "type": "u8"
2727
+ },
2728
+ {
2729
+ "name": "reserved",
2730
+ "type": {
2731
+ "array": [
2732
+ "u8",
2733
+ 2
2734
+ ]
2735
+ }
2736
+ },
2737
+ {
2738
+ "name": "padding",
2739
+ "type": {
2740
+ "array": [
2741
+ "u64",
2742
+ 8
2743
+ ]
2744
+ }
2745
+ }
2746
+ ]
2747
+ }
2748
+ },
2749
+ {
2750
+ "name": "InitObligationArgs",
2751
+ "type": {
2752
+ "kind": "struct",
2753
+ "fields": [
2754
+ {
2755
+ "name": "tag",
2756
+ "type": "u8"
2757
+ },
2758
+ {
2759
+ "name": "id",
2760
+ "type": "u8"
2761
+ }
2762
+ ]
2763
+ }
2764
+ },
2765
+ {
2766
+ "name": "ObligationCollateral",
2767
+ "docs": [
2768
+ "Obligation collateral state"
2769
+ ],
2770
+ "type": {
2771
+ "kind": "struct",
2772
+ "fields": [
2773
+ {
2774
+ "name": "depositReserve",
2775
+ "docs": [
2776
+ "Reserve collateral is deposited to"
2777
+ ],
2778
+ "type": "publicKey"
2779
+ },
2780
+ {
2781
+ "name": "depositedAmount",
2782
+ "docs": [
2783
+ "Amount of collateral deposited"
2784
+ ],
2785
+ "type": "u64"
2786
+ },
2787
+ {
2788
+ "name": "marketValueSf",
2789
+ "docs": [
2790
+ "Collateral market value in quote currency (scaled fraction)"
2791
+ ],
2792
+ "type": "u128"
2793
+ },
2794
+ {
2795
+ "name": "padding",
2796
+ "type": {
2797
+ "array": [
2798
+ "u64",
2799
+ 10
2800
+ ]
2801
+ }
2802
+ }
2803
+ ]
2804
+ }
2805
+ },
2806
+ {
2807
+ "name": "ObligationLiquidity",
2808
+ "docs": [
2809
+ "Obligation liquidity state"
2810
+ ],
2811
+ "type": {
2812
+ "kind": "struct",
2813
+ "fields": [
2814
+ {
2815
+ "name": "borrowReserve",
2816
+ "docs": [
2817
+ "Reserve liquidity is borrowed from"
2818
+ ],
2819
+ "type": "publicKey"
2820
+ },
2821
+ {
2822
+ "name": "cumulativeBorrowRateBsf",
2823
+ "docs": [
2824
+ "Borrow rate used for calculating interest (big scaled fraction)"
2825
+ ],
2826
+ "type": {
2827
+ "defined": "BigFractionBytes"
2828
+ }
2829
+ },
2830
+ {
2831
+ "name": "padding",
2832
+ "type": "u64"
2833
+ },
2834
+ {
2835
+ "name": "borrowedAmountSf",
2836
+ "docs": [
2837
+ "Amount of liquidity borrowed plus interest (scaled fraction)"
2838
+ ],
2839
+ "type": "u128"
2840
+ },
2841
+ {
2842
+ "name": "marketValueSf",
2843
+ "docs": [
2844
+ "Liquidity market value in quote currency (scaled fraction)"
2845
+ ],
2846
+ "type": "u128"
2847
+ },
2848
+ {
2849
+ "name": "borrowFactorAdjustedMarketValueSf",
2850
+ "docs": [
2851
+ "Risk adjusted liquidity market value in quote currency - DEBUG ONLY - use market_value instead"
2852
+ ],
2853
+ "type": "u128"
2854
+ },
2855
+ {
2856
+ "name": "padding2",
2857
+ "type": {
2858
+ "array": [
2859
+ "u64",
2860
+ 8
2861
+ ]
2862
+ }
2863
+ }
2864
+ ]
2865
+ }
2866
+ },
2867
+ {
2868
+ "name": "AssetTier",
2869
+ "type": {
2870
+ "kind": "enum",
2871
+ "variants": [
2872
+ {
2873
+ "name": "Regular"
2874
+ },
2875
+ {
2876
+ "name": "IsolatedCollateral"
2877
+ },
2878
+ {
2879
+ "name": "IsolatedDebt"
2880
+ }
2881
+ ]
2882
+ }
2883
+ },
2884
+ {
2885
+ "name": "BigFractionBytes",
2886
+ "type": {
2887
+ "kind": "struct",
2888
+ "fields": [
2889
+ {
2890
+ "name": "value",
2891
+ "type": {
2892
+ "array": [
2893
+ "u64",
2894
+ 4
2895
+ ]
2896
+ }
2897
+ },
2898
+ {
2899
+ "name": "padding",
2900
+ "type": {
2901
+ "array": [
2902
+ "u64",
2903
+ 2
2904
+ ]
2905
+ }
2906
+ }
2907
+ ]
2908
+ }
2909
+ },
2910
+ {
2911
+ "name": "FeeCalculation",
2912
+ "docs": [
2913
+ "Calculate fees exlusive or inclusive of an amount"
2914
+ ],
2915
+ "type": {
2916
+ "kind": "enum",
2917
+ "variants": [
2918
+ {
2919
+ "name": "Exclusive"
2920
+ },
2921
+ {
2922
+ "name": "Inclusive"
2923
+ }
2924
+ ]
2925
+ }
2926
+ },
2927
+ {
2928
+ "name": "ReserveCollateral",
2929
+ "docs": [
2930
+ "Reserve collateral"
2931
+ ],
2932
+ "type": {
2933
+ "kind": "struct",
2934
+ "fields": [
2935
+ {
2936
+ "name": "mintPubkey",
2937
+ "docs": [
2938
+ "Reserve collateral mint address"
2939
+ ],
2940
+ "type": "publicKey"
2941
+ },
2942
+ {
2943
+ "name": "mintTotalSupply",
2944
+ "docs": [
2945
+ "Reserve collateral mint supply, used for exchange rate"
2946
+ ],
2947
+ "type": "u64"
2948
+ },
2949
+ {
2950
+ "name": "supplyVault",
2951
+ "docs": [
2952
+ "Reserve collateral supply address"
2953
+ ],
2954
+ "type": "publicKey"
2955
+ },
2956
+ {
2957
+ "name": "padding1",
2958
+ "type": {
2959
+ "array": [
2960
+ "u128",
2961
+ 32
2962
+ ]
2963
+ }
2964
+ },
2965
+ {
2966
+ "name": "padding2",
2967
+ "type": {
2968
+ "array": [
2969
+ "u128",
2970
+ 32
2971
+ ]
2972
+ }
2973
+ }
2974
+ ]
2975
+ }
2976
+ },
2977
+ {
2978
+ "name": "ReserveConfig",
2979
+ "docs": [
2980
+ "Reserve configuration values"
2981
+ ],
2982
+ "type": {
2983
+ "kind": "struct",
2984
+ "fields": [
2985
+ {
2986
+ "name": "status",
2987
+ "docs": [
2988
+ "Status of the reserve Active/Obsolete/Hidden"
2989
+ ],
2990
+ "type": "u8"
2991
+ },
2992
+ {
2993
+ "name": "assetTier",
2994
+ "docs": [
2995
+ "Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt"
2996
+ ],
2997
+ "type": "u8"
2998
+ },
2999
+ {
3000
+ "name": "reserved0",
3001
+ "type": {
3002
+ "array": [
3003
+ "u8",
3004
+ 2
3005
+ ]
3006
+ }
3007
+ },
3008
+ {
3009
+ "name": "multiplierSideBoost",
3010
+ "docs": [
3011
+ "Boost for side (debt or collateral)"
3012
+ ],
3013
+ "type": {
3014
+ "array": [
3015
+ "u8",
3016
+ 2
3017
+ ]
3018
+ }
3019
+ },
3020
+ {
3021
+ "name": "multiplierTagBoost",
3022
+ "docs": [
3023
+ "Reward points multiplier per obligation type"
3024
+ ],
3025
+ "type": {
3026
+ "array": [
3027
+ "u8",
3028
+ 8
3029
+ ]
3030
+ }
3031
+ },
3032
+ {
3033
+ "name": "protocolTakeRatePct",
3034
+ "docs": [
3035
+ "Protocol take rate is the amount borrowed interest protocol receives, as a percentage"
3036
+ ],
3037
+ "type": "u8"
3038
+ },
3039
+ {
3040
+ "name": "protocolLiquidationFeePct",
3041
+ "docs": [
3042
+ "Cut of the liquidation bonus that the protocol receives, as a percentage"
3043
+ ],
3044
+ "type": "u8"
3045
+ },
3046
+ {
3047
+ "name": "loanToValuePct",
3048
+ "docs": [
3049
+ "Target ratio of the value of borrows to deposits, as a percentage",
3050
+ "0 if use as collateral is disabled"
3051
+ ],
3052
+ "type": "u8"
3053
+ },
3054
+ {
3055
+ "name": "liquidationThresholdPct",
3056
+ "docs": [
3057
+ "Loan to value ratio at which an obligation can be liquidated, as percentage"
3058
+ ],
3059
+ "type": "u8"
3060
+ },
3061
+ {
3062
+ "name": "minLiquidationBonusBps",
3063
+ "docs": [
3064
+ "Minimum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps"
3065
+ ],
3066
+ "type": "u16"
3067
+ },
3068
+ {
3069
+ "name": "maxLiquidationBonusBps",
3070
+ "docs": [
3071
+ "Maximum bonus a liquidator receives when repaying part of an unhealthy obligation, as bps"
3072
+ ],
3073
+ "type": "u16"
3074
+ },
3075
+ {
3076
+ "name": "badDebtLiquidationBonusBps",
3077
+ "docs": [
3078
+ "Bad debt liquidation bonus for an undercollateralized obligation, as bps"
3079
+ ],
3080
+ "type": "u16"
3081
+ },
3082
+ {
3083
+ "name": "deleveragingMarginCallPeriodSecs",
3084
+ "docs": [
3085
+ "Time in seconds that must pass before redemptions are enabled after the deposit limit is crossed"
3086
+ ],
3087
+ "type": "u64"
3088
+ },
3089
+ {
3090
+ "name": "deleveragingThresholdSlotsPerBps",
3091
+ "docs": [
3092
+ "The rate at which the deleveraging threshold decreases in slots per bps",
3093
+ "e.g. 1 bps per hour would be 7200 slots per bps (assuming 2 slots per second)"
3094
+ ],
3095
+ "type": "u64"
3096
+ },
3097
+ {
3098
+ "name": "fees",
3099
+ "docs": [
3100
+ "Program owner fees assessed, separate from gains due to interest accrual"
3101
+ ],
3102
+ "type": {
3103
+ "defined": "ReserveFees"
3104
+ }
3105
+ },
3106
+ {
3107
+ "name": "borrowRateCurve",
3108
+ "docs": [
3109
+ "Borrow rate curve based on utilization"
3110
+ ],
3111
+ "type": {
3112
+ "defined": "BorrowRateCurve"
3113
+ }
3114
+ },
3115
+ {
3116
+ "name": "borrowFactorPct",
3117
+ "docs": [
3118
+ "Borrow factor in percentage - used for risk adjustment"
3119
+ ],
3120
+ "type": "u64"
3121
+ },
3122
+ {
3123
+ "name": "depositLimit",
3124
+ "docs": [
3125
+ "Maximum deposit limit of liquidity in native units, u64::MAX for inf"
3126
+ ],
3127
+ "type": "u64"
3128
+ },
3129
+ {
3130
+ "name": "borrowLimit",
3131
+ "docs": [
3132
+ "Maximum amount borrowed, u64::MAX for inf, 0 to disable borrows (protected deposits)"
3133
+ ],
3134
+ "type": "u64"
3135
+ },
3136
+ {
3137
+ "name": "tokenInfo",
3138
+ "docs": [
3139
+ "Token id from TokenInfos struct"
3140
+ ],
3141
+ "type": {
3142
+ "defined": "TokenInfo"
3143
+ }
3144
+ },
3145
+ {
3146
+ "name": "depositWithdrawalCap",
3147
+ "docs": [
3148
+ "Deposit withdrawl caps - deposit & redeem"
3149
+ ],
3150
+ "type": {
3151
+ "defined": "WithdrawalCaps"
3152
+ }
3153
+ },
3154
+ {
3155
+ "name": "debtWithdrawalCap",
3156
+ "docs": [
3157
+ "Debt withdrawl caps - borrow & repay"
3158
+ ],
3159
+ "type": {
3160
+ "defined": "WithdrawalCaps"
3161
+ }
3162
+ },
3163
+ {
3164
+ "name": "elevationGroups",
3165
+ "type": {
3166
+ "array": [
3167
+ "u8",
3168
+ 20
3169
+ ]
3170
+ }
3171
+ },
3172
+ {
3173
+ "name": "reserved1",
3174
+ "type": {
3175
+ "array": [
3176
+ "u8",
3177
+ 4
3178
+ ]
3179
+ }
3180
+ }
3181
+ ]
3182
+ }
3183
+ },
3184
+ {
3185
+ "name": "ReserveFarmKind",
3186
+ "type": {
3187
+ "kind": "enum",
3188
+ "variants": [
3189
+ {
3190
+ "name": "Collateral"
3191
+ },
3192
+ {
3193
+ "name": "Debt"
3194
+ }
3195
+ ]
3196
+ }
3197
+ },
3198
+ {
3199
+ "name": "ReserveFees",
3200
+ "docs": [
3201
+ "Additional fee information on a reserve",
3202
+ "",
3203
+ "These exist separately from interest accrual fees, and are specifically for the program owner",
3204
+ "and referral fee. The fees are paid out as a percentage of liquidity token amounts during",
3205
+ "repayments and liquidations."
3206
+ ],
3207
+ "type": {
3208
+ "kind": "struct",
3209
+ "fields": [
3210
+ {
3211
+ "name": "borrowFeeSf",
3212
+ "docs": [
3213
+ "Fee assessed on `BorrowObligationLiquidity`, as scaled fraction (60 bits fractional part)",
3214
+ "Must be between `0` and `2^60`, such that `2^60 = 1`. A few examples for",
3215
+ "clarity:",
3216
+ "1% = (1 << 60) / 100 = 11529215046068470",
3217
+ "0.01% (1 basis point) = 115292150460685",
3218
+ "0.00001% (Aave borrow fee) = 115292150461"
3219
+ ],
3220
+ "type": "u64"
3221
+ },
3222
+ {
3223
+ "name": "flashLoanFeeSf",
3224
+ "docs": [
3225
+ "Fee for flash loan, expressed as scaled fraction.",
3226
+ "0.3% (Aave flash loan fee) = 0.003 * 2^60 = 3458764513820541"
3227
+ ],
3228
+ "type": "u64"
3229
+ },
3230
+ {
3231
+ "name": "padding",
3232
+ "docs": [
3233
+ "Used for allignment"
3234
+ ],
3235
+ "type": {
3236
+ "array": [
3237
+ "u8",
3238
+ 8
3239
+ ]
3240
+ }
3241
+ }
3242
+ ]
3243
+ }
3244
+ },
3245
+ {
3246
+ "name": "ReserveLiquidity",
3247
+ "docs": [
3248
+ "Reserve liquidity"
3249
+ ],
3250
+ "type": {
3251
+ "kind": "struct",
3252
+ "fields": [
3253
+ {
3254
+ "name": "mintPubkey",
3255
+ "docs": [
3256
+ "Reserve liquidity mint address"
3257
+ ],
3258
+ "type": "publicKey"
3259
+ },
3260
+ {
3261
+ "name": "supplyVault",
3262
+ "docs": [
3263
+ "Reserve liquidity supply address"
3264
+ ],
3265
+ "type": "publicKey"
3266
+ },
3267
+ {
3268
+ "name": "feeVault",
3269
+ "docs": [
3270
+ "Reserve liquidity fee collection address"
3271
+ ],
3272
+ "type": "publicKey"
3273
+ },
3274
+ {
3275
+ "name": "availableAmount",
3276
+ "docs": [
3277
+ "Reserve liquidity available"
3278
+ ],
3279
+ "type": "u64"
3280
+ },
3281
+ {
3282
+ "name": "borrowedAmountSf",
3283
+ "docs": [
3284
+ "Reserve liquidity borrowed (scaled fraction)"
3285
+ ],
3286
+ "type": "u128"
3287
+ },
3288
+ {
3289
+ "name": "marketPriceSf",
3290
+ "docs": [
3291
+ "Reserve liquidity market price in quote currency (scaled fraction)"
3292
+ ],
3293
+ "type": "u128"
3294
+ },
3295
+ {
3296
+ "name": "marketPriceLastUpdatedTs",
3297
+ "docs": [
3298
+ "Unix timestamp of the market price (from the oracle)"
3299
+ ],
3300
+ "type": "u64"
3301
+ },
3302
+ {
3303
+ "name": "mintDecimals",
3304
+ "docs": [
3305
+ "Reserve liquidity mint decimals"
3306
+ ],
3307
+ "type": "u64"
3308
+ },
3309
+ {
3310
+ "name": "depositLimitCrossedSlot",
3311
+ "docs": [
3312
+ "Timestamp in slots when the last refresh reserve detected that the liquidity amount is above the deposit cap. When this threshold is crossed, then redemptions (auto-deleverage) are enabled.",
3313
+ "If the threshold is not crossed, then the timestamp is set to 0"
3314
+ ],
3315
+ "type": "u64"
3316
+ },
3317
+ {
3318
+ "name": "borrowLimitCrossedSlot",
3319
+ "docs": [
3320
+ "Timestamp in slots when the last refresh reserve detected that the borrowed amount is above the borrow cap. When this threshold is crossed, then redemptions (auto-deleverage) are enabled.",
3321
+ "If the threshold is not crossed, then the timestamp is set to 0"
3322
+ ],
3323
+ "type": "u64"
3324
+ },
3325
+ {
3326
+ "name": "cumulativeBorrowRateBsf",
3327
+ "docs": [
3328
+ "Reserve liquidity cumulative borrow rate (scaled fraction)"
3329
+ ],
3330
+ "type": {
3331
+ "defined": "BigFractionBytes"
3332
+ }
3333
+ },
3334
+ {
3335
+ "name": "accumulatedProtocolFeesSf",
3336
+ "docs": [
3337
+ "Reserve cumulative protocol fees (scaled fraction)"
3338
+ ],
3339
+ "type": "u128"
3340
+ },
3341
+ {
3342
+ "name": "accumulatedReferrerFeesSf",
3343
+ "docs": [
3344
+ "Reserve cumulative referrer fees (scaled fraction)"
3345
+ ],
3346
+ "type": "u128"
3347
+ },
3348
+ {
3349
+ "name": "pendingReferrerFeesSf",
3350
+ "docs": [
3351
+ "Reserve pending referrer fees, to be claimed in refresh_obligation by referrer or protocol (scaled fraction)"
3352
+ ],
3353
+ "type": "u128"
3354
+ },
3355
+ {
3356
+ "name": "absoluteReferralRateSf",
3357
+ "docs": [
3358
+ "Reserve referrer fee absolute rate calculated at each refresh_reserve operation (scaled fraction)"
3359
+ ],
3360
+ "type": "u128"
3361
+ },
3362
+ {
3363
+ "name": "padding2",
3364
+ "type": {
3365
+ "array": [
3366
+ "u64",
3367
+ 55
3368
+ ]
3369
+ }
3370
+ },
3371
+ {
3372
+ "name": "padding3",
3373
+ "type": {
3374
+ "array": [
3375
+ "u128",
3376
+ 32
3377
+ ]
3378
+ }
3379
+ }
3380
+ ]
3381
+ }
3382
+ },
3383
+ {
3384
+ "name": "ReserveStatus",
3385
+ "type": {
3386
+ "kind": "enum",
3387
+ "variants": [
3388
+ {
3389
+ "name": "Active"
3390
+ },
3391
+ {
3392
+ "name": "Obsolete"
3393
+ },
3394
+ {
3395
+ "name": "Hidden"
3396
+ }
3397
+ ]
3398
+ }
3399
+ },
3400
+ {
3401
+ "name": "WithdrawalCaps",
3402
+ "docs": [
3403
+ "Reserve Withdrawal Caps State"
3404
+ ],
3405
+ "type": {
3406
+ "kind": "struct",
3407
+ "fields": [
3408
+ {
3409
+ "name": "configCapacity",
3410
+ "type": "i64"
3411
+ },
3412
+ {
3413
+ "name": "currentTotal",
3414
+ "type": "i64"
3415
+ },
3416
+ {
3417
+ "name": "lastIntervalStartTimestamp",
3418
+ "type": "u64"
3419
+ },
3420
+ {
3421
+ "name": "configIntervalLengthSeconds",
3422
+ "type": "u64"
3423
+ }
3424
+ ]
3425
+ }
3426
+ },
3427
+ {
3428
+ "name": "PriceHeuristic",
3429
+ "type": {
3430
+ "kind": "struct",
3431
+ "fields": [
3432
+ {
3433
+ "name": "lower",
3434
+ "docs": [
3435
+ "Lower value of acceptable price"
3436
+ ],
3437
+ "type": "u64"
3438
+ },
3439
+ {
3440
+ "name": "upper",
3441
+ "docs": [
3442
+ "Upper value of acceptable price"
3443
+ ],
3444
+ "type": "u64"
3445
+ },
3446
+ {
3447
+ "name": "exp",
3448
+ "docs": [
3449
+ "Number of decimals of the previously defined values"
3450
+ ],
3451
+ "type": "u64"
3452
+ }
3453
+ ]
3454
+ }
3455
+ },
3456
+ {
3457
+ "name": "PythConfiguration",
3458
+ "type": {
3459
+ "kind": "struct",
3460
+ "fields": [
3461
+ {
3462
+ "name": "price",
3463
+ "docs": [
3464
+ "Pubkey of the base price feed (disabled if `null` or `default`)"
3465
+ ],
3466
+ "type": "publicKey"
3467
+ }
3468
+ ]
3469
+ }
3470
+ },
3471
+ {
3472
+ "name": "ScopeConfiguration",
3473
+ "type": {
3474
+ "kind": "struct",
3475
+ "fields": [
3476
+ {
3477
+ "name": "priceFeed",
3478
+ "docs": [
3479
+ "Pubkey of the scope price feed (disabled if `null` or `default`)"
3480
+ ],
3481
+ "type": "publicKey"
3482
+ },
3483
+ {
3484
+ "name": "priceChain",
3485
+ "docs": [
3486
+ "This is the scope_id price chain that results in a price for the token"
3487
+ ],
3488
+ "type": {
3489
+ "array": [
3490
+ "u16",
3491
+ 4
3492
+ ]
3493
+ }
3494
+ },
3495
+ {
3496
+ "name": "twapChain",
3497
+ "docs": [
3498
+ "This is the scope_id price chain for the twap"
3499
+ ],
3500
+ "type": {
3501
+ "array": [
3502
+ "u16",
3503
+ 4
3504
+ ]
3505
+ }
3506
+ }
3507
+ ]
3508
+ }
3509
+ },
3510
+ {
3511
+ "name": "SwitchboardConfiguration",
3512
+ "type": {
3513
+ "kind": "struct",
3514
+ "fields": [
3515
+ {
3516
+ "name": "priceAggregator",
3517
+ "docs": [
3518
+ "Pubkey of the base price feed (disabled if `null` or `default`)"
3519
+ ],
3520
+ "type": "publicKey"
3521
+ },
3522
+ {
3523
+ "name": "twapAggregator",
3524
+ "type": "publicKey"
3525
+ }
3526
+ ]
3527
+ }
3528
+ },
3529
+ {
3530
+ "name": "TokenInfo",
3531
+ "type": {
3532
+ "kind": "struct",
3533
+ "fields": [
3534
+ {
3535
+ "name": "name",
3536
+ "docs": [
3537
+ "UTF-8 encoded name of the token (null-terminated)"
3538
+ ],
3539
+ "type": {
3540
+ "array": [
3541
+ "u8",
3542
+ 32
3543
+ ]
3544
+ }
3545
+ },
3546
+ {
3547
+ "name": "heuristic",
3548
+ "docs": [
3549
+ "Heuristics limits of acceptable price"
3550
+ ],
3551
+ "type": {
3552
+ "defined": "PriceHeuristic"
3553
+ }
3554
+ },
3555
+ {
3556
+ "name": "maxTwapDivergenceBps",
3557
+ "docs": [
3558
+ "Max divergence between twap and price in bps"
3559
+ ],
3560
+ "type": "u64"
3561
+ },
3562
+ {
3563
+ "name": "maxAgePriceSeconds",
3564
+ "type": "u64"
3565
+ },
3566
+ {
3567
+ "name": "maxAgeTwapSeconds",
3568
+ "type": "u64"
3569
+ },
3570
+ {
3571
+ "name": "scopeConfiguration",
3572
+ "docs": [
3573
+ "Scope price configuration"
3574
+ ],
3575
+ "type": {
3576
+ "defined": "ScopeConfiguration"
3577
+ }
3578
+ },
3579
+ {
3580
+ "name": "switchboardConfiguration",
3581
+ "docs": [
3582
+ "Switchboard configuration"
3583
+ ],
3584
+ "type": {
3585
+ "defined": "SwitchboardConfiguration"
3586
+ }
3587
+ },
3588
+ {
3589
+ "name": "pythConfiguration",
3590
+ "docs": [
3591
+ "Pyth configuration"
3592
+ ],
3593
+ "type": {
3594
+ "defined": "PythConfiguration"
3595
+ }
3596
+ },
3597
+ {
3598
+ "name": "padding",
3599
+ "type": {
3600
+ "array": [
3601
+ "u64",
3602
+ 20
3603
+ ]
3604
+ }
3605
+ }
3606
+ ]
3607
+ }
3608
+ },
3609
+ {
3610
+ "name": "BorrowRateCurve",
3611
+ "type": {
3612
+ "kind": "struct",
3613
+ "fields": [
3614
+ {
3615
+ "name": "points",
3616
+ "type": {
3617
+ "array": [
3618
+ {
3619
+ "defined": "CurvePoint"
3620
+ },
3621
+ 11
3622
+ ]
3623
+ }
3624
+ }
3625
+ ]
3626
+ }
3627
+ },
3628
+ {
3629
+ "name": "CurvePoint",
3630
+ "type": {
3631
+ "kind": "struct",
3632
+ "fields": [
3633
+ {
3634
+ "name": "utilizationRateBps",
3635
+ "type": "u32"
3636
+ },
3637
+ {
3638
+ "name": "borrowRateBps",
3639
+ "type": "u32"
3640
+ }
3641
+ ]
3642
+ }
3643
+ }
3644
+ ],
3645
+ "errors": [
3646
+ {
3647
+ "code": 6000,
3648
+ "name": "InvalidMarketAuthority",
3649
+ "msg": "Market authority is invalid"
3650
+ },
3651
+ {
3652
+ "code": 6001,
3653
+ "name": "InvalidMarketOwner",
3654
+ "msg": "Market owner is invalid"
3655
+ },
3656
+ {
3657
+ "code": 6002,
3658
+ "name": "InvalidAccountOwner",
3659
+ "msg": "Input account owner is not the program address"
3660
+ },
3661
+ {
3662
+ "code": 6003,
3663
+ "name": "InvalidAmount",
3664
+ "msg": "Input amount is invalid"
3665
+ },
3666
+ {
3667
+ "code": 6004,
3668
+ "name": "InvalidConfig",
3669
+ "msg": "Input config value is invalid"
3670
+ },
3671
+ {
3672
+ "code": 6005,
3673
+ "name": "InvalidSigner",
3674
+ "msg": "Input account must be a signer"
3675
+ },
3676
+ {
3677
+ "code": 6006,
3678
+ "name": "InvalidAccountInput",
3679
+ "msg": "Invalid account input"
3680
+ },
3681
+ {
3682
+ "code": 6007,
3683
+ "name": "MathOverflow",
3684
+ "msg": "Math operation overflow"
3685
+ },
3686
+ {
3687
+ "code": 6008,
3688
+ "name": "InsufficientLiquidity",
3689
+ "msg": "Insufficient liquidity available"
3690
+ },
3691
+ {
3692
+ "code": 6009,
3693
+ "name": "ReserveStale",
3694
+ "msg": "Reserve state needs to be refreshed"
3695
+ },
3696
+ {
3697
+ "code": 6010,
3698
+ "name": "WithdrawTooSmall",
3699
+ "msg": "Withdraw amount too small"
3700
+ },
3701
+ {
3702
+ "code": 6011,
3703
+ "name": "WithdrawTooLarge",
3704
+ "msg": "Withdraw amount too large"
3705
+ },
3706
+ {
3707
+ "code": 6012,
3708
+ "name": "BorrowTooSmall",
3709
+ "msg": "Borrow amount too small to receive liquidity after fees"
3710
+ },
3711
+ {
3712
+ "code": 6013,
3713
+ "name": "BorrowTooLarge",
3714
+ "msg": "Borrow amount too large for deposited collateral"
3715
+ },
3716
+ {
3717
+ "code": 6014,
3718
+ "name": "RepayTooSmall",
3719
+ "msg": "Repay amount too small to transfer liquidity"
3720
+ },
3721
+ {
3722
+ "code": 6015,
3723
+ "name": "LiquidationTooSmall",
3724
+ "msg": "Liquidation amount too small to receive collateral"
3725
+ },
3726
+ {
3727
+ "code": 6016,
3728
+ "name": "ObligationHealthy",
3729
+ "msg": "Cannot liquidate healthy obligations"
3730
+ },
3731
+ {
3732
+ "code": 6017,
3733
+ "name": "ObligationStale",
3734
+ "msg": "Obligation state needs to be refreshed"
3735
+ },
3736
+ {
3737
+ "code": 6018,
3738
+ "name": "ObligationReserveLimit",
3739
+ "msg": "Obligation reserve limit exceeded"
3740
+ },
3741
+ {
3742
+ "code": 6019,
3743
+ "name": "InvalidObligationOwner",
3744
+ "msg": "Obligation owner is invalid"
3745
+ },
3746
+ {
3747
+ "code": 6020,
3748
+ "name": "ObligationDepositsEmpty",
3749
+ "msg": "Obligation deposits are empty"
3750
+ },
3751
+ {
3752
+ "code": 6021,
3753
+ "name": "ObligationBorrowsEmpty",
3754
+ "msg": "Obligation borrows are empty"
3755
+ },
3756
+ {
3757
+ "code": 6022,
3758
+ "name": "ObligationDepositsZero",
3759
+ "msg": "Obligation deposits have zero value"
3760
+ },
3761
+ {
3762
+ "code": 6023,
3763
+ "name": "ObligationBorrowsZero",
3764
+ "msg": "Obligation borrows have zero value"
3765
+ },
3766
+ {
3767
+ "code": 6024,
3768
+ "name": "InvalidObligationCollateral",
3769
+ "msg": "Invalid obligation collateral"
3770
+ },
3771
+ {
3772
+ "code": 6025,
3773
+ "name": "InvalidObligationLiquidity",
3774
+ "msg": "Invalid obligation liquidity"
3775
+ },
3776
+ {
3777
+ "code": 6026,
3778
+ "name": "ObligationCollateralEmpty",
3779
+ "msg": "Obligation collateral is empty"
3780
+ },
3781
+ {
3782
+ "code": 6027,
3783
+ "name": "ObligationLiquidityEmpty",
3784
+ "msg": "Obligation liquidity is empty"
3785
+ },
3786
+ {
3787
+ "code": 6028,
3788
+ "name": "NegativeInterestRate",
3789
+ "msg": "Interest rate is negative"
3790
+ },
3791
+ {
3792
+ "code": 6029,
3793
+ "name": "InvalidOracleConfig",
3794
+ "msg": "Input oracle config is invalid"
3795
+ },
3796
+ {
3797
+ "code": 6030,
3798
+ "name": "InsufficientProtocolFeesToRedeem",
3799
+ "msg": "Insufficient protocol fees to claim or no liquidity available"
3800
+ },
3801
+ {
3802
+ "code": 6031,
3803
+ "name": "FlashBorrowCpi",
3804
+ "msg": "No cpi flash borrows allowed"
3805
+ },
3806
+ {
3807
+ "code": 6032,
3808
+ "name": "NoFlashRepayFound",
3809
+ "msg": "No corresponding repay found for flash borrow"
3810
+ },
3811
+ {
3812
+ "code": 6033,
3813
+ "name": "InvalidFlashRepay",
3814
+ "msg": "Invalid repay found"
3815
+ },
3816
+ {
3817
+ "code": 6034,
3818
+ "name": "FlashRepayCpi",
3819
+ "msg": "No cpi flash repays allowed"
3820
+ },
3821
+ {
3822
+ "code": 6035,
3823
+ "name": "MultipleFlashBorrows",
3824
+ "msg": "Multiple flash borrows not allowed in the same transaction"
3825
+ },
3826
+ {
3827
+ "code": 6036,
3828
+ "name": "FlashLoansDisabled",
3829
+ "msg": "Flash loans are disabled for this reserve"
3830
+ },
3831
+ {
3832
+ "code": 6037,
3833
+ "name": "SwitchboardV2Error",
3834
+ "msg": "Switchboard error"
3835
+ },
3836
+ {
3837
+ "code": 6038,
3838
+ "name": "CouldNotDeserializeScope",
3839
+ "msg": "Cannot deserialize the scope price account"
3840
+ },
3841
+ {
3842
+ "code": 6039,
3843
+ "name": "PriceTooOld",
3844
+ "msg": "Price too old"
3845
+ },
3846
+ {
3847
+ "code": 6040,
3848
+ "name": "PriceTooDivergentFromTwap",
3849
+ "msg": "Price too divergent from twap"
3850
+ },
3851
+ {
3852
+ "code": 6041,
3853
+ "name": "InvalidTwapPrice",
3854
+ "msg": "Invalid twap price"
3855
+ },
3856
+ {
3857
+ "code": 6042,
3858
+ "name": "GlobalEmergencyMode",
3859
+ "msg": "Emergency mode is enabled"
3860
+ },
3861
+ {
3862
+ "code": 6043,
3863
+ "name": "InvalidFlag",
3864
+ "msg": "Invalid lending market config"
3865
+ },
3866
+ {
3867
+ "code": 6044,
3868
+ "name": "PriceNotValid",
3869
+ "msg": "Price is not valid"
3870
+ },
3871
+ {
3872
+ "code": 6045,
3873
+ "name": "PriceIsBiggerThanHeuristic",
3874
+ "msg": "Price is bigger than allowed by heuristic"
3875
+ },
3876
+ {
3877
+ "code": 6046,
3878
+ "name": "PriceIsLowerThanHeuristic",
3879
+ "msg": "Price lower than allowed by heuristic"
3880
+ },
3881
+ {
3882
+ "code": 6047,
3883
+ "name": "PriceIsZero",
3884
+ "msg": "Price is zero"
3885
+ },
3886
+ {
3887
+ "code": 6048,
3888
+ "name": "PriceConfidenceTooWide",
3889
+ "msg": "Price confidence too wide"
3890
+ },
3891
+ {
3892
+ "code": 6049,
3893
+ "name": "IntegerOverflow",
3894
+ "msg": "Conversion between integers failed"
3895
+ },
3896
+ {
3897
+ "code": 6050,
3898
+ "name": "NoFarmForReserve",
3899
+ "msg": "This reserve does not have a farm"
3900
+ },
3901
+ {
3902
+ "code": 6051,
3903
+ "name": "IncorrectInstructionInPosition",
3904
+ "msg": "Wrong instruction at expected position"
3905
+ },
3906
+ {
3907
+ "code": 6052,
3908
+ "name": "NoPriceFound",
3909
+ "msg": "No price found"
3910
+ },
3911
+ {
3912
+ "code": 6053,
3913
+ "name": "InvalidTwapConfig",
3914
+ "msg": "Invalid Twap configuration: Twap is enabled but one of the enabled price doesn't have a twap"
3915
+ },
3916
+ {
3917
+ "code": 6054,
3918
+ "name": "InvalidPythPriceAccount",
3919
+ "msg": "Pyth price account does not match configuration"
3920
+ },
3921
+ {
3922
+ "code": 6055,
3923
+ "name": "InvalidSwitchboardAccount",
3924
+ "msg": "Switchboard account(s) do not match configuration"
3925
+ },
3926
+ {
3927
+ "code": 6056,
3928
+ "name": "InvalidScopePriceAccount",
3929
+ "msg": "Scope price account does not match configuration"
3930
+ },
3931
+ {
3932
+ "code": 6057,
3933
+ "name": "ObligationCollateralLtvZero",
3934
+ "msg": "The obligation has one collateral with an LTV set to 0. Withdraw it before withdrawing other collaterals"
3935
+ },
3936
+ {
3937
+ "code": 6058,
3938
+ "name": "InvalidObligationSeedsValue",
3939
+ "msg": "Seeds must be default pubkeys for tag 0, and mint addresses for tag 1 or 2"
3940
+ },
3941
+ {
3942
+ "code": 6059,
3943
+ "name": "InvalidObligationId",
3944
+ "msg": "Obligation id must be 0"
3945
+ },
3946
+ {
3947
+ "code": 6060,
3948
+ "name": "InvalidBorrowRateCurvePoint",
3949
+ "msg": "Invalid borrow rate curve point"
3950
+ },
3951
+ {
3952
+ "code": 6061,
3953
+ "name": "InvalidUtilizationRate",
3954
+ "msg": "Invalid utilization rate"
3955
+ },
3956
+ {
3957
+ "code": 6062,
3958
+ "name": "CannotSocializeObligationWithCollateral",
3959
+ "msg": "Obligation hasn't been fully liquidated and debt cannot be socialized."
3960
+ },
3961
+ {
3962
+ "code": 6063,
3963
+ "name": "ObligationEmpty",
3964
+ "msg": "Obligation has no borrows or deposits."
3965
+ },
3966
+ {
3967
+ "code": 6064,
3968
+ "name": "WithdrawalCapReached",
3969
+ "msg": "Withdrawal cap is reached"
3970
+ },
3971
+ {
3972
+ "code": 6065,
3973
+ "name": "LastTimestampGreaterThanCurrent",
3974
+ "msg": "The last interval start timestamp is greater than the current timestamp"
3975
+ },
3976
+ {
3977
+ "code": 6066,
3978
+ "name": "LiquidationSlippageError",
3979
+ "msg": "The reward amount is less than the minimum acceptable received collateral"
3980
+ },
3981
+ {
3982
+ "code": 6067,
3983
+ "name": "IsolatedAssetTierViolation",
3984
+ "msg": "Isolated Asset Tier Violation"
3985
+ },
3986
+ {
3987
+ "code": 6068,
3988
+ "name": "InconsistentElevationGroup",
3989
+ "msg": "The obligation's elevation group and the reserve's are not the same"
3990
+ },
3991
+ {
3992
+ "code": 6069,
3993
+ "name": "InvalidElevationGroup",
3994
+ "msg": "The elevation group chosen for the reserve does not exist in the lending market"
3995
+ },
3996
+ {
3997
+ "code": 6070,
3998
+ "name": "InvalidElevationGroupConfig",
3999
+ "msg": "The elevation group updated has wrong parameters set"
4000
+ },
4001
+ {
4002
+ "code": 6071,
4003
+ "name": "UnhealthyElevationGroupLtv",
4004
+ "msg": "The current obligation must have most or all its debt repaid before changing the elevation group"
4005
+ },
4006
+ {
4007
+ "code": 6072,
4008
+ "name": "ElevationGroupNewLoansDisabled",
4009
+ "msg": "Elevation group does not accept any new loans or any new borrows/withdrawals"
4010
+ },
4011
+ {
4012
+ "code": 6073,
4013
+ "name": "ReserveDeprecated",
4014
+ "msg": "Reserve was deprecated, no longer usable"
4015
+ },
4016
+ {
4017
+ "code": 6074,
4018
+ "name": "ReferrerAccountNotInitialized",
4019
+ "msg": "Referrer account not initialized"
4020
+ },
4021
+ {
4022
+ "code": 6075,
4023
+ "name": "ReferrerAccountMintMissmatch",
4024
+ "msg": "Referrer account mint does not match the operation reserve mint"
4025
+ },
4026
+ {
4027
+ "code": 6076,
4028
+ "name": "ReferrerAccountWrongAddress",
4029
+ "msg": "Referrer account address is not a valid program address"
4030
+ },
4031
+ {
4032
+ "code": 6077,
4033
+ "name": "ReferrerAccountReferrerMissmatch",
4034
+ "msg": "Referrer account referrer does not match the owner referrer"
4035
+ },
4036
+ {
4037
+ "code": 6078,
4038
+ "name": "ReferrerAccountMissing",
4039
+ "msg": "Referrer account missing for obligation with referrer"
4040
+ },
4041
+ {
4042
+ "code": 6079,
4043
+ "name": "InsufficientReferralFeesToRedeem",
4044
+ "msg": "Insufficient referral fees to claim or no liquidity available"
4045
+ },
4046
+ {
4047
+ "code": 6080,
4048
+ "name": "CpiDisabled",
4049
+ "msg": "CPI disabled for this instruction"
4050
+ },
4051
+ {
4052
+ "code": 6081,
4053
+ "name": "ShortUrlNotAsciiAlphanumeric",
4054
+ "msg": "Referrer short_url is not ascii alphanumeric"
4055
+ },
4056
+ {
4057
+ "code": 6082,
4058
+ "name": "ReserveObsolete",
4059
+ "msg": "Reserve is marked as obsolete"
4060
+ },
4061
+ {
4062
+ "code": 6083,
4063
+ "name": "ElevationGroupAlreadyActivated",
4064
+ "msg": "Obligation already part of the same elevation group"
4065
+ },
4066
+ {
4067
+ "code": 6084,
4068
+ "name": "ObligationInDeprecatedReserve",
4069
+ "msg": "Obligation has a deposit in a deprecated reserve"
4070
+ },
4071
+ {
4072
+ "code": 6085,
4073
+ "name": "ReferrerStateOwnerMismatch",
4074
+ "msg": "Referrer state owner does not match the given signer"
4075
+ },
4076
+ {
4077
+ "code": 6086,
4078
+ "name": "UserMetadataOwnerAlreadySet",
4079
+ "msg": "User metadata owner is already set"
4080
+ },
4081
+ {
4082
+ "code": 6087,
4083
+ "name": "CollateralNonLiquidatable",
4084
+ "msg": "This collateral cannot be liquidated (LTV set to 0)"
4085
+ },
4086
+ {
4087
+ "code": 6088,
4088
+ "name": "BorrowingDisabled",
4089
+ "msg": "Borrowing is disabled"
4090
+ },
4091
+ {
4092
+ "code": 6089,
4093
+ "name": "BorrowLimitExceeded",
4094
+ "msg": "Cannot borrow above borrow limit"
4095
+ },
4096
+ {
4097
+ "code": 6090,
4098
+ "name": "DepositLimitExceeded",
4099
+ "msg": "Cannot deposit above deposit limit"
4100
+ }
4101
+ ]
4102
+ }