@kamino-finance/klend-sdk 5.0.4 → 5.0.5

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 (238) 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.map +1 -1
  12. package/dist/classes/obligation.js +2 -1
  13. package/dist/classes/obligation.js.map +1 -1
  14. package/dist/classes/reserve.d.ts +1 -0
  15. package/dist/classes/reserve.d.ts.map +1 -1
  16. package/dist/classes/reserve.js +22 -27
  17. package/dist/classes/reserve.js.map +1 -1
  18. package/dist/classes/utils.d.ts +3 -0
  19. package/dist/classes/utils.d.ts.map +1 -1
  20. package/dist/classes/utils.js +30 -0
  21. package/dist/classes/utils.js.map +1 -1
  22. package/dist/classes/vault.d.ts +12 -8
  23. package/dist/classes/vault.d.ts.map +1 -1
  24. package/dist/classes/vault.js +94 -66
  25. package/dist/classes/vault.js.map +1 -1
  26. package/dist/client_kamino_manager.d.ts.map +1 -1
  27. package/dist/client_kamino_manager.js +15 -1
  28. package/dist/client_kamino_manager.js.map +1 -1
  29. package/dist/idl.json +27 -2
  30. package/dist/idl_codegen/accounts/LendingMarket.d.ts +6 -0
  31. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
  32. package/dist/idl_codegen/accounts/LendingMarket.js +8 -1
  33. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  34. package/dist/idl_codegen/accounts/Obligation.d.ts +3 -12
  35. package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
  36. package/dist/idl_codegen/accounts/Obligation.js +1 -4
  37. package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
  38. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +20 -0
  39. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts.map +1 -1
  40. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +33 -1
  41. package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -1
  42. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
  43. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
  44. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
  45. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  46. package/dist/idl_codegen/types/index.d.ts +4 -4
  47. package/dist/idl_codegen/types/index.d.ts.map +1 -1
  48. package/dist/idl_codegen/types/index.js.map +1 -1
  49. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +3 -3
  50. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -1
  51. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +22 -18
  52. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
  53. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +45 -15
  54. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
  55. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +101 -39
  56. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  57. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +4 -4
  58. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -1
  59. package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
  60. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -1
  61. package/dist/idl_codegen_kamino_vault/errors/anchor.js +162 -162
  62. package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
  63. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +144 -32
  64. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
  65. package/dist/idl_codegen_kamino_vault/errors/custom.js +305 -109
  66. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  67. package/dist/idl_codegen_kamino_vault/errors/index.d.ts +3 -3
  68. package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -1
  69. package/dist/idl_codegen_kamino_vault/errors/index.js +7 -2
  70. package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
  71. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +4 -2
  72. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
  73. package/dist/idl_codegen_kamino_vault/instructions/deposit.js +3 -1
  74. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  75. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts +13 -0
  76. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts.map +1 -0
  77. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js +47 -0
  78. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js.map +1 -0
  79. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +18 -10
  80. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -1
  81. package/dist/idl_codegen_kamino_vault/instructions/index.js +9 -1
  82. package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
  83. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +2 -1
  84. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
  85. package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
  86. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  87. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +6 -2
  88. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -1
  89. package/dist/idl_codegen_kamino_vault/instructions/invest.js +9 -1
  90. package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
  91. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts +7 -0
  92. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts.map +1 -0
  93. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js +16 -0
  94. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js.map +1 -0
  95. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +2 -2
  96. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
  97. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
  98. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  99. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts +14 -0
  100. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts.map +1 -0
  101. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +52 -0
  102. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -0
  103. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +4 -2
  104. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -1
  105. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js +8 -2
  106. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
  107. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +23 -0
  108. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -0
  109. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +51 -0
  110. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -0
  111. package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -1
  112. package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -1
  113. package/dist/idl_codegen_kamino_vault/programId.js +1 -1
  114. package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
  115. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +2 -2
  116. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -1
  117. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +4 -1
  118. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
  119. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -1
  120. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -1
  121. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +1 -1
  122. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
  123. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -1
  124. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -1
  125. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +1 -1
  126. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
  127. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +2 -2
  128. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -1
  129. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +6 -1
  130. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
  131. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +2 -2
  132. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -1
  133. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +1 -1
  134. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
  135. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +2 -2
  136. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -1
  137. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +1 -1
  138. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
  139. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +3 -3
  140. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -1
  141. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +5 -5
  142. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
  143. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +27 -24
  144. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
  145. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +59 -53
  146. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  147. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +2 -2
  148. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -1
  149. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +5 -1
  150. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
  151. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +11 -3
  152. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -1
  153. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +25 -17
  154. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
  155. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +2 -2
  156. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -1
  157. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +3 -3
  158. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
  159. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +2 -2
  160. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -1
  161. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +1 -1
  162. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
  163. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +3 -3
  164. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -1
  165. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +11 -11
  166. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
  167. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +18 -8
  168. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -1
  169. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +27 -13
  170. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
  171. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +110 -0
  172. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -0
  173. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +242 -0
  174. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -0
  175. package/dist/idl_codegen_kamino_vault/types/index.d.ts +34 -30
  176. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
  177. package/dist/idl_codegen_kamino_vault/types/index.js +26 -1
  178. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  179. package/dist/utils/ObligationType.d.ts.map +1 -1
  180. package/dist/utils/ObligationType.js.map +1 -1
  181. package/dist/utils/managerTypes.d.ts.map +1 -1
  182. package/dist/utils/managerTypes.js.map +1 -1
  183. package/dist/utils/pubkey.d.ts.map +1 -1
  184. package/dist/utils/pubkey.js.map +1 -1
  185. package/dist/utils/rpc.d.ts.map +1 -1
  186. package/dist/utils/rpc.js +2 -1
  187. package/dist/utils/rpc.js.map +1 -1
  188. package/package.json +2 -1
  189. package/src/classes/fraction.ts +5 -0
  190. package/src/classes/manager.ts +136 -5
  191. package/src/classes/market.ts +19 -2
  192. package/src/classes/obligation.ts +2 -1
  193. package/src/classes/reserve.ts +55 -39
  194. package/src/classes/utils.ts +30 -0
  195. package/src/classes/vault.ts +123 -49
  196. package/src/client_kamino_manager.ts +19 -1
  197. package/src/idl_codegen/accounts/LendingMarket.ts +12 -1
  198. package/src/idl_codegen/accounts/Obligation.ts +3 -12
  199. package/src/idl_codegen/types/UpdateLendingMarketConfigValue.ts +43 -0
  200. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
  201. package/src/idl_codegen/types/index.ts +4 -0
  202. package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +132 -105
  203. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +217 -124
  204. package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -4
  205. package/src/idl_codegen_kamino_vault/errors/anchor.ts +335 -326
  206. package/src/idl_codegen_kamino_vault/errors/custom.ts +353 -157
  207. package/src/idl_codegen_kamino_vault/errors/index.ts +35 -22
  208. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +33 -25
  209. package/src/idl_codegen_kamino_vault/instructions/giveUpPendingFees.ts +40 -0
  210. package/src/idl_codegen_kamino_vault/instructions/index.ts +27 -10
  211. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +25 -20
  212. package/src/idl_codegen_kamino_vault/instructions/invest.ts +40 -25
  213. package/src/idl_codegen_kamino_vault/instructions/updateAdmin.ts +24 -0
  214. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +24 -24
  215. package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +49 -0
  216. package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +45 -33
  217. package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +75 -0
  218. package/src/idl_codegen_kamino_vault/programId.ts +5 -3
  219. package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +24 -18
  220. package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +21 -16
  221. package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +21 -18
  222. package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +32 -27
  223. package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +25 -22
  224. package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +14 -14
  225. package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +35 -35
  226. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +232 -191
  227. package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +27 -23
  228. package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +116 -98
  229. package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +25 -25
  230. package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +21 -18
  231. package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +92 -74
  232. package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +67 -49
  233. package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +270 -0
  234. package/src/idl_codegen_kamino_vault/types/index.ts +77 -30
  235. package/src/utils/ObligationType.ts +6 -0
  236. package/src/utils/managerTypes.ts +1 -0
  237. package/src/utils/pubkey.ts +2 -0
  238. package/src/utils/rpc.ts +3 -1
