@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,100 @@
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 types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+
6
+ export interface ObligationCollateralFields {
7
+ depositReserve: PublicKey
8
+ depositedAmount: BN
9
+ marketValueSf: BN
10
+ borrowedAmountAgainstThisCollateralInElevationGroup: BN
11
+ padding: Array<BN>
12
+ }
13
+
14
+ export interface ObligationCollateralJSON {
15
+ depositReserve: string
16
+ depositedAmount: string
17
+ marketValueSf: string
18
+ borrowedAmountAgainstThisCollateralInElevationGroup: string
19
+ padding: Array<string>
20
+ }
21
+
22
+ export class ObligationCollateral {
23
+ readonly depositReserve: PublicKey
24
+ readonly depositedAmount: BN
25
+ readonly marketValueSf: BN
26
+ readonly borrowedAmountAgainstThisCollateralInElevationGroup: BN
27
+ readonly padding: Array<BN>
28
+
29
+ constructor(fields: ObligationCollateralFields) {
30
+ this.depositReserve = fields.depositReserve
31
+ this.depositedAmount = fields.depositedAmount
32
+ this.marketValueSf = fields.marketValueSf
33
+ this.borrowedAmountAgainstThisCollateralInElevationGroup =
34
+ fields.borrowedAmountAgainstThisCollateralInElevationGroup
35
+ this.padding = fields.padding
36
+ }
37
+
38
+ static layout(property?: string) {
39
+ return borsh.struct(
40
+ [
41
+ borsh.publicKey("depositReserve"),
42
+ borsh.u64("depositedAmount"),
43
+ borsh.u128("marketValueSf"),
44
+ borsh.u64("borrowedAmountAgainstThisCollateralInElevationGroup"),
45
+ borsh.array(borsh.u64(), 9, "padding"),
46
+ ],
47
+ property
48
+ )
49
+ }
50
+
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ static fromDecoded(obj: any) {
53
+ return new ObligationCollateral({
54
+ depositReserve: obj.depositReserve,
55
+ depositedAmount: obj.depositedAmount,
56
+ marketValueSf: obj.marketValueSf,
57
+ borrowedAmountAgainstThisCollateralInElevationGroup:
58
+ obj.borrowedAmountAgainstThisCollateralInElevationGroup,
59
+ padding: obj.padding,
60
+ })
61
+ }
62
+
63
+ static toEncodable(fields: ObligationCollateralFields) {
64
+ return {
65
+ depositReserve: fields.depositReserve,
66
+ depositedAmount: fields.depositedAmount,
67
+ marketValueSf: fields.marketValueSf,
68
+ borrowedAmountAgainstThisCollateralInElevationGroup:
69
+ fields.borrowedAmountAgainstThisCollateralInElevationGroup,
70
+ padding: fields.padding,
71
+ }
72
+ }
73
+
74
+ toJSON(): ObligationCollateralJSON {
75
+ return {
76
+ depositReserve: this.depositReserve.toString(),
77
+ depositedAmount: this.depositedAmount.toString(),
78
+ marketValueSf: this.marketValueSf.toString(),
79
+ borrowedAmountAgainstThisCollateralInElevationGroup:
80
+ this.borrowedAmountAgainstThisCollateralInElevationGroup.toString(),
81
+ padding: this.padding.map((item) => item.toString()),
82
+ }
83
+ }
84
+
85
+ static fromJSON(obj: ObligationCollateralJSON): ObligationCollateral {
86
+ return new ObligationCollateral({
87
+ depositReserve: new PublicKey(obj.depositReserve),
88
+ depositedAmount: new BN(obj.depositedAmount),
89
+ marketValueSf: new BN(obj.marketValueSf),
90
+ borrowedAmountAgainstThisCollateralInElevationGroup: new BN(
91
+ obj.borrowedAmountAgainstThisCollateralInElevationGroup
92
+ ),
93
+ padding: obj.padding.map((item) => new BN(item)),
94
+ })
95
+ }
96
+
97
+ toEncodable() {
98
+ return ObligationCollateral.toEncodable(this)
99
+ }
100
+ }
@@ -0,0 +1,140 @@
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 types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+
6
+ export interface ObligationLiquidityFields {
7
+ borrowReserve: PublicKey
8
+ cumulativeBorrowRateBsf: types.BigFractionBytesFields
9
+ padding: BN
10
+ borrowedAmountSf: BN
11
+ marketValueSf: BN
12
+ borrowFactorAdjustedMarketValueSf: BN
13
+ borrowedAmountOutsideElevationGroups: BN
14
+ padding2: Array<BN>
15
+ }
16
+
17
+ export interface ObligationLiquidityJSON {
18
+ borrowReserve: string
19
+ cumulativeBorrowRateBsf: types.BigFractionBytesJSON
20
+ padding: string
21
+ borrowedAmountSf: string
22
+ marketValueSf: string
23
+ borrowFactorAdjustedMarketValueSf: string
24
+ borrowedAmountOutsideElevationGroups: string
25
+ padding2: Array<string>
26
+ }
27
+
28
+ export class ObligationLiquidity {
29
+ readonly borrowReserve: PublicKey
30
+ readonly cumulativeBorrowRateBsf: types.BigFractionBytes
31
+ readonly padding: BN
32
+ readonly borrowedAmountSf: BN
33
+ readonly marketValueSf: BN
34
+ readonly borrowFactorAdjustedMarketValueSf: BN
35
+ readonly borrowedAmountOutsideElevationGroups: BN
36
+ readonly padding2: Array<BN>
37
+
38
+ constructor(fields: ObligationLiquidityFields) {
39
+ this.borrowReserve = fields.borrowReserve
40
+ this.cumulativeBorrowRateBsf = new types.BigFractionBytes({
41
+ ...fields.cumulativeBorrowRateBsf,
42
+ })
43
+ this.padding = fields.padding
44
+ this.borrowedAmountSf = fields.borrowedAmountSf
45
+ this.marketValueSf = fields.marketValueSf
46
+ this.borrowFactorAdjustedMarketValueSf =
47
+ fields.borrowFactorAdjustedMarketValueSf
48
+ this.borrowedAmountOutsideElevationGroups =
49
+ fields.borrowedAmountOutsideElevationGroups
50
+ this.padding2 = fields.padding2
51
+ }
52
+
53
+ static layout(property?: string) {
54
+ return borsh.struct(
55
+ [
56
+ borsh.publicKey("borrowReserve"),
57
+ types.BigFractionBytes.layout("cumulativeBorrowRateBsf"),
58
+ borsh.u64("padding"),
59
+ borsh.u128("borrowedAmountSf"),
60
+ borsh.u128("marketValueSf"),
61
+ borsh.u128("borrowFactorAdjustedMarketValueSf"),
62
+ borsh.u64("borrowedAmountOutsideElevationGroups"),
63
+ borsh.array(borsh.u64(), 7, "padding2"),
64
+ ],
65
+ property
66
+ )
67
+ }
68
+
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
+ static fromDecoded(obj: any) {
71
+ return new ObligationLiquidity({
72
+ borrowReserve: obj.borrowReserve,
73
+ cumulativeBorrowRateBsf: types.BigFractionBytes.fromDecoded(
74
+ obj.cumulativeBorrowRateBsf
75
+ ),
76
+ padding: obj.padding,
77
+ borrowedAmountSf: obj.borrowedAmountSf,
78
+ marketValueSf: obj.marketValueSf,
79
+ borrowFactorAdjustedMarketValueSf: obj.borrowFactorAdjustedMarketValueSf,
80
+ borrowedAmountOutsideElevationGroups:
81
+ obj.borrowedAmountOutsideElevationGroups,
82
+ padding2: obj.padding2,
83
+ })
84
+ }
85
+
86
+ static toEncodable(fields: ObligationLiquidityFields) {
87
+ return {
88
+ borrowReserve: fields.borrowReserve,
89
+ cumulativeBorrowRateBsf: types.BigFractionBytes.toEncodable(
90
+ fields.cumulativeBorrowRateBsf
91
+ ),
92
+ padding: fields.padding,
93
+ borrowedAmountSf: fields.borrowedAmountSf,
94
+ marketValueSf: fields.marketValueSf,
95
+ borrowFactorAdjustedMarketValueSf:
96
+ fields.borrowFactorAdjustedMarketValueSf,
97
+ borrowedAmountOutsideElevationGroups:
98
+ fields.borrowedAmountOutsideElevationGroups,
99
+ padding2: fields.padding2,
100
+ }
101
+ }
102
+
103
+ toJSON(): ObligationLiquidityJSON {
104
+ return {
105
+ borrowReserve: this.borrowReserve.toString(),
106
+ cumulativeBorrowRateBsf: this.cumulativeBorrowRateBsf.toJSON(),
107
+ padding: this.padding.toString(),
108
+ borrowedAmountSf: this.borrowedAmountSf.toString(),
109
+ marketValueSf: this.marketValueSf.toString(),
110
+ borrowFactorAdjustedMarketValueSf:
111
+ this.borrowFactorAdjustedMarketValueSf.toString(),
112
+ borrowedAmountOutsideElevationGroups:
113
+ this.borrowedAmountOutsideElevationGroups.toString(),
114
+ padding2: this.padding2.map((item) => item.toString()),
115
+ }
116
+ }
117
+
118
+ static fromJSON(obj: ObligationLiquidityJSON): ObligationLiquidity {
119
+ return new ObligationLiquidity({
120
+ borrowReserve: new PublicKey(obj.borrowReserve),
121
+ cumulativeBorrowRateBsf: types.BigFractionBytes.fromJSON(
122
+ obj.cumulativeBorrowRateBsf
123
+ ),
124
+ padding: new BN(obj.padding),
125
+ borrowedAmountSf: new BN(obj.borrowedAmountSf),
126
+ marketValueSf: new BN(obj.marketValueSf),
127
+ borrowFactorAdjustedMarketValueSf: new BN(
128
+ obj.borrowFactorAdjustedMarketValueSf
129
+ ),
130
+ borrowedAmountOutsideElevationGroups: new BN(
131
+ obj.borrowedAmountOutsideElevationGroups
132
+ ),
133
+ padding2: obj.padding2.map((item) => new BN(item)),
134
+ })
135
+ }
136
+
137
+ toEncodable() {
138
+ return ObligationLiquidity.toEncodable(this)
139
+ }
140
+ }
@@ -0,0 +1,72 @@
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 types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+
6
+ export interface PriceHeuristicFields {
7
+ lower: BN
8
+ upper: BN
9
+ exp: BN
10
+ }
11
+
12
+ export interface PriceHeuristicJSON {
13
+ lower: string
14
+ upper: string
15
+ exp: string
16
+ }
17
+
18
+ export class PriceHeuristic {
19
+ readonly lower: BN
20
+ readonly upper: BN
21
+ readonly exp: BN
22
+
23
+ constructor(fields: PriceHeuristicFields) {
24
+ this.lower = fields.lower
25
+ this.upper = fields.upper
26
+ this.exp = fields.exp
27
+ }
28
+
29
+ static layout(property?: string) {
30
+ return borsh.struct(
31
+ [borsh.u64("lower"), borsh.u64("upper"), borsh.u64("exp")],
32
+ property
33
+ )
34
+ }
35
+
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ static fromDecoded(obj: any) {
38
+ return new PriceHeuristic({
39
+ lower: obj.lower,
40
+ upper: obj.upper,
41
+ exp: obj.exp,
42
+ })
43
+ }
44
+
45
+ static toEncodable(fields: PriceHeuristicFields) {
46
+ return {
47
+ lower: fields.lower,
48
+ upper: fields.upper,
49
+ exp: fields.exp,
50
+ }
51
+ }
52
+
53
+ toJSON(): PriceHeuristicJSON {
54
+ return {
55
+ lower: this.lower.toString(),
56
+ upper: this.upper.toString(),
57
+ exp: this.exp.toString(),
58
+ }
59
+ }
60
+
61
+ static fromJSON(obj: PriceHeuristicJSON): PriceHeuristic {
62
+ return new PriceHeuristic({
63
+ lower: new BN(obj.lower),
64
+ upper: new BN(obj.upper),
65
+ exp: new BN(obj.exp),
66
+ })
67
+ }
68
+
69
+ toEncodable() {
70
+ return PriceHeuristic.toEncodable(this)
71
+ }
72
+ }
@@ -0,0 +1,53 @@
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 types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+
6
+ export interface PythConfigurationFields {
7
+ price: PublicKey
8
+ }
9
+
10
+ export interface PythConfigurationJSON {
11
+ price: string
12
+ }
13
+
14
+ export class PythConfiguration {
15
+ readonly price: PublicKey
16
+
17
+ constructor(fields: PythConfigurationFields) {
18
+ this.price = fields.price
19
+ }
20
+
21
+ static layout(property?: string) {
22
+ return borsh.struct([borsh.publicKey("price")], property)
23
+ }
24
+
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
+ static fromDecoded(obj: any) {
27
+ return new PythConfiguration({
28
+ price: obj.price,
29
+ })
30
+ }
31
+
32
+ static toEncodable(fields: PythConfigurationFields) {
33
+ return {
34
+ price: fields.price,
35
+ }
36
+ }
37
+
38
+ toJSON(): PythConfigurationJSON {
39
+ return {
40
+ price: this.price.toString(),
41
+ }
42
+ }
43
+
44
+ static fromJSON(obj: PythConfigurationJSON): PythConfiguration {
45
+ return new PythConfiguration({
46
+ price: new PublicKey(obj.price),
47
+ })
48
+ }
49
+
50
+ toEncodable() {
51
+ return PythConfiguration.toEncodable(this)
52
+ }
53
+ }
@@ -0,0 +1,94 @@
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 types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+
6
+ export interface ReserveCollateralFields {
7
+ mintPubkey: PublicKey
8
+ mintTotalSupply: BN
9
+ supplyVault: PublicKey
10
+ padding1: Array<BN>
11
+ padding2: Array<BN>
12
+ }
13
+
14
+ export interface ReserveCollateralJSON {
15
+ mintPubkey: string
16
+ mintTotalSupply: string
17
+ supplyVault: string
18
+ padding1: Array<string>
19
+ padding2: Array<string>
20
+ }
21
+
22
+ export class ReserveCollateral {
23
+ readonly mintPubkey: PublicKey
24
+ readonly mintTotalSupply: BN
25
+ readonly supplyVault: PublicKey
26
+ readonly padding1: Array<BN>
27
+ readonly padding2: Array<BN>
28
+
29
+ constructor(fields: ReserveCollateralFields) {
30
+ this.mintPubkey = fields.mintPubkey
31
+ this.mintTotalSupply = fields.mintTotalSupply
32
+ this.supplyVault = fields.supplyVault
33
+ this.padding1 = fields.padding1
34
+ this.padding2 = fields.padding2
35
+ }
36
+
37
+ static layout(property?: string) {
38
+ return borsh.struct(
39
+ [
40
+ borsh.publicKey("mintPubkey"),
41
+ borsh.u64("mintTotalSupply"),
42
+ borsh.publicKey("supplyVault"),
43
+ borsh.array(borsh.u128(), 32, "padding1"),
44
+ borsh.array(borsh.u128(), 32, "padding2"),
45
+ ],
46
+ property
47
+ )
48
+ }
49
+
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ static fromDecoded(obj: any) {
52
+ return new ReserveCollateral({
53
+ mintPubkey: obj.mintPubkey,
54
+ mintTotalSupply: obj.mintTotalSupply,
55
+ supplyVault: obj.supplyVault,
56
+ padding1: obj.padding1,
57
+ padding2: obj.padding2,
58
+ })
59
+ }
60
+
61
+ static toEncodable(fields: ReserveCollateralFields) {
62
+ return {
63
+ mintPubkey: fields.mintPubkey,
64
+ mintTotalSupply: fields.mintTotalSupply,
65
+ supplyVault: fields.supplyVault,
66
+ padding1: fields.padding1,
67
+ padding2: fields.padding2,
68
+ }
69
+ }
70
+
71
+ toJSON(): ReserveCollateralJSON {
72
+ return {
73
+ mintPubkey: this.mintPubkey.toString(),
74
+ mintTotalSupply: this.mintTotalSupply.toString(),
75
+ supplyVault: this.supplyVault.toString(),
76
+ padding1: this.padding1.map((item) => item.toString()),
77
+ padding2: this.padding2.map((item) => item.toString()),
78
+ }
79
+ }
80
+
81
+ static fromJSON(obj: ReserveCollateralJSON): ReserveCollateral {
82
+ return new ReserveCollateral({
83
+ mintPubkey: new PublicKey(obj.mintPubkey),
84
+ mintTotalSupply: new BN(obj.mintTotalSupply),
85
+ supplyVault: new PublicKey(obj.supplyVault),
86
+ padding1: obj.padding1.map((item) => new BN(item)),
87
+ padding2: obj.padding2.map((item) => new BN(item)),
88
+ })
89
+ }
90
+
91
+ toEncodable() {
92
+ return ReserveCollateral.toEncodable(this)
93
+ }
94
+ }