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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/@codegen/klend/accounts/LendingMarket.d.ts +3 -144
  2. package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
  3. package/dist/@codegen/klend/accounts/LendingMarket.js +3 -105
  4. package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
  5. package/dist/@codegen/klend/accounts/Obligation.d.ts +15 -30
  6. package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
  7. package/dist/@codegen/klend/accounts/Obligation.js +21 -31
  8. package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
  9. package/dist/@codegen/klend/accounts/Reserve.d.ts +0 -6
  10. package/dist/@codegen/klend/accounts/Reserve.d.ts.map +1 -1
  11. package/dist/@codegen/klend/accounts/Reserve.js +2 -9
  12. package/dist/@codegen/klend/accounts/Reserve.js.map +1 -1
  13. package/dist/@codegen/klend/accounts/UserState.d.ts +75 -0
  14. package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
  15. package/dist/@codegen/klend/accounts/UserState.js +25 -0
  16. package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
  17. package/dist/@codegen/klend/accounts/index.d.ts +0 -6
  18. package/dist/@codegen/klend/accounts/index.d.ts.map +1 -1
  19. package/dist/@codegen/klend/accounts/index.js +1 -7
  20. package/dist/@codegen/klend/accounts/index.js.map +1 -1
  21. package/dist/@codegen/klend/errors/custom.d.ts +2 -226
  22. package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
  23. package/dist/@codegen/klend/errors/custom.js +3 -396
  24. package/dist/@codegen/klend/errors/custom.js.map +1 -1
  25. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +2 -1
  26. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
  27. package/dist/@codegen/klend/instructions/idlMissingTypes.js +2 -6
  28. package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
  29. package/dist/@codegen/klend/instructions/index.d.ts +0 -16
  30. package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
  31. package/dist/@codegen/klend/instructions/index.js +1 -18
  32. package/dist/@codegen/klend/instructions/index.js.map +1 -1
  33. package/dist/@codegen/klend/instructions/initReserve.d.ts +1 -1
  34. package/dist/@codegen/klend/instructions/initReserve.d.ts.map +1 -1
  35. package/dist/@codegen/klend/instructions/initReserve.js +5 -1
  36. package/dist/@codegen/klend/instructions/initReserve.js.map +1 -1
  37. package/dist/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.js +1 -1
  38. package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts +1 -1
  39. package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts.map +1 -1
  40. package/dist/@codegen/klend/instructions/updateGlobalConfig.js +0 -1
  41. package/dist/@codegen/klend/instructions/updateGlobalConfig.js.map +1 -1
  42. package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts +1 -1
  43. package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts.map +1 -1
  44. package/dist/@codegen/klend/instructions/updateReserveConfig.js +0 -1
  45. package/dist/@codegen/klend/instructions/updateReserveConfig.js.map +1 -1
  46. package/dist/@codegen/klend/instructions/withdrawObligationCollateral.js +1 -1
  47. package/dist/@codegen/klend/instructions/withdrawObligationCollateralV2.js +1 -1
  48. package/dist/@codegen/klend/types/AssetTier.d.ts +45 -0
  49. package/dist/@codegen/klend/types/AssetTier.d.ts.map +1 -0
  50. package/dist/@codegen/klend/types/AssetTier.js +132 -0
  51. package/dist/@codegen/klend/types/AssetTier.js.map +1 -0
  52. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +5 -35
  53. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
  54. package/dist/@codegen/klend/types/ObligationLiquidity.js +7 -17
  55. package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
  56. package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
  57. package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
  58. package/dist/@codegen/klend/types/ReserveConfig.d.ts +29 -141
  59. package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
  60. package/dist/@codegen/klend/types/ReserveConfig.js +25 -89
  61. package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
  62. package/dist/@codegen/klend/types/ReserveFees.d.ts +8 -8
  63. package/dist/@codegen/klend/types/ReserveFees.d.ts.map +1 -1
  64. package/dist/@codegen/klend/types/ReserveFees.js +8 -8
  65. package/dist/@codegen/klend/types/ReserveFees.js.map +1 -1
  66. package/dist/@codegen/klend/types/ReserveLiquidity.d.ts +8 -26
  67. package/dist/@codegen/klend/types/ReserveLiquidity.d.ts.map +1 -1
  68. package/dist/@codegen/klend/types/ReserveLiquidity.js +8 -14
  69. package/dist/@codegen/klend/types/ReserveLiquidity.js.map +1 -1
  70. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +14 -92
  71. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
  72. package/dist/@codegen/klend/types/UpdateConfigMode.js +23 -168
  73. package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
  74. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +0 -130
  75. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
  76. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +1 -241
  77. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
  78. package/dist/@codegen/klend/types/index.d.ts +8 -10
  79. package/dist/@codegen/klend/types/index.d.ts.map +1 -1
  80. package/dist/@codegen/klend/types/index.js +3 -7
  81. package/dist/@codegen/klend/types/index.js.map +1 -1
  82. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +4 -9
  83. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
  84. package/dist/@codegen/klend/zero_padding/ObligationZP.js +13 -22
  85. package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
  86. package/dist/classes/action.d.ts +3 -30
  87. package/dist/classes/action.d.ts.map +1 -1
  88. package/dist/classes/action.js +10 -364
  89. package/dist/classes/action.js.map +1 -1
  90. package/dist/classes/manager.d.ts +3 -2
  91. package/dist/classes/manager.d.ts.map +1 -1
  92. package/dist/classes/manager.js +3 -12
  93. package/dist/classes/manager.js.map +1 -1
  94. package/dist/classes/market.d.ts +2 -6
  95. package/dist/classes/market.d.ts.map +1 -1
  96. package/dist/classes/market.js +6 -26
  97. package/dist/classes/market.js.map +1 -1
  98. package/dist/classes/obligation.js +1 -1
  99. package/dist/classes/obligation.js.map +1 -1
  100. package/dist/classes/reserve.d.ts.map +1 -1
  101. package/dist/classes/reserve.js +7 -13
  102. package/dist/classes/reserve.js.map +1 -1
  103. package/dist/classes/unstakingPool.d.ts +3 -20
  104. package/dist/classes/unstakingPool.d.ts.map +1 -1
  105. package/dist/classes/unstakingPool.js +8 -62
  106. package/dist/classes/unstakingPool.js.map +1 -1
  107. package/dist/classes/vault.d.ts +2 -1
  108. package/dist/classes/vault.d.ts.map +1 -1
  109. package/dist/classes/vault.js +59 -38
  110. package/dist/classes/vault.js.map +1 -1
  111. package/dist/idl/klend.json +293 -2186
  112. package/dist/lending_operations/index.d.ts +0 -1
  113. package/dist/lending_operations/index.d.ts.map +1 -1
  114. package/dist/lending_operations/index.js +0 -1
  115. package/dist/lending_operations/index.js.map +1 -1
  116. package/dist/manager/client_kamino_manager.js +9 -12
  117. package/dist/manager/client_kamino_manager.js.map +1 -1
  118. package/dist/utils/ata.d.ts +10 -1
  119. package/dist/utils/ata.d.ts.map +1 -1
  120. package/dist/utils/ata.js +47 -0
  121. package/dist/utils/ata.js.map +1 -1
  122. package/dist/utils/managerTypes.d.ts.map +1 -1
  123. package/dist/utils/managerTypes.js +4 -9
  124. package/dist/utils/managerTypes.js.map +1 -1
  125. package/dist/utils/seeds.d.ts +14 -10
  126. package/dist/utils/seeds.d.ts.map +1 -1
  127. package/dist/utils/seeds.js +22 -25
  128. package/dist/utils/seeds.js.map +1 -1
  129. package/package.json +1 -1
  130. package/src/@codegen/klend/accounts/LendingMarket.ts +5 -210
  131. package/src/@codegen/klend/accounts/Obligation.ts +31 -53
  132. package/src/@codegen/klend/accounts/Reserve.ts +2 -13
  133. package/src/@codegen/klend/accounts/UserState.ts +75 -0
  134. package/src/@codegen/klend/accounts/index.ts +0 -6
  135. package/src/@codegen/klend/errors/custom.ts +2 -427
  136. package/src/@codegen/klend/instructions/idlMissingTypes.ts +4 -7
  137. package/src/@codegen/klend/instructions/index.ts +0 -34
  138. package/src/@codegen/klend/instructions/initReserve.ts +6 -2
  139. package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.ts +1 -1
  140. package/src/@codegen/klend/instructions/updateGlobalConfig.ts +1 -2
  141. package/src/@codegen/klend/instructions/updateReserveConfig.ts +1 -2
  142. package/src/@codegen/klend/instructions/withdrawObligationCollateral.ts +1 -1
  143. package/src/@codegen/klend/instructions/withdrawObligationCollateralV2.ts +1 -1
  144. package/src/@codegen/klend/types/AssetTier.ts +119 -0
  145. package/src/@codegen/klend/types/ObligationLiquidity.ts +9 -39
  146. package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
  147. package/src/@codegen/klend/types/ReserveConfig.ts +39 -171
  148. package/src/@codegen/klend/types/ReserveFees.ts +12 -12
  149. package/src/@codegen/klend/types/ReserveLiquidity.ts +12 -30
  150. package/src/@codegen/klend/types/UpdateConfigMode.ts +26 -206
  151. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +0 -300
  152. package/src/@codegen/klend/types/index.ts +16 -45
  153. package/src/@codegen/klend/zero_padding/ObligationZP.ts +13 -22
  154. package/src/classes/action.ts +8 -577
  155. package/src/classes/manager.ts +7 -13
  156. package/src/classes/market.ts +5 -36
  157. package/src/classes/obligation.ts +1 -1
  158. package/src/classes/reserve.ts +8 -13
  159. package/src/classes/unstakingPool.ts +6 -83
  160. package/src/classes/vault.ts +75 -54
  161. package/src/idl/klend.json +294 -2187
  162. package/src/lending_operations/index.ts +0 -1
  163. package/src/manager/client_kamino_manager.ts +9 -13
  164. package/src/utils/ata.ts +79 -0
  165. package/src/utils/managerTypes.ts +4 -9
  166. package/src/utils/seeds.ts +26 -28
  167. package/dist/@codegen/klend/accounts/PoolState.d.ts +0 -53
  168. package/dist/@codegen/klend/accounts/PoolState.d.ts.map +0 -1
  169. package/dist/@codegen/klend/accounts/PoolState.js +0 -167
  170. package/dist/@codegen/klend/accounts/PoolState.js.map +0 -1
  171. package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts +0 -41
  172. package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts.map +0 -1
  173. package/dist/@codegen/klend/accounts/UnstakeTicket.js +0 -143
  174. package/dist/@codegen/klend/accounts/UnstakeTicket.js.map +0 -1
  175. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +0 -132
  176. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +0 -1
  177. package/dist/@codegen/klend/accounts/WithdrawTicket.js +0 -191
  178. package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +0 -1
  179. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +0 -39
  180. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +0 -1
  181. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +0 -67
  182. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +0 -1
  183. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +0 -36
  184. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +0 -1
  185. package/dist/@codegen/klend/instructions/fillBorrowOrder.js +0 -49
  186. package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +0 -1
  187. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +0 -47
  188. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +0 -1
  189. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +0 -66
  190. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +0 -1
  191. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +0 -31
  192. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +0 -1
  193. package/dist/@codegen/klend/instructions/setBorrowOrder.js +0 -64
  194. package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +0 -1
  195. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts +0 -53
  196. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts.map +0 -1
  197. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js +0 -190
  198. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js.map +0 -1
  199. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts +0 -70
  200. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts.map +0 -1
  201. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js +0 -261
  202. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js.map +0 -1
  203. package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts +0 -41
  204. package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts.map +0 -1
  205. package/dist/@codegen/klend/instructions/withdrawObligationUsol.js +0 -135
  206. package/dist/@codegen/klend/instructions/withdrawObligationUsol.js.map +0 -1
  207. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +0 -51
  208. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +0 -1
  209. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +0 -28
  210. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +0 -1
  211. package/dist/@codegen/klend/types/BorrowOrder.d.ts +0 -192
  212. package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +0 -1
  213. package/dist/@codegen/klend/types/BorrowOrder.js +0 -194
  214. package/dist/@codegen/klend/types/BorrowOrder.js.map +0 -1
  215. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +0 -39
  216. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +0 -1
  217. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +0 -100
  218. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +0 -1
  219. package/dist/@codegen/klend/types/WithdrawQueue.d.ts +0 -64
  220. package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +0 -1
  221. package/dist/@codegen/klend/types/WithdrawQueue.js +0 -104
  222. package/dist/@codegen/klend/types/WithdrawQueue.js.map +0 -1
  223. package/dist/lending_operations/unstake_lst_collateral.d.ts +0 -12
  224. package/dist/lending_operations/unstake_lst_collateral.d.ts.map +0 -1
  225. package/dist/lending_operations/unstake_lst_collateral.js +0 -104
  226. package/dist/lending_operations/unstake_lst_collateral.js.map +0 -1
  227. package/src/@codegen/klend/accounts/PoolState.ts +0 -192
  228. package/src/@codegen/klend/accounts/UnstakeTicket.ts +0 -160
  229. package/src/@codegen/klend/accounts/WithdrawTicket.ts +0 -256
  230. package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +0 -89
  231. package/src/@codegen/klend/instructions/fillBorrowOrder.ts +0 -96
  232. package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +0 -96
  233. package/src/@codegen/klend/instructions/setBorrowOrder.ts +0 -77
  234. package/src/@codegen/klend/instructions/unstakeLstCollateralEnd.ts +0 -251
  235. package/src/@codegen/klend/instructions/unstakeLstCollateralStart.ts +0 -353
  236. package/src/@codegen/klend/instructions/withdrawObligationUsol.ts +0 -168
  237. package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +0 -92
  238. package/src/@codegen/klend/types/BorrowOrder.ts +0 -267
  239. package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +0 -87
  240. package/src/@codegen/klend/types/WithdrawQueue.ts +0 -117
  241. package/src/lending_operations/unstake_lst_collateral.ts +0 -174