@@ -13,10 +13,7 @@ export interface ObligationFields {
13
13
  lendingMarket: PublicKey
14
14
  /** Owner authority which can borrow liquidity */
15
15
  owner: PublicKey
16
- /**
17
- * TODO: Does this break the stack size when copied onto the stack, if too big?
18
- * Deposited collateral for the obligation, unique by deposit reserve address
19
- */
16
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
20
17
  deposits: Array<types.ObligationCollateralFields>
21
18
  /** Worst LTV for the collaterals backing the loan, represented as a percentage */
22
19
  lowestReserveDepositLiquidationLtv: BN
@@ -60,10 +57,7 @@ export interface ObligationJSON {
60
57
  lendingMarket: string
61
58
  /** Owner authority which can borrow liquidity */
62
59
  owner: string
63
- /**
64
- * TODO: Does this break the stack size when copied onto the stack, if too big?
65
- * Deposited collateral for the obligation, unique by deposit reserve address
66
- */
60
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
67
61
  deposits: Array<types.ObligationCollateralJSON>
68
62
  /** Worst LTV for the collaterals backing the loan, represented as a percentage */
69
63
  lowestReserveDepositLiquidationLtv: string
@@ -108,10 +102,7 @@ export class Obligation {
108
102
  readonly lendingMarket: PublicKey
109
103
  /** Owner authority which can borrow liquidity */
110
104
  readonly owner: PublicKey
111
- /**
112
- * TODO: Does this break the stack size when copied onto the stack, if too big?
113
- * Deposited collateral for the obligation, unique by deposit reserve address
114
- */
105
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
115
106
  readonly deposits: Array<types.ObligationCollateral>
116
107
  /** Worst LTV for the collaterals backing the loan, represented as a percentage */
117
108
  readonly lowestReserveDepositLiquidationLtv: BN
@@ -283,6 +283,41 @@ export class ElevationGroup {
283
283
  }
284
284
  }
285
285
 
286
+ export type NameFields = [Array<number>]
287
+ export type NameValue = [Array<number>]
288
+
289
+ export interface NameJSON {
290
+ kind: "Name"
291
+ value: [Array<number>]
292
+ }
293
+
294
+ export class Name {
295
+ static readonly discriminator = 8
296
+ static readonly kind = "Name"
297
+ readonly discriminator = 8
298
+ readonly kind = "Name"
299
+ readonly value: NameValue
300
+
301
+ constructor(value: NameFields) {
302
+ this.value = [value[0]]
303
+ }
304
+
305
+ toJSON(): NameJSON {
306
+ return {
307
+ kind: "Name",
308
+ value: [this.value[0]],
309
+ }
310
+ }
311
+
312
+ toEncodable() {
313
+ return {
314
+ Name: {
315
+ _0: this.value[0],
316
+ },
317
+ }
318
+ }
319
+ }
320
+
286
321
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
287
322
  export function fromDecoded(
288
323
  obj: any
@@ -323,6 +358,10 @@ export function fromDecoded(
323
358
  const val = obj["ElevationGroup"]
324
359
  return new ElevationGroup([types.ElevationGroup.fromDecoded(val["_0"])])
325
360
  }
361
+ if ("Name" in obj) {
362
+ const val = obj["Name"]
363
+ return new Name([val["_0"]])
364
+ }
326
365
 
327
366
  throw new Error("Invalid enum object")
328
367
  }
@@ -355,6 +394,9 @@ export function fromJSON(
355
394
  case "ElevationGroup": {
356
395
  return new ElevationGroup([types.ElevationGroup.fromJSON(obj.value[0])])
357
396
  }
397
+ case "Name": {
398
+ return new Name([obj.value[0]])
399
+ }
358
400
  }
359
401
  }
360
402
 
@@ -368,6 +410,7 @@ export function layout(property?: string) {
368
410
  borsh.struct([borsh.u128("_0")], "U128"),
369
411
  borsh.struct([borsh.publicKey("_0")], "Pubkey"),
370
412
  borsh.struct([types.ElevationGroup.layout("_0")], "ElevationGroup"),
413
+ borsh.struct([borsh.array(borsh.u8(), 32, "_0")], "Name"),
371
414
  ])
