@exponent-labs/klend-idl 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/build/accounts/LendingMarket.d.ts +88 -0
  2. package/build/accounts/LendingMarket.js +225 -0
  3. package/build/accounts/LendingMarket.js.map +1 -0
  4. package/build/accounts/Obligation.d.ts +85 -0
  5. package/build/accounts/Obligation.js +217 -0
  6. package/build/accounts/Obligation.js.map +1 -0
  7. package/build/accounts/ReferrerState.d.ts +23 -0
  8. package/build/accounts/ReferrerState.js +85 -0
  9. package/build/accounts/ReferrerState.js.map +1 -0
  10. package/build/accounts/ReferrerTokenState.d.ts +36 -0
  11. package/build/accounts/ReferrerTokenState.js +116 -0
  12. package/build/accounts/ReferrerTokenState.js.map +1 -0
  13. package/build/accounts/Reserve.d.ts +61 -0
  14. package/build/accounts/Reserve.js +169 -0
  15. package/build/accounts/Reserve.js.map +1 -0
  16. package/build/accounts/ShortUrl.d.ts +23 -0
  17. package/build/accounts/ShortUrl.js +85 -0
  18. package/build/accounts/ShortUrl.js.map +1 -0
  19. package/build/accounts/UserMetadata.d.ts +36 -0
  20. package/build/accounts/UserMetadata.js +116 -0
  21. package/build/accounts/UserMetadata.js.map +1 -0
  22. package/build/accounts/UserState.d.ts +69 -0
  23. package/build/accounts/UserState.js +182 -0
  24. package/build/accounts/UserState.js.map +1 -0
  25. package/build/accounts/index.d.ts +16 -0
  26. package/build/accounts/index.js +20 -0
  27. package/build/accounts/index.js.map +1 -0
  28. package/build/errors/anchor.d.ts +434 -0
  29. package/build/errors/anchor.js +767 -0
  30. package/build/errors/anchor.js.map +1 -0
  31. package/build/errors/custom.d.ts +898 -0
  32. package/build/errors/custom.js +1580 -0
  33. package/build/errors/custom.js.map +1 -0
  34. package/build/errors/index.d.ts +5 -0
  35. package/build/errors/index.js +71 -0
  36. package/build/errors/index.js.map +1 -0
  37. package/build/index.d.ts +4 -0
  38. package/build/index.js +34 -0
  39. package/build/index.js.map +1 -0
  40. package/build/instructions/borrowObligationLiquidity.d.ts +21 -0
  41. package/build/instructions/borrowObligationLiquidity.js +80 -0
  42. package/build/instructions/borrowObligationLiquidity.js.map +1 -0
  43. package/build/instructions/borrowObligationLiquidityV2.d.ts +28 -0
  44. package/build/instructions/borrowObligationLiquidityV2.js +90 -0
  45. package/build/instructions/borrowObligationLiquidityV2.js.map +1 -0
  46. package/build/instructions/deleteReferrerStateAndShortUrl.d.ts +9 -0
  47. package/build/instructions/deleteReferrerStateAndShortUrl.js +20 -0
  48. package/build/instructions/deleteReferrerStateAndShortUrl.js.map +1 -0
  49. package/build/instructions/depositObligationCollateral.d.ts +17 -0
  50. package/build/instructions/depositObligationCollateral.js +64 -0
  51. package/build/instructions/depositObligationCollateral.js.map +1 -0
  52. package/build/instructions/depositReserveLiquidity.d.ts +21 -0
  53. package/build/instructions/depositReserveLiquidity.js +88 -0
  54. package/build/instructions/depositReserveLiquidity.js.map +1 -0
  55. package/build/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +23 -0
  56. package/build/instructions/depositReserveLiquidityAndObligationCollateral.js +94 -0
  57. package/build/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -0
  58. package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.d.ts +30 -0
  59. package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.js +100 -0
  60. package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.js.map +1 -0
  61. package/build/instructions/flashBorrowReserveLiquidity.d.ts +21 -0
  62. package/build/instructions/flashBorrowReserveLiquidity.js +80 -0
  63. package/build/instructions/flashBorrowReserveLiquidity.js.map +1 -0
  64. package/build/instructions/flashRepayReserveLiquidity.d.ts +22 -0
  65. package/build/instructions/flashRepayReserveLiquidity.js +77 -0
  66. package/build/instructions/flashRepayReserveLiquidity.js.map +1 -0
  67. package/build/instructions/idlMissingTypes.d.ts +18 -0
  68. package/build/instructions/idlMissingTypes.js +62 -0
  69. package/build/instructions/idlMissingTypes.js.map +1 -0
  70. package/build/instructions/index.d.ts +74 -0
  71. package/build/instructions/index.js +78 -0
  72. package/build/instructions/index.js.map +1 -0
  73. package/build/instructions/initFarmsForReserve.d.ts +18 -0
  74. package/build/instructions/initFarmsForReserve.js +62 -0
  75. package/build/instructions/initFarmsForReserve.js.map +1 -0
  76. package/build/instructions/initLendingMarket.d.ts +13 -0
  77. package/build/instructions/initLendingMarket.js +53 -0
  78. package/build/instructions/initLendingMarket.js.map +1 -0
  79. package/build/instructions/initObligation.d.ts +18 -0
  80. package/build/instructions/initObligation.js +54 -0
  81. package/build/instructions/initObligation.js.map +1 -0
  82. package/build/instructions/initObligationFarmsForReserve.d.ts +19 -0
  83. package/build/instructions/initObligationFarmsForReserve.js +59 -0
  84. package/build/instructions/initObligationFarmsForReserve.js.map +1 -0
  85. package/build/instructions/initReferrerStateAndShortUrl.d.ts +14 -0
  86. package/build/instructions/initReferrerStateAndShortUrl.js +54 -0
  87. package/build/instructions/initReferrerStateAndShortUrl.js.map +1 -0
  88. package/build/instructions/initReferrerTokenState.d.ts +14 -0
  89. package/build/instructions/initReferrerTokenState.js +50 -0
  90. package/build/instructions/initReferrerTokenState.js.map +1 -0
  91. package/build/instructions/initReserve.d.ts +17 -0
  92. package/build/instructions/initReserve.js +56 -0
  93. package/build/instructions/initReserve.js.map +1 -0
  94. package/build/instructions/initUserMetadata.d.ts +14 -0
  95. package/build/instructions/initUserMetadata.js +54 -0
  96. package/build/instructions/initUserMetadata.js.map +1 -0
  97. package/build/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +31 -0
  98. package/build/instructions/liquidateObligationAndRedeemReserveCollateral.js +126 -0
  99. package/build/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -0
  100. package/build/instructions/redeemFees.d.ts +11 -0
  101. package/build/instructions/redeemFees.js +38 -0
  102. package/build/instructions/redeemFees.js.map +1 -0
  103. package/build/instructions/redeemReserveCollateral.d.ts +21 -0
  104. package/build/instructions/redeemReserveCollateral.js +92 -0
  105. package/build/instructions/redeemReserveCollateral.js.map +1 -0
  106. package/build/instructions/refreshObligation.d.ts +6 -0
  107. package/build/instructions/refreshObligation.js +17 -0
  108. package/build/instructions/refreshObligation.js.map +1 -0
  109. package/build/instructions/refreshObligationFarmsForReserve.d.ts +18 -0
  110. package/build/instructions/refreshObligationFarmsForReserve.js +62 -0
  111. package/build/instructions/refreshObligationFarmsForReserve.js.map +1 -0
  112. package/build/instructions/refreshReserve.d.ts +10 -0
  113. package/build/instructions/refreshReserve.js +29 -0
  114. package/build/instructions/refreshReserve.js.map +1 -0
  115. package/build/instructions/refreshReservesBatch.d.ts +6 -0
  116. package/build/instructions/refreshReservesBatch.js +43 -0
  117. package/build/instructions/refreshReservesBatch.js.map +1 -0
  118. package/build/instructions/repayObligationLiquidity.d.ts +18 -0
  119. package/build/instructions/repayObligationLiquidity.js +65 -0
  120. package/build/instructions/repayObligationLiquidity.js.map +1 -0
  121. package/build/instructions/repayObligationLiquidityV2.d.ts +26 -0
  122. package/build/instructions/repayObligationLiquidityV2.js +76 -0
  123. package/build/instructions/repayObligationLiquidityV2.js.map +1 -0
  124. package/build/instructions/requestElevationGroup.d.ts +11 -0
  125. package/build/instructions/requestElevationGroup.js +47 -0
  126. package/build/instructions/requestElevationGroup.js.map +1 -0
  127. package/build/instructions/socializeLoss.d.ts +14 -0
  128. package/build/instructions/socializeLoss.js +53 -0
  129. package/build/instructions/socializeLoss.js.map +1 -0
  130. package/build/instructions/updateLendingMarket.d.ts +12 -0
  131. package/build/instructions/updateLendingMarket.js +47 -0
  132. package/build/instructions/updateLendingMarket.js.map +1 -0
  133. package/build/instructions/updateLendingMarketOwner.d.ts +6 -0
  134. package/build/instructions/updateLendingMarketOwner.js +21 -0
  135. package/build/instructions/updateLendingMarketOwner.js.map +1 -0
  136. package/build/instructions/updateReserveConfig.d.ts +14 -0
  137. package/build/instructions/updateReserveConfig.js +49 -0
  138. package/build/instructions/updateReserveConfig.js.map +1 -0
  139. package/build/instructions/withdrawObligationCollateral.d.ts +18 -0
  140. package/build/instructions/withdrawObligationCollateral.js +69 -0
  141. package/build/instructions/withdrawObligationCollateral.js.map +1 -0
  142. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +23 -0
  143. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +98 -0
  144. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -0
  145. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.d.ts +30 -0
  146. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js +104 -0
  147. package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js.map +1 -0
  148. package/build/instructions/withdrawProtocolFee.d.ts +17 -0
  149. package/build/instructions/withdrawProtocolFee.js +64 -0
  150. package/build/instructions/withdrawProtocolFee.js.map +1 -0
  151. package/build/instructions/withdrawReferrerFees.d.ts +13 -0
  152. package/build/instructions/withdrawReferrerFees.js +40 -0
  153. package/build/instructions/withdrawReferrerFees.js.map +1 -0
  154. package/build/kamino_lending.d.ts +3937 -0
  155. package/build/kamino_lending.js +3940 -0
  156. package/build/kamino_lending.js.map +1 -0
  157. package/build/kamino_lending.json +6352 -0
  158. package/build/programId.d.ts +3 -0
  159. package/build/programId.js +9 -0
  160. package/build/programId.js.map +1 -0
  161. package/build/types/AssetTier.d.ts +44 -0
  162. package/build/types/AssetTier.js +122 -0
  163. package/build/types/AssetTier.js.map +1 -0
  164. package/build/types/BigFractionBytes.d.ts +26 -0
  165. package/build/types/BigFractionBytes.js +72 -0
  166. package/build/types/BigFractionBytes.js.map +1 -0
  167. package/build/types/BorrowRateCurve.d.ts +27 -0
  168. package/build/types/BorrowRateCurve.js +63 -0
  169. package/build/types/BorrowRateCurve.js.map +1 -0
  170. package/build/types/CurvePoint.d.ts +25 -0
  171. package/build/types/CurvePoint.js +68 -0
  172. package/build/types/CurvePoint.js.map +1 -0
  173. package/build/types/ElevationGroup.d.ts +62 -0
  174. package/build/types/ElevationGroup.js +125 -0
  175. package/build/types/ElevationGroup.js.map +1 -0
  176. package/build/types/FeeCalculation.d.ts +31 -0
  177. package/build/types/FeeCalculation.js +95 -0
  178. package/build/types/FeeCalculation.js.map +1 -0
  179. package/build/types/InitObligationArgs.d.ts +25 -0
  180. package/build/types/InitObligationArgs.js +68 -0
  181. package/build/types/InitObligationArgs.js.map +1 -0
  182. package/build/types/LastUpdate.d.ts +36 -0
  183. package/build/types/LastUpdate.js +84 -0
  184. package/build/types/LastUpdate.js.map +1 -0
  185. package/build/types/ObligationCollateral.d.ts +43 -0
  186. package/build/types/ObligationCollateral.js +98 -0
  187. package/build/types/ObligationCollateral.js.map +1 -0
  188. package/build/types/ObligationLiquidity.d.ts +64 -0
  189. package/build/types/ObligationLiquidity.js +123 -0
  190. package/build/types/ObligationLiquidity.js.map +1 -0
  191. package/build/types/PriceHeuristic.d.ts +32 -0
  192. package/build/types/PriceHeuristic.js +78 -0
  193. package/build/types/PriceHeuristic.js.map +1 -0
  194. package/build/types/PythConfiguration.d.ts +22 -0
  195. package/build/types/PythConfiguration.js +63 -0
  196. package/build/types/PythConfiguration.js.map +1 -0
  197. package/build/types/ReserveCollateral.d.ts +43 -0
  198. package/build/types/ReserveCollateral.js +97 -0
  199. package/build/types/ReserveCollateral.js.map +1 -0
  200. package/build/types/ReserveConfig.d.ts +246 -0
  201. package/build/types/ReserveConfig.js +269 -0
  202. package/build/types/ReserveConfig.js.map +1 -0
  203. package/build/types/ReserveFarmKind.d.ts +31 -0
  204. package/build/types/ReserveFarmKind.js +98 -0
  205. package/build/types/ReserveFarmKind.js.map +1 -0
  206. package/build/types/ReserveFees.d.ts +32 -0
  207. package/build/types/ReserveFees.js +82 -0
  208. package/build/types/ReserveFees.js.map +1 -0
  209. package/build/types/ReserveLiquidity.d.ts +114 -0
  210. package/build/types/ReserveLiquidity.js +191 -0
  211. package/build/types/ReserveLiquidity.js.map +1 -0
  212. package/build/types/ReserveStatus.d.ts +44 -0
  213. package/build/types/ReserveStatus.js +122 -0
  214. package/build/types/ReserveStatus.js.map +1 -0
  215. package/build/types/ScopeConfiguration.d.ts +32 -0
  216. package/build/types/ScopeConfiguration.js +79 -0
  217. package/build/types/ScopeConfiguration.js.map +1 -0
  218. package/build/types/SwitchboardConfiguration.d.ts +27 -0
  219. package/build/types/SwitchboardConfiguration.js +69 -0
  220. package/build/types/SwitchboardConfiguration.js.map +1 -0
  221. package/build/types/TokenInfo.d.ts +99 -0
  222. package/build/types/TokenInfo.js +145 -0
  223. package/build/types/TokenInfo.js.map +1 -0
  224. package/build/types/UpdateConfigMode.d.ts +616 -0
  225. package/build/types/UpdateConfigMode.js +1178 -0
  226. package/build/types/UpdateConfigMode.js.map +1 -0
  227. package/build/types/UpdateLendingMarketConfigValue.d.ts +177 -0
  228. package/build/types/UpdateLendingMarketConfigValue.js +312 -0
  229. package/build/types/UpdateLendingMarketConfigValue.js.map +1 -0
  230. package/build/types/UpdateLendingMarketMode.d.ts +239 -0
  231. package/build/types/UpdateLendingMarketMode.js +482 -0
  232. package/build/types/UpdateLendingMarketMode.js.map +1 -0
  233. package/build/types/WithdrawalCaps.d.ts +37 -0
  234. package/build/types/WithdrawalCaps.js +89 -0
  235. package/build/types/WithdrawalCaps.js.map +1 -0
  236. package/build/types/index.d.ts +64 -0
  237. package/build/types/index.js +77 -0
  238. package/build/types/index.js.map +1 -0
  239. package/package.json +44 -0
  240. package/src/accounts/LendingMarket.ts +292 -0
  241. package/src/accounts/Obligation.ts +282 -0
  242. package/src/accounts/ReferrerState.ts +90 -0
  243. package/src/accounts/ReferrerTokenState.ts +126 -0
  244. package/src/accounts/Reserve.ts +218 -0
  245. package/src/accounts/ShortUrl.ts +86 -0
  246. package/src/accounts/UserMetadata.ts +126 -0
  247. package/src/accounts/UserState.ts +210 -0
  248. package/src/accounts/index.ts +19 -0
  249. package/src/errors/anchor.ts +773 -0
  250. package/src/errors/custom.ts +1633 -0
  251. package/src/errors/index.ts +62 -0
  252. package/src/index.ts +5 -0
  253. package/src/instructions/borrowObligationLiquidity.ts +81 -0
  254. package/src/instructions/borrowObligationLiquidityV2.ts +103 -0
  255. package/src/instructions/deleteReferrerStateAndShortUrl.ts +27 -0
  256. package/src/instructions/depositObligationCollateral.ts +61 -0
  257. package/src/instructions/depositReserveLiquidity.ts +89 -0
  258. package/src/instructions/depositReserveLiquidityAndObligationCollateral.ts +97 -0
  259. package/src/instructions/depositReserveLiquidityAndObligationCollateralV2.ts +119 -0
  260. package/src/instructions/flashBorrowReserveLiquidity.ts +81 -0
  261. package/src/instructions/flashRepayReserveLiquidity.ts +79 -0
  262. package/src/instructions/idlMissingTypes.ts +59 -0
  263. package/src/instructions/index.ts +158 -0
  264. package/src/instructions/initFarmsForReserve.ts +60 -0
  265. package/src/instructions/initLendingMarket.ts +46 -0
  266. package/src/instructions/initObligation.ts +51 -0
  267. package/src/instructions/initObligationFarmsForReserve.ts +58 -0
  268. package/src/instructions/initReferrerStateAndShortUrl.ts +48 -0
  269. package/src/instructions/initReferrerTokenState.ts +44 -0
  270. package/src/instructions/initReserve.ts +68 -0
  271. package/src/instructions/initUserMetadata.ts +48 -0
  272. package/src/instructions/liquidateObligationAndRedeemReserveCollateral.ts +137 -0
  273. package/src/instructions/redeemFees.ts +44 -0
  274. package/src/instructions/redeemReserveCollateral.ts +93 -0
  275. package/src/instructions/refreshObligation.ts +18 -0
  276. package/src/instructions/refreshObligationFarmsForReserve.ts +60 -0
  277. package/src/instructions/refreshReserve.ts +34 -0
  278. package/src/instructions/refreshReservesBatch.ts +24 -0
  279. package/src/instructions/repayObligationLiquidity.ts +63 -0
  280. package/src/instructions/repayObligationLiquidityV2.ts +87 -0
  281. package/src/instructions/requestElevationGroup.ts +38 -0
  282. package/src/instructions/socializeLoss.ts +47 -0
  283. package/src/instructions/updateLendingMarket.ts +39 -0
  284. package/src/instructions/updateLendingMarketOwner.ts +25 -0
  285. package/src/instructions/updateReserveConfig.ts +43 -0
  286. package/src/instructions/withdrawObligationCollateral.ts +67 -0
  287. package/src/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +101 -0
  288. package/src/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.ts +123 -0
  289. package/src/instructions/withdrawProtocolFee.ts +61 -0
  290. package/src/instructions/withdrawReferrerFees.ts +48 -0
  291. package/src/kamino_lending.json +6352 -0
  292. package/src/kamino_lending.ts +7873 -0
  293. package/src/programId.ts +9 -0
  294. package/src/types/AssetTier.ts +116 -0
  295. package/src/types/BigFractionBytes.ts +59 -0
  296. package/src/types/BorrowRateCurve.ts +53 -0
  297. package/src/types/CurvePoint.ts +58 -0
  298. package/src/types/ElevationGroup.ts +129 -0
  299. package/src/types/FeeCalculation.ts +83 -0
  300. package/src/types/InitObligationArgs.ts +58 -0
  301. package/src/types/LastUpdate.ts +78 -0
  302. package/src/types/ObligationCollateral.ts +100 -0
  303. package/src/types/ObligationLiquidity.ts +140 -0
  304. package/src/types/PriceHeuristic.ts +72 -0
  305. package/src/types/PythConfiguration.ts +53 -0
  306. package/src/types/ReserveCollateral.ts +94 -0
  307. package/src/types/ReserveConfig.ts +349 -0
  308. package/src/types/ReserveFarmKind.ts +90 -0
  309. package/src/types/ReserveFees.ts +76 -0
  310. package/src/types/ReserveLiquidity.ts +219 -0
  311. package/src/types/ReserveStatus.ts +120 -0
  312. package/src/types/ScopeConfiguration.ts +76 -0
  313. package/src/types/SwitchboardConfiguration.ts +64 -0
  314. package/src/types/TokenInfo.ts +172 -0
  315. package/src/types/UpdateConfigMode.ts +1440 -0
  316. package/src/types/UpdateLendingMarketConfigValue.ts +376 -0
  317. package/src/types/UpdateLendingMarketMode.ts +570 -0
  318. package/src/types/WithdrawalCaps.ts +85 -0
  319. package/src/types/index.ts +275 -0
  320. package/tsconfig.json +17 -0
