@kamino-finance/klend-sdk 7.1.2 → 7.1.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/dist/@codegen/klend/accounts/LendingMarket.d.ts +144 -3
  2. package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
  3. package/dist/@codegen/klend/accounts/LendingMarket.js +105 -3
  4. package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
  5. package/dist/@codegen/klend/accounts/Obligation.d.ts +30 -15
  6. package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
  7. package/dist/@codegen/klend/accounts/Obligation.js +31 -21
  8. package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
  9. package/dist/@codegen/klend/accounts/PoolState.d.ts +53 -0
  10. package/dist/@codegen/klend/accounts/PoolState.d.ts.map +1 -0
  11. package/dist/@codegen/klend/accounts/PoolState.js +167 -0
  12. package/dist/@codegen/klend/accounts/PoolState.js.map +1 -0
  13. package/dist/@codegen/klend/accounts/Reserve.d.ts +6 -0
  14. package/dist/@codegen/klend/accounts/Reserve.d.ts.map +1 -1
  15. package/dist/@codegen/klend/accounts/Reserve.js +9 -2
  16. package/dist/@codegen/klend/accounts/Reserve.js.map +1 -1
  17. package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts +41 -0
  18. package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts.map +1 -0
  19. package/dist/@codegen/klend/accounts/UnstakeTicket.js +143 -0
  20. package/dist/@codegen/klend/accounts/UnstakeTicket.js.map +1 -0
  21. package/dist/@codegen/klend/accounts/UserState.d.ts +0 -75
  22. package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
  23. package/dist/@codegen/klend/accounts/UserState.js +0 -25
  24. package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
  25. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +132 -0
  26. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +1 -0
  27. package/dist/@codegen/klend/accounts/WithdrawTicket.js +191 -0
  28. package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +1 -0
  29. package/dist/@codegen/klend/accounts/index.d.ts +6 -0
  30. package/dist/@codegen/klend/accounts/index.d.ts.map +1 -1
  31. package/dist/@codegen/klend/accounts/index.js +7 -1
  32. package/dist/@codegen/klend/accounts/index.js.map +1 -1
  33. package/dist/@codegen/klend/errors/custom.d.ts +226 -2
  34. package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
  35. package/dist/@codegen/klend/errors/custom.js +396 -3
  36. package/dist/@codegen/klend/errors/custom.js.map +1 -1
  37. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +39 -0
  38. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +1 -0
  39. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +67 -0
  40. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +1 -0
  41. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +36 -0
  42. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +1 -0
  43. package/dist/@codegen/klend/instructions/fillBorrowOrder.js +49 -0
  44. package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +1 -0
  45. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +1 -2
  46. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
  47. package/dist/@codegen/klend/instructions/idlMissingTypes.js +6 -2
  48. package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
  49. package/dist/@codegen/klend/instructions/index.d.ts +16 -0
  50. package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
  51. package/dist/@codegen/klend/instructions/index.js +18 -1
  52. package/dist/@codegen/klend/instructions/index.js.map +1 -1
  53. package/dist/@codegen/klend/instructions/initReserve.d.ts +1 -1
  54. package/dist/@codegen/klend/instructions/initReserve.d.ts.map +1 -1
  55. package/dist/@codegen/klend/instructions/initReserve.js +1 -5
  56. package/dist/@codegen/klend/instructions/initReserve.js.map +1 -1
  57. package/dist/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.js +1 -1
  58. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +47 -0
  59. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +1 -0
  60. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +66 -0
  61. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +1 -0
  62. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +31 -0
  63. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +1 -0
  64. package/dist/@codegen/klend/instructions/setBorrowOrder.js +64 -0
  65. package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +1 -0
  66. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts +53 -0
  67. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts.map +1 -0
  68. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js +190 -0
  69. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js.map +1 -0
  70. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts +70 -0
  71. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts.map +1 -0
  72. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js +261 -0
  73. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js.map +1 -0
  74. package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts +1 -1
  75. package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts.map +1 -1
  76. package/dist/@codegen/klend/instructions/updateGlobalConfig.js +1 -0
  77. package/dist/@codegen/klend/instructions/updateGlobalConfig.js.map +1 -1
  78. package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts +1 -1
  79. package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts.map +1 -1
  80. package/dist/@codegen/klend/instructions/updateReserveConfig.js +1 -0
  81. package/dist/@codegen/klend/instructions/updateReserveConfig.js.map +1 -1
  82. package/dist/@codegen/klend/instructions/withdrawObligationCollateral.js +1 -1
  83. package/dist/@codegen/klend/instructions/withdrawObligationCollateralV2.js +1 -1
  84. package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts +41 -0
  85. package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts.map +1 -0
  86. package/dist/@codegen/klend/instructions/withdrawObligationUsol.js +135 -0
  87. package/dist/@codegen/klend/instructions/withdrawObligationUsol.js.map +1 -0
  88. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +51 -0
  89. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +1 -0
  90. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +28 -0
  91. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +1 -0
  92. package/dist/@codegen/klend/types/BorrowOrder.d.ts +192 -0
  93. package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +1 -0
  94. package/dist/@codegen/klend/types/BorrowOrder.js +194 -0
  95. package/dist/@codegen/klend/types/BorrowOrder.js.map +1 -0
  96. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +39 -0
  97. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +1 -0
  98. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +100 -0
  99. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +1 -0
  100. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +35 -5
  101. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
  102. package/dist/@codegen/klend/types/ObligationLiquidity.js +17 -7
  103. package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
  104. package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
  105. package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
  106. package/dist/@codegen/klend/types/ReserveConfig.d.ts +141 -29
  107. package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
  108. package/dist/@codegen/klend/types/ReserveConfig.js +89 -25
  109. package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
  110. package/dist/@codegen/klend/types/ReserveFees.d.ts +8 -8
  111. package/dist/@codegen/klend/types/ReserveFees.d.ts.map +1 -1
  112. package/dist/@codegen/klend/types/ReserveFees.js +8 -8
  113. package/dist/@codegen/klend/types/ReserveFees.js.map +1 -1
  114. package/dist/@codegen/klend/types/ReserveLiquidity.d.ts +26 -8
  115. package/dist/@codegen/klend/types/ReserveLiquidity.d.ts.map +1 -1
  116. package/dist/@codegen/klend/types/ReserveLiquidity.js +14 -8
  117. package/dist/@codegen/klend/types/ReserveLiquidity.js.map +1 -1
  118. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +92 -14
  119. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
  120. package/dist/@codegen/klend/types/UpdateConfigMode.js +168 -23
  121. package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
  122. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +130 -0
  123. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
  124. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +241 -1
  125. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
  126. package/dist/@codegen/klend/types/WithdrawQueue.d.ts +64 -0
  127. package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +1 -0
  128. package/dist/@codegen/klend/types/WithdrawQueue.js +104 -0
  129. package/dist/@codegen/klend/types/WithdrawQueue.js.map +1 -0
  130. package/dist/@codegen/klend/types/index.d.ts +10 -8
  131. package/dist/@codegen/klend/types/index.d.ts.map +1 -1
  132. package/dist/@codegen/klend/types/index.js +7 -3
  133. package/dist/@codegen/klend/types/index.js.map +1 -1
  134. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +9 -4
  135. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
  136. package/dist/@codegen/klend/zero_padding/ObligationZP.js +22 -13
  137. package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
  138. package/dist/classes/action.d.ts +30 -3
  139. package/dist/classes/action.d.ts.map +1 -1
  140. package/dist/classes/action.js +364 -10
  141. package/dist/classes/action.js.map +1 -1
  142. package/dist/classes/manager.d.ts.map +1 -1
  143. package/dist/classes/manager.js +10 -0
  144. package/dist/classes/manager.js.map +1 -1
  145. package/dist/classes/market.d.ts +6 -2
  146. package/dist/classes/market.d.ts.map +1 -1
  147. package/dist/classes/market.js +26 -6
  148. package/dist/classes/market.js.map +1 -1
  149. package/dist/classes/obligation.js +1 -1
  150. package/dist/classes/obligation.js.map +1 -1
  151. package/dist/classes/reserve.d.ts.map +1 -1
  152. package/dist/classes/reserve.js +13 -7
  153. package/dist/classes/reserve.js.map +1 -1
  154. package/dist/classes/unstakingPool.d.ts +20 -3
  155. package/dist/classes/unstakingPool.d.ts.map +1 -1
  156. package/dist/classes/unstakingPool.js +62 -8
  157. package/dist/classes/unstakingPool.js.map +1 -1
  158. package/dist/idl/klend.json +2125 -232
  159. package/dist/lending_operations/index.d.ts +1 -0
  160. package/dist/lending_operations/index.d.ts.map +1 -1
  161. package/dist/lending_operations/index.js +1 -0
  162. package/dist/lending_operations/index.js.map +1 -1
  163. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  164. package/dist/lending_operations/repay_with_collateral_operations.js +0 -2
  165. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  166. package/dist/lending_operations/swap_collateral_operations.js +0 -1
  167. package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
  168. package/dist/lending_operations/unstake_lst_collateral.d.ts +12 -0
  169. package/dist/lending_operations/unstake_lst_collateral.d.ts.map +1 -0
  170. package/dist/lending_operations/unstake_lst_collateral.js +104 -0
  171. package/dist/lending_operations/unstake_lst_collateral.js.map +1 -0
  172. package/dist/leverage/calcs.d.ts +2 -27
  173. package/dist/leverage/calcs.d.ts.map +1 -1
  174. package/dist/leverage/calcs.js +6 -136
  175. package/dist/leverage/calcs.js.map +1 -1
  176. package/dist/leverage/operations.d.ts +8 -9
  177. package/dist/leverage/operations.d.ts.map +1 -1
  178. package/dist/leverage/operations.js +72 -228
  179. package/dist/leverage/operations.js.map +1 -1
  180. package/dist/leverage/types.d.ts +0 -19
  181. package/dist/leverage/types.d.ts.map +1 -1
  182. package/dist/leverage/utils.d.ts +2 -19
  183. package/dist/leverage/utils.d.ts.map +1 -1
  184. package/dist/leverage/utils.js +0 -164
  185. package/dist/leverage/utils.js.map +1 -1
  186. package/dist/manager/client_kamino_manager.js +11 -8
  187. package/dist/manager/client_kamino_manager.js.map +1 -1
  188. package/dist/utils/managerTypes.d.ts.map +1 -1
  189. package/dist/utils/managerTypes.js +9 -4
  190. package/dist/utils/managerTypes.js.map +1 -1
  191. package/dist/utils/seeds.d.ts +10 -14
  192. package/dist/utils/seeds.d.ts.map +1 -1
  193. package/dist/utils/seeds.js +25 -22
  194. package/dist/utils/seeds.js.map +1 -1
  195. package/package.json +2 -2
  196. package/src/@codegen/klend/accounts/LendingMarket.ts +210 -5
  197. package/src/@codegen/klend/accounts/Obligation.ts +53 -31
  198. package/src/@codegen/klend/accounts/PoolState.ts +192 -0
  199. package/src/@codegen/klend/accounts/Reserve.ts +13 -2
  200. package/src/@codegen/klend/accounts/UnstakeTicket.ts +160 -0
  201. package/src/@codegen/klend/accounts/UserState.ts +0 -75
  202. package/src/@codegen/klend/accounts/WithdrawTicket.ts +256 -0
  203. package/src/@codegen/klend/accounts/index.ts +6 -0
  204. package/src/@codegen/klend/errors/custom.ts +427 -2
  205. package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +89 -0
  206. package/src/@codegen/klend/instructions/fillBorrowOrder.ts +96 -0
  207. package/src/@codegen/klend/instructions/idlMissingTypes.ts +7 -4
  208. package/src/@codegen/klend/instructions/index.ts +34 -0
  209. package/src/@codegen/klend/instructions/initReserve.ts +2 -6
  210. package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.ts +1 -1
  211. package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +96 -0
  212. package/src/@codegen/klend/instructions/setBorrowOrder.ts +77 -0
  213. package/src/@codegen/klend/instructions/unstakeLstCollateralEnd.ts +251 -0
  214. package/src/@codegen/klend/instructions/unstakeLstCollateralStart.ts +353 -0
  215. package/src/@codegen/klend/instructions/updateGlobalConfig.ts +2 -1
  216. package/src/@codegen/klend/instructions/updateReserveConfig.ts +2 -1
  217. package/src/@codegen/klend/instructions/withdrawObligationCollateral.ts +1 -1
  218. package/src/@codegen/klend/instructions/withdrawObligationCollateralV2.ts +1 -1
  219. package/src/@codegen/klend/instructions/withdrawObligationUsol.ts +168 -0
  220. package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +92 -0
  221. package/src/@codegen/klend/types/BorrowOrder.ts +267 -0
  222. package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +87 -0
  223. package/src/@codegen/klend/types/ObligationLiquidity.ts +39 -9
  224. package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
  225. package/src/@codegen/klend/types/ReserveConfig.ts +171 -39
  226. package/src/@codegen/klend/types/ReserveFees.ts +12 -12
  227. package/src/@codegen/klend/types/ReserveLiquidity.ts +30 -12
  228. package/src/@codegen/klend/types/UpdateConfigMode.ts +206 -26
  229. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +300 -0
  230. package/src/@codegen/klend/types/WithdrawQueue.ts +117 -0
  231. package/src/@codegen/klend/types/index.ts +45 -16
  232. package/src/@codegen/klend/zero_padding/ObligationZP.ts +22 -13
  233. package/src/classes/action.ts +577 -8
  234. package/src/classes/manager.ts +11 -0
  235. package/src/classes/market.ts +36 -5
  236. package/src/classes/obligation.ts +1 -1
  237. package/src/classes/reserve.ts +13 -8
  238. package/src/classes/unstakingPool.ts +83 -6
  239. package/src/idl/klend.json +2126 -233
  240. package/src/lending_operations/index.ts +1 -0
  241. package/src/lending_operations/repay_with_collateral_operations.ts +0 -2
  242. package/src/lending_operations/swap_collateral_operations.ts +0 -1
  243. package/src/lending_operations/unstake_lst_collateral.ts +174 -0
  244. package/src/leverage/calcs.ts +2 -201
  245. package/src/leverage/operations.ts +45 -377
  246. package/src/leverage/types.ts +0 -20
  247. package/src/leverage/utils.ts +3 -320
  248. package/src/manager/client_kamino_manager.ts +11 -8
  249. package/src/utils/managerTypes.ts +9 -4
  250. package/src/utils/seeds.ts +28 -26
  251. package/dist/@codegen/klend/types/AssetTier.d.ts +0 -45
  252. package/dist/@codegen/klend/types/AssetTier.d.ts.map +0 -1
  253. package/dist/@codegen/klend/types/AssetTier.js +0 -132
  254. package/dist/@codegen/klend/types/AssetTier.js.map +0 -1
  255. package/src/@codegen/klend/types/AssetTier.ts +0 -119
