@kamino-finance/klend-sdk 5.0.4 → 5.0.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 (239) hide show
  1. package/dist/classes/fraction.d.ts.map +1 -1
  2. package/dist/classes/fraction.js.map +1 -1
  3. package/dist/classes/manager.d.ts +38 -4
  4. package/dist/classes/manager.d.ts.map +1 -1
  5. package/dist/classes/manager.js +112 -5
  6. package/dist/classes/manager.js.map +1 -1
  7. package/dist/classes/market.d.ts +4 -0
  8. package/dist/classes/market.d.ts.map +1 -1
  9. package/dist/classes/market.js +17 -25
  10. package/dist/classes/market.js.map +1 -1
  11. package/dist/classes/obligation.d.ts +3 -4
  12. package/dist/classes/obligation.d.ts.map +1 -1
  13. package/dist/classes/obligation.js +96 -27
  14. package/dist/classes/obligation.js.map +1 -1
  15. package/dist/classes/reserve.d.ts +2 -1
  16. package/dist/classes/reserve.d.ts.map +1 -1
  17. package/dist/classes/reserve.js +32 -29
  18. package/dist/classes/reserve.js.map +1 -1
  19. package/dist/classes/utils.d.ts +3 -0
  20. package/dist/classes/utils.d.ts.map +1 -1
  21. package/dist/classes/utils.js +30 -0
  22. package/dist/classes/utils.js.map +1 -1
  23. package/dist/classes/vault.d.ts +12 -8
  24. package/dist/classes/vault.d.ts.map +1 -1
  25. package/dist/classes/vault.js +94 -66
  26. package/dist/classes/vault.js.map +1 -1
  27. package/dist/client_kamino_manager.d.ts.map +1 -1
  28. package/dist/client_kamino_manager.js +15 -1
  29. package/dist/client_kamino_manager.js.map +1 -1
  30. package/dist/idl.json +27 -2
  31. package/dist/idl_codegen/accounts/LendingMarket.d.ts +6 -0
  32. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
  33. package/dist/idl_codegen/accounts/LendingMarket.js +8 -1
  34. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  35. package/dist/idl_codegen/accounts/Obligation.d.ts +3 -12
  36. package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
  37. package/dist/idl_codegen/accounts/Obligation.js +1 -4
  38. package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
  39. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +20 -0
  40. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts.map +1 -1
  41. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +33 -1
  42. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -1
  43. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
  44. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
  45. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
  46. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  47. package/dist/idl_codegen/types/index.d.ts +4 -4
  48. package/dist/idl_codegen/types/index.d.ts.map +1 -1
  49. package/dist/idl_codegen/types/index.js.map +1 -1
  50. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +3 -3
  51. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -1
  52. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +22 -18
  53. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
  54. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +45 -15
  55. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
  56. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +101 -39
  57. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  58. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +4 -4
  59. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -1
  60. package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
  61. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -1
  62. package/dist/idl_codegen_kamino_vault/errors/anchor.js +162 -162
  63. package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
  64. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +144 -32
  65. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
  66. package/dist/idl_codegen_kamino_vault/errors/custom.js +305 -109
  67. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  68. package/dist/idl_codegen_kamino_vault/errors/index.d.ts +3 -3
  69. package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -1
  70. package/dist/idl_codegen_kamino_vault/errors/index.js +7 -2
  71. package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
  72. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +4 -2
  73. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
  74. package/dist/idl_codegen_kamino_vault/instructions/deposit.js +3 -1
  75. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  76. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts +13 -0
  77. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts.map +1 -0
  78. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js +47 -0
  79. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js.map +1 -0
  80. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +18 -10
  81. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -1
  82. package/dist/idl_codegen_kamino_vault/instructions/index.js +9 -1
  83. package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
  84. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +2 -1
  85. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
  86. package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
  87. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  88. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +6 -2
  89. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -1
  90. package/dist/idl_codegen_kamino_vault/instructions/invest.js +9 -1
  91. package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
  92. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts +7 -0
  93. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts.map +1 -0
  94. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js +16 -0
  95. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js.map +1 -0
  96. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +2 -2
  97. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
  98. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
  99. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  100. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts +14 -0
  101. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts.map +1 -0
  102. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +52 -0
  103. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -0
  104. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +4 -2
  105. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -1
  106. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js +8 -2
  107. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
  108. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +23 -0
  109. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -0
  110. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +51 -0
  111. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -0
  112. package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -1
  113. package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -1
  114. package/dist/idl_codegen_kamino_vault/programId.js +1 -1
  115. package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
  116. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +2 -2
  117. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -1
  118. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +4 -1
  119. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
  120. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -1
  121. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -1
  122. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +1 -1
  123. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
  124. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -1
  125. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -1
  126. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +1 -1
  127. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
  128. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +2 -2
  129. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -1
  130. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +6 -1
  131. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
  132. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +2 -2
  133. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -1
  134. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +1 -1
  135. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
  136. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +2 -2
  137. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -1
  138. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +1 -1
  139. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
  140. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +3 -3
  141. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -1
  142. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +5 -5
  143. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
  144. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +27 -24
  145. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
  146. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +59 -53
  147. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  148. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +2 -2
  149. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -1
  150. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +5 -1
  151. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
  152. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +11 -3
  153. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -1
  154. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +25 -17
  155. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
  156. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +2 -2
  157. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -1
  158. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +3 -3
  159. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
  160. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +2 -2
  161. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -1
  162. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +1 -1
  163. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
  164. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +3 -3
  165. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -1
  166. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +11 -11
  167. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
  168. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +18 -8
  169. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -1
  170. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +27 -13
  171. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
  172. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +110 -0
  173. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -0
  174. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +242 -0
  175. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -0
  176. package/dist/idl_codegen_kamino_vault/types/index.d.ts +34 -30
  177. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
  178. package/dist/idl_codegen_kamino_vault/types/index.js +26 -1
  179. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  180. package/dist/utils/ObligationType.d.ts.map +1 -1
  181. package/dist/utils/ObligationType.js.map +1 -1
  182. package/dist/utils/managerTypes.d.ts.map +1 -1
  183. package/dist/utils/managerTypes.js.map +1 -1
  184. package/dist/utils/pubkey.d.ts.map +1 -1
  185. package/dist/utils/pubkey.js.map +1 -1
  186. package/dist/utils/rpc.d.ts.map +1 -1
  187. package/dist/utils/rpc.js +2 -1
  188. package/dist/utils/rpc.js.map +1 -1
  189. package/package.json +2 -1
  190. package/src/classes/fraction.ts +5 -0
  191. package/src/classes/manager.ts +136 -5
  192. package/src/classes/market.ts +19 -2
  193. package/src/classes/obligation.ts +141 -30
  194. package/src/classes/reserve.ts +70 -41
  195. package/src/classes/utils.ts +30 -0
  196. package/src/classes/vault.ts +123 -49
  197. package/src/client_kamino_manager.ts +19 -1
  198. package/src/idl_codegen/accounts/LendingMarket.ts +12 -1
  199. package/src/idl_codegen/accounts/Obligation.ts +3 -12
  200. package/src/idl_codegen/types/UpdateLendingMarketConfigValue.ts +43 -0
  201. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
  202. package/src/idl_codegen/types/index.ts +4 -0
  203. package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +132 -105
  204. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +217 -124
  205. package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -4
  206. package/src/idl_codegen_kamino_vault/errors/anchor.ts +335 -326
  207. package/src/idl_codegen_kamino_vault/errors/custom.ts +353 -157
  208. package/src/idl_codegen_kamino_vault/errors/index.ts +35 -22
  209. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +33 -25
  210. package/src/idl_codegen_kamino_vault/instructions/giveUpPendingFees.ts +40 -0
  211. package/src/idl_codegen_kamino_vault/instructions/index.ts +27 -10
  212. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +25 -20
  213. package/src/idl_codegen_kamino_vault/instructions/invest.ts +40 -25
  214. package/src/idl_codegen_kamino_vault/instructions/updateAdmin.ts +24 -0
  215. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +24 -24
  216. package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +49 -0
  217. package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +45 -33
  218. package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +75 -0
  219. package/src/idl_codegen_kamino_vault/programId.ts +5 -3
  220. package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +24 -18
  221. package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +21 -16
  222. package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +21 -18
  223. package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +32 -27
  224. package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +25 -22
  225. package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +14 -14
  226. package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +35 -35
  227. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +232 -191
  228. package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +27 -23
  229. package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +116 -98
  230. package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +25 -25
  231. package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +21 -18
  232. package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +92 -74
  233. package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +67 -49
  234. package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +270 -0
  235. package/src/idl_codegen_kamino_vault/types/index.ts +77 -30
  236. package/src/utils/ObligationType.ts +6 -0
  237. package/src/utils/managerTypes.ts +1 -0
  238. package/src/utils/pubkey.ts +2 -0
  239. package/src/utils/rpc.ts +3 -1
