@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,376 @@
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 type BoolFields = [boolean]
7
+ export type BoolValue = [boolean]
8
+
9
+ export interface BoolJSON {
10
+ kind: "Bool"
11
+ value: [boolean]
12
+ }
13
+
14
+ export class Bool {
15
+ static readonly discriminator = 0
16
+ static readonly kind = "Bool"
17
+ readonly discriminator = 0
18
+ readonly kind = "Bool"
19
+ readonly value: BoolValue
20
+
21
+ constructor(value: BoolFields) {
22
+ this.value = [value[0]]
23
+ }
24
+
25
+ toJSON(): BoolJSON {
26
+ return {
27
+ kind: "Bool",
28
+ value: [this.value[0]],
29
+ }
30
+ }
31
+
32
+ toEncodable() {
33
+ return {
34
+ Bool: {
35
+ _0: this.value[0],
36
+ },
37
+ }
38
+ }
39
+ }
40
+
41
+ export type U8Fields = [number]
42
+ export type U8Value = [number]
43
+
44
+ export interface U8JSON {
45
+ kind: "U8"
46
+ value: [number]
47
+ }
48
+
49
+ export class U8 {
50
+ static readonly discriminator = 1
51
+ static readonly kind = "U8"
52
+ readonly discriminator = 1
53
+ readonly kind = "U8"
54
+ readonly value: U8Value
55
+
56
+ constructor(value: U8Fields) {
57
+ this.value = [value[0]]
58
+ }
59
+
60
+ toJSON(): U8JSON {
61
+ return {
62
+ kind: "U8",
63
+ value: [this.value[0]],
64
+ }
65
+ }
66
+
67
+ toEncodable() {
68
+ return {
69
+ U8: {
70
+ _0: this.value[0],
71
+ },
72
+ }
73
+ }
74
+ }
75
+
76
+ export type U8ArrayFields = [Array<number>]
77
+ export type U8ArrayValue = [Array<number>]
78
+
79
+ export interface U8ArrayJSON {
80
+ kind: "U8Array"
81
+ value: [Array<number>]
82
+ }
83
+
84
+ export class U8Array {
85
+ static readonly discriminator = 2
86
+ static readonly kind = "U8Array"
87
+ readonly discriminator = 2
88
+ readonly kind = "U8Array"
89
+ readonly value: U8ArrayValue
90
+
91
+ constructor(value: U8ArrayFields) {
92
+ this.value = [value[0]]
93
+ }
94
+
95
+ toJSON(): U8ArrayJSON {
96
+ return {
97
+ kind: "U8Array",
98
+ value: [this.value[0]],
99
+ }
100
+ }
101
+
102
+ toEncodable() {
103
+ return {
104
+ U8Array: {
105
+ _0: this.value[0],
106
+ },
107
+ }
108
+ }
109
+ }
110
+
111
+ export type U16Fields = [number]
112
+ export type U16Value = [number]
113
+
114
+ export interface U16JSON {
115
+ kind: "U16"
116
+ value: [number]
117
+ }
118
+
119
+ export class U16 {
120
+ static readonly discriminator = 3
121
+ static readonly kind = "U16"
122
+ readonly discriminator = 3
123
+ readonly kind = "U16"
124
+ readonly value: U16Value
125
+
126
+ constructor(value: U16Fields) {
127
+ this.value = [value[0]]
128
+ }
129
+
130
+ toJSON(): U16JSON {
131
+ return {
132
+ kind: "U16",
133
+ value: [this.value[0]],
134
+ }
135
+ }
136
+
137
+ toEncodable() {
138
+ return {
139
+ U16: {
140
+ _0: this.value[0],
141
+ },
142
+ }
143
+ }
144
+ }
145
+
146
+ export type U64Fields = [BN]
147
+ export type U64Value = [BN]
148
+
149
+ export interface U64JSON {
150
+ kind: "U64"
151
+ value: [string]
152
+ }
153
+
154
+ export class U64 {
155
+ static readonly discriminator = 4
156
+ static readonly kind = "U64"
157
+ readonly discriminator = 4
158
+ readonly kind = "U64"
159
+ readonly value: U64Value
160
+
161
+ constructor(value: U64Fields) {
162
+ this.value = [value[0]]
163
+ }
164
+
165
+ toJSON(): U64JSON {
166
+ return {
167
+ kind: "U64",
168
+ value: [this.value[0].toString()],
169
+ }
170
+ }
171
+
172
+ toEncodable() {
173
+ return {
174
+ U64: {
175
+ _0: this.value[0],
176
+ },
177
+ }
178
+ }
179
+ }
180
+
181
+ export type U128Fields = [BN]
182
+ export type U128Value = [BN]
183
+
184
+ export interface U128JSON {
185
+ kind: "U128"
186
+ value: [string]
187
+ }
188
+
189
+ export class U128 {
190
+ static readonly discriminator = 5
191
+ static readonly kind = "U128"
192
+ readonly discriminator = 5
193
+ readonly kind = "U128"
194
+ readonly value: U128Value
195
+
196
+ constructor(value: U128Fields) {
197
+ this.value = [value[0]]
198
+ }
199
+
200
+ toJSON(): U128JSON {
201
+ return {
202
+ kind: "U128",
203
+ value: [this.value[0].toString()],
204
+ }
205
+ }
206
+
207
+ toEncodable() {
208
+ return {
209
+ U128: {
210
+ _0: this.value[0],
211
+ },
212
+ }
213
+ }
214
+ }
215
+
216
+ export type PubkeyFields = [PublicKey]
217
+ export type PubkeyValue = [PublicKey]
218
+
219
+ export interface PubkeyJSON {
220
+ kind: "Pubkey"
221
+ value: [string]
222
+ }
223
+
224
+ export class Pubkey {
225
+ static readonly discriminator = 6
226
+ static readonly kind = "Pubkey"
227
+ readonly discriminator = 6
228
+ readonly kind = "Pubkey"
229
+ readonly value: PubkeyValue
230
+
231
+ constructor(value: PubkeyFields) {
232
+ this.value = [value[0]]
233
+ }
234
+
235
+ toJSON(): PubkeyJSON {
236
+ return {
237
+ kind: "Pubkey",
238
+ value: [this.value[0].toString()],
239
+ }
240
+ }
241
+
242
+ toEncodable() {
243
+ return {
244
+ Pubkey: {
245
+ _0: this.value[0],
246
+ },
247
+ }
248
+ }
249
+ }
250
+
251
+ export type ElevationGroupFields = [types.ElevationGroupFields]
252
+ export type ElevationGroupValue = [types.ElevationGroup]
253
+
254
+ export interface ElevationGroupJSON {
255
+ kind: "ElevationGroup"
256
+ value: [types.ElevationGroupJSON]
257
+ }
258
+
259
+ export class ElevationGroup {
260
+ static readonly discriminator = 7
261
+ static readonly kind = "ElevationGroup"
262
+ readonly discriminator = 7
263
+ readonly kind = "ElevationGroup"
264
+ readonly value: ElevationGroupValue
265
+
266
+ constructor(value: ElevationGroupFields) {
267
+ this.value = [new types.ElevationGroup({ ...value[0] })]
268
+ }
269
+
270
+ toJSON(): ElevationGroupJSON {
271
+ return {
272
+ kind: "ElevationGroup",
273
+ value: [this.value[0].toJSON()],
274
+ }
275
+ }
276
+
277
+ toEncodable() {
278
+ return {
279
+ ElevationGroup: {
280
+ _0: types.ElevationGroup.toEncodable(this.value[0]),
281
+ },
282
+ }
283
+ }
284
+ }
285
+
286
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
287
+ export function fromDecoded(
288
+ obj: any
289
+ ): types.UpdateLendingMarketConfigValueKind {
290
+ if (typeof obj !== "object") {
291
+ throw new Error("Invalid enum object")
292
+ }
293
+
294
+ if ("Bool" in obj) {
295
+ const val = obj["Bool"]
296
+ return new Bool([val["_0"]])
297
+ }
298
+ if ("U8" in obj) {
299
+ const val = obj["U8"]
300
+ return new U8([val["_0"]])
301
+ }
302
+ if ("U8Array" in obj) {
303
+ const val = obj["U8Array"]
304
+ return new U8Array([val["_0"]])
305
+ }
306
+ if ("U16" in obj) {
307
+ const val = obj["U16"]
308
+ return new U16([val["_0"]])
309
+ }
310
+ if ("U64" in obj) {
311
+ const val = obj["U64"]
312
+ return new U64([val["_0"]])
313
+ }
314
+ if ("U128" in obj) {
315
+ const val = obj["U128"]
316
+ return new U128([val["_0"]])
317
+ }
318
+ if ("Pubkey" in obj) {
319
+ const val = obj["Pubkey"]
320
+ return new Pubkey([val["_0"]])
321
+ }
322
+ if ("ElevationGroup" in obj) {
323
+ const val = obj["ElevationGroup"]
324
+ return new ElevationGroup([types.ElevationGroup.fromDecoded(val["_0"])])
325
+ }
326
+
327
+ throw new Error("Invalid enum object")
328
+ }
329
+
330
+ export function fromJSON(
331
+ obj: types.UpdateLendingMarketConfigValueJSON
332
+ ): types.UpdateLendingMarketConfigValueKind {
333
+ switch (obj.kind) {
334
+ case "Bool": {
335
+ return new Bool([obj.value[0]])
336
+ }
337
+ case "U8": {
338
+ return new U8([obj.value[0]])
339
+ }
340
+ case "U8Array": {
341
+ return new U8Array([obj.value[0]])
342
+ }
343
+ case "U16": {
344
+ return new U16([obj.value[0]])
345
+ }
346
+ case "U64": {
347
+ return new U64([new BN(obj.value[0])])
348
+ }
349
+ case "U128": {
350
+ return new U128([new BN(obj.value[0])])
351
+ }
352
+ case "Pubkey": {
353
+ return new Pubkey([new PublicKey(obj.value[0])])
354
+ }
355
+ case "ElevationGroup": {
356
+ return new ElevationGroup([types.ElevationGroup.fromJSON(obj.value[0])])
357
+ }
358
+ }
359
+ }
360
+
361
+ export function layout(property?: string) {
362
+ const ret = borsh.rustEnum([
363
+ borsh.struct([borsh.bool("_0")], "Bool"),
364
+ borsh.struct([borsh.u8("_0")], "U8"),
365
+ borsh.struct([borsh.array(borsh.u8(), 8, "_0")], "U8Array"),
366
+ borsh.struct([borsh.u16("_0")], "U16"),
367
+ borsh.struct([borsh.u64("_0")], "U64"),
368
+ borsh.struct([borsh.u128("_0")], "U128"),
369
+ borsh.struct([borsh.publicKey("_0")], "Pubkey"),
370
+ borsh.struct([types.ElevationGroup.layout("_0")], "ElevationGroup"),
371
+ ])
372
+ if (property !== undefined) {
373
+ return ret.replicate(property)
374
+ }
375
+ return ret
376
+ }