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

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 (240) 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.map +1 -1
  91. package/dist/classes/manager.js +0 -10
  92. package/dist/classes/manager.js.map +1 -1
  93. package/dist/classes/market.d.ts +2 -6
  94. package/dist/classes/market.d.ts.map +1 -1
  95. package/dist/classes/market.js +6 -26
  96. package/dist/classes/market.js.map +1 -1
  97. package/dist/classes/obligation.js +1 -1
  98. package/dist/classes/obligation.js.map +1 -1
  99. package/dist/classes/reserve.d.ts.map +1 -1
  100. package/dist/classes/reserve.js +7 -13
  101. package/dist/classes/reserve.js.map +1 -1
  102. package/dist/classes/unstakingPool.d.ts +3 -20
  103. package/dist/classes/unstakingPool.d.ts.map +1 -1
  104. package/dist/classes/unstakingPool.js +8 -62
  105. package/dist/classes/unstakingPool.js.map +1 -1
  106. package/dist/classes/vault.d.ts +1 -1
  107. package/dist/classes/vault.d.ts.map +1 -1
  108. package/dist/classes/vault.js +46 -28
  109. package/dist/classes/vault.js.map +1 -1
  110. package/dist/idl/klend.json +293 -2186
  111. package/dist/lending_operations/index.d.ts +0 -1
  112. package/dist/lending_operations/index.d.ts.map +1 -1
  113. package/dist/lending_operations/index.js +0 -1
  114. package/dist/lending_operations/index.js.map +1 -1
  115. package/dist/manager/client_kamino_manager.js +9 -12
  116. package/dist/manager/client_kamino_manager.js.map +1 -1
  117. package/dist/utils/ata.d.ts +10 -1
  118. package/dist/utils/ata.d.ts.map +1 -1
  119. package/dist/utils/ata.js +47 -0
  120. package/dist/utils/ata.js.map +1 -1
  121. package/dist/utils/managerTypes.d.ts.map +1 -1
  122. package/dist/utils/managerTypes.js +4 -9
  123. package/dist/utils/managerTypes.js.map +1 -1
  124. package/dist/utils/seeds.d.ts +14 -10
  125. package/dist/utils/seeds.d.ts.map +1 -1
  126. package/dist/utils/seeds.js +22 -25
  127. package/dist/utils/seeds.js.map +1 -1
  128. package/package.json +1 -1
  129. package/src/@codegen/klend/accounts/LendingMarket.ts +5 -210
  130. package/src/@codegen/klend/accounts/Obligation.ts +31 -53
  131. package/src/@codegen/klend/accounts/Reserve.ts +2 -13
  132. package/src/@codegen/klend/accounts/UserState.ts +75 -0
  133. package/src/@codegen/klend/accounts/index.ts +0 -6
  134. package/src/@codegen/klend/errors/custom.ts +2 -427
  135. package/src/@codegen/klend/instructions/idlMissingTypes.ts +4 -7
  136. package/src/@codegen/klend/instructions/index.ts +0 -34
  137. package/src/@codegen/klend/instructions/initReserve.ts +6 -2
  138. package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.ts +1 -1
  139. package/src/@codegen/klend/instructions/updateGlobalConfig.ts +1 -2
  140. package/src/@codegen/klend/instructions/updateReserveConfig.ts +1 -2
  141. package/src/@codegen/klend/instructions/withdrawObligationCollateral.ts +1 -1
  142. package/src/@codegen/klend/instructions/withdrawObligationCollateralV2.ts +1 -1
  143. package/src/@codegen/klend/types/AssetTier.ts +119 -0
  144. package/src/@codegen/klend/types/ObligationLiquidity.ts +9 -39
  145. package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
  146. package/src/@codegen/klend/types/ReserveConfig.ts +39 -171
  147. package/src/@codegen/klend/types/ReserveFees.ts +12 -12
  148. package/src/@codegen/klend/types/ReserveLiquidity.ts +12 -30
  149. package/src/@codegen/klend/types/UpdateConfigMode.ts +26 -206
  150. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +0 -300
  151. package/src/@codegen/klend/types/index.ts +16 -45
  152. package/src/@codegen/klend/zero_padding/ObligationZP.ts +13 -22
  153. package/src/classes/action.ts +8 -577
  154. package/src/classes/manager.ts +0 -11
  155. package/src/classes/market.ts +5 -36
  156. package/src/classes/obligation.ts +1 -1
  157. package/src/classes/reserve.ts +8 -13
  158. package/src/classes/unstakingPool.ts +6 -83
  159. package/src/classes/vault.ts +57 -38
  160. package/src/idl/klend.json +294 -2187
  161. package/src/lending_operations/index.ts +0 -1
  162. package/src/manager/client_kamino_manager.ts +9 -13
  163. package/src/utils/ata.ts +79 -0
  164. package/src/utils/managerTypes.ts +4 -9
  165. package/src/utils/seeds.ts +26 -28
  166. package/dist/@codegen/klend/accounts/PoolState.d.ts +0 -53
  167. package/dist/@codegen/klend/accounts/PoolState.d.ts.map +0 -1
  168. package/dist/@codegen/klend/accounts/PoolState.js +0 -167
  169. package/dist/@codegen/klend/accounts/PoolState.js.map +0 -1
  170. package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts +0 -41
  171. package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts.map +0 -1
  172. package/dist/@codegen/klend/accounts/UnstakeTicket.js +0 -143
  173. package/dist/@codegen/klend/accounts/UnstakeTicket.js.map +0 -1
  174. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +0 -132
  175. package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +0 -1
  176. package/dist/@codegen/klend/accounts/WithdrawTicket.js +0 -191
  177. package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +0 -1
  178. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +0 -39
  179. package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +0 -1
  180. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +0 -67
  181. package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +0 -1
  182. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +0 -36
  183. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +0 -1
  184. package/dist/@codegen/klend/instructions/fillBorrowOrder.js +0 -49
  185. package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +0 -1
  186. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +0 -47
  187. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +0 -1
  188. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +0 -66
  189. package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +0 -1
  190. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +0 -31
  191. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +0 -1
  192. package/dist/@codegen/klend/instructions/setBorrowOrder.js +0 -64
  193. package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +0 -1
  194. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts +0 -53
  195. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts.map +0 -1
  196. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js +0 -190
  197. package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js.map +0 -1
  198. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts +0 -70
  199. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts.map +0 -1
  200. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js +0 -261
  201. package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js.map +0 -1
  202. package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts +0 -41
  203. package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts.map +0 -1
  204. package/dist/@codegen/klend/instructions/withdrawObligationUsol.js +0 -135
  205. package/dist/@codegen/klend/instructions/withdrawObligationUsol.js.map +0 -1
  206. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +0 -51
  207. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +0 -1
  208. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +0 -28
  209. package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +0 -1
  210. package/dist/@codegen/klend/types/BorrowOrder.d.ts +0 -192
  211. package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +0 -1
  212. package/dist/@codegen/klend/types/BorrowOrder.js +0 -194
  213. package/dist/@codegen/klend/types/BorrowOrder.js.map +0 -1
  214. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +0 -39
  215. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +0 -1
  216. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +0 -100
  217. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +0 -1
  218. package/dist/@codegen/klend/types/WithdrawQueue.d.ts +0 -64
  219. package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +0 -1
  220. package/dist/@codegen/klend/types/WithdrawQueue.js +0 -104
  221. package/dist/@codegen/klend/types/WithdrawQueue.js.map +0 -1
  222. package/dist/lending_operations/unstake_lst_collateral.d.ts +0 -12
  223. package/dist/lending_operations/unstake_lst_collateral.d.ts.map +0 -1
  224. package/dist/lending_operations/unstake_lst_collateral.js +0 -104
  225. package/dist/lending_operations/unstake_lst_collateral.js.map +0 -1
  226. package/src/@codegen/klend/accounts/PoolState.ts +0 -192
  227. package/src/@codegen/klend/accounts/UnstakeTicket.ts +0 -160
  228. package/src/@codegen/klend/accounts/WithdrawTicket.ts +0 -256
  229. package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +0 -89
  230. package/src/@codegen/klend/instructions/fillBorrowOrder.ts +0 -96
  231. package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +0 -96
  232. package/src/@codegen/klend/instructions/setBorrowOrder.ts +0 -77
  233. package/src/@codegen/klend/instructions/unstakeLstCollateralEnd.ts +0 -251
  234. package/src/@codegen/klend/instructions/unstakeLstCollateralStart.ts +0 -353
  235. package/src/@codegen/klend/instructions/withdrawObligationUsol.ts +0 -168
  236. package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +0 -92
  237. package/src/@codegen/klend/types/BorrowOrder.ts +0 -267
  238. package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +0 -87
  239. package/src/@codegen/klend/types/WithdrawQueue.ts +0 -117
  240. package/src/lending_operations/unstake_lst_collateral.ts +0 -174