@@ -1,136 +1,148 @@
1
- import { PublicKey, Connection } from '@solana/web3.js';
2
- import BN from 'bn.js'; // eslint-disable-line @typescript-eslint/no-unused-vars
3
- import * as borsh from '@coral-xyz/borsh'; // eslint-disable-line @typescript-eslint/no-unused-vars
4
- import * as types from '../types'; // eslint-disable-line @typescript-eslint/no-unused-vars
5
- import { PROGRAM_ID } from '../programId';
1
+ import { PublicKey, Connection } from "@solana/web3.js"
2
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
5
+ import { PROGRAM_ID } from "../programId"
6
6
 
7
7
  export interface ReserveFields {
8
8
  /** Version of the reserve */
9
- version: BN;
9
+ version: BN
10
10
  /** Last slot when supply and rates updated */
11
- lastUpdate: types.LastUpdateFields;
11
+ lastUpdate: types.LastUpdateFields
12
12
  /** Lending market address */
13
- lendingMarket: PublicKey;
14
- farmCollateral: PublicKey;
15
- farmDebt: PublicKey;
13
+ lendingMarket: PublicKey
14
+ farmCollateral: PublicKey
15
+ farmDebt: PublicKey
16
16
  /** Reserve liquidity */
17
- liquidity: types.ReserveLiquidityFields;
18
- reserveLiquidityPadding: Array<BN>;
17
+ liquidity: types.ReserveLiquidityFields
18
+ reserveLiquidityPadding: Array<BN>
19
19
  /** Reserve collateral */
20
- collateral: types.ReserveCollateralFields;
21
- reserveCollateralPadding: Array<BN>;
20
+ collateral: types.ReserveCollateralFields
21
+ reserveCollateralPadding: Array<BN>
22
22
  /** Reserve configuration values */
23
- config: types.ReserveConfigFields;
24
- configPadding: Array<BN>;
25
- borrowedAmountOutsideElevationGroup: BN;
23
+ config: types.ReserveConfigFields
24
+ configPadding: Array<BN>
25
+ borrowedAmountOutsideElevationGroup: BN
26
26
  /**
27
27
  * Amount of token borrowed in lamport of debt asset in the given
28
28
  * elevation group when this reserve is part of the collaterals.
29
29
  */
30
- borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN>;
31
- padding: Array<BN>;
30
+ borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN>
31
+ padding: Array<BN>
32
32
  }