@@ -0,0 +1,117 @@
1
+ import { address, Address } from "@solana/kit" // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import * as borsh from "@coral-xyz/borsh"
5
+ import { borshAddress } from "../utils"
6
+
7
+ export interface WithdrawQueueFields {
8
+ /** The part of [ReserveLiquidity::total_available_amount] locked for ticketed withdrawals. */
9
+ queuedCollateralAmount: BN
10
+ /**
11
+ * The sequence number of the next ticket to be issued when enqueueing to withdraw.
12
+ * Note: it is also a number of tickets issued so far.
13
+ */
14
+ nextIssuedTicketSequenceNumber: BN
15
+ /**
16
+ * The sequence number of the next ticket to be used for actually transferring the withdrawn
17
+ * liquidity (assuming it is available in the reserve).
18
+ * Note: it is also a number of fully-consumed tickets so far.
19
+ */
20
+ nextWithdrawableTicketSequenceNumber: BN
21
+ }
22
+
23
+ export interface WithdrawQueueJSON {
24
+ /** The part of [ReserveLiquidity::total_available_amount] locked for ticketed withdrawals. */
25
+ queuedCollateralAmount: string
26
+ /**
27
+ * The sequence number of the next ticket to be issued when enqueueing to withdraw.
28
+ * Note: it is also a number of tickets issued so far.
29
+ */
30
+ nextIssuedTicketSequenceNumber: string
31
+ /**
32
+ * The sequence number of the next ticket to be used for actually transferring the withdrawn
33
+ * liquidity (assuming it is available in the reserve).
34
+ * Note: it is also a number of fully-consumed tickets so far.
35
+ */
36
+ nextWithdrawableTicketSequenceNumber: string
37
+ }
38
+
39
+ /** A tracker of ticket-based withdrawals. */
40
+ export class WithdrawQueue {
41
+ /** The part of [ReserveLiquidity::total_available_amount] locked for ticketed withdrawals. */
42
+ readonly queuedCollateralAmount: BN
43
+ /**
44
+ * The sequence number of the next ticket to be issued when enqueueing to withdraw.
45
+ * Note: it is also a number of tickets issued so far.
46
+ */
47
+ readonly nextIssuedTicketSequenceNumber: BN
48
+ /**
49
+ * The sequence number of the next ticket to be used for actually transferring the withdrawn
50
+ * liquidity (assuming it is available in the reserve).
51
+ * Note: it is also a number of fully-consumed tickets so far.
52
+ */
53
+ readonly nextWithdrawableTicketSequenceNumber: BN
54
+
55
+ constructor(fields: WithdrawQueueFields) {
56
+ this.queuedCollateralAmount = fields.queuedCollateralAmount
57
+ this.nextIssuedTicketSequenceNumber = fields.nextIssuedTicketSequenceNumber
58
+ this.nextWithdrawableTicketSequenceNumber =
59
+ fields.nextWithdrawableTicketSequenceNumber
60
+ }
61
+
62
+ static layout(property?: string) {
63
+ return borsh.struct(
64
+ [
65
+ borsh.u64("queuedCollateralAmount"),
66
+ borsh.u64("nextIssuedTicketSequenceNumber"),
67
+ borsh.u64("nextWithdrawableTicketSequenceNumber"),
68
+ ],
69
+ property
70
+ )
71
+ }
72
+
73
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
+ static fromDecoded(obj: any) {
75
+ return new WithdrawQueue({
76
+ queuedCollateralAmount: obj.queuedCollateralAmount,
77
+ nextIssuedTicketSequenceNumber: obj.nextIssuedTicketSequenceNumber,
78
+ nextWithdrawableTicketSequenceNumber:
79
+ obj.nextWithdrawableTicketSequenceNumber,
80
+ })
81
+ }
82
+
83
+ static toEncodable(fields: WithdrawQueueFields) {
84
+ return {
85
+ queuedCollateralAmount: fields.queuedCollateralAmount,
86
+ nextIssuedTicketSequenceNumber: fields.nextIssuedTicketSequenceNumber,
87
+ nextWithdrawableTicketSequenceNumber:
88
+ fields.nextWithdrawableTicketSequenceNumber,
89
+ }
90
+ }
91
+
92
+ toJSON(): WithdrawQueueJSON {
93
+ return {
94
+ queuedCollateralAmount: this.queuedCollateralAmount.toString(),
95
+ nextIssuedTicketSequenceNumber:
96
+ this.nextIssuedTicketSequenceNumber.toString(),
97
+ nextWithdrawableTicketSequenceNumber:
98
+ this.nextWithdrawableTicketSequenceNumber.toString(),
99
+ }
100
+ }
101
+
102
+ static fromJSON(obj: WithdrawQueueJSON): WithdrawQueue {
103
+ return new WithdrawQueue({
104
+ queuedCollateralAmount: new BN(obj.queuedCollateralAmount),
105
+ nextIssuedTicketSequenceNumber: new BN(
106
+ obj.nextIssuedTicketSequenceNumber
107
+ ),
108
+ nextWithdrawableTicketSequenceNumber: new BN(
109
+ obj.nextWithdrawableTicketSequenceNumber
110
+ ),
111
+ })
112
+ }
113
+
114
+ toEncodable() {
115
+ return WithdrawQueue.toEncodable(this)
116
+ }
117
+ }
@@ -2,11 +2,15 @@ import * as UpdateConfigMode from "./UpdateConfigMode"
2
2
  import * as UpdateLendingMarketConfigValue from "./UpdateLendingMarketConfigValue"