372
415
  if (property !== undefined) {
373
416
  return ret.replicate(property)
@@ -417,6 +417,29 @@ export class UpdatePaddingFields {
417
417
  }
418
418
  }
419
419
 
420
+ export interface UpdateNameJSON {
421
+ kind: "UpdateName"
422
+ }
423
+
424
+ export class UpdateName {
425
+ static readonly discriminator = 18
426
+ static readonly kind = "UpdateName"
427
+ readonly discriminator = 18
428
+ readonly kind = "UpdateName"
429
+
430
+ toJSON(): UpdateNameJSON {
431
+ return {
432
+ kind: "UpdateName",
433
+ }
434
+ }
435
+
436
+ toEncodable() {
437
+ return {
438
+ UpdateName: {},
439
+ }
440
+ }
441
+ }
442
+
420
443
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
421
444
  export function fromDecoded(obj: any): types.UpdateLendingMarketModeKind {
422
445
  if (typeof obj !== "object") {
@@ -477,6 +500,9 @@ export function fromDecoded(obj: any): types.UpdateLendingMarketModeKind {
477
500
  if ("UpdatePaddingFields" in obj) {
478
501
  return new UpdatePaddingFields()
479
502
  }
503
+ if ("UpdateName" in obj) {
504
+ return new UpdateName()
505
+ }
480
506
 
481
507
  throw new Error("Invalid enum object")
482
508
  }
@@ -539,6 +565,9 @@ export function fromJSON(
539
565
  case "UpdatePaddingFields": {
540
566
  return new UpdatePaddingFields()
541
567
  }
568
+ case "UpdateName": {
569
+ return new UpdateName()
570
+ }
542
571
  }
543
572
  }
544
573
 
@@ -562,6 +591,7 @@ export function layout(property?: string) {
562
591
  borsh.struct([], "UpdateMinNetValueObligationPostAction"),
563
592
  borsh.struct([], "UpdateMinValueSkipPriorityLiqCheck"),
564
593
  borsh.struct([], "UpdatePaddingFields"),
594
+ borsh.struct([], "UpdateName"),
565
595
  ])