@@ -1,104 +0,0 @@
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.WithdrawQueue = void 0;
40
- const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
41
- const borsh = __importStar(require("@coral-xyz/borsh"));
42
- /** A tracker of ticket-based withdrawals. */
43
- class WithdrawQueue {
44
- /** The part of [ReserveLiquidity::total_available_amount] locked for ticketed withdrawals. */
45
- queuedCollateralAmount;
46
- /**
47
- * The sequence number of the next ticket to be issued when enqueueing to withdraw.
48
- * Note: it is also a number of tickets issued so far.
49
- */
50
- nextIssuedTicketSequenceNumber;
51
- /**
52
- * The sequence number of the next ticket to be used for actually transferring the withdrawn
53
- * liquidity (assuming it is available in the reserve).
54
- * Note: it is also a number of fully-consumed tickets so far.
55
- */
56
- nextWithdrawableTicketSequenceNumber;
57
- constructor(fields) {
58
- this.queuedCollateralAmount = fields.queuedCollateralAmount;
59
- this.nextIssuedTicketSequenceNumber = fields.nextIssuedTicketSequenceNumber;
60
- this.nextWithdrawableTicketSequenceNumber =
61
- fields.nextWithdrawableTicketSequenceNumber;
62
- }
63
- static layout(property) {
64
- return borsh.struct([
65
- borsh.u64("queuedCollateralAmount"),
66
- borsh.u64("nextIssuedTicketSequenceNumber"),
67
- borsh.u64("nextWithdrawableTicketSequenceNumber"),
68
- ], property);
69
- }
70
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
- static fromDecoded(obj) {
72
- return new WithdrawQueue({
73
- queuedCollateralAmount: obj.queuedCollateralAmount,
74
- nextIssuedTicketSequenceNumber: obj.nextIssuedTicketSequenceNumber,
75
- nextWithdrawableTicketSequenceNumber: obj.nextWithdrawableTicketSequenceNumber,
76
- });
77
- }
78
- static toEncodable(fields) {
79
- return {
80
- queuedCollateralAmount: fields.queuedCollateralAmount,
81
- nextIssuedTicketSequenceNumber: fields.nextIssuedTicketSequenceNumber,
82
- nextWithdrawableTicketSequenceNumber: fields.nextWithdrawableTicketSequenceNumber,
83
- };
84
- }
85
- toJSON() {
86
- return {
87
- queuedCollateralAmount: this.queuedCollateralAmount.toString(),
88
- nextIssuedTicketSequenceNumber: this.nextIssuedTicketSequenceNumber.toString(),
89
- nextWithdrawableTicketSequenceNumber: this.nextWithdrawableTicketSequenceNumber.toString(),
90
- };
91
- }
92
- static fromJSON(obj) {
93
- return new WithdrawQueue({
94
- queuedCollateralAmount: new bn_js_1.default(obj.queuedCollateralAmount),
95
- nextIssuedTicketSequenceNumber: new bn_js_1.default(obj.nextIssuedTicketSequenceNumber),
96
- nextWithdrawableTicketSequenceNumber: new bn_js_1.default(obj.nextWithdrawableTicketSequenceNumber),
97
- });
98
- }
99
- toEncodable() {
100
- return WithdrawQueue.toEncodable(this);
101
- }
102
- }
103
- exports.WithdrawQueue = WithdrawQueue;
104
- //# sourceMappingURL=WithdrawQueue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WithdrawQueue.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/types/WithdrawQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAsB,CAAC,wDAAwD;AAE/E,wDAAyC;AAmCzC,6CAA6C;AAC7C,MAAa,aAAa;IACxB,8FAA8F;IACrF,sBAAsB,CAAI;IACnC;;;OAGG;IACM,8BAA8B,CAAI;IAC3C;;;;OAIG;IACM,oCAAoC,CAAI;IAEjD,YAAY,MAA2B;QACrC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAA;QAC3D,IAAI,CAAC,8BAA8B,GAAG,MAAM,CAAC,8BAA8B,CAAA;QAC3E,IAAI,CAAC,oCAAoC;YACvC,MAAM,CAAC,oCAAoC,CAAA;IAC/C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,QAAiB;QAC7B,OAAO,KAAK,CAAC,MAAM,CACjB;YACE,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC;SAClD,EACD,QAAQ,CACT,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,WAAW,CAAC,GAAQ;QACzB,OAAO,IAAI,aAAa,CAAC;YACvB,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;YAClD,8BAA8B,EAAE,GAAG,CAAC,8BAA8B;YAClE,oCAAoC,EAClC,GAAG,CAAC,oCAAoC;SAC3C,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAA2B;QAC5C,OAAO;YACL,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,8BAA8B,EAAE,MAAM,CAAC,8BAA8B;YACrE,oCAAoC,EAClC,MAAM,CAAC,oCAAoC;SAC9C,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE;YAC9D,8BAA8B,EAC5B,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE;YAChD,oCAAoC,EAClC,IAAI,CAAC,oCAAoC,CAAC,QAAQ,EAAE;SACvD,CAAA;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAsB;QACpC,OAAO,IAAI,aAAa,CAAC;YACvB,sBAAsB,EAAE,IAAI,eAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAC1D,8BAA8B,EAAE,IAAI,eAAE,CACpC,GAAG,CAAC,8BAA8B,CACnC;YACD,oCAAoC,EAAE,IAAI,eAAE,CAC1C,GAAG,CAAC,oCAAoC,CACzC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,WAAW;QACT,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;CACF;AA7ED,sCA6EC"}
@@ -1,12 +0,0 @@
1
- import { KaminoMarket, KaminoObligation, KaminoReserve } from '../classes';
2
- import { ScopePriceRefreshConfig } from '../utils';
3
- import Decimal from 'decimal.js';
4
- import { Address, IInstruction, Option, Slot, TransactionSigner } from '@solana/kit';
5
- export declare function buildUnstakeLstCollateralStartIxs(market: KaminoMarket, obligation: KaminoObligation, owner: TransactionSigner, lstMint: Address, referrer: Option<Address>, currentSlot: Slot, budgetAndPriorityFeeIxs: IInstruction[] | undefined, scopeRefreshConfig: ScopePriceRefreshConfig | undefined): Promise<{
6
- instructions: IInstruction[];
7
- remainingSigners: TransactionSigner[];
8
- }>;
9
- export declare function getUnstakeLstCollateralApproximateInputs(market: KaminoMarket, debtReserve: KaminoReserve, lstReserve: KaminoReserve, obligation: KaminoObligation, currentSlot: Slot): {
10
- lstToConvert: Decimal;
11
- };
12
- //# sourceMappingURL=unstake_lst_collateral.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unstake_lst_collateral.d.ts","sourceRoot":"","sources":["../../src/lending_operations/unstake_lst_collateral.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAQ,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAK3F,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EACzB,WAAW,EAAE,IAAI,EACjB,uBAAuB,EAAE,YAAY,EAAE,GAAG,SAAS,EACnD,kBAAkB,EAAE,uBAAuB,GAAG,SAAS,GACtD,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAAC,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CA0FlF;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,aAAa,EAC1B,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,IAAI,GAChB;IACD,YAAY,EAAE,OAAO,CAAC;CACvB,CAyCA"}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildUnstakeLstCollateralStartIxs = buildUnstakeLstCollateralStartIxs;
7
- exports.getUnstakeLstCollateralApproximateInputs = getUnstakeLstCollateralApproximateInputs;
8
- const classes_1 = require("../classes");
9
- const leverage_1 = require("../leverage");
10
- const utils_1 = require("../utils");
11
- const decimal_js_1 = __importDefault(require("decimal.js"));
12
- const bn_js_1 = __importDefault(require("bn.js"));
13
- const kit_1 = require("@solana/kit");
14
- const LST_CONVERSION_MARGIN_BPS = new decimal_js_1.default(100);
15
- const FULL_BPS = new decimal_js_1.default(10_000);
16
- async function buildUnstakeLstCollateralStartIxs(market, obligation, owner, lstMint, referrer, currentSlot, budgetAndPriorityFeeIxs, scopeRefreshConfig) {
17
- // Get reserves based on obligation
18
- const usolMint = await market.getUsolPoolMint();
19
- const usolReserve = market.getReserveByMint(usolMint);
20
- const lstReserve = market.getReserveByMint(lstMint);
21
- const debtReserve = market.reserves.get(obligation.state.borrows[0].borrowReserve);
22
- if (!usolReserve) {
23
- throw new Error(`Cannot fetch usol reserve for mint ${usolMint}`);
24
- }
25
- if (!lstReserve) {
26
- throw new Error(`Cannot fetch lst reserve for mint ${obligation.state.deposits[0].depositReserve}`);
27
- }
28
- if (!debtReserve) {
29
- throw new Error(`Cannot fetch debt reserve for mint ${obligation.state.borrows[0].borrowReserve}`);
30
- }
31
- // 0. Compute sol to repay + lst to flash borrow + additional accounts
32
- const stakePool = await (0, classes_1.maybeGetStakedPoolByMint)(market.getRpc(), lstReserve.getLiquidityMint());
33
- if (!stakePool) {
34
- throw new Error(`Cannot fetch stake pool for mint ${lstReserve.getLiquidityMint()}`);
35
- }
36
- const { lstToConvert } = getUnstakeLstCollateralApproximateInputs(market, debtReserve, lstReserve, obligation, currentSlot);
37
- const [depositStakedSolRemainingAccounts, remainingSigners] = await (0, classes_1.getStandardPoolMintRemainingAccounts)(market.getRpc(), stakePool[0], stakePool[1], new bn_js_1.default(lstToConvert.toString()));
38
- // 1. Create atas & budget txns
39
- const budgetIxs = budgetAndPriorityFeeIxs || (0, utils_1.getComputeBudgetAndPriorityFeeIxs)(1_400_000);
40
- const atas = [
41
- { mint: usolReserve.getLiquidityMint(), tokenProgram: usolReserve.getLiquidityTokenProgram() },
42
- { mint: lstReserve.getLiquidityMint(), tokenProgram: lstReserve.getLiquidityTokenProgram() },
43
- ];
44
- const atasAndIxs = await (0, utils_1.createAtasIdempotent)(owner, atas);
45
- const [, { ata: lstAta }] = atasAndIxs;
46
- const scopeRefreshIx = await (0, leverage_1.getScopeRefreshIx)(market, lstReserve, debtReserve, obligation, scopeRefreshConfig);
47
- // 2. Flash borrow & repay the debt to repay amount needed
48
- const { flashBorrowIx, flashRepayIx } = (0, leverage_1.getFlashLoanInstructions)({
49
- borrowIxIndex: budgetIxs.length + atasAndIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
50
- userTransferAuthority: owner,
51
- lendingMarketAuthority: await market.getLendingMarketAuthority(),
52
- lendingMarketAddress: market.getAddress(),
53
- reserve: lstReserve,
54
- amountLamports: lstToConvert,
55
- destinationAta: lstAta,
56
- // TODO(referrals): once we support referrals, we will have to replace the placeholder args below:
57
- referrerAccount: (0, kit_1.none)(),
58
- referrerTokenState: (0, kit_1.none)(),
59
- programId: market.programId,
60
- });
61
- // 3. Repay using the flash borrowed funds & withdraw collateral to swap and pay the flash loan
62
- const unstakeLstCollateralStartAction = await classes_1.KaminoAction.buildUnstakeLstCollateralStartTxns(market, lstToConvert.toString(), usolReserve.getLiquidityMint(), lstReserve.getLiquidityMint(), owner, currentSlot, obligation, depositStakedSolRemainingAccounts, undefined, 0, false, undefined, referrer);
63
- const instructions = [
64
- ...scopeRefreshIx,
65
- ...budgetIxs,
66
- ...atasAndIxs.map((x) => x.createAtaIx),
67
- flashBorrowIx,
68
- ...classes_1.KaminoAction.actionToIxs(unstakeLstCollateralStartAction),
69
- flashRepayIx,
70
- ];
71
- return {
72
- instructions,
73
- remainingSigners,
74
- };
75
- }
76
- function getUnstakeLstCollateralApproximateInputs(market, debtReserve, lstReserve, obligation, currentSlot) {
77
- // Compute the interest rate / curve after 4 days (~2 epochs)
78
- const laterSlot = currentSlot + BigInt(utils_1.SLOTS_PER_DAY * 4);
79
- const borrow = obligation.state.borrows.find((borrow) => borrow.borrowReserve.toString() === debtReserve.address.toString());
80
- const lstDeposit = obligation.state.deposits.find((deposit) => deposit.depositReserve.toString() === lstReserve.address.toString());
81
- if (!borrow) {
82
- throw new Error(`Could not find borrow ${debtReserve.address.toString()} in obligation ${obligation.obligationAddress.toString()}`);
83
- }
84
- if (!lstDeposit) {
85
- throw new Error(`Could not find deposit ${lstReserve.address.toString()} in obligation ${obligation.obligationAddress.toString()}`);
86
- }
87
- const newInterestRate = obligation.estimateObligationInterestRate(market, debtReserve, borrow, laterSlot);
88
- const debtToRepay = new classes_1.Fraction(borrow.borrowedAmountSf).toDecimal().mul(newInterestRate);
89
- // To compute the staked sol to convert we convert the sol to repay
90
- // using the pool ratio, but we cap it at the total amount of deposited
91
- // staked sol in the obligation (converted from collateral -> liquidity)
92
- const lstPrice = lstReserve.getOracleMarketPrice();
93
- const debtPrice = debtReserve.getOracleMarketPrice();
94
- const equivalentLst = debtToRepay.mul(debtPrice).div(lstPrice);
95
- const equivalentLstWithMargin = equivalentLst.mul(FULL_BPS.add(LST_CONVERSION_MARGIN_BPS)).div(FULL_BPS);
96
- const newCollateralExchangeRate = debtReserve.getEstimatedCollateralExchangeRate(laterSlot, market.state.referralFeeBps);
97
- const lstCollateralAmount = new decimal_js_1.default(equivalentLstWithMargin.toString()).mul(newCollateralExchangeRate);
98
- const lstCollateralToConvert = decimal_js_1.default.min(new decimal_js_1.default(lstDeposit.depositedAmount.toString()), lstCollateralAmount);
99
- const lstToConvert = lstCollateralToConvert.div(newCollateralExchangeRate).ceil();
100
- return {
101
- lstToConvert,
102
- };
103
- }
104
- //# sourceMappingURL=unstake_lst_collateral.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unstake_lst_collateral.js","sourceRoot":"","sources":["../../src/lending_operations/unstake_lst_collateral.ts"],"names":[],"mappings":"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"}
@@ -1,192 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
- import {
3
- address,
4
- Address,
5
- fetchEncodedAccount,
6
- fetchEncodedAccounts,
7
- GetAccountInfoApi,
8
- GetMultipleAccountsApi,
9
- Rpc,
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 interface PoolStateFields {
19
- admin: Address
20
- pendingAdmin: Address
21
- basePoolAuthority: Address
22
- basePoolAuthorityBump: BN
23
- unstakingSolMint: Address
24
- wsolVault: Address
25
- actionAuthority: Address
26
- poolLookupTable: Address
27
- sharesIssued: BN
28
- wsolUnstaking: BN
29
- wsolInVault: BN
30
- padding: Array<BN>
31
- }
32
-
33
- export interface PoolStateJSON {
34
- admin: string
35
- pendingAdmin: string
36
- basePoolAuthority: string
37
- basePoolAuthorityBump: string
38
- unstakingSolMint: string
39
- wsolVault: string
40
- actionAuthority: string
41
- poolLookupTable: string
42
- sharesIssued: string
43
- wsolUnstaking: string
44
- wsolInVault: string
45
- padding: Array<string>
46
- }
47
-
48
- export class PoolState {
49
- readonly admin: Address
50
- readonly pendingAdmin: Address
51
- readonly basePoolAuthority: Address
52
- readonly basePoolAuthorityBump: BN
53
- readonly unstakingSolMint: Address
54
- readonly wsolVault: Address
55
- readonly actionAuthority: Address
56
- readonly poolLookupTable: Address
57
- readonly sharesIssued: BN
58
- readonly wsolUnstaking: BN
59
- readonly wsolInVault: BN
60
- readonly padding: Array<BN>
61
-
62
- static readonly discriminator = Buffer.from([
63
- 247, 237, 227, 245, 215, 195, 222, 70,
64
- ])
65
-
66
- static readonly layout = borsh.struct<PoolState>([
67
- borshAddress("admin"),
68
- borshAddress("pendingAdmin"),
69
- borshAddress("basePoolAuthority"),
70
- borsh.u64("basePoolAuthorityBump"),
71
- borshAddress("unstakingSolMint"),
72
- borshAddress("wsolVault"),
73
- borshAddress("actionAuthority"),
74
- borshAddress("poolLookupTable"),
75
- borsh.u64("sharesIssued"),
76
- borsh.u64("wsolUnstaking"),
77
- borsh.u64("wsolInVault"),
78
- borsh.array(borsh.u128(), 256, "padding"),
79
- ])
80
-
81
- constructor(fields: PoolStateFields) {
82
- this.admin = fields.admin
83
- this.pendingAdmin = fields.pendingAdmin
84
- this.basePoolAuthority = fields.basePoolAuthority
85
- this.basePoolAuthorityBump = fields.basePoolAuthorityBump
86
- this.unstakingSolMint = fields.unstakingSolMint
87
- this.wsolVault = fields.wsolVault
88
- this.actionAuthority = fields.actionAuthority
89
- this.poolLookupTable = fields.poolLookupTable
90
- this.sharesIssued = fields.sharesIssued
91
- this.wsolUnstaking = fields.wsolUnstaking
92
- this.wsolInVault = fields.wsolInVault
93
- this.padding = fields.padding
94
- }
95
-
96
- static async fetch(
97
- rpc: Rpc<GetAccountInfoApi>,
98
- address: Address,
99
- programId: Address = PROGRAM_ID
100
- ): Promise<PoolState | null> {
101
- const info = await fetchEncodedAccount(rpc, address)
102
-
103
- if (!info.exists) {
104
- return null
105
- }
106
- if (info.programAddress !== programId) {
107
- throw new Error(
108
- `PoolStateFields account ${address} belongs to wrong program ${info.programAddress}, expected ${programId}`
109
- )
110
- }
111
-
112
- return this.decode(Buffer.from(info.data))
113
- }
114
-
115
- static async fetchMultiple(
116
- rpc: Rpc<GetMultipleAccountsApi>,
117
- addresses: Address[],
118
- programId: Address = PROGRAM_ID
119
- ): Promise<Array<PoolState | null>> {
120
- const infos = await fetchEncodedAccounts(rpc, addresses)
121
-
122
- return infos.map((info) => {
123
- if (!info.exists) {
124
- return null
125
- }
126
- if (info.programAddress !== programId) {
127
- throw new Error(
128
- `PoolStateFields account ${info.address} belongs to wrong program ${info.programAddress}, expected ${programId}`
129
- )
130
- }
131
-
132
- return this.decode(Buffer.from(info.data))
133
- })
134
- }
135
-
136
- static decode(data: Buffer): PoolState {
137
- if (!data.slice(0, 8).equals(PoolState.discriminator)) {
138
- throw new Error("invalid account discriminator")
139
- }
140
-
141
- const dec = PoolState.layout.decode(data.slice(8))
142
-
143
- return new PoolState({
144
- admin: dec.admin,
145
- pendingAdmin: dec.pendingAdmin,
146
- basePoolAuthority: dec.basePoolAuthority,
147
- basePoolAuthorityBump: dec.basePoolAuthorityBump,
148
- unstakingSolMint: dec.unstakingSolMint,
149
- wsolVault: dec.wsolVault,
150
- actionAuthority: dec.actionAuthority,
151
- poolLookupTable: dec.poolLookupTable,
152
- sharesIssued: dec.sharesIssued,
153
- wsolUnstaking: dec.wsolUnstaking,
154
- wsolInVault: dec.wsolInVault,
155
- padding: dec.padding,
156
- })
157
- }
158
-
159
- toJSON(): PoolStateJSON {
160
- return {
161
- admin: this.admin,
162
- pendingAdmin: this.pendingAdmin,
163
- basePoolAuthority: this.basePoolAuthority,
164
- basePoolAuthorityBump: this.basePoolAuthorityBump.toString(),
165
- unstakingSolMint: this.unstakingSolMint,
166
- wsolVault: this.wsolVault,
167
- actionAuthority: this.actionAuthority,
168
- poolLookupTable: this.poolLookupTable,
169
- sharesIssued: this.sharesIssued.toString(),
170
- wsolUnstaking: this.wsolUnstaking.toString(),
171
- wsolInVault: this.wsolInVault.toString(),
172
- padding: this.padding.map((item) => item.toString()),
173
- }
174
- }
175
-
176
- static fromJSON(obj: PoolStateJSON): PoolState {
177
- return new PoolState({
178
- admin: address(obj.admin),
179
- pendingAdmin: address(obj.pendingAdmin),
180
- basePoolAuthority: address(obj.basePoolAuthority),
181
- basePoolAuthorityBump: new BN(obj.basePoolAuthorityBump),
182
- unstakingSolMint: address(obj.unstakingSolMint),
183
- wsolVault: address(obj.wsolVault),
184
- actionAuthority: address(obj.actionAuthority),
185
- poolLookupTable: address(obj.poolLookupTable),
186
- sharesIssued: new BN(obj.sharesIssued),
187
- wsolUnstaking: new BN(obj.wsolUnstaking),
188
- wsolInVault: new BN(obj.wsolInVault),
189
- padding: obj.padding.map((item) => new BN(item)),
190
- })
191
- }
192
- }
@@ -1,160 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
- import {
3
- address,
4
- Address,
5
- fetchEncodedAccount,
6
- fetchEncodedAccounts,
7
- GetAccountInfoApi,
8
- GetMultipleAccountsApi,
9
- Rpc,
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 interface UnstakeTicketFields {
19
- authority: Address
20
- poolState: Address
21
- obligationMetadata: Address
22
- initialUsol: BN
23
- remainingUsol: BN
24
- minimumEpochToBurn: BN
25
- padding0: Array<BN>
26
- padding: Array<BN>
27
- }
28
-
29
- export interface UnstakeTicketJSON {
30
- authority: string
31
- poolState: string
32
- obligationMetadata: string
33
- initialUsol: string
34
- remainingUsol: string
35
- minimumEpochToBurn: string
36
- padding0: Array<string>
37
- padding: Array<string>
38
- }
39
-
40
- export class UnstakeTicket {
41
- readonly authority: Address
42
- readonly poolState: Address
43
- readonly obligationMetadata: Address
44
- readonly initialUsol: BN
45
- readonly remainingUsol: BN
46
- readonly minimumEpochToBurn: BN
47
- readonly padding0: Array<BN>
48
- readonly padding: Array<BN>
49
-
50
- static readonly discriminator = Buffer.from([
51
- 131, 84, 209, 38, 145, 157, 181, 127,
52
- ])
53
-
54
- static readonly layout = borsh.struct<UnstakeTicket>([
55
- borshAddress("authority"),
56
- borshAddress("poolState"),
57
- borshAddress("obligationMetadata"),
58
- borsh.u64("initialUsol"),
59
- borsh.u64("remainingUsol"),
60
- borsh.u64("minimumEpochToBurn"),
61
- borsh.array(borsh.u64(), 1, "padding0"),
62
- borsh.array(borsh.u128(), 16, "padding"),
63
- ])
64
-
65
- constructor(fields: UnstakeTicketFields) {
66
- this.authority = fields.authority
67
- this.poolState = fields.poolState
68
- this.obligationMetadata = fields.obligationMetadata
69
- this.initialUsol = fields.initialUsol
70
- this.remainingUsol = fields.remainingUsol
71
- this.minimumEpochToBurn = fields.minimumEpochToBurn
72
- this.padding0 = fields.padding0
73
- this.padding = fields.padding
74
- }
75
-
76
- static async fetch(
77
- rpc: Rpc<GetAccountInfoApi>,
78
- address: Address,
79
- programId: Address = PROGRAM_ID
80
- ): Promise<UnstakeTicket | null> {
81
- const info = await fetchEncodedAccount(rpc, address)
82
-
83
- if (!info.exists) {
84
- return null
85
- }
86
- if (info.programAddress !== programId) {
87
- throw new Error(
88
- `UnstakeTicketFields account ${address} belongs to wrong program ${info.programAddress}, expected ${programId}`
89
- )
90
- }
91
-
92
- return this.decode(Buffer.from(info.data))
93
- }
94
-
95
- static async fetchMultiple(
96
- rpc: Rpc<GetMultipleAccountsApi>,
97
- addresses: Address[],
98
- programId: Address = PROGRAM_ID
99
- ): Promise<Array<UnstakeTicket | null>> {
100
- const infos = await fetchEncodedAccounts(rpc, addresses)
101
-
102
- return infos.map((info) => {
103
- if (!info.exists) {
104
- return null
105
- }
106
- if (info.programAddress !== programId) {
107
- throw new Error(
108
- `UnstakeTicketFields account ${info.address} belongs to wrong program ${info.programAddress}, expected ${programId}`
109
- )
110
- }
111
-
112
- return this.decode(Buffer.from(info.data))
113
- })
114
- }
115
-
116
- static decode(data: Buffer): UnstakeTicket {
117
- if (!data.slice(0, 8).equals(UnstakeTicket.discriminator)) {
118
- throw new Error("invalid account discriminator")
119
- }
120
-
121
- const dec = UnstakeTicket.layout.decode(data.slice(8))
122
-
123
- return new UnstakeTicket({
124
- authority: dec.authority,
125
- poolState: dec.poolState,
126
- obligationMetadata: dec.obligationMetadata,
127
- initialUsol: dec.initialUsol,
128
- remainingUsol: dec.remainingUsol,
129
- minimumEpochToBurn: dec.minimumEpochToBurn,
130
- padding0: dec.padding0,
131
- padding: dec.padding,
132
- })
133
- }
134
-
135
- toJSON(): UnstakeTicketJSON {
136
- return {
137
- authority: this.authority,
138
- poolState: this.poolState,
139
- obligationMetadata: this.obligationMetadata,
140
- initialUsol: this.initialUsol.toString(),
141
- remainingUsol: this.remainingUsol.toString(),
142
- minimumEpochToBurn: this.minimumEpochToBurn.toString(),
143
- padding0: this.padding0.map((item) => item.toString()),
144
- padding: this.padding.map((item) => item.toString()),
145
- }
146
- }
147
-
148
- static fromJSON(obj: UnstakeTicketJSON): UnstakeTicket {
149
- return new UnstakeTicket({
150
- authority: address(obj.authority),
151
- poolState: address(obj.poolState),
152
- obligationMetadata: address(obj.obligationMetadata),
153
- initialUsol: new BN(obj.initialUsol),
154
- remainingUsol: new BN(obj.remainingUsol),
155
- minimumEpochToBurn: new BN(obj.minimumEpochToBurn),
156
- padding0: obj.padding0.map((item) => new BN(item)),
157
- padding: obj.padding.map((item) => new BN(item)),
158
- })
159
- }
160
- }