3
3
  import * as UpdateLendingMarketMode from "./UpdateLendingMarketMode"
4
4
  import * as UpdateGlobalConfigMode from "./UpdateGlobalConfigMode"
5
- import * as AssetTier from "./AssetTier"
6
5
  import * as FeeCalculation from "./FeeCalculation"
7
6
  import * as ReserveFarmKind from "./ReserveFarmKind"
8
7
  import * as ReserveStatus from "./ReserveStatus"
9
8
 
9
+ export { BorrowOrderConfigArgs } from "./BorrowOrderConfigArgs"
10
+ export type {
11
+ BorrowOrderConfigArgsFields,
12
+ BorrowOrderConfigArgsJSON,
13
+ } from "./BorrowOrderConfigArgs"
10
14
  export { UpdateConfigMode }
11
15
 
12
16
  export type UpdateConfigModeKind =
@@ -15,7 +19,7 @@ export type UpdateConfigModeKind =
15
19
  | UpdateConfigMode.UpdateLiquidationThresholdPct
16
20
  | UpdateConfigMode.UpdateProtocolLiquidationFee
17
21
  | UpdateConfigMode.UpdateProtocolTakeRate
18
- | UpdateConfigMode.UpdateFeesBorrowFee
22
+ | UpdateConfigMode.UpdateFeesOriginationFee
19
23
  | UpdateConfigMode.UpdateFeesFlashLoanFee
