@kamino-finance/klend-sdk 7.4.0-beta.1 → 7.4.0-beta.3

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 (338) hide show
  1. package/dist/@codegen/klend/accounts/LendingMarket.d.ts +201 -6
  2. package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
  3. package/dist/@codegen/klend/accounts/LendingMarket.js +130 -8
  4. package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
  5. package/dist/@codegen/klend/accounts/Obligation.d.ts +24 -15
  6. package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
  7. package/dist/@codegen/klend/accounts/Obligation.js +24 -21
  8. package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
  9. package/dist/@codegen/klend/accounts/Reserve.d.ts +6 -0
  10. package/dist/@codegen/klend/accounts/Reserve.d.ts.map +1 -1
  11. package/dist/@codegen/klend/accounts/Reserve.js +9 -2
  12. package/dist/@codegen/klend/accounts/Reserve.js.map +1 -1
  13. package/dist/@codegen/klend/accounts/UserState.d.ts +0 -75
  14. package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
  15. package/dist/@codegen/klend/accounts/UserState.js +0 -25
  16. package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
  17. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +144 -0
  18. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +1 -0
  19. package/dist/@codegen/klend/accounts/WithdrawTicket.js +205 -0
  20. package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +1 -0
  21. package/dist/@codegen/klend/accounts/index.d.ts +2 -0
  22. package/dist/@codegen/klend/accounts/index.d.ts.map +1 -1
  23. package/dist/@codegen/klend/accounts/index.js +3 -1
  24. package/dist/@codegen/klend/accounts/index.js.map +1 -1
  25. package/dist/@codegen/klend/errors/custom.d.ts +169 -1
  26. package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
  27. package/dist/@codegen/klend/errors/custom.js +296 -1
  28. package/dist/@codegen/klend/errors/custom.js.map +1 -1
  29. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +62 -0
  30. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +1 -0
  31. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +79 -0
  32. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +1 -0
  33. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +36 -0
  34. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +1 -0
  35. package/dist/@codegen/klend/instructions/fillBorrowOrder.js +49 -0
  36. package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +1 -0
  37. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +0 -1
  38. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
  39. package/dist/@codegen/klend/instructions/idlMissingTypes.js +0 -2
  40. package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
  41. package/dist/@codegen/klend/instructions/index.d.ts +10 -0
  42. package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
  43. package/dist/@codegen/klend/instructions/index.js +12 -1
  44. package/dist/@codegen/klend/instructions/index.js.map +1 -1
  45. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +54 -0
  46. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +1 -0
  47. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +66 -0
  48. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +1 -0
  49. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +33 -0
  50. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +1 -0
  51. package/dist/@codegen/klend/instructions/setBorrowOrder.js +66 -0
  52. package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +1 -0
  53. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +66 -0
  54. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +1 -0
  55. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +41 -0
  56. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +1 -0
  57. package/dist/@codegen/klend/types/BorrowOrder.d.ts +192 -0
  58. package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +1 -0
  59. package/dist/@codegen/klend/types/BorrowOrder.js +194 -0
  60. package/dist/@codegen/klend/types/BorrowOrder.js.map +1 -0
  61. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +39 -0
  62. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +1 -0
  63. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +100 -0
  64. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +1 -0
  65. package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.d.ts +145 -0
  66. package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.d.ts.map +1 -0
  67. package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.js +144 -0
  68. package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.js.map +1 -0
  69. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +64 -5
  70. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
  71. package/dist/@codegen/klend/types/ObligationLiquidity.js +32 -8
  72. package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
  73. package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
  74. package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
  75. package/dist/@codegen/klend/types/ProgressCallbackType.d.ts +32 -0
  76. package/dist/@codegen/klend/types/ProgressCallbackType.d.ts.map +1 -0
  77. package/dist/@codegen/klend/types/{AssetTier.js → ProgressCallbackType.js} +24 -48
  78. package/dist/@codegen/klend/types/ProgressCallbackType.js.map +1 -0
  79. package/dist/@codegen/klend/types/ReserveConfig.d.ts +60 -5
  80. package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
  81. package/dist/@codegen/klend/types/ReserveConfig.js +36 -7
  82. package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
  83. package/dist/@codegen/klend/types/ReserveLiquidity.d.ts +26 -8
  84. package/dist/@codegen/klend/types/ReserveLiquidity.d.ts.map +1 -1
  85. package/dist/@codegen/klend/types/ReserveLiquidity.js +14 -8
  86. package/dist/@codegen/klend/types/ReserveLiquidity.js.map +1 -1
  87. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +40 -14
  88. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
  89. package/dist/@codegen/klend/types/UpdateConfigMode.js +72 -24
  90. package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
  91. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +130 -0
  92. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
  93. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +241 -1
  94. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
  95. package/dist/@codegen/klend/types/WithdrawQueue.d.ts +64 -0
  96. package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +1 -0
  97. package/dist/@codegen/klend/types/WithdrawQueue.js +104 -0
  98. package/dist/@codegen/klend/types/WithdrawQueue.js.map +1 -0
  99. package/dist/@codegen/klend/types/index.d.ts +27 -8
  100. package/dist/@codegen/klend/types/index.d.ts.map +1 -1
  101. package/dist/@codegen/klend/types/index.js +11 -3
  102. package/dist/@codegen/klend/types/index.js.map +1 -1
  103. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +8 -5
  104. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
  105. package/dist/@codegen/klend/zero_padding/ObligationZP.js +17 -14
  106. package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
  107. package/dist/@codegen/kvault/accounts/LendingMarket.d.ts +480 -0
  108. package/dist/@codegen/kvault/accounts/LendingMarket.d.ts.map +1 -0
  109. package/dist/@codegen/kvault/accounts/LendingMarket.js +480 -0
  110. package/dist/@codegen/kvault/accounts/LendingMarket.js.map +1 -0
  111. package/dist/@codegen/kvault/accounts/Obligation.d.ts +208 -0
  112. package/dist/@codegen/kvault/accounts/Obligation.d.ts.map +1 -0
  113. package/dist/@codegen/kvault/accounts/Obligation.js +298 -0
  114. package/dist/@codegen/kvault/accounts/Obligation.js.map +1 -0
  115. package/dist/@codegen/kvault/accounts/ReferrerTokenState.d.ts +51 -0
  116. package/dist/@codegen/kvault/accounts/ReferrerTokenState.d.ts.map +1 -0
  117. package/dist/@codegen/kvault/accounts/ReferrerTokenState.js +137 -0
  118. package/dist/@codegen/kvault/accounts/ReferrerTokenState.js.map +1 -0
  119. package/dist/@codegen/kvault/accounts/Reserve.d.ts +6 -0
  120. package/dist/@codegen/kvault/accounts/Reserve.d.ts.map +1 -1
  121. package/dist/@codegen/kvault/accounts/Reserve.js +9 -2
  122. package/dist/@codegen/kvault/accounts/Reserve.js.map +1 -1
  123. package/dist/@codegen/kvault/accounts/VaultState.d.ts +45 -3
  124. package/dist/@codegen/kvault/accounts/VaultState.d.ts.map +1 -1
  125. package/dist/@codegen/kvault/accounts/VaultState.js +28 -4
  126. package/dist/@codegen/kvault/accounts/VaultState.js.map +1 -1
  127. package/dist/@codegen/kvault/accounts/WithdrawTicket.d.ts +144 -0
  128. package/dist/@codegen/kvault/accounts/WithdrawTicket.d.ts.map +1 -0
  129. package/dist/@codegen/kvault/accounts/WithdrawTicket.js +205 -0
  130. package/dist/@codegen/kvault/accounts/WithdrawTicket.js.map +1 -0
  131. package/dist/@codegen/kvault/accounts/index.d.ts +8 -0
  132. package/dist/@codegen/kvault/accounts/index.d.ts.map +1 -1
  133. package/dist/@codegen/kvault/accounts/index.js +9 -1
  134. package/dist/@codegen/kvault/accounts/index.js.map +1 -1
  135. package/dist/@codegen/kvault/errors/custom.d.ts +81 -1
  136. package/dist/@codegen/kvault/errors/custom.d.ts.map +1 -1
  137. package/dist/@codegen/kvault/errors/custom.js +141 -1
  138. package/dist/@codegen/kvault/errors/custom.js.map +1 -1
  139. package/dist/@codegen/kvault/instructions/index.d.ts +4 -0
  140. package/dist/@codegen/kvault/instructions/index.d.ts.map +1 -1
  141. package/dist/@codegen/kvault/instructions/index.js +5 -1
  142. package/dist/@codegen/kvault/instructions/index.js.map +1 -1
  143. package/dist/@codegen/kvault/instructions/invest.d.ts +9 -0
  144. package/dist/@codegen/kvault/instructions/invest.d.ts.map +1 -1
  145. package/dist/@codegen/kvault/instructions/invest.js +7 -0
  146. package/dist/@codegen/kvault/instructions/invest.js.map +1 -1
  147. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.d.ts +51 -0
  148. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.d.ts.map +1 -0
  149. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.js +154 -0
  150. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.js.map +1 -0
  151. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.d.ts +54 -0
  152. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.d.ts.map +1 -0
  153. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.js +166 -0
  154. package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.js.map +1 -0
  155. package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.d.ts +1 -0
  156. package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.d.ts.map +1 -0
  157. package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.js +72 -0
  158. package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.js.map +1 -0
  159. package/dist/@codegen/kvault/instructions/updateReserveAllocation.d.ts +3 -1
  160. package/dist/@codegen/kvault/instructions/updateReserveAllocation.d.ts.map +1 -1
  161. package/dist/@codegen/kvault/instructions/updateReserveAllocation.js +3 -0
  162. package/dist/@codegen/kvault/instructions/updateReserveAllocation.js.map +1 -1
  163. package/dist/@codegen/kvault/types/BorrowOrder.d.ts +192 -0
  164. package/dist/@codegen/kvault/types/BorrowOrder.d.ts.map +1 -0
  165. package/dist/@codegen/kvault/types/BorrowOrder.js +194 -0
  166. package/dist/@codegen/kvault/types/BorrowOrder.js.map +1 -0
  167. package/dist/@codegen/kvault/types/ElevationGroup.d.ts +67 -0
  168. package/dist/@codegen/kvault/types/ElevationGroup.d.ts.map +1 -0
  169. package/dist/@codegen/kvault/types/ElevationGroup.js +137 -0
  170. package/dist/@codegen/kvault/types/ElevationGroup.js.map +1 -0
  171. package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.d.ts +145 -0
  172. package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.d.ts.map +1 -0
  173. package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.js +144 -0
  174. package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.js.map +1 -0
  175. package/dist/@codegen/kvault/types/ObligationCollateral.d.ts +72 -0
  176. package/dist/@codegen/kvault/types/ObligationCollateral.d.ts.map +1 -0
  177. package/dist/@codegen/kvault/types/ObligationCollateral.js +119 -0
  178. package/dist/@codegen/kvault/types/ObligationCollateral.js.map +1 -0
  179. package/dist/@codegen/kvault/types/ObligationLiquidity.d.ts +143 -0
  180. package/dist/@codegen/kvault/types/ObligationLiquidity.d.ts.map +1 -0
  181. package/dist/@codegen/kvault/types/ObligationLiquidity.js +165 -0
  182. package/dist/@codegen/kvault/types/ObligationLiquidity.js.map +1 -0
  183. package/dist/@codegen/kvault/types/ObligationOrder.d.ts +284 -0
  184. package/dist/@codegen/kvault/types/ObligationOrder.d.ts.map +1 -0
  185. package/dist/@codegen/kvault/types/ObligationOrder.js +205 -0
  186. package/dist/@codegen/kvault/types/ObligationOrder.js.map +1 -0
  187. package/dist/@codegen/kvault/types/ReserveConfig.d.ts +60 -5
  188. package/dist/@codegen/kvault/types/ReserveConfig.d.ts.map +1 -1
  189. package/dist/@codegen/kvault/types/ReserveConfig.js +36 -7
  190. package/dist/@codegen/kvault/types/ReserveConfig.js.map +1 -1
  191. package/dist/@codegen/kvault/types/ReserveLiquidity.d.ts +26 -8
  192. package/dist/@codegen/kvault/types/ReserveLiquidity.d.ts.map +1 -1
  193. package/dist/@codegen/kvault/types/ReserveLiquidity.js +14 -8
  194. package/dist/@codegen/kvault/types/ReserveLiquidity.js.map +1 -1
  195. package/dist/@codegen/kvault/types/ReserveType.d.ts +32 -0
  196. package/dist/@codegen/kvault/types/ReserveType.d.ts.map +1 -0
  197. package/dist/@codegen/kvault/types/ReserveType.js +108 -0
  198. package/dist/@codegen/kvault/types/ReserveType.js.map +1 -0
  199. package/dist/@codegen/kvault/types/VaultAllocation.d.ts +60 -0
  200. package/dist/@codegen/kvault/types/VaultAllocation.d.ts.map +1 -1
  201. package/dist/@codegen/kvault/types/VaultAllocation.js +38 -2
  202. package/dist/@codegen/kvault/types/VaultAllocation.js.map +1 -1
  203. package/dist/@codegen/kvault/types/WithdrawQueue.d.ts +64 -0
  204. package/dist/@codegen/kvault/types/WithdrawQueue.d.ts.map +1 -0
  205. package/dist/@codegen/kvault/types/WithdrawQueue.js +104 -0
  206. package/dist/@codegen/kvault/types/WithdrawQueue.js.map +1 -0
  207. package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.d.ts +19 -0
  208. package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.d.ts.map +1 -0
  209. package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.js +82 -0
  210. package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.js.map +1 -0
  211. package/dist/@codegen/kvault/types/index.d.ts +34 -0
  212. package/dist/@codegen/kvault/types/index.d.ts.map +1 -1
  213. package/dist/@codegen/kvault/types/index.js +19 -1
  214. package/dist/@codegen/kvault/types/index.js.map +1 -1
  215. package/dist/classes/action.d.ts +11 -0
  216. package/dist/classes/action.d.ts.map +1 -1
  217. package/dist/classes/action.js +66 -0
  218. package/dist/classes/action.js.map +1 -1
  219. package/dist/classes/actionTypes.d.ts +29 -0
  220. package/dist/classes/actionTypes.d.ts.map +1 -1
  221. package/dist/classes/manager.d.ts +1 -1
  222. package/dist/classes/manager.d.ts.map +1 -1
  223. package/dist/classes/manager.js +13 -8
  224. package/dist/classes/manager.js.map +1 -1
  225. package/dist/classes/market.d.ts +10 -5
  226. package/dist/classes/market.d.ts.map +1 -1
  227. package/dist/classes/market.js +22 -15
  228. package/dist/classes/market.js.map +1 -1
  229. package/dist/classes/obligation.d.ts +2 -2
  230. package/dist/classes/obligation.d.ts.map +1 -1
  231. package/dist/classes/obligation.js +9 -7
  232. package/dist/classes/obligation.js.map +1 -1
  233. package/dist/classes/reserve.d.ts +2 -1
  234. package/dist/classes/reserve.d.ts.map +1 -1
  235. package/dist/classes/reserve.js +48 -32
  236. package/dist/classes/reserve.js.map +1 -1
  237. package/dist/classes/utils.d.ts +2 -0
  238. package/dist/classes/utils.d.ts.map +1 -1
  239. package/dist/classes/utils.js +12 -1
  240. package/dist/classes/utils.js.map +1 -1
  241. package/dist/classes/vault.d.ts +4 -2
  242. package/dist/classes/vault.d.ts.map +1 -1
  243. package/dist/classes/vault.js +12 -2
  244. package/dist/classes/vault.js.map +1 -1
  245. package/dist/idl/klend.json +1461 -106
  246. package/dist/manager/client_kamino_manager.js +14 -11
  247. package/dist/manager/client_kamino_manager.js.map +1 -1
  248. package/dist/obligation_orders/price_based.js +5 -4
  249. package/dist/obligation_orders/price_based.js.map +1 -1
  250. package/dist/utils/managerTypes.d.ts.map +1 -1
  251. package/dist/utils/managerTypes.js +3 -1
  252. package/dist/utils/managerTypes.js.map +1 -1
  253. package/dist/utils/seeds.d.ts +24 -0
  254. package/dist/utils/seeds.d.ts.map +1 -1
  255. package/dist/utils/seeds.js +41 -1
  256. package/dist/utils/seeds.js.map +1 -1
  257. package/dist/utils/validations.d.ts +1 -0
  258. package/dist/utils/validations.d.ts.map +1 -1
  259. package/dist/utils/validations.js +5 -0
  260. package/dist/utils/validations.js.map +1 -1
  261. package/dist/utils/vault.d.ts.map +1 -1
  262. package/dist/utils/vault.js +2 -0
  263. package/dist/utils/vault.js.map +1 -1
  264. package/package.json +1 -1
  265. package/src/@codegen/klend/accounts/LendingMarket.ts +284 -12
  266. package/src/@codegen/klend/accounts/Obligation.ts +42 -31
  267. package/src/@codegen/klend/accounts/Reserve.ts +13 -2
  268. package/src/@codegen/klend/accounts/UserState.ts +0 -75
  269. package/src/@codegen/klend/accounts/WithdrawTicket.ts +280 -0
  270. package/src/@codegen/klend/accounts/index.ts +2 -0
  271. package/src/@codegen/klend/errors/custom.ts +333 -0
  272. package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +120 -0
  273. package/src/@codegen/klend/instructions/fillBorrowOrder.ts +96 -0
  274. package/src/@codegen/klend/instructions/idlMissingTypes.ts +0 -3
  275. package/src/@codegen/klend/instructions/index.ts +19 -0
  276. package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +103 -0
  277. package/src/@codegen/klend/instructions/setBorrowOrder.ts +81 -0
  278. package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +118 -0
  279. package/src/@codegen/klend/types/BorrowOrder.ts +267 -0
  280. package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +87 -0
  281. package/src/@codegen/klend/types/FixedTermBorrowRolloverConfig.ts +199 -0
  282. package/src/@codegen/klend/types/ObligationLiquidity.ts +76 -10
  283. package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
  284. package/src/@codegen/klend/types/ProgressCallbackType.ts +91 -0
  285. package/src/@codegen/klend/types/ReserveConfig.ts +72 -9
  286. package/src/@codegen/klend/types/ReserveLiquidity.ts +30 -12
  287. package/src/@codegen/klend/types/UpdateConfigMode.ts +86 -26
  288. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +300 -0
  289. package/src/@codegen/klend/types/WithdrawQueue.ts +117 -0
  290. package/src/@codegen/klend/types/index.ts +63 -16
  291. package/src/@codegen/klend/zero_padding/ObligationZP.ts +17 -14
  292. package/src/@codegen/kvault/accounts/LendingMarket.ts +837 -0
  293. package/src/@codegen/kvault/accounts/Obligation.ts +459 -0
  294. package/src/@codegen/kvault/accounts/ReferrerTokenState.ts +160 -0
  295. package/src/@codegen/kvault/accounts/Reserve.ts +13 -2
  296. package/src/@codegen/kvault/accounts/VaultState.ts +59 -7
  297. package/src/@codegen/kvault/accounts/WithdrawTicket.ts +280 -0
  298. package/src/@codegen/kvault/accounts/index.ts +11 -0
  299. package/src/@codegen/kvault/errors/custom.ts +152 -0
  300. package/src/@codegen/kvault/instructions/index.ts +10 -0
  301. package/src/@codegen/kvault/instructions/invest.ts +16 -0
  302. package/src/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.ts +189 -0
  303. package/src/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.ts +205 -0
  304. package/src/@codegen/kvault/instructions/updateKlendQueueAccounting.ts +76 -0
  305. package/src/@codegen/kvault/instructions/updateReserveAllocation.ts +4 -1
  306. package/src/@codegen/kvault/types/BorrowOrder.ts +267 -0
  307. package/src/@codegen/kvault/types/ElevationGroup.ts +134 -0
  308. package/src/@codegen/kvault/types/FixedTermBorrowRolloverConfig.ts +199 -0
  309. package/src/@codegen/kvault/types/ObligationCollateral.ts +129 -0
  310. package/src/@codegen/kvault/types/ObligationLiquidity.ts +226 -0
  311. package/src/@codegen/kvault/types/ObligationOrder.ts +348 -0
  312. package/src/@codegen/kvault/types/ReserveConfig.ts +72 -9
  313. package/src/@codegen/kvault/types/ReserveLiquidity.ts +30 -12
  314. package/src/@codegen/kvault/types/ReserveType.ts +89 -0
  315. package/src/@codegen/kvault/types/VaultAllocation.ts +74 -2
  316. package/src/@codegen/kvault/types/WithdrawQueue.ts +117 -0
  317. package/src/@codegen/kvault/types/WithdrawTicketProgressEvent.ts +59 -0
  318. package/src/@codegen/kvault/types/index.ts +52 -0
  319. package/src/classes/action.ts +115 -1
  320. package/src/classes/actionTypes.ts +31 -0
  321. package/src/classes/manager.ts +24 -27
  322. package/src/classes/market.ts +34 -17
  323. package/src/classes/obligation.ts +9 -7
  324. package/src/classes/reserve.ts +48 -45
  325. package/src/classes/utils.ts +8 -0
  326. package/src/classes/vault.ts +35 -4
  327. package/src/idl/klend.json +1461 -106
  328. package/src/idl/kvault.json +2336 -299
  329. package/src/manager/client_kamino_manager.ts +14 -12
  330. package/src/obligation_orders/price_based.ts +7 -6
  331. package/src/utils/managerTypes.ts +3 -1
  332. package/src/utils/seeds.ts +49 -0
  333. package/src/utils/validations.ts +5 -0
  334. package/src/utils/vault.ts +2 -0
  335. package/dist/@codegen/klend/types/AssetTier.d.ts +0 -45
  336. package/dist/@codegen/klend/types/AssetTier.d.ts.map +0 -1
  337. package/dist/@codegen/klend/types/AssetTier.js.map +0 -1
  338. package/src/@codegen/klend/types/AssetTier.ts +0 -119