33
33
 
34
34
  export interface ReserveJSON {
35
35
  /** Version of the reserve */
36
- version: string;
36
+ version: string
37
37
  /** Last slot when supply and rates updated */
38
- lastUpdate: types.LastUpdateJSON;
38
+ lastUpdate: types.LastUpdateJSON
39
39
  /** Lending market address */
40
- lendingMarket: string;
41
- farmCollateral: string;
42
- farmDebt: string;
40
+ lendingMarket: string
41
+ farmCollateral: string
42
+ farmDebt: string
43
43
  /** Reserve liquidity */
44
- liquidity: types.ReserveLiquidityJSON;
45
- reserveLiquidityPadding: Array<string>;
44
+ liquidity: types.ReserveLiquidityJSON
45
+ reserveLiquidityPadding: Array<string>
46
46
  /** Reserve collateral */
47
- collateral: types.ReserveCollateralJSON;
48
- reserveCollateralPadding: Array<string>;
47
+ collateral: types.ReserveCollateralJSON
48
+ reserveCollateralPadding: Array<string>
49
49
  /** Reserve configuration values */
50
- config: types.ReserveConfigJSON;
51
- configPadding: Array<string>;
52
- borrowedAmountOutsideElevationGroup: string;
50
+ config: types.ReserveConfigJSON
51
+ configPadding: Array<string>
52
+ borrowedAmountOutsideElevationGroup: string
53
53
  /**
54
54
  * Amount of token borrowed in lamport of debt asset in the given
55
55
  * elevation group when this reserve is part of the collaterals.
56
56
  */
57
- borrowedAmountsAgainstThisReserveInElevationGroups: Array<string>;
58
- padding: Array<string>;
57
+ borrowedAmountsAgainstThisReserveInElevationGroups: Array<string>
58
+ padding: Array<string>
59
59
  }