20
24
  | UpdateConfigMode.DeprecatedUpdateFeesReferralFeeBps
21
25
  | UpdateConfigMode.UpdateDepositLimit
@@ -43,7 +47,7 @@ export type UpdateConfigModeKind =
43
47
  | UpdateConfigMode.UpdateMinLiquidationBonusBps
44
48
  | UpdateConfigMode.UpdateDeleveragingMarginCallPeriod
45
49
  | UpdateConfigMode.UpdateBorrowFactor
46
- | UpdateConfigMode.UpdateAssetTier
50
+ | UpdateConfigMode.DeprecatedUpdateAssetTier
47
51
  | UpdateConfigMode.UpdateElevationGroup
48
52
  | UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay
49
53
  | UpdateConfigMode.DeprecatedUpdateMultiplierSideBoost
@@ -60,13 +64,19 @@ export type UpdateConfigModeKind =
60
64
  | UpdateConfigMode.UpdateAutodeleverageEnabled
61
65
  | UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay
62
66
  | UpdateConfigMode.UpdateProtocolOrderExecutionFee
67
+ | UpdateConfigMode.UpdateDebtMaturityTimestamp
68
+ | UpdateConfigMode.UpdateDebtTermSeconds
69
+ | UpdateConfigMode.UpdateProposerAuthorityLock
70
+ | UpdateConfigMode.UpdateMinDeleveragingBonusBps
71
+ | UpdateConfigMode.UpdateCanUnstakeLstCollateral
72
+ | UpdateConfigMode.UpdateLtvLamportsMargin
63
73
  export type UpdateConfigModeJSON =