@@ -0,0 +1,9 @@
1
+ import { PublicKey } from "@solana/web3.js"
2
+
3
+ // Program ID passed with the cli --program-id flag when running the code generator. Do not edit, it will get overwritten.
4
+ export const PROGRAM_ID_CLI = new PublicKey(
5
+ "KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"
6
+ )
7
+
8
+ // This constant will not get overwritten on subsequent code generations and it's safe to modify it's value.
9
+ export const PROGRAM_ID: PublicKey = PROGRAM_ID_CLI
@@ -0,0 +1,116 @@
1
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import * as borsh from "@coral-xyz/borsh"
3
+
4
+ export interface RegularJSON {
5
+ kind: "Regular"
6
+ }
7
+
8
+ export class Regular {
9
+ static readonly discriminator = 0
10
+ static readonly kind = "Regular"
11
+ readonly discriminator = 0
12
+ readonly kind = "Regular"
13
+
14
+ toJSON(): RegularJSON {
15
+ return {
16
+ kind: "Regular",
17
+ }
18
+ }
19
+
20
+ toEncodable() {
21
+ return {
22
+ Regular: {},
23
+ }
24
+ }
25
+ }
26
+
27
+ export interface IsolatedCollateralJSON {
28
+ kind: "IsolatedCollateral"
29
+ }
30
+
31
+ export class IsolatedCollateral {
32
+ static readonly discriminator = 1
33
+ static readonly kind = "IsolatedCollateral"
34
+ readonly discriminator = 1
35
+ readonly kind = "IsolatedCollateral"
36
+
37
+ toJSON(): IsolatedCollateralJSON {
38
+ return {
39
+ kind: "IsolatedCollateral",
40
+ }
41
+ }
42
+
43
+ toEncodable() {
44
+ return {
45
+ IsolatedCollateral: {},
46
+ }
47
+ }
48
+ }
49
+
50
+ export interface IsolatedDebtJSON {
51
+ kind: "IsolatedDebt"
52
+ }
53
+
54
+ export class IsolatedDebt {
55
+ static readonly discriminator = 2
56
+ static readonly kind = "IsolatedDebt"
57
+ readonly discriminator = 2
58
+ readonly kind = "IsolatedDebt"
59
+
60
+ toJSON(): IsolatedDebtJSON {
61
+ return {
62
+ kind: "IsolatedDebt",
63
+ }
64
+ }
65
+
66
+ toEncodable() {
67
+ return {
68
+ IsolatedDebt: {},
69
+ }
70
+ }
71
+ }
72
+
73
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
+ export function fromDecoded(obj: any): types.AssetTierKind {
75
+ if (typeof obj !== "object") {
76
+ throw new Error("Invalid enum object")
77
+ }
78
+
79
+ if ("Regular" in obj) {
80
+ return new Regular()
81
+ }
82
+ if ("IsolatedCollateral" in obj) {
83
+ return new IsolatedCollateral()
84
+ }
85
+ if ("IsolatedDebt" in obj) {
86
+ return new IsolatedDebt()
87
+ }
88
+
89
+ throw new Error("Invalid enum object")
90
+ }
91
+
92
+ export function fromJSON(obj: types.AssetTierJSON): types.AssetTierKind {
93
+ switch (obj.kind) {
94
+ case "Regular": {
95
+ return new Regular()
96
+ }
97
+ case "IsolatedCollateral": {
98
+ return new IsolatedCollateral()
99
+ }
100
+ case "IsolatedDebt": {
101
+ return new IsolatedDebt()
102
+ }
103
+ }
104
+ }
105
+
106
+ export function layout(property?: string) {
107
+ const ret = borsh.rustEnum([
108
+ borsh.struct([], "Regular"),
109
+ borsh.struct([], "IsolatedCollateral"),
110
+ borsh.struct([], "IsolatedDebt"),
111
+ ])
112
+ if (property !== undefined) {
113
+ return ret.replicate(property)
114
+ }
115
+ return ret
116
+ }
@@ -0,0 +1,59 @@
1
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import * as borsh from "@coral-xyz/borsh"
3
+
4
+ export interface BigFractionBytesFields {
5
+ value: Array<BN>
6
+ padding: Array<BN>
7
+ }
8
+
9
+ export interface BigFractionBytesJSON {
10
+ value: Array<string>
11
+ padding: Array<string>
12
+ }
13
+
14
+ export class BigFractionBytes {
15
+ readonly value: Array<BN>
16
+ readonly padding: Array<BN>
17
+
18
+ constructor(fields: BigFractionBytesFields) {
19
+ this.value = fields.value
20
+ this.padding = fields.padding
21
+ }
22
+
23
+ static layout(property?: string) {
24
+ return borsh.struct([borsh.array(borsh.u64(), 4, "value"), borsh.array(borsh.u64(), 2, "padding")], property)
25
+ }
26
+
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ static fromDecoded(obj: any) {
29
+ return new BigFractionBytes({
30
+ value: obj.value,
31
+ padding: obj.padding,
32
+ })
33
+ }
34
+
35
+ static toEncodable(fields: BigFractionBytesFields) {
36
+ return {
37
+ value: fields.value,
38
+ padding: fields.padding,
39
+ }
40
+ }
41
+
42
+ toJSON(): BigFractionBytesJSON {
43
+ return {
44
+ value: this.value.map((item) => item.toString()),
45
+ padding: this.padding.map((item) => item.toString()),
46
+ }
47
+ }
48
+
49
+ static fromJSON(obj: BigFractionBytesJSON): BigFractionBytes {
50
+ return new BigFractionBytes({
51
+ value: obj.value.map((item) => new BN(item)),
52
+ padding: obj.padding.map((item) => new BN(item)),
53
+ })
54
+ }
55
+
56
+ toEncodable() {
57
+ return BigFractionBytes.toEncodable(this)
58
+ }
59
+ }
@@ -0,0 +1,53 @@
1
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import * as borsh from "@coral-xyz/borsh"
3
+
4
+ export interface BorrowRateCurveFields {
5
+ points: Array<types.CurvePointFields>
6
+ }
7
+
8
+ export interface BorrowRateCurveJSON {
9
+ points: Array<types.CurvePointJSON>
10
+ }
11
+
12
+ export class BorrowRateCurve {
13
+ readonly points: Array<types.CurvePoint>
14
+
15
+ constructor(fields: BorrowRateCurveFields) {
16
+ this.points = fields.points.map((item) => new types.CurvePoint({ ...item }))
17
+ }
18
+
19
+ static layout(property?: string) {
20
+ return borsh.struct([borsh.array(types.CurvePoint.layout(), 11, "points")], property)
21
+ }
22
+
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ static fromDecoded(obj: any) {
25
+ return new BorrowRateCurve({
26
+ points: obj.points.map((item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */) =>
27
+ types.CurvePoint.fromDecoded(item),
28
+ ),
29
+ })
30
+ }
31
+
32
+ static toEncodable(fields: BorrowRateCurveFields) {
33
+ return {
34
+ points: fields.points.map((item) => types.CurvePoint.toEncodable(item)),
35
+ }
36
+ }
37
+
38
+ toJSON(): BorrowRateCurveJSON {
39
+ return {
40
+ points: this.points.map((item) => item.toJSON()),
41
+ }
42
+ }
43
+
44
+ static fromJSON(obj: BorrowRateCurveJSON): BorrowRateCurve {
45
+ return new BorrowRateCurve({
46
+ points: obj.points.map((item) => types.CurvePoint.fromJSON(item)),
47
+ })
48
+ }
49
+
50
+ toEncodable() {
51
+ return BorrowRateCurve.toEncodable(this)
52
+ }
53
+ }
@@ -0,0 +1,58 @@
1
+ import * as borsh from "@coral-xyz/borsh"
2
+
3
+ export interface CurvePointFields {
4
+ utilizationRateBps: number
5
+ borrowRateBps: number
6
+ }
7
+
8
+ export interface CurvePointJSON {
9
+ utilizationRateBps: number
10
+ borrowRateBps: number
11
+ }
12
+
13
+ export class CurvePoint {
14
+ readonly utilizationRateBps: number
15
+ readonly borrowRateBps: number
16
+
17
+ constructor(fields: CurvePointFields) {
18
+ this.utilizationRateBps = fields.utilizationRateBps
19
+ this.borrowRateBps = fields.borrowRateBps
20
+ }
21
+
22
+ static layout(property?: string) {
23
+ return borsh.struct([borsh.u32("utilizationRateBps"), borsh.u32("borrowRateBps")], property)
24
+ }
25
+
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ static fromDecoded(obj: any) {
28
+ return new CurvePoint({
29
+ utilizationRateBps: obj.utilizationRateBps,
30
+ borrowRateBps: obj.borrowRateBps,
31
+ })
32
+ }
33
+
34
+ static toEncodable(fields: CurvePointFields) {
35
+ return {
36
+ utilizationRateBps: fields.utilizationRateBps,
37
+ borrowRateBps: fields.borrowRateBps,
38
+ }
39
+ }
40
+
41
+ toJSON(): CurvePointJSON {
42
+ return {
43
+ utilizationRateBps: this.utilizationRateBps,
44
+ borrowRateBps: this.borrowRateBps,
45
+ }
46
+ }
47
+
48
+ static fromJSON(obj: CurvePointJSON): CurvePoint {
49
+ return new CurvePoint({
50
+ utilizationRateBps: obj.utilizationRateBps,
51
+ borrowRateBps: obj.borrowRateBps,
52
+ })
53
+ }
54
+
55
+ toEncodable() {
56
+ return CurvePoint.toEncodable(this)
57
+ }
58
+ }
@@ -0,0 +1,129 @@
1
+ import { PublicKey } from "@solana/web3.js" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ import * as borsh from "@coral-xyz/borsh"
4
+
5
+ export interface ElevationGroupFields {
6
+ maxLiquidationBonusBps: number
7
+ id: number
8
+ ltvPct: number
9
+ liquidationThresholdPct: number
10
+ allowNewLoans: number
11
+ maxReservesAsCollateral: number
12
+ padding0: number
13
+ debtReserve: PublicKey
14
+ padding1: Array<BN>
15
+ }
16
+
17
+ export interface ElevationGroupJSON {
18
+ maxLiquidationBonusBps: number
19
+ id: number
20
+ ltvPct: number
21
+ liquidationThresholdPct: number
22
+ allowNewLoans: number
23
+ maxReservesAsCollateral: number
24
+ padding0: number
25
+ debtReserve: string
26
+ padding1: Array<string>
27
+ }
28
+
29
+ export class ElevationGroup {
30
+ readonly maxLiquidationBonusBps: number
31
+ readonly id: number
32
+ readonly ltvPct: number
33
+ readonly liquidationThresholdPct: number
34
+ readonly allowNewLoans: number
35
+ readonly maxReservesAsCollateral: number
36
+ readonly padding0: number
37
+ readonly debtReserve: PublicKey
38
+ readonly padding1: Array<BN>
39
+
40
+ constructor(fields: ElevationGroupFields) {
41
+ this.maxLiquidationBonusBps = fields.maxLiquidationBonusBps
42
+ this.id = fields.id
43
+ this.ltvPct = fields.ltvPct
44
+ this.liquidationThresholdPct = fields.liquidationThresholdPct
45
+ this.allowNewLoans = fields.allowNewLoans
46
+ this.maxReservesAsCollateral = fields.maxReservesAsCollateral
47
+ this.padding0 = fields.padding0
48
+ this.debtReserve = fields.debtReserve
49
+ this.padding1 = fields.padding1
50
+ }
51
+
52
+ static layout(property?: string) {
53
+ return borsh.struct(
54
+ [
55
+ borsh.u16("maxLiquidationBonusBps"),
56
+ borsh.u8("id"),
57
+ borsh.u8("ltvPct"),
58
+ borsh.u8("liquidationThresholdPct"),
59
+ borsh.u8("allowNewLoans"),
60
+ borsh.u8("maxReservesAsCollateral"),
61
+ borsh.u8("padding0"),
62
+ borsh.publicKey("debtReserve"),
63
+ borsh.array(borsh.u64(), 4, "padding1"),
64
+ ],
65
+ property,
66
+ )
67
+ }
68
+
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
+ static fromDecoded(obj: any) {
71
+ return new ElevationGroup({
72
+ maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
73
+ id: obj.id,
74
+ ltvPct: obj.ltvPct,
75
+ liquidationThresholdPct: obj.liquidationThresholdPct,
76
+ allowNewLoans: obj.allowNewLoans,
77
+ maxReservesAsCollateral: obj.maxReservesAsCollateral,
78
+ padding0: obj.padding0,
79
+ debtReserve: obj.debtReserve,
80
+ padding1: obj.padding1,
81
+ })
82
+ }
83
+
84
+ static toEncodable(fields: ElevationGroupFields) {
85
+ return {
86
+ maxLiquidationBonusBps: fields.maxLiquidationBonusBps,
87
+ id: fields.id,
88
+ ltvPct: fields.ltvPct,
89
+ liquidationThresholdPct: fields.liquidationThresholdPct,
90
+ allowNewLoans: fields.allowNewLoans,
91
+ maxReservesAsCollateral: fields.maxReservesAsCollateral,
92
+ padding0: fields.padding0,
93
+ debtReserve: fields.debtReserve,
94
+ padding1: fields.padding1,
95
+ }
96
+ }
97
+
98
+ toJSON(): ElevationGroupJSON {
99
+ return {
100
+ maxLiquidationBonusBps: this.maxLiquidationBonusBps,
101
+ id: this.id,
102
+ ltvPct: this.ltvPct,
103
+ liquidationThresholdPct: this.liquidationThresholdPct,
104
+ allowNewLoans: this.allowNewLoans,
105
+ maxReservesAsCollateral: this.maxReservesAsCollateral,
106
+ padding0: this.padding0,
107
+ debtReserve: this.debtReserve.toString(),
108
+ padding1: this.padding1.map((item) => item.toString()),
109
+ }
110
+ }
111
+
112
+ static fromJSON(obj: ElevationGroupJSON): ElevationGroup {
113
+ return new ElevationGroup({
114
+ maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
115
+ id: obj.id,
116
+ ltvPct: obj.ltvPct,
117
+ liquidationThresholdPct: obj.liquidationThresholdPct,
118
+ allowNewLoans: obj.allowNewLoans,
119
+ maxReservesAsCollateral: obj.maxReservesAsCollateral,
120
+ padding0: obj.padding0,
121
+ debtReserve: new PublicKey(obj.debtReserve),
122
+ padding1: obj.padding1.map((item) => new BN(item)),
123
+ })
124
+ }
125
+
126
+ toEncodable() {
127
+ return ElevationGroup.toEncodable(this)
128
+ }
129
+ }
@@ -0,0 +1,83 @@
1
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import * as borsh from "@coral-xyz/borsh"
3
+
4
+ export interface ExclusiveJSON {
5
+ kind: "Exclusive"
6
+ }
7
+
8
+ export class Exclusive {
9
+ static readonly discriminator = 0
10
+ static readonly kind = "Exclusive"
11
+ readonly discriminator = 0
12
+ readonly kind = "Exclusive"
13
+
14
+ toJSON(): ExclusiveJSON {
15
+ return {
16
+ kind: "Exclusive",
17
+ }
18
+ }
19
+
20
+ toEncodable() {
21
+ return {
22
+ Exclusive: {},
23
+ }
24
+ }
25
+ }
26
+
27
+ export interface InclusiveJSON {
28
+ kind: "Inclusive"
29
+ }
30
+
31
+ export class Inclusive {
32
+ static readonly discriminator = 1
33
+ static readonly kind = "Inclusive"
34
+ readonly discriminator = 1
35
+ readonly kind = "Inclusive"
36
+
37
+ toJSON(): InclusiveJSON {
38
+ return {
39
+ kind: "Inclusive",
40
+ }
41
+ }
42
+
43
+ toEncodable() {
44
+ return {
45
+ Inclusive: {},
46
+ }
47
+ }
48
+ }
49
+
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ export function fromDecoded(obj: any): types.FeeCalculationKind {
52
+ if (typeof obj !== "object") {
53
+ throw new Error("Invalid enum object")
54
+ }
55
+
56
+ if ("Exclusive" in obj) {
57
+ return new Exclusive()
58
+ }
59
+ if ("Inclusive" in obj) {
60
+ return new Inclusive()
61
+ }
62
+
63
+ throw new Error("Invalid enum object")
64
+ }
65
+
66
+ export function fromJSON(obj: types.FeeCalculationJSON): types.FeeCalculationKind {
67
+ switch (obj.kind) {
68
+ case "Exclusive": {
69
+ return new Exclusive()
70
+ }
71
+ case "Inclusive": {
72
+ return new Inclusive()
73
+ }
74
+ }
75
+ }
76
+
77
+ export function layout(property?: string) {
78
+ const ret = borsh.rustEnum([borsh.struct([], "Exclusive"), borsh.struct([], "Inclusive")])
79
+ if (property !== undefined) {
80
+ return ret.replicate(property)
81
+ }
82
+ return ret
83
+ }
@@ -0,0 +1,58 @@
1
+ import * as borsh from "@coral-xyz/borsh"
2
+
3
+ export interface InitObligationArgsFields {
4
+ tag: number
5
+ id: number
6
+ }
7
+
8
+ export interface InitObligationArgsJSON {
9
+ tag: number
10
+ id: number
11
+ }
12
+
13
+ export class InitObligationArgs {
14
+ readonly tag: number
15
+ readonly id: number
16
+
17
+ constructor(fields: InitObligationArgsFields) {
18
+ this.tag = fields.tag
19
+ this.id = fields.id
20
+ }
21
+
22
+ static layout(property?: string) {
23
+ return borsh.struct([borsh.u8("tag"), borsh.u8("id")], property)
24
+ }
25
+
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ static fromDecoded(obj: any) {
28
+ return new InitObligationArgs({
29
+ tag: obj.tag,
30
+ id: obj.id,
31
+ })
32
+ }
33
+
34
+ static toEncodable(fields: InitObligationArgsFields) {
35
+ return {
36
+ tag: fields.tag,
37
+ id: fields.id,
38
+ }
39
+ }
40
+
41
+ toJSON(): InitObligationArgsJSON {
42
+ return {
43
+ tag: this.tag,
44
+ id: this.id,
45
+ }
46
+ }
47
+
48
+ static fromJSON(obj: InitObligationArgsJSON): InitObligationArgs {
49
+ return new InitObligationArgs({
50
+ tag: obj.tag,
51
+ id: obj.id,
52
+ })
53
+ }
54
+
55
+ toEncodable() {
56
+ return InitObligationArgs.toEncodable(this)
57
+ }
58
+ }
@@ -0,0 +1,78 @@
1
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import * as borsh from "@coral-xyz/borsh"
3
+
4
+ export interface LastUpdateFields {
5
+ slot: BN
6
+ stale: number
7
+ priceStatus: number
8
+ placeholder: Array<number>
9
+ }
10
+
11
+ export interface LastUpdateJSON {
12
+ slot: string
13
+ stale: number
14
+ priceStatus: number
15
+ placeholder: Array<number>
16
+ }
17
+
18
+ export class LastUpdate {
19
+ readonly slot: BN
20
+ readonly stale: number
21
+ readonly priceStatus: number
22
+ readonly placeholder: Array<number>
23
+
24
+ constructor(fields: LastUpdateFields) {
25
+ this.slot = fields.slot
26
+ this.stale = fields.stale
27
+ this.priceStatus = fields.priceStatus
28
+ this.placeholder = fields.placeholder
29
+ }
30
+
31
+ static layout(property?: string) {
32
+ return borsh.struct(
33
+ [borsh.u64("slot"), borsh.u8("stale"), borsh.u8("priceStatus"), borsh.array(borsh.u8(), 6, "placeholder")],
34
+ property,
35
+ )
36
+ }
37
+
38
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
+ static fromDecoded(obj: any) {
40
+ return new LastUpdate({
41
+ slot: obj.slot,
42
+ stale: obj.stale,
43
+ priceStatus: obj.priceStatus,
44
+ placeholder: obj.placeholder,
45
+ })
46
+ }
47
+
48
+ static toEncodable(fields: LastUpdateFields) {
49
+ return {
50
+ slot: fields.slot,
51
+ stale: fields.stale,
52
+ priceStatus: fields.priceStatus,
53
+ placeholder: fields.placeholder,
54
+ }
55
+ }
56
+
57
+ toJSON(): LastUpdateJSON {
58
+ return {
59
+ slot: this.slot.toString(),
60
+ stale: this.stale,
61
+ priceStatus: this.priceStatus,
62
+ placeholder: this.placeholder,
63
+ }
64
+ }
65
+
66
+ static fromJSON(obj: LastUpdateJSON): LastUpdate {
67
+ return new LastUpdate({
68
+ slot: new BN(obj.slot),
69
+ stale: obj.stale,
70
+ priceStatus: obj.priceStatus,
71
+ placeholder: obj.placeholder,
72
+ })
73
+ }
74
+
75
+ toEncodable() {
76
+ return LastUpdate.toEncodable(this)
77
+ }
78
+ }