60
60
 
61
61
  export class Reserve {
62
62
  /** Version of the reserve */
63
- readonly version: BN;
63
+ readonly version: BN
64
64
  /** Last slot when supply and rates updated */
65
- readonly lastUpdate: types.LastUpdate;
65
+ readonly lastUpdate: types.LastUpdate
66
66
  /** Lending market address */
67
- readonly lendingMarket: PublicKey;
68
- readonly farmCollateral: PublicKey;
69
- readonly farmDebt: PublicKey;
67
+ readonly lendingMarket: PublicKey
68
+ readonly farmCollateral: PublicKey
69
+ readonly farmDebt: PublicKey
70
70
  /** Reserve liquidity */
71
- readonly liquidity: types.ReserveLiquidity;
72
- readonly reserveLiquidityPadding: Array<BN>;
71
+ readonly liquidity: types.ReserveLiquidity
72
+ readonly reserveLiquidityPadding: Array<BN>
73
73
  /** Reserve collateral */
74
- readonly collateral: types.ReserveCollateral;
75
- readonly reserveCollateralPadding: Array<BN>;
74
+ readonly collateral: types.ReserveCollateral
75
+ readonly reserveCollateralPadding: Array<BN>
76
76
  /** Reserve configuration values */
77
- readonly config: types.ReserveConfig;
78
- readonly configPadding: Array<BN>;
79
- readonly borrowedAmountOutsideElevationGroup: BN;
77
+ readonly config: types.ReserveConfig
78
+ readonly configPadding: Array<BN>
79
+ readonly borrowedAmountOutsideElevationGroup: BN
80
80
  /**
81
81
  * Amount of token borrowed in lamport of debt asset in the given
82
82
  * elevation group when this reserve is part of the collaterals.
83
83
  */
84
- readonly borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN>;
85
- readonly padding: Array<BN>;
84
+ readonly borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN>
85
+ readonly padding: Array<BN>
86
86
 
87
- static readonly discriminator = Buffer.from([43, 242, 204, 202, 26, 247, 59, 127]);
87
+ static readonly discriminator = Buffer.from([
88
+ 43, 242, 204, 202, 26, 247, 59, 127,
89
+ ])
88
90
 
89
91
  static readonly layout = borsh.struct([
90
- borsh.u64('version'),
91
- types.LastUpdate.layout('lastUpdate'),
92
- borsh.publicKey('lendingMarket'),
93
- borsh.publicKey('farmCollateral'),
94
- borsh.publicKey('farmDebt'),
95
- types.ReserveLiquidity.layout('liquidity'),
96
- borsh.array(borsh.u64(), 150, 'reserveLiquidityPadding'),
97
- types.ReserveCollateral.layout('collateral'),
98
- borsh.array(borsh.u64(), 150, 'reserveCollateralPadding'),
99
- types.ReserveConfig.layout('config'),
100
- borsh.array(borsh.u64(), 117, 'configPadding'),
101
- borsh.u64('borrowedAmountOutsideElevationGroup'),
102
- borsh.array(borsh.u64(), 32, 'borrowedAmountsAgainstThisReserveInElevationGroups'),
103
- borsh.array(borsh.u64(), 207, 'padding'),
104
- ]);
92
+ borsh.u64("version"),
93
+ types.LastUpdate.layout("lastUpdate"),
94
+ borsh.publicKey("lendingMarket"),
95
+ borsh.publicKey("farmCollateral"),
96
+ borsh.publicKey("farmDebt"),
97
+ types.ReserveLiquidity.layout("liquidity"),
98
+ borsh.array(borsh.u64(), 150, "reserveLiquidityPadding"),
99
+ types.ReserveCollateral.layout("collateral"),
100
+ borsh.array(borsh.u64(), 150, "reserveCollateralPadding"),
101
+ types.ReserveConfig.layout("config"),
102
+ borsh.array(borsh.u64(), 117, "configPadding"),
103
+ borsh.u64("borrowedAmountOutsideElevationGroup"),
104
+ borsh.array(
105
+ borsh.u64(),
106
+ 32,
107
+ "borrowedAmountsAgainstThisReserveInElevationGroups"
108
+ ),
109
+ borsh.array(borsh.u64(), 207, "padding"),
110
+ ])
105
111
 