64
74
  | UpdateConfigMode.UpdateLoanToValuePctJSON
65
75
  | UpdateConfigMode.UpdateMaxLiquidationBonusBpsJSON
66
76
  | UpdateConfigMode.UpdateLiquidationThresholdPctJSON
67
77
  | UpdateConfigMode.UpdateProtocolLiquidationFeeJSON
68
78
  | UpdateConfigMode.UpdateProtocolTakeRateJSON
69
- | UpdateConfigMode.UpdateFeesBorrowFeeJSON
79
+ | UpdateConfigMode.UpdateFeesOriginationFeeJSON
70
80
  | UpdateConfigMode.UpdateFeesFlashLoanFeeJSON
71
81
  | UpdateConfigMode.DeprecatedUpdateFeesReferralFeeBpsJSON
72
82
  | UpdateConfigMode.UpdateDepositLimitJSON
@@ -94,7 +104,7 @@ export type UpdateConfigModeJSON =
94
104
  | UpdateConfigMode.UpdateMinLiquidationBonusBpsJSON
95
105
  | UpdateConfigMode.UpdateDeleveragingMarginCallPeriodJSON
96
106
  | UpdateConfigMode.UpdateBorrowFactorJSON
97
- | UpdateConfigMode.UpdateAssetTierJSON
107
+ | UpdateConfigMode.DeprecatedUpdateAssetTierJSON
98
108
  | UpdateConfigMode.UpdateElevationGroupJSON