566
596
  if (property !== undefined) {
567
597
  return ret.replicate(property)
@@ -116,6 +116,7 @@ export type UpdateLendingMarketConfigValueKind =
116
116
  | UpdateLendingMarketConfigValue.U128
117
117
  | UpdateLendingMarketConfigValue.Pubkey
118
118
  | UpdateLendingMarketConfigValue.ElevationGroup
119
+ | UpdateLendingMarketConfigValue.Name
119
120
  export type UpdateLendingMarketConfigValueJSON =
120
121
  | UpdateLendingMarketConfigValue.BoolJSON
121
122
  | UpdateLendingMarketConfigValue.U8JSON
@@ -125,6 +126,7 @@ export type UpdateLendingMarketConfigValueJSON =
125
126
  | UpdateLendingMarketConfigValue.U128JSON
126
127
  | UpdateLendingMarketConfigValue.PubkeyJSON
127
128
  | UpdateLendingMarketConfigValue.ElevationGroupJSON
129
+ | UpdateLendingMarketConfigValue.NameJSON
128
130
 
129
131
  export { UpdateLendingMarketMode }
130
132
 
@@ -147,6 +149,7 @@ export type UpdateLendingMarketModeKind =
147
149
  | UpdateLendingMarketMode.UpdateMinNetValueObligationPostAction
148
150
  | UpdateLendingMarketMode.UpdateMinValueSkipPriorityLiqCheck
149
151
  | UpdateLendingMarketMode.UpdatePaddingFields
152
+ | UpdateLendingMarketMode.UpdateName
150
153
  export type UpdateLendingMarketModeJSON =
151
154
  | UpdateLendingMarketMode.UpdateOwnerJSON
152
155
  | UpdateLendingMarketMode.UpdateEmergencyModeJSON
@@ -166,6 +169,7 @@ export type UpdateLendingMarketModeJSON =
166
169
  | UpdateLendingMarketMode.UpdateMinNetValueObligationPostActionJSON
167
170
  | UpdateLendingMarketMode.UpdateMinValueSkipPriorityLiqCheckJSON
168
171
  | UpdateLendingMarketMode.UpdatePaddingFieldsJSON
172
+ | UpdateLendingMarketMode.UpdateNameJSON
169
173
 
170
174
  export { LastUpdate } from "./LastUpdate"
171
175
  export type { LastUpdateFields, LastUpdateJSON } from "./LastUpdate"
@@ -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
  }