106
112
  constructor(fields: ReserveFields) {
107
- this.version = fields.version;
108
- this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate });
109
- this.lendingMarket = fields.lendingMarket;
110
- this.farmCollateral = fields.farmCollateral;
111
- this.farmDebt = fields.farmDebt;
112
- this.liquidity = new types.ReserveLiquidity({ ...fields.liquidity });
113
- this.reserveLiquidityPadding = fields.reserveLiquidityPadding;
114
- this.collateral = new types.ReserveCollateral({ ...fields.collateral });
115
- this.reserveCollateralPadding = fields.reserveCollateralPadding;
116
- this.config = new types.ReserveConfig({ ...fields.config });
117
- this.configPadding = fields.configPadding;
118
- this.borrowedAmountOutsideElevationGroup = fields.borrowedAmountOutsideElevationGroup;
119
- this.borrowedAmountsAgainstThisReserveInElevationGroups = fields.borrowedAmountsAgainstThisReserveInElevationGroups;
120
- this.padding = fields.padding;
113
+ this.version = fields.version
114
+ this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate })
115
+ this.lendingMarket = fields.lendingMarket
116
+ this.farmCollateral = fields.farmCollateral
117
+ this.farmDebt = fields.farmDebt
118
+ this.liquidity = new types.ReserveLiquidity({ ...fields.liquidity })
119
+ this.reserveLiquidityPadding = fields.reserveLiquidityPadding
120
+ this.collateral = new types.ReserveCollateral({ ...fields.collateral })
121
+ this.reserveCollateralPadding = fields.reserveCollateralPadding
122
+ this.config = new types.ReserveConfig({ ...fields.config })
123
+ this.configPadding = fields.configPadding
124
+ this.borrowedAmountOutsideElevationGroup =
125
+ fields.borrowedAmountOutsideElevationGroup
126
+ this.borrowedAmountsAgainstThisReserveInElevationGroups =
127
+ fields.borrowedAmountsAgainstThisReserveInElevationGroups
128
+ this.padding = fields.padding
121
129
  }
122
130
 
123
- static async fetch(c: Connection, address: PublicKey, programId: PublicKey = PROGRAM_ID): Promise<Reserve | null> {
124
- const info = await c.getAccountInfo(address);
131
+ static async fetch(
132
+ c: Connection,
133
+ address: PublicKey,
134
+ programId: PublicKey = PROGRAM_ID
135
+ ): Promise<Reserve | null> {
136
+ const info = await c.getAccountInfo(address)
125
137
 
126
138
  if (info === null) {
127
- return null;
139
+ return null
128
140
  }
129
141
  if (!info.owner.equals(programId)) {
130
- throw new Error("account doesn't belong to this program");
142
+ throw new Error("account doesn't belong to this program")
131
143
  }
132
144
 
133
- return this.decode(info.data);
145
+ return this.decode(info.data)
134
146
  }
135
147
 
136
148
  static async fetchMultiple(
@@ -138,26 +150,26 @@ export class Reserve {
138
150
  addresses: PublicKey[],
139
151
  programId: PublicKey = PROGRAM_ID
140
152
  ): Promise<Array<Reserve | null>> {
141
- const infos = await c.getMultipleAccountsInfo(addresses);
153
+ const infos = await c.getMultipleAccountsInfo(addresses)
142
154
 
143
155
  return infos.map((info) => {
144
156
  if (info === null) {
145
- return null;
157
+ return null
146
158
  }
147
159
  if (!info.owner.equals(programId)) {
148
- throw new Error("account doesn't belong to this program");
160
+ throw new Error("account doesn't belong to this program")
149
161
  }
150
162
 
151
- return this.decode(info.data);
152
- });
163
+ return this.decode(info.data)
164
+ })
153
165
  }
154
166
 