99
109
  | UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDayJSON
100
110
  | UpdateConfigMode.DeprecatedUpdateMultiplierSideBoostJSON
@@ -111,6 +121,12 @@ export type UpdateConfigModeJSON =
111
121
  | UpdateConfigMode.UpdateAutodeleverageEnabledJSON
112
122
  | UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDayJSON
113
123
  | UpdateConfigMode.UpdateProtocolOrderExecutionFeeJSON
124
+ | UpdateConfigMode.UpdateDebtMaturityTimestampJSON
125
+ | UpdateConfigMode.UpdateDebtTermSecondsJSON
126
+ | UpdateConfigMode.UpdateProposerAuthorityLockJSON
127
+ | UpdateConfigMode.UpdateMinDeleveragingBonusBpsJSON
128
+ | UpdateConfigMode.UpdateCanUnstakeLstCollateralJSON
129
+ | UpdateConfigMode.UpdateLtvLamportsMarginJSON
114
130
 
115
131
  export { UpdateLendingMarketConfigValue }
116
132
 
@@ -163,6 +179,16 @@ export type UpdateLendingMarketModeKind =
163
179
  | UpdateLendingMarketMode.UpdateObligationOrderExecutionEnabled
164
180
  | UpdateLendingMarketMode.UpdateImmutableFlag
165
181
  | UpdateLendingMarketMode.UpdateObligationOrderCreationEnabled
182
+ | UpdateLendingMarketMode.UpdateMatureReserveDebtLiquidationEnabled
183
+ | UpdateLendingMarketMode.UpdateObligationBorrowDebtTermLiquidationEnabled
184
+ | UpdateLendingMarketMode.UpdateProposerAuthority
185
+ | UpdateLendingMarketMode.UpdateBorrowOrderCreationEnabled
186
+ | UpdateLendingMarketMode.UpdateBorrowOrderExecutionEnabled
187
+ | UpdateLendingMarketMode.UpdatePriceTriggeredLiquidationDisabled
188
+ | UpdateLendingMarketMode.UpdateWithdrawTicketIssuanceEnabled
189
+ | UpdateLendingMarketMode.UpdateWithdrawTicketRedemptionEnabled
190
+ | UpdateLendingMarketMode.UpdateMinWithdrawQueuedLiquidityValue
191
+ | UpdateLendingMarketMode.UpdateUnstakingPoolState
166
192
  export type UpdateLendingMarketModeJSON =
167
193
  | UpdateLendingMarketMode.UpdateOwnerJSON
168
194
  | UpdateLendingMarketMode.UpdateEmergencyModeJSON
@@ -189,6 +215,16 @@ export type UpdateLendingMarketModeJSON =
189
215
  | UpdateLendingMarketMode.UpdateObligationOrderExecutionEnabledJSON
