@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
@@ -132,6 +132,27 @@ export type CustomError =
132
132
  | InitialAdminDepositExecuted
133
133
  | ReserveHasNotReceivedInitialDeposit
134
134
  | CTokenUsageBlocked
135
+ | CannotUseSameReserve
136
+ | TransactionIncludesRestrictedPrograms
137
+ | BorrowOrderDebtLiquidityMintMismatch
138
+ | BorrowOrderMaxBorrowRateExceeded
139
+ | BorrowOrderMinDebtTermInsufficient
140
+ | BorrowOrderFillTimeLimitExceeded
141
+ | ReserveDebtMaturityReached
142
+ | NonUpdatableOrderConfiguration
143
+ | BorrowOrderExecutionDisabled
144
+ | DebtReachedReserveDebtTerm
145
+ | ExpectationNotMet
146
+ | WithdrawTicketIssuanceDisabled
147
+ | WithdrawTicketRedemptionDisabled
148
+ | WithdrawTicketStillValid
149
+ | WithdrawTicketRequiresFullRedemption
150
+ | UserTokenBalanceMismatch
151
+ | WithdrawQueuedLiquidityValueTooSmall
152
+ | InvalidTokenAccountState
153
+ | WithdrawTicketInvalid
154
+ | InvalidWithdrawTicketProgressCallbackConfig
155
+ | WithdrawTicketProgressCallbackAccountsMissing
135
156
 
136
157
  export class InvalidMarketAuthority extends Error {
137
158
  static readonly code = 6000
@@ -1680,6 +1701,276 @@ export class CTokenUsageBlocked extends Error {
1680
1701
  }
1681
1702
  }
1682
1703
 