@@ -0,0 +1,208 @@
1
+ import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
2
+ import BN from "bn.js";
3
+ import * as types from "../types";
4
+ export interface ObligationFields {
5
+ /** Version of the struct */
6
+ tag: BN;
7
+ /** Last update to collateral, liquidity, or their market values */
8
+ lastUpdate: types.LastUpdateFields;
9
+ /** Lending market address */
10
+ lendingMarket: Address;
11
+ /** Owner authority which can borrow liquidity */
12
+ owner: Address;
13
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
14
+ deposits: Array<types.ObligationCollateralFields>;
15
+ /** Worst LTV for the collaterals backing the loan, represented as a percentage */
16
+ lowestReserveDepositLiquidationLtv: BN;
17
+ /** Market value of deposits (scaled fraction) */
18
+ depositedValueSf: BN;
19
+ /** Borrowed liquidity for the obligation, unique by borrow reserve address */
20
+ borrows: Array<types.ObligationLiquidityFields>;
21
+ /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */
22
+ borrowFactorAdjustedDebtValueSf: BN;
23
+ /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */
24
+ borrowedAssetsMarketValueSf: BN;
25
+ /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */
26
+ allowedBorrowValueSf: BN;
27
+ /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */
28
+ unhealthyBorrowValueSf: BN;
29
+ /** The asset tier of the deposits */
30
+ paddingDeprecatedAssetTiers: Array<number>;
31
+ /** The elevation group id the obligation opted into. */
32
+ elevationGroup: number;
33
+ /** The number of obsolete reserves the obligation has a deposit in */
34
+ numOfObsoleteDepositReserves: number;
35
+ /** Marked = 1 if borrows array is not empty, 0 = borrows empty */
36
+ hasDebt: number;
37
+ /** Wallet address of the referrer */
38
+ referrer: Address;
39
+ /** Marked = 1 if borrowing disabled, 0 = borrowing enabled */
40
+ borrowingDisabled: number;
41
+ /**
42
+ * A target LTV set by the risk council when marking this obligation for deleveraging.
43
+ * Only effective when `deleveraging_margin_call_started_slot != 0`.
44
+ */
45
+ autodeleverageTargetLtvPct: number;
46
+ /** The lowest max LTV found amongst the collateral deposits */
47
+ lowestReserveDepositMaxLtvPct: number;
48
+ /** The number of obsolete reserves the obligation has a borrow in */
49
+ numOfObsoleteBorrowReserves: number;
50
+ reserved: Array<number>;
51
+ highestBorrowFactorPct: BN;
52
+ /**
53
+ * A timestamp at which the risk council most-recently marked this obligation for deleveraging.
54
+ * Zero if not currently subject to deleveraging.
55
+ */
56
+ autodeleverageMarginCallStartedTimestamp: BN;
57
+ /**
58
+ * Owner-defined, permissionlessly-executed repay orders.
59
+ * Typical use-cases would be a stop-loss and a take-profit (possibly co-existing).
60
+ */
61
+ obligationOrders: Array<types.ObligationOrderFields>;
62
+ /**
63
+ * Owner-defined, permissionlessly-executed borrow order applicable to this obligation.
64
+ * Non-zeroed only on a newly-initialized fixed-rate, fixed-term obligation.
65
+ */
66
+ borrowOrder: types.BorrowOrderFields;
67
+ padding3: Array<BN>;
68
+ }
69
+ export interface ObligationJSON {
70
+ /** Version of the struct */
71
+ tag: string;
72
+ /** Last update to collateral, liquidity, or their market values */
73
+ lastUpdate: types.LastUpdateJSON;
74
+ /** Lending market address */
75
+ lendingMarket: string;
76
+ /** Owner authority which can borrow liquidity */
77
+ owner: string;
78
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
79
+ deposits: Array<types.ObligationCollateralJSON>;
80
+ /** Worst LTV for the collaterals backing the loan, represented as a percentage */
81
+ lowestReserveDepositLiquidationLtv: string;
82
+ /** Market value of deposits (scaled fraction) */
83
+ depositedValueSf: string;
84
+ /** Borrowed liquidity for the obligation, unique by borrow reserve address */
85
+ borrows: Array<types.ObligationLiquidityJSON>;
86
+ /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */
87
+ borrowFactorAdjustedDebtValueSf: string;
88
+ /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */
89
+ borrowedAssetsMarketValueSf: string;
90
+ /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */
91
+ allowedBorrowValueSf: string;
92
+ /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */
93
+ unhealthyBorrowValueSf: string;
94
+ /** The asset tier of the deposits */
95
+ paddingDeprecatedAssetTiers: Array<number>;
96
+ /** The elevation group id the obligation opted into. */
97
+ elevationGroup: number;
98
+ /** The number of obsolete reserves the obligation has a deposit in */
99
+ numOfObsoleteDepositReserves: number;
100
+ /** Marked = 1 if borrows array is not empty, 0 = borrows empty */
101
+ hasDebt: number;
102
+ /** Wallet address of the referrer */
103
+ referrer: string;
104
+ /** Marked = 1 if borrowing disabled, 0 = borrowing enabled */
105
+ borrowingDisabled: number;
106
+ /**
107
+ * A target LTV set by the risk council when marking this obligation for deleveraging.
108
+ * Only effective when `deleveraging_margin_call_started_slot != 0`.
109
+ */
110
+ autodeleverageTargetLtvPct: number;
111
+ /** The lowest max LTV found amongst the collateral deposits */
112
+ lowestReserveDepositMaxLtvPct: number;
113
+ /** The number of obsolete reserves the obligation has a borrow in */
114
+ numOfObsoleteBorrowReserves: number;
115
+ reserved: Array<number>;
116
+ highestBorrowFactorPct: string;
117
+ /**
118
+ * A timestamp at which the risk council most-recently marked this obligation for deleveraging.
119
+ * Zero if not currently subject to deleveraging.
120
+ */
121
+ autodeleverageMarginCallStartedTimestamp: string;
122
+ /**
123
+ * Owner-defined, permissionlessly-executed repay orders.
124
+ * Typical use-cases would be a stop-loss and a take-profit (possibly co-existing).
125
+ */
126
+ obligationOrders: Array<types.ObligationOrderJSON>;
127
+ /**
128
+ * Owner-defined, permissionlessly-executed borrow order applicable to this obligation.
129
+ * Non-zeroed only on a newly-initialized fixed-rate, fixed-term obligation.
130
+ */
131
+ borrowOrder: types.BorrowOrderJSON;
132
+ padding3: Array<string>;
133
+ }
134
+ /** Lending market obligation state */
135
+ export declare class Obligation {
136
+ /** Version of the struct */
137
+ readonly tag: BN;
138
+ /** Last update to collateral, liquidity, or their market values */
139
+ readonly lastUpdate: types.LastUpdate;
140
+ /** Lending market address */
141
+ readonly lendingMarket: Address;
142
+ /** Owner authority which can borrow liquidity */
143
+ readonly owner: Address;
144
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
145
+ readonly deposits: Array<types.ObligationCollateral>;
146
+ /** Worst LTV for the collaterals backing the loan, represented as a percentage */
147
+ readonly lowestReserveDepositLiquidationLtv: BN;
148
+ /** Market value of deposits (scaled fraction) */
149
+ readonly depositedValueSf: BN;
150
+ /** Borrowed liquidity for the obligation, unique by borrow reserve address */
151
+ readonly borrows: Array<types.ObligationLiquidity>;
152
+ /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */
153
+ readonly borrowFactorAdjustedDebtValueSf: BN;
154
+ /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */
155
+ readonly borrowedAssetsMarketValueSf: BN;
156
+ /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */
157
+ readonly allowedBorrowValueSf: BN;
158
+ /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */
159
+ readonly unhealthyBorrowValueSf: BN;
160
+ /** The asset tier of the deposits */
161
+ readonly paddingDeprecatedAssetTiers: Array<number>;
162
+ /** The elevation group id the obligation opted into. */
163
+ readonly elevationGroup: number;
164
+ /** The number of obsolete reserves the obligation has a deposit in */
165
+ readonly numOfObsoleteDepositReserves: number;
166
+ /** Marked = 1 if borrows array is not empty, 0 = borrows empty */
167
+ readonly hasDebt: number;
168
+ /** Wallet address of the referrer */
169
+ readonly referrer: Address;
170
+ /** Marked = 1 if borrowing disabled, 0 = borrowing enabled */
171
+ readonly borrowingDisabled: number;
172
+ /**
173
+ * A target LTV set by the risk council when marking this obligation for deleveraging.
174
+ * Only effective when `deleveraging_margin_call_started_slot != 0`.
175
+ */
176
+ readonly autodeleverageTargetLtvPct: number;
177
+ /** The lowest max LTV found amongst the collateral deposits */
178
+ readonly lowestReserveDepositMaxLtvPct: number;
179
+ /** The number of obsolete reserves the obligation has a borrow in */
180
+ readonly numOfObsoleteBorrowReserves: number;
181
+ readonly reserved: Array<number>;
182
+ readonly highestBorrowFactorPct: BN;
183
+ /**
184
+ * A timestamp at which the risk council most-recently marked this obligation for deleveraging.
185
+ * Zero if not currently subject to deleveraging.
186
+ */
187
+ readonly autodeleverageMarginCallStartedTimestamp: BN;
188
+ /**
189
+ * Owner-defined, permissionlessly-executed repay orders.
190
+ * Typical use-cases would be a stop-loss and a take-profit (possibly co-existing).
191
+ */
192
+ readonly obligationOrders: Array<types.ObligationOrder>;
193
+ /**
194
+ * Owner-defined, permissionlessly-executed borrow order applicable to this obligation.
195
+ * Non-zeroed only on a newly-initialized fixed-rate, fixed-term obligation.
196
+ */
197
+ readonly borrowOrder: types.BorrowOrder;
198
+ readonly padding3: Array<BN>;
199
+ static readonly discriminator: Buffer<ArrayBuffer>;
200
+ static readonly layout: import("buffer-layout").Layout<Obligation>;
201
+ constructor(fields: ObligationFields);
202
+ static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<Obligation | null>;
203
+ static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<Obligation | null>>;
204
+ static decode(data: Buffer): Obligation;
205
+ toJSON(): ObligationJSON;
206
+ static fromJSON(obj: ObligationJSON): Obligation;
207
+ }
208
+ //# sourceMappingURL=Obligation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Obligation.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/kvault/accounts/Obligation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Obligation = void 0;
40
+ /* eslint-disable @typescript-eslint/no-unused-vars */
41
+ const kit_1 = require("@solana/kit");
42
+ /* eslint-enable @typescript-eslint/no-unused-vars */
43
+ const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
44
+ const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
45
+ const utils_1 = require("../utils"); // eslint-disable-line @typescript-eslint/no-unused-vars
46
+ const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
47
+ const programId_1 = require("../programId");
48
+ /** Lending market obligation state */
49
+ class Obligation {
50
+ /** Version of the struct */
51
+ tag;
52
+ /** Last update to collateral, liquidity, or their market values */
53
+ lastUpdate;
54
+ /** Lending market address */
55
+ lendingMarket;
56
+ /** Owner authority which can borrow liquidity */
57
+ owner;
58
+ /** Deposited collateral for the obligation, unique by deposit reserve address */
59
+ deposits;
60
+ /** Worst LTV for the collaterals backing the loan, represented as a percentage */
61
+ lowestReserveDepositLiquidationLtv;
62
+ /** Market value of deposits (scaled fraction) */
63
+ depositedValueSf;
64
+ /** Borrowed liquidity for the obligation, unique by borrow reserve address */
65
+ borrows;
66
+ /** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */
67
+ borrowFactorAdjustedDebtValueSf;
68
+ /** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */
69
+ borrowedAssetsMarketValueSf;
70
+ /** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */
71
+ allowedBorrowValueSf;
72
+ /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */
73
+ unhealthyBorrowValueSf;
74
+ /** The asset tier of the deposits */
75
+ paddingDeprecatedAssetTiers;
76
+ /** The elevation group id the obligation opted into. */
77
+ elevationGroup;
78
+ /** The number of obsolete reserves the obligation has a deposit in */
79
+ numOfObsoleteDepositReserves;
80
+ /** Marked = 1 if borrows array is not empty, 0 = borrows empty */
81
+ hasDebt;
82
+ /** Wallet address of the referrer */
83
+ referrer;
84
+ /** Marked = 1 if borrowing disabled, 0 = borrowing enabled */
85
+ borrowingDisabled;
86
+ /**
87
+ * A target LTV set by the risk council when marking this obligation for deleveraging.
88
+ * Only effective when `deleveraging_margin_call_started_slot != 0`.
89
+ */
90
+ autodeleverageTargetLtvPct;
91
+ /** The lowest max LTV found amongst the collateral deposits */
92
+ lowestReserveDepositMaxLtvPct;
93
+ /** The number of obsolete reserves the obligation has a borrow in */
94
+ numOfObsoleteBorrowReserves;
95
+ reserved;
96
+ highestBorrowFactorPct;
97
+ /**
98
+ * A timestamp at which the risk council most-recently marked this obligation for deleveraging.
99
+ * Zero if not currently subject to deleveraging.
100
+ */
101
+ autodeleverageMarginCallStartedTimestamp;
102
+ /**
103
+ * Owner-defined, permissionlessly-executed repay orders.
104
+ * Typical use-cases would be a stop-loss and a take-profit (possibly co-existing).
105
+ */
106
+ obligationOrders;
107
+ /**
108
+ * Owner-defined, permissionlessly-executed borrow order applicable to this obligation.
109
+ * Non-zeroed only on a newly-initialized fixed-rate, fixed-term obligation.
110
+ */
111
+ borrowOrder;
112
+ padding3;
113
+ static discriminator = Buffer.from([
114
+ 168, 206, 141, 106, 88, 76, 172, 167,
115
+ ]);
116
+ static layout = borsh.struct([
117
+ borsh.u64("tag"),
118
+ types.LastUpdate.layout("lastUpdate"),
119
+ (0, utils_1.borshAddress)("lendingMarket"),
120
+ (0, utils_1.borshAddress)("owner"),
121
+ borsh.array(types.ObligationCollateral.layout(), 8, "deposits"),
122
+ borsh.u64("lowestReserveDepositLiquidationLtv"),
123
+ borsh.u128("depositedValueSf"),
124
+ borsh.array(types.ObligationLiquidity.layout(), 5, "borrows"),
125
+ borsh.u128("borrowFactorAdjustedDebtValueSf"),
126
+ borsh.u128("borrowedAssetsMarketValueSf"),
127
+ borsh.u128("allowedBorrowValueSf"),
128
+ borsh.u128("unhealthyBorrowValueSf"),
129
+ borsh.array(borsh.u8(), 13, "paddingDeprecatedAssetTiers"),
130
+ borsh.u8("elevationGroup"),
131
+ borsh.u8("numOfObsoleteDepositReserves"),
132
+ borsh.u8("hasDebt"),
133
+ (0, utils_1.borshAddress)("referrer"),
134
+ borsh.u8("borrowingDisabled"),
135
+ borsh.u8("autodeleverageTargetLtvPct"),
136
+ borsh.u8("lowestReserveDepositMaxLtvPct"),
137
+ borsh.u8("numOfObsoleteBorrowReserves"),
138
+ borsh.array(borsh.u8(), 4, "reserved"),
139
+ borsh.u64("highestBorrowFactorPct"),
140
+ borsh.u64("autodeleverageMarginCallStartedTimestamp"),
141
+ borsh.array(types.ObligationOrder.layout(), 2, "obligationOrders"),
142
+ types.BorrowOrder.layout("borrowOrder"),
143
+ borsh.array(borsh.u64(), 73, "padding3"),
144
+ ]);
145
+ constructor(fields) {
146
+ this.tag = fields.tag;
147
+ this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate });
148
+ this.lendingMarket = fields.lendingMarket;
149
+ this.owner = fields.owner;
150
+ this.deposits = fields.deposits.map((item) => new types.ObligationCollateral({ ...item }));
151
+ this.lowestReserveDepositLiquidationLtv =
152
+ fields.lowestReserveDepositLiquidationLtv;
153
+ this.depositedValueSf = fields.depositedValueSf;
154
+ this.borrows = fields.borrows.map((item) => new types.ObligationLiquidity({ ...item }));
155
+ this.borrowFactorAdjustedDebtValueSf =
156
+ fields.borrowFactorAdjustedDebtValueSf;
157
+ this.borrowedAssetsMarketValueSf = fields.borrowedAssetsMarketValueSf;
158
+ this.allowedBorrowValueSf = fields.allowedBorrowValueSf;
159
+ this.unhealthyBorrowValueSf = fields.unhealthyBorrowValueSf;
160
+ this.paddingDeprecatedAssetTiers = fields.paddingDeprecatedAssetTiers;
161
+ this.elevationGroup = fields.elevationGroup;
162
+ this.numOfObsoleteDepositReserves = fields.numOfObsoleteDepositReserves;
163
+ this.hasDebt = fields.hasDebt;
164
+ this.referrer = fields.referrer;
165
+ this.borrowingDisabled = fields.borrowingDisabled;
166
+ this.autodeleverageTargetLtvPct = fields.autodeleverageTargetLtvPct;
167
+ this.lowestReserveDepositMaxLtvPct = fields.lowestReserveDepositMaxLtvPct;
168
+ this.numOfObsoleteBorrowReserves = fields.numOfObsoleteBorrowReserves;
169
+ this.reserved = fields.reserved;
170
+ this.highestBorrowFactorPct = fields.highestBorrowFactorPct;
171
+ this.autodeleverageMarginCallStartedTimestamp =
172
+ fields.autodeleverageMarginCallStartedTimestamp;
173
+ this.obligationOrders = fields.obligationOrders.map((item) => new types.ObligationOrder({ ...item }));
174
+ this.borrowOrder = new types.BorrowOrder({ ...fields.borrowOrder });
175
+ this.padding3 = fields.padding3;
176
+ }
177
+ static async fetch(rpc, address, programId = programId_1.PROGRAM_ID) {
178
+ const info = await (0, kit_1.fetchEncodedAccount)(rpc, address);
179
+ if (!info.exists) {
180
+ return null;
181
+ }
182
+ if (info.programAddress !== programId) {
183
+ throw new Error(`ObligationFields account ${address} belongs to wrong program ${info.programAddress}, expected ${programId}`);
184
+ }
185
+ return this.decode(Buffer.from(info.data));
186
+ }
187
+ static async fetchMultiple(rpc, addresses, programId = programId_1.PROGRAM_ID) {
188
+ const infos = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses);
189
+ return infos.map((info) => {
190
+ if (!info.exists) {
191
+ return null;
192
+ }
193
+ if (info.programAddress !== programId) {
194
+ throw new Error(`ObligationFields account ${info.address} belongs to wrong program ${info.programAddress}, expected ${programId}`);
195
+ }
196
+ return this.decode(Buffer.from(info.data));
197
+ });
198
+ }
199
+ static decode(data) {
200
+ if (!data.slice(0, 8).equals(Obligation.discriminator)) {
201
+ throw new Error("invalid account discriminator");
202
+ }
203
+ const dec = Obligation.layout.decode(data.slice(8));
204
+ return new Obligation({
205
+ tag: dec.tag,
206
+ lastUpdate: types.LastUpdate.fromDecoded(dec.lastUpdate),
207
+ lendingMarket: dec.lendingMarket,
208
+ owner: dec.owner,
209
+ deposits: dec.deposits.map((item /* eslint-disable-line @typescript-eslint/no-explicit-any */) => types.ObligationCollateral.fromDecoded(item)),
210
+ lowestReserveDepositLiquidationLtv: dec.lowestReserveDepositLiquidationLtv,
211
+ depositedValueSf: dec.depositedValueSf,
212
+ borrows: dec.borrows.map((item /* eslint-disable-line @typescript-eslint/no-explicit-any */) => types.ObligationLiquidity.fromDecoded(item)),
213
+ borrowFactorAdjustedDebtValueSf: dec.borrowFactorAdjustedDebtValueSf,
214
+ borrowedAssetsMarketValueSf: dec.borrowedAssetsMarketValueSf,
215
+ allowedBorrowValueSf: dec.allowedBorrowValueSf,
216
+ unhealthyBorrowValueSf: dec.unhealthyBorrowValueSf,
217
+ paddingDeprecatedAssetTiers: dec.paddingDeprecatedAssetTiers,
218
+ elevationGroup: dec.elevationGroup,
219
+ numOfObsoleteDepositReserves: dec.numOfObsoleteDepositReserves,
220
+ hasDebt: dec.hasDebt,
221
+ referrer: dec.referrer,
222
+ borrowingDisabled: dec.borrowingDisabled,
223
+ autodeleverageTargetLtvPct: dec.autodeleverageTargetLtvPct,
224
+ lowestReserveDepositMaxLtvPct: dec.lowestReserveDepositMaxLtvPct,
225
+ numOfObsoleteBorrowReserves: dec.numOfObsoleteBorrowReserves,
226
+ reserved: dec.reserved,
227
+ highestBorrowFactorPct: dec.highestBorrowFactorPct,
228
+ autodeleverageMarginCallStartedTimestamp: dec.autodeleverageMarginCallStartedTimestamp,
229
+ obligationOrders: dec.obligationOrders.map((item /* eslint-disable-line @typescript-eslint/no-explicit-any */) => types.ObligationOrder.fromDecoded(item)),
230
+ borrowOrder: types.BorrowOrder.fromDecoded(dec.borrowOrder),
231
+ padding3: dec.padding3,
232
+ });
233
+ }
234
+ toJSON() {
235
+ return {
236
+ tag: this.tag.toString(),
237
+ lastUpdate: this.lastUpdate.toJSON(),
238
+ lendingMarket: this.lendingMarket,
239
+ owner: this.owner,
240
+ deposits: this.deposits.map((item) => item.toJSON()),
241
+ lowestReserveDepositLiquidationLtv: this.lowestReserveDepositLiquidationLtv.toString(),
242
+ depositedValueSf: this.depositedValueSf.toString(),
243
+ borrows: this.borrows.map((item) => item.toJSON()),
244
+ borrowFactorAdjustedDebtValueSf: this.borrowFactorAdjustedDebtValueSf.toString(),
245
+ borrowedAssetsMarketValueSf: this.borrowedAssetsMarketValueSf.toString(),
246
+ allowedBorrowValueSf: this.allowedBorrowValueSf.toString(),
247
+ unhealthyBorrowValueSf: this.unhealthyBorrowValueSf.toString(),
248
+ paddingDeprecatedAssetTiers: this.paddingDeprecatedAssetTiers,
249
+ elevationGroup: this.elevationGroup,
250
+ numOfObsoleteDepositReserves: this.numOfObsoleteDepositReserves,
251
+ hasDebt: this.hasDebt,
252
+ referrer: this.referrer,
253
+ borrowingDisabled: this.borrowingDisabled,
254
+ autodeleverageTargetLtvPct: this.autodeleverageTargetLtvPct,
255
+ lowestReserveDepositMaxLtvPct: this.lowestReserveDepositMaxLtvPct,
256
+ numOfObsoleteBorrowReserves: this.numOfObsoleteBorrowReserves,
257
+ reserved: this.reserved,
258
+ highestBorrowFactorPct: this.highestBorrowFactorPct.toString(),
259
+ autodeleverageMarginCallStartedTimestamp: this.autodeleverageMarginCallStartedTimestamp.toString(),
260
+ obligationOrders: this.obligationOrders.map((item) => item.toJSON()),
261
+ borrowOrder: this.borrowOrder.toJSON(),
262
+ padding3: this.padding3.map((item) => item.toString()),
263
+ };
264
+ }
265
+ static fromJSON(obj) {
266
+ return new Obligation({
267
+ tag: new bn_js_1.default(obj.tag),
268
+ lastUpdate: types.LastUpdate.fromJSON(obj.lastUpdate),
269
+ lendingMarket: (0, kit_1.address)(obj.lendingMarket),
270
+ owner: (0, kit_1.address)(obj.owner),
271
+ deposits: obj.deposits.map((item) => types.ObligationCollateral.fromJSON(item)),
272
+ lowestReserveDepositLiquidationLtv: new bn_js_1.default(obj.lowestReserveDepositLiquidationLtv),
273
+ depositedValueSf: new bn_js_1.default(obj.depositedValueSf),
274
+ borrows: obj.borrows.map((item) => types.ObligationLiquidity.fromJSON(item)),
275
+ borrowFactorAdjustedDebtValueSf: new bn_js_1.default(obj.borrowFactorAdjustedDebtValueSf),
276
+ borrowedAssetsMarketValueSf: new bn_js_1.default(obj.borrowedAssetsMarketValueSf),
277
+ allowedBorrowValueSf: new bn_js_1.default(obj.allowedBorrowValueSf),
278
+ unhealthyBorrowValueSf: new bn_js_1.default(obj.unhealthyBorrowValueSf),
279
+ paddingDeprecatedAssetTiers: obj.paddingDeprecatedAssetTiers,
280
+ elevationGroup: obj.elevationGroup,
281
+ numOfObsoleteDepositReserves: obj.numOfObsoleteDepositReserves,
282
+ hasDebt: obj.hasDebt,
283
+ referrer: (0, kit_1.address)(obj.referrer),
284
+ borrowingDisabled: obj.borrowingDisabled,
285
+ autodeleverageTargetLtvPct: obj.autodeleverageTargetLtvPct,
286
+ lowestReserveDepositMaxLtvPct: obj.lowestReserveDepositMaxLtvPct,
287
+ numOfObsoleteBorrowReserves: obj.numOfObsoleteBorrowReserves,
288
+ reserved: obj.reserved,
289
+ highestBorrowFactorPct: new bn_js_1.default(obj.highestBorrowFactorPct),
290
+ autodeleverageMarginCallStartedTimestamp: new bn_js_1.default(obj.autodeleverageMarginCallStartedTimestamp),
291
+ obligationOrders: obj.obligationOrders.map((item) => types.ObligationOrder.fromJSON(item)),
292
+ borrowOrder: types.BorrowOrder.fromJSON(obj.borrowOrder),
293
+ padding3: obj.padding3.map((item) => new bn_js_1.default(item)),
294
+ });
295
+ }
296
+ }
297
+ exports.Obligation = Obligation;
298
+ //# sourceMappingURL=Obligation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Obligation.js","sourceRoot":"","sources":["../../../../src/@codegen/kvault/accounts/Obligation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
2
+ import BN from "bn.js";
3
+ export interface ReferrerTokenStateFields {
4
+ /** Pubkey of the referrer/owner */
5
+ referrer: Address;
6
+ /** Token mint for the account */
7
+ mint: Address;
8
+ /** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */
9
+ amountUnclaimedSf: BN;
10
+ /** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */
11
+ amountCumulativeSf: BN;
12
+ /** Referrer token state bump, used for address validation */
13
+ bump: BN;
14
+ padding: Array<BN>;
15
+ }
16
+ export interface ReferrerTokenStateJSON {
17
+ /** Pubkey of the referrer/owner */
18
+ referrer: string;
19
+ /** Token mint for the account */
20
+ mint: string;
21
+ /** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */
22
+ amountUnclaimedSf: string;
23
+ /** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */
24
+ amountCumulativeSf: string;
25
+ /** Referrer token state bump, used for address validation */
26
+ bump: string;
27
+ padding: Array<string>;
28
+ }
29
+ /** Referrer account -> each owner can have multiple accounts for specific reserves */
30
+ export declare class ReferrerTokenState {
31
+ /** Pubkey of the referrer/owner */
32
+ readonly referrer: Address;
33
+ /** Token mint for the account */
34
+ readonly mint: Address;
35
+ /** Amount that has been accumulated and not claimed yet -> available to claim (scaled fraction) */
36
+ readonly amountUnclaimedSf: BN;
37
+ /** Amount that has been accumulated in total -> both already claimed and unclaimed (scaled fraction) */
38
+ readonly amountCumulativeSf: BN;
39
+ /** Referrer token state bump, used for address validation */
40
+ readonly bump: BN;
41
+ readonly padding: Array<BN>;
42
+ static readonly discriminator: Buffer<ArrayBuffer>;
43
+ static readonly layout: import("buffer-layout").Layout<ReferrerTokenState>;
44
+ constructor(fields: ReferrerTokenStateFields);
45
+ static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<ReferrerTokenState | null>;
46
+ static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<ReferrerTokenState | null>>;
47
+ static decode(data: Buffer): ReferrerTokenState;
48
+ toJSON(): ReferrerTokenStateJSON;
49
+ static fromJSON(obj: ReferrerTokenStateJSON): ReferrerTokenState;
50
+ }
51
+ //# sourceMappingURL=ReferrerTokenState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferrerTokenState.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/kvault/accounts/ReferrerTokenState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAGP,iBAAiB,EACjB,sBAAsB,EACtB,GAAG,EACJ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAMtB,MAAM,WAAW,wBAAwB;IACvC,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAA;IACjB,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,mGAAmG;IACnG,iBAAiB,EAAE,EAAE,CAAA;IACrB,wGAAwG;IACxG,kBAAkB,EAAE,EAAE,CAAA;IACtB,6DAA6D;IAC7D,IAAI,EAAE,EAAE,CAAA;IACR,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,mGAAmG;IACnG,iBAAiB,EAAE,MAAM,CAAA;IACzB,wGAAwG;IACxG,kBAAkB,EAAE,MAAM,CAAA;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACvB;AAED,sFAAsF;AACtF,qBAAa,kBAAkB;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,mGAAmG;IACnG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAA;IAC9B,wGAAwG;IACxG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAA;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAA;IACjB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3B,MAAM,CAAC,QAAQ,CAAC,aAAa,sBAE3B;IAEF,MAAM,CAAC,QAAQ,CAAC,MAAM,qDAOpB;gBAEU,MAAM,EAAE,wBAAwB;WAS/B,KAAK,CAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;WAexB,aAAa,CACxB,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAChC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAiB5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAiB/C,MAAM,IAAI,sBAAsB;IAWhC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,GAAG,kBAAkB;CAUjE"}