190
216
  | UpdateLendingMarketMode.UpdateImmutableFlagJSON
191
217
  | UpdateLendingMarketMode.UpdateObligationOrderCreationEnabledJSON
218
+ | UpdateLendingMarketMode.UpdateMatureReserveDebtLiquidationEnabledJSON
219
+ | UpdateLendingMarketMode.UpdateObligationBorrowDebtTermLiquidationEnabledJSON
220
+ | UpdateLendingMarketMode.UpdateProposerAuthorityJSON
221
+ | UpdateLendingMarketMode.UpdateBorrowOrderCreationEnabledJSON
222
+ | UpdateLendingMarketMode.UpdateBorrowOrderExecutionEnabledJSON
223
+ | UpdateLendingMarketMode.UpdatePriceTriggeredLiquidationDisabledJSON
224
+ | UpdateLendingMarketMode.UpdateWithdrawTicketIssuanceEnabledJSON
225
+ | UpdateLendingMarketMode.UpdateWithdrawTicketRedemptionEnabledJSON
226
+ | UpdateLendingMarketMode.UpdateMinWithdrawQueuedLiquidityValueJSON
227
+ | UpdateLendingMarketMode.UpdateUnstakingPoolStateJSON
192
228
 
193
229
  export { UpdateGlobalConfigMode }
194
230
 
@@ -203,6 +239,8 @@ export { LastUpdate } from "./LastUpdate"
203
239
  export type { LastUpdateFields, LastUpdateJSON } from "./LastUpdate"
204
240
  export { ElevationGroup } from "./ElevationGroup"
205
241
  export type { ElevationGroupFields, ElevationGroupJSON } from "./ElevationGroup"
242
+ export { BorrowOrder } from "./BorrowOrder"
243
+ export type { BorrowOrderFields, BorrowOrderJSON } from "./BorrowOrder"
206
244
  export { InitObligationArgs } from "./InitObligationArgs"