1704
+ export class CannotUseSameReserve extends Error {
1705
+ static readonly code = 6133
1706
+ readonly code = 6133
1707
+ readonly name = "CannotUseSameReserve"
1708
+ readonly msg = "Cannot call ix with same reserve"
1709
+
1710
+ constructor(readonly logs?: string[]) {
1711
+ super("6133: Cannot call ix with same reserve")
1712
+ }
1713
+ }
1714
+
1715
+ export class TransactionIncludesRestrictedPrograms extends Error {
1716
+ static readonly code = 6134
1717
+ readonly code = 6134
1718
+ readonly name = "TransactionIncludesRestrictedPrograms"
1719
+ readonly msg = "Transaction includes restricted programs"
1720
+
1721
+ constructor(readonly logs?: string[]) {
1722
+ super("6134: Transaction includes restricted programs")
1723
+ }
1724
+ }
1725
+
1726
+ export class BorrowOrderDebtLiquidityMintMismatch extends Error {
1727
+ static readonly code = 6135
1728
+ readonly code = 6135
1729
+ readonly name = "BorrowOrderDebtLiquidityMintMismatch"
1730
+ readonly msg = "There is no borrow order requesting debt in the given asset"
1731
+
1732
+ constructor(readonly logs?: string[]) {
1733
+ super("6135: There is no borrow order requesting debt in the given asset")
1734
+ }
1735
+ }
1736
+
1737
+ export class BorrowOrderMaxBorrowRateExceeded extends Error {
1738
+ static readonly code = 6136
1739
+ readonly code = 6136
1740
+ readonly name = "BorrowOrderMaxBorrowRateExceeded"
1741
+ readonly msg =
1742
+ "Reserve used for fill exceeds the maximum borrow rate specified by the order"
1743
+
1744
+ constructor(readonly logs?: string[]) {
1745
+ super(
1746
+ "6136: Reserve used for fill exceeds the maximum borrow rate specified by the order"
1747
+ )
1748
+ }
1749
+ }
1750
+
1751
+ export class BorrowOrderMinDebtTermInsufficient extends Error {
1752
+ static readonly code = 6137
1753
+ readonly code = 6137
1754
+ readonly name = "BorrowOrderMinDebtTermInsufficient"
1755
+ readonly msg =
1756
+ "Reserve used for fill defines a debt term shorter than specified by the order"
1757
+
1758
+ constructor(readonly logs?: string[]) {
1759
+ super(
1760
+ "6137: Reserve used for fill defines a debt term shorter than specified by the order"
1761
+ )
1762
+ }
1763
+ }
1764
+
1765
+ export class BorrowOrderFillTimeLimitExceeded extends Error {
1766
+ static readonly code = 6138
1767
+ readonly code = 6138
1768
+ readonly name = "BorrowOrderFillTimeLimitExceeded"
1769
+ readonly msg = "Borrow order can no longer be filled"
1770
+
1771
+ constructor(readonly logs?: string[]) {
1772
+ super("6138: Borrow order can no longer be filled")
1773
+ }
1774
+ }
1775
+
1776
+ export class ReserveDebtMaturityReached extends Error {
1777
+ static readonly code = 6139
1778
+ readonly code = 6139
1779
+ readonly name = "ReserveDebtMaturityReached"
1780
+ readonly msg =
1781
+ "Cannot borrow from a reserve that reached its debt maturity timestamp"
1782
+
1783
+ constructor(readonly logs?: string[]) {
1784
+ super(
1785
+ "6139: Cannot borrow from a reserve that reached its debt maturity timestamp"
1786
+ )
1787
+ }
1788
+ }
1789
+
1790
+ export class NonUpdatableOrderConfiguration extends Error {
1791
+ static readonly code = 6140
1792
+ readonly code = 6140
1793
+ readonly name = "NonUpdatableOrderConfiguration"
1794
+ readonly msg =
1795
+ "Some piece of the order's configuration cannot be updated (the order should be cancelled and placed again)"
1796
+
1797
+ constructor(readonly logs?: string[]) {
1798
+ super(
1799
+ "6140: Some piece of the order's configuration cannot be updated (the order should be cancelled and placed again)"
1800
+ )
1801
+ }
1802
+ }
1803
+
1804
+ export class BorrowOrderExecutionDisabled extends Error {
1805
+ static readonly code = 6141
1806
+ readonly code = 6141
1807
+ readonly name = "BorrowOrderExecutionDisabled"
1808
+ readonly msg = "Execution of borrow orders is disabled"
1809
+
1810
+ constructor(readonly logs?: string[]) {
1811
+ super("6141: Execution of borrow orders is disabled")
1812
+ }
1813
+ }
1814
+
1815
+ export class DebtReachedReserveDebtTerm extends Error {
1816
+ static readonly code = 6142
1817
+ readonly code = 6142
1818
+ readonly name = "DebtReachedReserveDebtTerm"
1819
+ readonly msg =
1820
+ "Cannot increase the debt that has reached its end of term configured by the reserve"
1821
+
1822
+ constructor(readonly logs?: string[]) {
1823
+ super(
1824
+ "6142: Cannot increase the debt that has reached its end of term configured by the reserve"
1825
+ )
1826
+ }
1827
+ }
1828
+
1829
+ export class ExpectationNotMet extends Error {
1830
+ static readonly code = 6143
1831
+ readonly code = 6143
1832
+ readonly name = "ExpectationNotMet"
1833
+ readonly msg =
1834
+ "The on-chain state does not meet expectation specified by the caller, so the operation must be aborted (to avoid race conditions)"
1835
+
1836
+ constructor(readonly logs?: string[]) {
1837
+ super(
1838
+ "6143: The on-chain state does not meet expectation specified by the caller, so the operation must be aborted (to avoid race conditions)"
1839
+ )
1840
+ }
1841
+ }
1842
+
1843
+ export class WithdrawTicketIssuanceDisabled extends Error {
1844
+ static readonly code = 6144
1845
+ readonly code = 6144
1846
+ readonly name = "WithdrawTicketIssuanceDisabled"
1847
+ readonly msg = "Issuing new withdraw tickets is disabled by the market"
1848
+
1849
+ constructor(readonly logs?: string[]) {
1850
+ super("6144: Issuing new withdraw tickets is disabled by the market")
1851
+ }
1852
+ }
1853
+
1854
+ export class WithdrawTicketRedemptionDisabled extends Error {
1855
+ static readonly code = 6145
1856
+ readonly code = 6145
1857
+ readonly name = "WithdrawTicketRedemptionDisabled"
1858
+ readonly msg = "Redeeming withdraw tickets is disabled by the market"
1859
+
1860
+ constructor(readonly logs?: string[]) {
1861
+ super("6145: Redeeming withdraw tickets is disabled by the market")
1862
+ }
1863
+ }
1864
+
1865
+ export class WithdrawTicketStillValid extends Error {
1866
+ static readonly code = 6146
1867
+ readonly code = 6146
1868
+ readonly name = "WithdrawTicketStillValid"
1869
+ readonly msg =
1870
+ "Recovering collateral is only available after the withdraw ticket has been marked invalid"
1871
+
1872
+ constructor(readonly logs?: string[]) {
1873
+ super(
1874
+ "6146: Recovering collateral is only available after the withdraw ticket has been marked invalid"
1875
+ )
1876
+ }
1877
+ }
1878
+
1879
+ export class WithdrawTicketRequiresFullRedemption extends Error {
1880
+ static readonly code = 6147
1881
+ readonly code = 6147
1882
+ readonly name = "WithdrawTicketRequiresFullRedemption"
1883
+ readonly msg =
1884
+ "The withdraw ticket's current state requires that it is fully redeemed (e.g. due to owner ATA creation), but there is not enough liquidity"
1885
+
1886
+ constructor(readonly logs?: string[]) {
1887
+ super(
1888
+ "6147: The withdraw ticket's current state requires that it is fully redeemed (e.g. due to owner ATA creation), but there is not enough liquidity"
1889
+ )
1890
+ }
1891
+ }
1892
+
1893
+ export class UserTokenBalanceMismatch extends Error {
1894
+ static readonly code = 6148
1895
+ readonly code = 6148
1896
+ readonly name = "UserTokenBalanceMismatch"
1897
+ readonly msg =
1898
+ "The user's token account has changed its balance in an unexpected way"
1899
+
1900
+ constructor(readonly logs?: string[]) {
1901
+ super(
1902
+ "6148: The user's token account has changed its balance in an unexpected way"
1903
+ )
1904
+ }
1905
+ }
1906
+
1907
+ export class WithdrawQueuedLiquidityValueTooSmall extends Error {
1908
+ static readonly code = 6149
1909
+ readonly code = 6149
1910
+ readonly name = "WithdrawQueuedLiquidityValueTooSmall"
1911
+ readonly msg =
1912
+ "Available liquidity could not satisfy the minimum required ticketed withdrawal value"
1913
+
1914
+ constructor(readonly logs?: string[]) {
1915
+ super(
1916
+ "6149: Available liquidity could not satisfy the minimum required ticketed withdrawal value"
1917
+ )
1918
+ }
1919
+ }
1920
+
1921
+ export class InvalidTokenAccountState extends Error {
1922
+ static readonly code = 6150
1923
+ readonly code = 6150
1924
+ readonly name = "InvalidTokenAccountState"
1925
+ readonly msg =
1926
+ "Token account is in a state preventing the handler's operation (e.g. frozen or delegate)"
1927
+
1928
+ constructor(readonly logs?: string[]) {
1929
+ super(
1930
+ "6150: Token account is in a state preventing the handler's operation (e.g. frozen or delegate)"
1931
+ )
1932
+ }
1933
+ }
1934
+
1935
+ export class WithdrawTicketInvalid extends Error {
1936
+ static readonly code = 6151
1937
+ readonly code = 6151
1938
+ readonly name = "WithdrawTicketInvalid"
1939
+ readonly msg = "Cannot use ticket that was already marked invalid"
1940
+
1941
+ constructor(readonly logs?: string[]) {
1942
+ super("6151: Cannot use ticket that was already marked invalid")
1943
+ }
1944
+ }
1945
+
1946
+ export class InvalidWithdrawTicketProgressCallbackConfig extends Error {
1947
+ static readonly code = 6152
1948
+ readonly code = 6152
1949
+ readonly name = "InvalidWithdrawTicketProgressCallbackConfig"
1950
+ readonly msg =
1951
+ "Invalid configuration or required custom accounts for the requested withdraw ticket callback type"
1952
+
1953
+ constructor(readonly logs?: string[]) {
1954
+ super(
1955
+ "6152: Invalid configuration or required custom accounts for the requested withdraw ticket callback type"
1956
+ )
1957
+ }
1958
+ }
1959
+
1960
+ export class WithdrawTicketProgressCallbackAccountsMissing extends Error {
1961
+ static readonly code = 6153
1962
+ readonly code = 6153
1963
+ readonly name = "WithdrawTicketProgressCallbackAccountsMissing"
1964
+ readonly msg =
1965
+ "One or more accounts required by the ticket's configured progress callback are missing"
1966
+
1967
+ constructor(readonly logs?: string[]) {
1968
+ super(
1969
+ "6153: One or more accounts required by the ticket's configured progress callback are missing"
1970
+ )
1971
+ }
1972
+ }
1973
+
1683
1974
  export function fromCode(code: number, logs?: string[]): CustomError | null {
1684
1975
  switch (code) {
1685
1976
  case 6000:
@@ -1948,6 +2239,48 @@ export function fromCode(code: number, logs?: string[]): CustomError | null {
1948
2239
  return new ReserveHasNotReceivedInitialDeposit(logs)
1949
2240
  case 6132:
1950
2241
  return new CTokenUsageBlocked(logs)
2242
+ case 6133:
2243
+ return new CannotUseSameReserve(logs)
2244
+ case 6134:
2245
+ return new TransactionIncludesRestrictedPrograms(logs)
2246
+ case 6135:
2247
+ return new BorrowOrderDebtLiquidityMintMismatch(logs)
2248
+ case 6136:
2249
+ return new BorrowOrderMaxBorrowRateExceeded(logs)
2250
+ case 6137:
2251
+ return new BorrowOrderMinDebtTermInsufficient(logs)
2252
+ case 6138:
2253
+ return new BorrowOrderFillTimeLimitExceeded(logs)
2254
+ case 6139:
2255
+ return new ReserveDebtMaturityReached(logs)
2256
+ case 6140:
2257
+ return new NonUpdatableOrderConfiguration(logs)
2258
+ case 6141:
2259
+ return new BorrowOrderExecutionDisabled(logs)
2260
+ case 6142:
2261
+ return new DebtReachedReserveDebtTerm(logs)
2262
+ case 6143:
2263
+ return new ExpectationNotMet(logs)
2264
+ case 6144:
2265
+ return new WithdrawTicketIssuanceDisabled(logs)
2266
+ case 6145:
2267
+ return new WithdrawTicketRedemptionDisabled(logs)
2268
+ case 6146:
2269
+ return new WithdrawTicketStillValid(logs)
2270
+ case 6147:
2271
+ return new WithdrawTicketRequiresFullRedemption(logs)
2272
+ case 6148:
2273
+ return new UserTokenBalanceMismatch(logs)
2274
+ case 6149:
2275
+ return new WithdrawQueuedLiquidityValueTooSmall(logs)
2276
+ case 6150:
2277
+ return new InvalidTokenAccountState(logs)
2278
+ case 6151:
2279
+ return new WithdrawTicketInvalid(logs)
2280
+ case 6152:
2281
+ return new InvalidWithdrawTicketProgressCallbackConfig(logs)
2282
+ case 6153:
2283
+ return new WithdrawTicketProgressCallbackAccountsMissing(logs)
1951
2284
  }
1952
2285
 
1953
2286
  return null
@@ -0,0 +1,120 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import {
3
+ Address,
4
+ isSome,
5
+ AccountMeta,
6
+ AccountSignerMeta,
7
+ Instruction,
8
+ Option,
9
+ TransactionSigner,
10
+ } from "@solana/kit"
11
+ /* eslint-enable @typescript-eslint/no-unused-vars */
12
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
13
+ import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
14
+ import { borshAddress } from "../utils" // eslint-disable-line @typescript-eslint/no-unused-vars
15
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
16
+ import { PROGRAM_ID } from "../programId"
17
+
18
+ export const DISCRIMINATOR = Buffer.from([134, 113, 160, 207, 90, 75, 213, 219])
19
+
20
+ export interface EnqueueToWithdrawArgs {
21
+ collateralAmount: BN
22
+ progressCallbackType: types.ProgressCallbackTypeKind
23
+ }
24
+
25
+ export interface EnqueueToWithdrawAccounts {
26
+ /** The depositor holding ctokens. */
27
+ owner: TransactionSigner
28
+ lendingMarket: Address
29
+ /** The market's authority, needed to initialize the [Self::owner_queued_collateral_vault]. */
30
+ lendingMarketAuthority: Address
31
+ reserve: Address
32
+ /** The source of collateral to be enqueued. */
33
+ userSourceCollateralTa: Address
34
+ /**
35
+ * The account to which the liquidity should be finally transferred later (to be recorded in
36
+ * the ticket).
37
+ */
38
+ userDestinationLiquidityTa: Address
39
+ reserveLiquidityMint: Address
40
+ reserveCollateralMint: Address
41
+ /**
42
+ * The collateral's program - needed for invoking the transfer to the vault *and* (implicitly)
43
+ * for handling the `init_if_needed`.
44
+ */
45
+ collateralTokenProgram: Address
46
+ /** The new account to be initialized with the issued ticket's data. */
47
+ withdrawTicket: Address
48
+ /**
49
+ * The per-owner "this reserve's queued collateral" vault (in which the collateral will be
50
+ * locked).
51
+ */
52
+ ownerQueuedCollateralVault: Address
53
+ /** The System program - needed only for `init` / `init_if_needed` of the accounts above. */
54
+ systemProgram: Address
55
+ /**
56
+ * The first one out of maximum 2 custom accounts that may be required if the optional "ticket
57
+ * progress callback" is configured for this ticket.
58
+ *
59
+ * The expected custom accounts are validated based on the `progress_callback_type` instruction
60
+ * argument. The currently supported ones are:
61
+ * - for [ProgressCallbackType::None] no custom accounts are expected (this is the default
62
+ * behavior, when the instruction data is zeroed or absent).
63
+ * - for [ProgressCallbackType::KlendQueueAccountingHandlerOnKvault], only the `_0` custom
64
+ * account is required:
65
+ * - the `_0` custom account must represent the `VaultState` which disinvests from the
66
+ * reserve (readonly; needed to be later passed as an input to the Kvault's handler);
67
+ * - the `_1` custom account is ignored;
68
+ * - the `owner` account (i.e. the signer) must be a Kvault-owned PDA base authority
69
+ * associated with the vault indicated by `_0` (needed to prove that Kvault is CPI'ing this
70
+ * handler).
71
+ */
72
+ progressCallbackCustomAccount0: Option<Address>
73
+ /** The second possible account (see the `progress_callback_custom_account_0` above). */
74
+ progressCallbackCustomAccount1: Option<Address>
75
+ }
76
+
77
+ export const layout = borsh.struct([
78
+ borsh.u64("collateralAmount"),
79
+ types.ProgressCallbackType.layout("progressCallbackType"),
80
+ ])
81
+
82
+ export function enqueueToWithdraw(
83
+ args: EnqueueToWithdrawArgs,
84
+ accounts: EnqueueToWithdrawAccounts,
85
+ remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
86
+ programAddress: Address = PROGRAM_ID
87
+ ) {
88
+ const keys: Array<AccountMeta | AccountSignerMeta> = [
89
+ { address: accounts.owner.address, role: 3, signer: accounts.owner },
90
+ { address: accounts.lendingMarket, role: 0 },
91
+ { address: accounts.lendingMarketAuthority, role: 0 },
92
+ { address: accounts.reserve, role: 1 },
93
+ { address: accounts.userSourceCollateralTa, role: 1 },
94
+ { address: accounts.userDestinationLiquidityTa, role: 0 },
95
+ { address: accounts.reserveLiquidityMint, role: 0 },
96
+ { address: accounts.reserveCollateralMint, role: 0 },
97
+ { address: accounts.collateralTokenProgram, role: 0 },
98
+ { address: accounts.withdrawTicket, role: 1 },
99
+ { address: accounts.ownerQueuedCollateralVault, role: 1 },
100
+ { address: accounts.systemProgram, role: 0 },
101
+ isSome(accounts.progressCallbackCustomAccount0)
102
+ ? { address: accounts.progressCallbackCustomAccount0.value, role: 0 }
103
+ : { address: programAddress, role: 0 },
104
+ isSome(accounts.progressCallbackCustomAccount1)
105
+ ? { address: accounts.progressCallbackCustomAccount1.value, role: 0 }
106
+ : { address: programAddress, role: 0 },
107
+ ...remainingAccounts,
108
+ ]
109
+ const buffer = Buffer.alloc(1000)
110
+ const len = layout.encode(
111
+ {
112
+ collateralAmount: args.collateralAmount,
113
+ progressCallbackType: args.progressCallbackType.toEncodable(),
114
+ },
115
+ buffer
116
+ )
117
+ const data = Buffer.concat([DISCRIMINATOR, buffer]).slice(0, 8 + len)
118
+ const ix: Instruction = { accounts: keys, programAddress, data }
119
+ return ix
120
+ }
@@ -0,0 +1,96 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import {
3
+ Address,
4
+ isSome,
5
+ AccountMeta,
6
+ AccountSignerMeta,
7
+ Instruction,
8
+ Option,
9
+ TransactionSigner,
10
+ } from "@solana/kit"
11
+ /* eslint-enable @typescript-eslint/no-unused-vars */
12
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
13
+ import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
14
+ import { borshAddress } from "../utils" // eslint-disable-line @typescript-eslint/no-unused-vars
15
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
16
+ import { PROGRAM_ID } from "../programId"
17
+
18
+ export const DISCRIMINATOR = Buffer.from([102, 4, 167, 76, 131, 170, 93, 19])
19
+
20
+ export interface FillBorrowOrderAccounts {
21
+ borrowAccounts: {
22
+ payer: TransactionSigner
23
+ /** The obligation with a [BorrowOrder]. */
24
+ obligation: Address
25
+ /** The [Self::obligation]'s market - needed for borrowing-related configuration. */
26
+ lendingMarket: Address
27
+ /** The [Self::lending_market]'s authority, needed to transfer the newly-borrowed funds out of the [Self::reserve_source_liquidity]. */
28
+ lendingMarketAuthority: Address
29
+ /** The reserve to borrow from. Its mint must match the asset requested by the [BorrowOrder::debt_liquidity_mint]. */
30
+ borrowReserve: Address
31
+ /** The mint of [Self::borrow_reserve] - needed to execute the transfer. */
32
+ borrowReserveLiquidityMint: Address
33
+ /** The vault of [Self::borrow_reserve], from which the funds are transferred. */
34
+ reserveSourceLiquidity: Address
35
+ /** The fee vault of [Self::borrow_reserve], to which the fees are transferred. */
36
+ borrowReserveLiquidityFeeReceiver: Address
37
+ /** The destination token account that should receive the newly borrowed funds. It must match [BorrowOrder::filled_debt_destination], owner and mint. **Warning:** An altered destination account will prevent an order from being filled. */
38
+ userDestinationLiquidity: Address
39
+ /** The referrer's account, for accumulating fees - needed if the [Obligation::has_referrer]. */
40
+ referrerTokenState: Option<Address>
41
+ /** The token program of [Self::borrow_reserve] - needed to execute the transfer. */
42
+ tokenProgram: Address
43
+ }
44
+ farmsAccounts: {
45
+ obligationFarmUserState: Option<Address>
46
+ reserveFarmState: Option<Address>
47
+ }
48
+ farmsProgram: Address
49
+ eventAuthority: Address
50
+ program: Address
51
+ }
52
+
53
+ export function fillBorrowOrder(
54
+ accounts: FillBorrowOrderAccounts,
55
+ remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
56
+ programAddress: Address = PROGRAM_ID
57
+ ) {
58
+ const keys: Array<AccountMeta | AccountSignerMeta> = [
59
+ {
60
+ address: accounts.borrowAccounts.payer.address,
61
+ role: 2,
62
+ signer: accounts.borrowAccounts.payer,
63
+ },
64
+ { address: accounts.borrowAccounts.obligation, role: 1 },
65
+ { address: accounts.borrowAccounts.lendingMarket, role: 0 },
66
+ { address: accounts.borrowAccounts.lendingMarketAuthority, role: 0 },
67
+ { address: accounts.borrowAccounts.borrowReserve, role: 1 },
68
+ { address: accounts.borrowAccounts.borrowReserveLiquidityMint, role: 0 },
69
+ { address: accounts.borrowAccounts.reserveSourceLiquidity, role: 1 },
70
+ {
71
+ address: accounts.borrowAccounts.borrowReserveLiquidityFeeReceiver,
72
+ role: 1,
73
+ },
74
+ { address: accounts.borrowAccounts.userDestinationLiquidity, role: 1 },
75
+ isSome(accounts.borrowAccounts.referrerTokenState)
76
+ ? { address: accounts.borrowAccounts.referrerTokenState.value, role: 1 }
77
+ : { address: programAddress, role: 0 },
78
+ { address: accounts.borrowAccounts.tokenProgram, role: 0 },
79
+ isSome(accounts.farmsAccounts.obligationFarmUserState)
80
+ ? {
81
+ address: accounts.farmsAccounts.obligationFarmUserState.value,
82
+ role: 1,
83
+ }
84
+ : { address: programAddress, role: 0 },
85
+ isSome(accounts.farmsAccounts.reserveFarmState)
86
+ ? { address: accounts.farmsAccounts.reserveFarmState.value, role: 1 }
87
+ : { address: programAddress, role: 0 },
88
+ { address: accounts.farmsProgram, role: 0 },
89
+ { address: accounts.eventAuthority, role: 0 },
90
+ { address: accounts.program, role: 0 },
91
+ ...remainingAccounts,
92
+ ]
93
+ const data = DISCRIMINATOR
94
+ const ix: Instruction = { accounts: keys, programAddress, data }
95
+ return ix
96
+ }
@@ -19,7 +19,6 @@ export const DISCRIMINATOR = Buffer.from([130, 80, 38, 153, 80, 212, 182, 253])
19
19
 
20
20
  export interface IdlMissingTypesArgs {
21
21
  reserveFarmKind: types.ReserveFarmKindKind
22
- assetTier: types.AssetTierKind
23
22
  feeCalculation: types.FeeCalculationKind
24
23
  reserveStatus: types.ReserveStatusKind
25
24
  updateConfigMode: types.UpdateConfigModeKind
@@ -36,7 +35,6 @@ export interface IdlMissingTypesAccounts {
36
35
 
37
36
  export const layout = borsh.struct([
38
37
  types.ReserveFarmKind.layout("reserveFarmKind"),
39
- types.AssetTier.layout("assetTier"),
40
38
  types.FeeCalculation.layout("feeCalculation"),
41
39
  types.ReserveStatus.layout("reserveStatus"),
42
40
  types.UpdateConfigMode.layout("updateConfigMode"),
@@ -61,7 +59,6 @@ export function idlMissingTypes(
61
59
  const len = layout.encode(
62
60
  {
63
61
  reserveFarmKind: args.reserveFarmKind.toEncodable(),
64
- assetTier: args.assetTier.toEncodable(),
65
62
  feeCalculation: args.feeCalculation.toEncodable(),
66
63
  reserveStatus: args.reserveStatus.toEncodable(),
67
64
  updateConfigMode: args.updateConfigMode.toEncodable(),
@@ -190,6 +190,25 @@ export type {
190
190
  SetObligationOrderArgs,
191
191
  SetObligationOrderAccounts,
192
192
  } from "./setObligationOrder"
193
+ export { setBorrowOrder } from "./setBorrowOrder"
194
+ export type {
195
+ SetBorrowOrderArgs,
196
+ SetBorrowOrderAccounts,
197
+ } from "./setBorrowOrder"
198
+ export { fillBorrowOrder } from "./fillBorrowOrder"
199
+ export type { FillBorrowOrderAccounts } from "./fillBorrowOrder"
200
+ export { enqueueToWithdraw } from "./enqueueToWithdraw"
201
+ export type {
202
+ EnqueueToWithdrawArgs,
203
+ EnqueueToWithdrawAccounts,
204
+ } from "./enqueueToWithdraw"
205
+ export { withdrawQueuedLiquidity } from "./withdrawQueuedLiquidity"
206
+ export type { WithdrawQueuedLiquidityAccounts } from "./withdrawQueuedLiquidity"
207
+ export { recoverInvalidTicketCollateral } from "./recoverInvalidTicketCollateral"
208
+ export type {
209
+ RecoverInvalidTicketCollateralArgs,
210
+ RecoverInvalidTicketCollateralAccounts,
211
+ } from "./recoverInvalidTicketCollateral"
193
212
  export { initGlobalConfig } from "./initGlobalConfig"
194
213
  export type { InitGlobalConfigAccounts } from "./initGlobalConfig"
195
214
  export { updateGlobalConfig } from "./updateGlobalConfig"