@@ -1,4 +1,3 @@
1
1
  export * from './repay_with_collateral_operations';
2
2
  export * from './swap_collateral_operations';
3
3
  export * from './repay_with_collateral_calcs';
4
- export * from './unstake_lst_collateral';
@@ -763,7 +763,7 @@ async function main() {
763
763
  vaultState,
764
764
  useVaultPendingAdmin: true,
765
765
  });
766
- const instructions = await kaminoManager.acceptVaultOwnershipIxs(kaminoVault);
766
+ const instructions = await kaminoManager.acceptVaultOwnershipIxs(kaminoVault, pendingAdmin);
767
767
 
768
768
  await processTx(
769
769
  env.c,
@@ -1470,7 +1470,6 @@ async function main() {
1470
1470
  const slot = await env.c.rpc.getSlot({ commitment: 'confirmed' }).send();
1471
1471
  const tokensPerShare = await kaminoManager.getTokensPerShareSingleVault(kaminoVault, slot);
1472
1472
  const holdings = await kaminoManager.getVaultHoldings(kaminoVault.state!, slot);
1473
-
1474
1473
  const vaultState = kaminoVault.state!;
1475
1474
 
1476
1475
  const sharesIssued = lamportsToDecimal(
@@ -1991,10 +1990,11 @@ function parseReserveConfigFromFile(reserveConfigFromFile: any): ReserveConfig {
1991
1990
  protocolLiquidationFeePct: reserveConfigFromFile.protocolLiquidationFeePct,
1992
1991
  protocolOrderExecutionFeePct: reserveConfigFromFile.protocolOrderExecutionFeePct,
1993
1992
  protocolTakeRatePct: reserveConfigFromFile.protocolTakeRatePct,
1993
+ assetTier: reserveConfigFromFile.assetTier,
1994
1994
  maxLiquidationBonusBps: reserveConfigFromFile.maxLiquidationBonusBps,
1995
1995
  badDebtLiquidationBonusBps: reserveConfigFromFile.badDebtLiquidationBonusBps,
1996
1996
  fees: {
1997
- originationFeeSf: Fraction.fromDecimal(new Decimal(reserveConfigFromFile.fees.borrowFee)).valueSf,
1997
+ borrowFeeSf: Fraction.fromDecimal(new Decimal(reserveConfigFromFile.fees.borrowFee)).valueSf,
1998
1998
  flashLoanFeeSf: Fraction.fromDecimal(new Decimal(reserveConfigFromFile.fees.flashLoanFee)).valueSf,
1999
1999
  padding: Array(8).fill(0),
2000
2000
  },
@@ -2039,14 +2039,8 @@ function parseReserveConfigFromFile(reserveConfigFromFile: any): ReserveConfig {
2039
2039
  borrowLimitOutsideElevationGroup: new BN(reserveConfigFromFile.borrowLimitOutsideElevationGroup),
2040
2040
  borrowLimitAgainstThisCollateralInElevationGroup: parseReserveBorrowLimitAgainstCollInEmode(reserveConfigFromFile),
2041
2041
  deleveragingBonusIncreaseBpsPerDay: new BN(reserveConfigFromFile.deleveragingBonusIncreaseBpsPerDay),
2042
- canUnstakeLstCollateral: reserveConfigFromFile.canUnstakeLstCollateral,
2043
- debtMaturityTimestamp: new BN(reserveConfigFromFile.debtMaturityTimestamp),
2044
- debtTermSeconds: new BN(reserveConfigFromFile.debtTermSeconds),
2045
- minDeleveragingBonusBps: reserveConfigFromFile.minDeleveragingBonusBps,
2046
- proposerAuthorityLocked: reserveConfigFromFile.proposerAuthorityLocked,
2047
- reserved1: Array(6).fill(0),
2048
- paddingDeprecatedAssetTier: 0,
2049
- ltvLamportsMargin: new BN(0),
2042
+ reserved1: Array(1).fill(0),
2043
+ reserved2: Array(9).fill(0),
2050
2044
  };
2051
2045
 
2052
2046
  return new ReserveConfig(reserveConfigFields);
@@ -2126,10 +2120,11 @@ function parseReserveConfigToFile(reserveConfig: ReserveConfig) {
2126
2120
  protocolLiquidationFeePct: reserveConfig.protocolLiquidationFeePct,
2127
2121
  protocolOrderExecutionFeePct: reserveConfig.protocolOrderExecutionFeePct,
2128
2122
  protocolTakeRatePct: reserveConfig.protocolTakeRatePct,
2123
+ assetTier: reserveConfig.assetTier,
2129
2124
  maxLiquidationBonusBps: reserveConfig.maxLiquidationBonusBps,
2130
2125
  badDebtLiquidationBonusBps: reserveConfig.badDebtLiquidationBonusBps,
2131
2126
  fees: {
2132
- borrowFee: new Fraction(reserveConfig.fees.originationFeeSf).toDecimal().toString(),
2127
+ borrowFee: new Fraction(reserveConfig.fees.borrowFeeSf).toDecimal().toString(),
2133
2128
  flashLoanFee: new Fraction(reserveConfig.fees.flashLoanFeeSf).toDecimal().toString(),
2134
2129
  padding: Array(8).fill(0),
2135
2130
  },
@@ -2165,7 +2160,8 @@ function parseReserveConfigToFile(reserveConfig: ReserveConfig) {
2165
2160
  borrowLimitAgainstThisCollateralInElevationGroup:
2166
2161
  reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((entry) => entry.toString()),
2167
2162
  deleveragingBonusIncreaseBpsPerDay: reserveConfig.deleveragingBonusIncreaseBpsPerDay.toString(),
2168
- reserved1: Array(6).fill(0),
2163
+ reserved1: Array(2).fill(0),
2164
+ reserved2: Array(9).fill(0),
2169
2165
  };
2170
2166
  }
2171
2167
 
package/src/utils/ata.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  import {
2
+ AccountInfoBase,
3
+ AccountInfoWithJsonData,
4
+ AccountInfoWithPubkey,
2
5
  Address,
6
+ Base58EncodedBytes,
3
7
  fetchEncodedAccount,
4
8
  GetAccountInfoApi,
5
9
  GetMultipleAccountsApi,
@@ -8,6 +12,7 @@ import {
8
12
  Lamports,
9
13
  MaybeAccount,
10
14
  Rpc,
15
+ SolanaRpcApi,
11
16
  TransactionSigner,
12
17
  } from '@solana/kit';
13
18
  import Decimal from 'decimal.js';
@@ -262,3 +267,77 @@ export const createWsolAtaIfMissing = async (
262
267
  closeAtaIxs: closeIxs,
263
268
  };
264
269
  };
270
+
271
+ /**
272
+ * Get all standard token accounts for tokens using old Token Program, not Token 2022 for a given wallet
273
+ * @param rpc - Solana RPC rpc (read)
274
+ * @param wallet - wallet to get the token accounts for
275
+ * @returns an array of all token accounts for the given wallet
276
+ */
277
+ export async function getAllStandardTokenProgramTokenAccounts(
278
+ rpc: Rpc<SolanaRpcApi>,
279
+ wallet: Address
280
+ ): Promise<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithJsonData>[]> {
281
+ return rpc
282
+ .getProgramAccounts(TOKEN_PROGRAM_ADDRESS, {
283
+ filters: [
284
+ { dataSize: 165n },
285
+ { memcmp: { offset: 32n, bytes: wallet.toString() as Base58EncodedBytes, encoding: 'base58' } },
286
+ ],
287
+ encoding: 'jsonParsed',
288
+ })
289
+ .send();
290
+ }
291
+
292
+ // Type definitions for parsed token account data
293
+ interface ParsedTokenAccountInfo {
294
+ mint: string;
295
+ owner: string;
296
+ tokenAmount: {
297
+ amount: string;
298
+ decimals: number;
299
+ uiAmount: number | null;
300
+ uiAmountString: string;
301
+ };
302
+ }
303
+
304
+ interface ParsedTokenAccountData {
305
+ parsed: {
306
+ info: ParsedTokenAccountInfo;
307
+ type: string;
308
+ };
309
+ program: string;
310
+ space: bigint;
311
+ }
312
+
313
+ // Type guard to check if account data is parsed
314
+ function isParsedTokenAccountData(data: any): data is ParsedTokenAccountData {
315
+ return (
316
+ data &&
317
+ typeof data === 'object' &&
318
+ 'parsed' in data &&
319
+ data.parsed &&
320
+ typeof data.parsed === 'object' &&
321
+ 'info' in data.parsed &&
322
+ data.parsed.info &&
323
+ typeof data.parsed.info === 'object' &&
324
+ 'mint' in data.parsed.info &&
325
+ 'tokenAmount' in data.parsed.info
326
+ );
327
+ }
328
+
329
+ // Helper function to safely get mint from parsed token account
330
+ export function getTokenAccountMint(accountData: any): string | null {
331
+ if (isParsedTokenAccountData(accountData)) {
332
+ return accountData.parsed.info.mint;
333
+ }
334
+ return null;
335
+ }
336
+
337
+ // Helper function to safely get token amount from parsed token account
338
+ export function getTokenAccountAmount(accountData: any): number | null {
339
+ if (isParsedTokenAccountData(accountData)) {
340
+ return accountData.parsed.info.tokenAmount.uiAmount;
341
+ }
342
+ return null;
343
+ }
@@ -306,10 +306,11 @@ function buildReserveConfig(fields: {
306
306
  protocolLiquidationFeePct: 0,
307
307
  protocolOrderExecutionFeePct: 0,
308
308
  protocolTakeRatePct: fields.configParams.protocolTakeRate,
309
+ assetTier: 0,
309
310
  maxLiquidationBonusBps: fields.configParams.maxLiquidationBonusBps,
310
311
  badDebtLiquidationBonusBps: fields.configParams.badDebtLiquidationBonusBps,
311
312
  fees: {
312
- originationFeeSf: fields.configParams.borrowFeeSf.getValue(),
313
+ borrowFeeSf: fields.configParams.borrowFeeSf.getValue(),
313
314
  flashLoanFeeSf: fields.configParams.flashLoanFeeSf.getValue(),
314
315
  padding: Array(6).fill(0),
315
316
  },
@@ -368,14 +369,8 @@ function buildReserveConfig(fields: {
368
369
  ),
369
370
  borrowLimitAgainstThisCollateralInElevationGroup: Array(32).fill(new BN(0)),
370
371
  deleveragingBonusIncreaseBpsPerDay: new BN(100),
371
- canUnstakeLstCollateral: 0,
372
- debtMaturityTimestamp: new BN(0),
373
- debtTermSeconds: new BN(0),
374
- minDeleveragingBonusBps: 0,
375
- proposerAuthorityLocked: 0,
376
- ltvLamportsMargin: new BN(0),
377
- reserved1: Array(6).fill(0),
378
- paddingDeprecatedAssetTier: 0,
372
+ reserved1: Array(1).fill(0),
373
+ reserved2: Array(9).fill(0),
379
374
  };
380
375
 
381
376
  return new ReserveConfig(reserveConfigFields);
@@ -3,7 +3,6 @@ import { PROGRAM_ID } from '../@codegen/klend/programId';
3
3
  import { PROGRAM_ID as FARMS_PROGRAM_ID } from '@kamino-finance/farms-sdk/dist/@codegen/farms/programId';
4
4
  import { METADATA_PROGRAM_ID, METADATA_SEED } from '../classes/vault';
5
5
  import { Buffer } from 'buffer';
6
- import { UNSTAKING_POOL_AUTHORITY_SEED } from '../classes/unstakingPool';
7
6
 
8
7
  /**
9
8
  * Lending market authority seed
@@ -70,15 +69,16 @@ export interface ReservePdas {
70
69
  /**
71
70
  * Returns all the PDAs for the given reserve
72
71
  * @param programId
73
- * @param reserve
72
+ * @param market
73
+ * @param mint
74
74
  * @returns ReservePdas
75
75
  */
76
- export async function reservePdas(programId: Address, reserve: Address): Promise<ReservePdas> {
76
+ export async function reservePdas(programId: Address, market: Address, mint: Address): Promise<ReservePdas> {
77
77
  const [[liquiditySupplyVault], [collateralMint], [collateralSupplyVault], [feeVault]] = await Promise.all([
78
- reserveLiqSupplyPda(reserve, programId),
79
- reserveCollateralMintPda(reserve, programId),
80
- reserveCollateralSupplyPda(reserve, programId),
81
- reserveFeeVaultPda(reserve, programId),
78
+ reserveLiqSupplyPda(market, mint, programId),
79
+ reserveCollateralMintPda(market, mint, programId),
80
+ reserveCollateralSupplyPda(market, mint, programId),
81
+ reserveFeeVaultPda(market, mint, programId),
82
82
  ]);
83
83
  return {
84
84
  liquiditySupplyVault,
@@ -107,63 +107,71 @@ export function lendingMarketAuthPda(
107
107
  /**
108
108
  * Returns the PDA and bump for the reserve liquidity supply
109
109
  * @param lendingMarket
110
+ * @param mint
110
111
  * @param programId
111
112
  * @returns [pda, bump]
112
113
  */
113
114
  export async function reserveLiqSupplyPda(
114
- reserve: Address,
115
+ lendingMarket: Address,
116
+ mint: Address,
115
117
  programId: Address = PROGRAM_ID
116
118
  ): Promise<ProgramDerivedAddress> {
117
119
  return getProgramDerivedAddress({
118
- seeds: [Buffer.from(RESERVE_LIQ_SUPPLY_SEED), addressEncoder.encode(reserve)],
120
+ seeds: [Buffer.from(RESERVE_LIQ_SUPPLY_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
119
121
  programAddress: programId,
120
122
  });
121
123
  }
122
124
 
123
125
  /**
124
126
  * Returns the PDA and bump for the reserve fee vault
125
- * @param reserve
127
+ * @param lendingMarket
128
+ * @param mint
126
129
  * @param programId
127
130
  * @returns [vaultPda, bump]
128
131
  */
129
132
  export async function reserveFeeVaultPda(
130
- reserve: Address,
133
+ lendingMarket: Address,
134
+ mint: Address,
131
135
  programId: Address = PROGRAM_ID
132
136
  ): Promise<ProgramDerivedAddress> {
133
137
  return getProgramDerivedAddress({
134
- seeds: [Buffer.from(FEE_RECEIVER_SEED), addressEncoder.encode(reserve)],
138
+ seeds: [Buffer.from(FEE_RECEIVER_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
135
139
  programAddress: programId,
136
140
  });
137
141
  }
138
142
 
139
143
  /**
140
144
  * Returns the PDA and bump for the reserve collateral mint
141
- * @param reserve
145
+ * @param lendingMarket
146
+ * @param mint
142
147
  * @param programId
143
148
  * @returns [mintPda, bump]
144
149
  */
145
150
  export async function reserveCollateralMintPda(
146
- reserve: Address,
151
+ lendingMarket: Address,
152
+ mint: Address,
147
153
  programId: Address = PROGRAM_ID
148
154
  ): Promise<ProgramDerivedAddress> {
149
155
  return getProgramDerivedAddress({
150
- seeds: [Buffer.from(RESERVE_COLL_MINT_SEED), addressEncoder.encode(reserve)],
156
+ seeds: [Buffer.from(RESERVE_COLL_MINT_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
151
157
  programAddress: programId,
152
158
  });
153
159
  }
154
160
 
155
161
  /**
156
162
  * Returns the PDA and bump for the reserve collateral supply
157
- * @param reserve
163
+ * @param lendingMarket
164
+ * @param mint
158
165
  * @param programId
159
166
  * @returns [pda, bump]
160
167
  */
161
168
  export function reserveCollateralSupplyPda(
162
- reserve: Address,
169
+ lendingMarket: Address,
170
+ mint: Address,
163
171
  programId: Address = PROGRAM_ID
164
172
  ): Promise<ProgramDerivedAddress> {
165
173
  return getProgramDerivedAddress({
166
- seeds: [Buffer.from(RESERVE_COLL_SUPPLY_SEED), addressEncoder.encode(reserve)],
174
+ seeds: [Buffer.from(RESERVE_COLL_SUPPLY_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
167
175
  programAddress: programId,
168
176
  });
169
177
  }
@@ -282,13 +290,3 @@ export async function getKVaultSharesMetadataPda(mint: Address): Promise<Program
282
290
  programAddress: METADATA_PROGRAM_ID,
283
291
  });
284
292
  }
285
-
286
- export function unstakingPoolMarketAuthorityPda(
287
- lendingMarket: Address,
288
- programId: Address = PROGRAM_ID
289
- ): Promise<ProgramDerivedAddress> {
290
- return getProgramDerivedAddress({
291
- seeds: [UNSTAKING_POOL_AUTHORITY_SEED, addressEncoder.encode(lendingMarket)],
292
- programAddress: programId,
293
- });
294
- }
@@ -1,53 +0,0 @@
1
- import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
2
- import BN from "bn.js";
3
- export interface PoolStateFields {
4
- admin: Address;
5
- pendingAdmin: Address;
6
- basePoolAuthority: Address;
7
- basePoolAuthorityBump: BN;
8
- unstakingSolMint: Address;
9
- wsolVault: Address;
10
- actionAuthority: Address;
11
- poolLookupTable: Address;
12
- sharesIssued: BN;
13
- wsolUnstaking: BN;
14
- wsolInVault: BN;
15
- padding: Array<BN>;
16
- }
17
- export interface PoolStateJSON {
18
- admin: string;
19
- pendingAdmin: string;
20
- basePoolAuthority: string;
21
- basePoolAuthorityBump: string;
22
- unstakingSolMint: string;
23
- wsolVault: string;
24
- actionAuthority: string;
25
- poolLookupTable: string;
26
- sharesIssued: string;
27
- wsolUnstaking: string;
28
- wsolInVault: string;
29
- padding: Array<string>;
30
- }
31
- export declare class PoolState {
32
- readonly admin: Address;
33
- readonly pendingAdmin: Address;
34
- readonly basePoolAuthority: Address;
35
- readonly basePoolAuthorityBump: BN;
36
- readonly unstakingSolMint: Address;
37
- readonly wsolVault: Address;
38
- readonly actionAuthority: Address;
39
- readonly poolLookupTable: Address;
40
- readonly sharesIssued: BN;
41
- readonly wsolUnstaking: BN;
42
- readonly wsolInVault: BN;
43
- readonly padding: Array<BN>;
44
- static readonly discriminator: Buffer<ArrayBuffer>;
45
- static readonly layout: import("buffer-layout").Layout<PoolState>;
46
- constructor(fields: PoolStateFields);
47
- static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<PoolState | null>;
48
- static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<PoolState | null>>;
49
- static decode(data: Buffer): PoolState;
50
- toJSON(): PoolStateJSON;
51
- static fromJSON(obj: PoolStateJSON): PoolState;
52
- }
53
- //# sourceMappingURL=PoolState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolState.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/accounts/PoolState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAGP,iBAAiB,EACjB,sBAAsB,EACtB,GAAG,EACJ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAMtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,qBAAqB,EAAE,EAAE,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,EAAE,CAAA;IAChB,aAAa,EAAE,EAAE,CAAA;IACjB,WAAW,EAAE,EAAE,CAAA;IACf,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACvB;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAA;IAClC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3B,MAAM,CAAC,QAAQ,CAAC,aAAa,sBAE3B;IAEF,MAAM,CAAC,QAAQ,CAAC,MAAM,4CAapB;gBAEU,MAAM,EAAE,eAAe;WAetB,KAAK,CAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;WAef,aAAa,CACxB,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAChC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAiBnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAuBtC,MAAM,IAAI,aAAa;IAiBvB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS;CAgB/C"}
@@ -1,167 +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.PoolState = void 0;
40
- /* eslint-disable @typescript-eslint/no-unused-vars */
41
- const kit_1 = require("@solana/kit");
42
- /* eslint-enable @typescript-eslint/no-unused-vars */
43
- const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
44
- const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
45
- const utils_1 = require("../utils"); // eslint-disable-line @typescript-eslint/no-unused-vars
46
- const programId_1 = require("../programId");
47
- class PoolState {
48
- admin;
49
- pendingAdmin;
50
- basePoolAuthority;
51
- basePoolAuthorityBump;
52
- unstakingSolMint;
53
- wsolVault;
54
- actionAuthority;
55
- poolLookupTable;
56
- sharesIssued;
57
- wsolUnstaking;
58
- wsolInVault;
59
- padding;
60
- static discriminator = Buffer.from([
61
- 247, 237, 227, 245, 215, 195, 222, 70,
62
- ]);
63
- static layout = borsh.struct([
64
- (0, utils_1.borshAddress)("admin"),
65
- (0, utils_1.borshAddress)("pendingAdmin"),
66
- (0, utils_1.borshAddress)("basePoolAuthority"),
67
- borsh.u64("basePoolAuthorityBump"),
68
- (0, utils_1.borshAddress)("unstakingSolMint"),
69
- (0, utils_1.borshAddress)("wsolVault"),
70
- (0, utils_1.borshAddress)("actionAuthority"),
71
- (0, utils_1.borshAddress)("poolLookupTable"),
72
- borsh.u64("sharesIssued"),
73
- borsh.u64("wsolUnstaking"),
74
- borsh.u64("wsolInVault"),
75
- borsh.array(borsh.u128(), 256, "padding"),
76
- ]);
77
- constructor(fields) {
78
- this.admin = fields.admin;
79
- this.pendingAdmin = fields.pendingAdmin;
80
- this.basePoolAuthority = fields.basePoolAuthority;
81
- this.basePoolAuthorityBump = fields.basePoolAuthorityBump;
82
- this.unstakingSolMint = fields.unstakingSolMint;
83
- this.wsolVault = fields.wsolVault;
84
- this.actionAuthority = fields.actionAuthority;
85
- this.poolLookupTable = fields.poolLookupTable;
86
- this.sharesIssued = fields.sharesIssued;
87
- this.wsolUnstaking = fields.wsolUnstaking;
88
- this.wsolInVault = fields.wsolInVault;
89
- this.padding = fields.padding;
90
- }
91
- static async fetch(rpc, address, programId = programId_1.PROGRAM_ID) {
92
- const info = await (0, kit_1.fetchEncodedAccount)(rpc, address);
93
- if (!info.exists) {
94
- return null;
95
- }
96
- if (info.programAddress !== programId) {
97
- throw new Error(`PoolStateFields account ${address} belongs to wrong program ${info.programAddress}, expected ${programId}`);
98
- }
99
- return this.decode(Buffer.from(info.data));
100
- }
101
- static async fetchMultiple(rpc, addresses, programId = programId_1.PROGRAM_ID) {
102
- const infos = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses);
103
- return infos.map((info) => {
104
- if (!info.exists) {
105
- return null;
106
- }
107
- if (info.programAddress !== programId) {
108
- throw new Error(`PoolStateFields account ${info.address} belongs to wrong program ${info.programAddress}, expected ${programId}`);
109
- }
110
- return this.decode(Buffer.from(info.data));
111
- });
112
- }
113
- static decode(data) {
114
- if (!data.slice(0, 8).equals(PoolState.discriminator)) {
115
- throw new Error("invalid account discriminator");
116
- }
117
- const dec = PoolState.layout.decode(data.slice(8));
118
- return new PoolState({
119
- admin: dec.admin,
120
- pendingAdmin: dec.pendingAdmin,
121
- basePoolAuthority: dec.basePoolAuthority,
122
- basePoolAuthorityBump: dec.basePoolAuthorityBump,
123
- unstakingSolMint: dec.unstakingSolMint,
124
- wsolVault: dec.wsolVault,
125
- actionAuthority: dec.actionAuthority,
126
- poolLookupTable: dec.poolLookupTable,
127
- sharesIssued: dec.sharesIssued,
128
- wsolUnstaking: dec.wsolUnstaking,
129
- wsolInVault: dec.wsolInVault,
130
- padding: dec.padding,
131
- });
132
- }
133
- toJSON() {
134
- return {
135
- admin: this.admin,
136
- pendingAdmin: this.pendingAdmin,
137
- basePoolAuthority: this.basePoolAuthority,
138
- basePoolAuthorityBump: this.basePoolAuthorityBump.toString(),
139
- unstakingSolMint: this.unstakingSolMint,
140
- wsolVault: this.wsolVault,
141
- actionAuthority: this.actionAuthority,
142
- poolLookupTable: this.poolLookupTable,
143
- sharesIssued: this.sharesIssued.toString(),
144
- wsolUnstaking: this.wsolUnstaking.toString(),
145
- wsolInVault: this.wsolInVault.toString(),
146
- padding: this.padding.map((item) => item.toString()),
147
- };
148
- }
149
- static fromJSON(obj) {
150
- return new PoolState({
151
- admin: (0, kit_1.address)(obj.admin),
152
- pendingAdmin: (0, kit_1.address)(obj.pendingAdmin),
153
- basePoolAuthority: (0, kit_1.address)(obj.basePoolAuthority),
154
- basePoolAuthorityBump: new bn_js_1.default(obj.basePoolAuthorityBump),
155
- unstakingSolMint: (0, kit_1.address)(obj.unstakingSolMint),
156
- wsolVault: (0, kit_1.address)(obj.wsolVault),
157
- actionAuthority: (0, kit_1.address)(obj.actionAuthority),
158
- poolLookupTable: (0, kit_1.address)(obj.poolLookupTable),
159
- sharesIssued: new bn_js_1.default(obj.sharesIssued),
160
- wsolUnstaking: new bn_js_1.default(obj.wsolUnstaking),
161
- wsolInVault: new bn_js_1.default(obj.wsolInVault),
162
- padding: obj.padding.map((item) => new bn_js_1.default(item)),
163
- });
164
- }
165
- }
166
- exports.PoolState = PoolState;
167
- //# sourceMappingURL=PoolState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolState.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/accounts/PoolState.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
2
- import BN from "bn.js";
3
- export interface UnstakeTicketFields {
4
- authority: Address;
5
- poolState: Address;
6
- obligationMetadata: Address;
7
- initialUsol: BN;
8
- remainingUsol: BN;
9
- minimumEpochToBurn: BN;
10
- padding0: Array<BN>;
11
- padding: Array<BN>;
12
- }
13
- export interface UnstakeTicketJSON {
14
- authority: string;
15
- poolState: string;
16
- obligationMetadata: string;
17
- initialUsol: string;
18
- remainingUsol: string;
19
- minimumEpochToBurn: string;
20
- padding0: Array<string>;
21
- padding: Array<string>;
22
- }
23
- export declare class UnstakeTicket {
24
- readonly authority: Address;
25
- readonly poolState: Address;
26
- readonly obligationMetadata: Address;
27
- readonly initialUsol: BN;
28
- readonly remainingUsol: BN;
29
- readonly minimumEpochToBurn: BN;
30
- readonly padding0: Array<BN>;
31
- readonly padding: Array<BN>;
32
- static readonly discriminator: Buffer<ArrayBuffer>;
33
- static readonly layout: import("buffer-layout").Layout<UnstakeTicket>;
34
- constructor(fields: UnstakeTicketFields);
35
- static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<UnstakeTicket | null>;
36
- static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<UnstakeTicket | null>>;
37
- static decode(data: Buffer): UnstakeTicket;
38
- toJSON(): UnstakeTicketJSON;
39
- static fromJSON(obj: UnstakeTicketJSON): UnstakeTicket;
40
- }
41
- //# sourceMappingURL=UnstakeTicket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnstakeTicket.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/accounts/UnstakeTicket.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAGP,iBAAiB,EACjB,sBAAsB,EACtB,GAAG,EACJ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAMtB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,WAAW,EAAE,EAAE,CAAA;IACf,aAAa,EAAE,EAAE,CAAA;IACjB,kBAAkB,EAAE,EAAE,CAAA;IACtB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IACnB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACvB;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAA;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3B,MAAM,CAAC,QAAQ,CAAC,aAAa,sBAE3B;IAEF,MAAM,CAAC,QAAQ,CAAC,MAAM,gDASpB;gBAEU,MAAM,EAAE,mBAAmB;WAW1B,KAAK,CAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;WAenB,aAAa,CACxB,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAChC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAiBvC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAmB1C,MAAM,IAAI,iBAAiB;IAa3B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa;CAYvD"}