207
245
  export type {
208
246
  InitObligationArgsFields,
@@ -223,17 +261,6 @@ export type {
223
261
  ObligationOrderFields,
224
262
  ObligationOrderJSON,
225
263
  } from "./ObligationOrder"
226
- export { AssetTier }
227
-
228
- export type AssetTierKind =
229
- | AssetTier.Regular
230
- | AssetTier.IsolatedCollateral
231
- | AssetTier.IsolatedDebt
232
- export type AssetTierJSON =
233
- | AssetTier.RegularJSON
234
- | AssetTier.IsolatedCollateralJSON
235
- | AssetTier.IsolatedDebtJSON
236
-
237
264
  export { BigFractionBytes } from "./BigFractionBytes"
238
265
  export type {
239
266
  BigFractionBytesFields,
@@ -283,6 +310,8 @@ export type ReserveStatusJSON =
283
310
  | ReserveStatus.ObsoleteJSON
284
311
  | ReserveStatus.HiddenJSON
285
312
 
313
+ export { WithdrawQueue } from "./WithdrawQueue"
314
+ export type { WithdrawQueueFields, WithdrawQueueJSON } from "./WithdrawQueue"
286
315
  export { WithdrawalCaps } from "./WithdrawalCaps"
287
316
  export type { WithdrawalCapsFields, WithdrawalCapsJSON } from "./WithdrawalCaps"
288
317
  export { PriceHeuristic } from "./PriceHeuristic"
@@ -43,9 +43,7 @@ export class ObligationZP {
43
43
  /** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */
44
44
  readonly unhealthyBorrowValueSf: BN
45
45
  /** The asset tier of the deposits */
46
- readonly depositsAssetTiers: Array<number>
47
- /** The asset tier of the borrows */
48
- readonly borrowsAssetTiers: Array<number>
46
+ readonly paddingDeprecatedAssetTiers: Array<number>
49
47
  /** The elevation group id the obligation opted into. */
50
48
  readonly elevationGroup: number
51
49
  /** The number of obsolete reserves the obligation has a deposit in */
@@ -76,7 +74,14 @@ export class ObligationZP {
76
74
  * Owner-defined, liquidator-executed orders applicable to this obligation.
77
75
  * Typical use-cases would be a stop-loss and a take-profit (possibly co-existing).
78
76
  */
79
- readonly orders: Array<types.ObligationOrder>
77
+ readonly obligationOrders: Array<types.ObligationOrder>
78
+ /**
79
+ * Owner-defined, permissionlessly-executed borrow order applicable to this obligation.
80
+ * Non-zeroed only on a newly-initialized fixed-rate, fixed-term obligation.
81
+ */
82
+ readonly borrowOrder: types.BorrowOrder
83
+ /** The unstaking ticket pubkey for LST position closing */
84
+ readonly unstakeTicket: Address
80
85
  readonly padding3: Array<BN> = new Array(0)
81
86
 
82
87
  static readonly layout = borsh.struct<ObligationZP>([
@@ -92,8 +97,7 @@ export class ObligationZP {
92
97
  borsh.u128("borrowedAssetsMarketValueSf"),
93
98
  borsh.u128("allowedBorrowValueSf"),
94
99
  borsh.u128("unhealthyBorrowValueSf"),
95
- borsh.array(borsh.u8(), 8, "depositsAssetTiers"),
96
- borsh.array(borsh.u8(), 5, "borrowsAssetTiers"),
100
+ borsh.array(borsh.u8(), 13, "paddingDeprecatedAssetTiers"),
97
101
  borsh.u8("elevationGroup"),
98
102
  borsh.u8("numOfObsoleteDepositReserves"),
99
103
  borsh.u8("hasDebt"),
@@ -105,7 +109,10 @@ export class ObligationZP {
105
109
  borsh.array(borsh.u8(), 4, "reserved"),
106
110
  borsh.u64("highestBorrowFactorPct"),
107
111
  borsh.u64("autodeleverageMarginCallStartedTimestamp"),
108
- borsh.array(types.ObligationOrder.layout(), 2, "orders"),
112
+ borsh.array(types.ObligationOrder.layout(), 2, "obligationOrders"),
113
+ types.BorrowOrder.layout("borrowOrder"),
114
+ borshAddress("unstakeTicket"),
115
+ borsh.array(borsh.u64(), 69, "padding3"),
109
116
  ])
110
117
 
111
118
  constructor(fields: ObligationFields) {
@@ -127,8 +134,7 @@ export class ObligationZP {
127
134
  this.borrowedAssetsMarketValueSf = fields.borrowedAssetsMarketValueSf
128
135
  this.allowedBorrowValueSf = fields.allowedBorrowValueSf
129
136
  this.unhealthyBorrowValueSf = fields.unhealthyBorrowValueSf
130
- this.depositsAssetTiers = fields.depositsAssetTiers
131
- this.borrowsAssetTiers = fields.borrowsAssetTiers
137
+ this.paddingDeprecatedAssetTiers = fields.paddingDeprecatedAssetTiers
132
138
  this.elevationGroup = fields.elevationGroup
133
139
  this.numOfObsoleteDepositReserves = fields.numOfObsoleteDepositReserves
134
140
  this.hasDebt = fields.hasDebt
@@ -141,9 +147,11 @@ export class ObligationZP {
141
147
  this.highestBorrowFactorPct = fields.highestBorrowFactorPct
142
148
  this.autodeleverageMarginCallStartedTimestamp =
143
149
  fields.autodeleverageMarginCallStartedTimestamp
144
- this.orders = fields.orders.map(
150
+ this.obligationOrders = fields.obligationOrders.map(
145
151
  (item) => new types.ObligationOrder({ ...item })
146
152
  )
153
+ this.borrowOrder = new types.BorrowOrder({ ...fields.borrowOrder })
154
+ this.unstakeTicket = fields.unstakeTicket
147
155
  this.padding3 = new Array<BN>(0);
148
156
  }
149
157
 
@@ -212,8 +220,7 @@ export class ObligationZP {
212
220
  borrowedAssetsMarketValueSf: dec.borrowedAssetsMarketValueSf,
213
221
  allowedBorrowValueSf: dec.allowedBorrowValueSf,
214
222
  unhealthyBorrowValueSf: dec.unhealthyBorrowValueSf,
215
- depositsAssetTiers: dec.depositsAssetTiers,
216
- borrowsAssetTiers: dec.borrowsAssetTiers,
223
+ paddingDeprecatedAssetTiers: dec.paddingDeprecatedAssetTiers,
217
224
  elevationGroup: dec.elevationGroup,
218
225
  numOfObsoleteDepositReserves: dec.numOfObsoleteDepositReserves,
219
226
  hasDebt: dec.hasDebt,
@@ -226,11 +233,13 @@ export class ObligationZP {
226
233
  highestBorrowFactorPct: dec.highestBorrowFactorPct,
227
234
  autodeleverageMarginCallStartedTimestamp:
228
235
  dec.autodeleverageMarginCallStartedTimestamp,
229
- orders: dec.orders.map(
236
+ obligationOrders: dec.obligationOrders.map(
230
237
  (
231
238
  item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */
232
239
  ) => types.ObligationOrder.fromDecoded(item)
233
240
  ),
241
+ borrowOrder: dec.borrowOrder,
242
+ unstakeTicket: dec.unstakeTicket,
234
243
  padding3: [],
235
244
  })
236
245
  }