155
167
  static decode(data: Buffer): Reserve {
156
168
  if (!data.slice(0, 8).equals(Reserve.discriminator)) {
157
- throw new Error('invalid account discriminator');
169
+ throw new Error("invalid account discriminator")
158
170
  }
159
171
 
160
- const dec = Reserve.layout.decode(data.slice(8));
172
+ const dec = Reserve.layout.decode(data.slice(8))
161
173
 
162
174
  return new Reserve({
163
175
  version: dec.version,
@@ -171,10 +183,12 @@ export class Reserve {
171
183
  reserveCollateralPadding: dec.reserveCollateralPadding,
172
184
  config: types.ReserveConfig.fromDecoded(dec.config),
173
185
  configPadding: dec.configPadding,
174
- borrowedAmountOutsideElevationGroup: dec.borrowedAmountOutsideElevationGroup,
175
- borrowedAmountsAgainstThisReserveInElevationGroups: dec.borrowedAmountsAgainstThisReserveInElevationGroups,
186
+ borrowedAmountOutsideElevationGroup:
187
+ dec.borrowedAmountOutsideElevationGroup,
188
+ borrowedAmountsAgainstThisReserveInElevationGroups:
189
+ dec.borrowedAmountsAgainstThisReserveInElevationGroups,
176
190
  padding: dec.padding,
177
- });
191
+ })
178
192
  }
179
193
 
180
194
  toJSON(): ReserveJSON {
@@ -185,17 +199,23 @@ export class Reserve {
185
199
  farmCollateral: this.farmCollateral.toString(),
186
200
  farmDebt: this.farmDebt.toString(),
187
201
  liquidity: this.liquidity.toJSON(),
188
- reserveLiquidityPadding: this.reserveLiquidityPadding.map((item) => item.toString()),
202
+ reserveLiquidityPadding: this.reserveLiquidityPadding.map((item) =>
203
+ item.toString()
204
+ ),
189
205
  collateral: this.collateral.toJSON(),
190
- reserveCollateralPadding: this.reserveCollateralPadding.map((item) => item.toString()),
206
+ reserveCollateralPadding: this.reserveCollateralPadding.map((item) =>
207
+ item.toString()
208
+ ),
191
209
  config: this.config.toJSON(),
192
210
  configPadding: this.configPadding.map((item) => item.toString()),
193
- borrowedAmountOutsideElevationGroup: this.borrowedAmountOutsideElevationGroup.toString(),
194
- borrowedAmountsAgainstThisReserveInElevationGroups: this.borrowedAmountsAgainstThisReserveInElevationGroups.map(
195
- (item) => item.toString()
196
- ),
211
+ borrowedAmountOutsideElevationGroup:
212
+ this.borrowedAmountOutsideElevationGroup.toString(),
213
+ borrowedAmountsAgainstThisReserveInElevationGroups:
214
+ this.borrowedAmountsAgainstThisReserveInElevationGroups.map((item) =>
215
+ item.toString()
216
+ ),
197
217
  padding: this.padding.map((item) => item.toString()),
198
- };
218
+ }
199
219
  }
200
220
 
201
221
  static fromJSON(obj: ReserveJSON): Reserve {
@@ -206,16 +226,23 @@ export class Reserve {
206
226
  farmCollateral: new PublicKey(obj.farmCollateral),
207
227
  farmDebt: new PublicKey(obj.farmDebt),
208
228
  liquidity: types.ReserveLiquidity.fromJSON(obj.liquidity),
209
- reserveLiquidityPadding: obj.reserveLiquidityPadding.map((item) => new BN(item)),
229
+ reserveLiquidityPadding: obj.reserveLiquidityPadding.map(
230
+ (item) => new BN(item)
231
+ ),
210
232
  collateral: types.ReserveCollateral.fromJSON(obj.collateral),
211
- reserveCollateralPadding: obj.reserveCollateralPadding.map((item) => new BN(item)),
233
+ reserveCollateralPadding: obj.reserveCollateralPadding.map(
234
+ (item) => new BN(item)
235
+ ),
212
236
  config: types.ReserveConfig.fromJSON(obj.config),
213
237
  configPadding: obj.configPadding.map((item) => new BN(item)),
214
- borrowedAmountOutsideElevationGroup: new BN(obj.borrowedAmountOutsideElevationGroup),
215
- borrowedAmountsAgainstThisReserveInElevationGroups: obj.borrowedAmountsAgainstThisReserveInElevationGroups.map(
216
- (item) => new BN(item)
238
+ borrowedAmountOutsideElevationGroup: new BN(
239
+ obj.borrowedAmountOutsideElevationGroup
217
240
  ),
241
+ borrowedAmountsAgainstThisReserveInElevationGroups:
242
+ obj.borrowedAmountsAgainstThisReserveInElevationGroups.map(
243
+ (item) => new BN(item)
244
+ ),
218
245
  padding: obj.padding.map((item) => new BN(item)),
219
- });
246
+ })
220
247
  }
221
248
  }