@kamino-finance/klend-sdk 5.0.3 → 5.0.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 (230) hide show
  1. package/dist/classes/manager.d.ts +38 -4
  2. package/dist/classes/manager.d.ts.map +1 -1
  3. package/dist/classes/manager.js +98 -4
  4. package/dist/classes/manager.js.map +1 -1
  5. package/dist/classes/market.d.ts.map +1 -1
  6. package/dist/classes/market.js +2 -25
  7. package/dist/classes/market.js.map +1 -1
  8. package/dist/classes/vault.d.ts +12 -8
  9. package/dist/classes/vault.d.ts.map +1 -1
  10. package/dist/classes/vault.js +94 -66
  11. package/dist/classes/vault.js.map +1 -1
  12. package/dist/client_kamino_manager.d.ts.map +1 -1
  13. package/dist/client_kamino_manager.js +14 -0
  14. package/dist/client_kamino_manager.js.map +1 -1
  15. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +3 -3
  16. package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -1
  17. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +22 -18
  18. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
  19. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +45 -15
  20. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
  21. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +101 -39
  22. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  23. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +4 -4
  24. package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -1
  25. package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
  26. package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -1
  27. package/dist/idl_codegen_kamino_vault/errors/anchor.js +162 -162
  28. package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
  29. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +144 -32
  30. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
  31. package/dist/idl_codegen_kamino_vault/errors/custom.js +305 -109
  32. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  33. package/dist/idl_codegen_kamino_vault/errors/index.d.ts +3 -3
  34. package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -1
  35. package/dist/idl_codegen_kamino_vault/errors/index.js +7 -2
  36. package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
  37. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +4 -2
  38. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
  39. package/dist/idl_codegen_kamino_vault/instructions/deposit.js +3 -1
  40. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  41. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts +13 -0
  42. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts.map +1 -0
  43. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js +47 -0
  44. package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js.map +1 -0
  45. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +18 -10
  46. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -1
  47. package/dist/idl_codegen_kamino_vault/instructions/index.js +9 -1
  48. package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
  49. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +2 -1
  50. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
  51. package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
  52. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  53. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +6 -2
  54. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -1
  55. package/dist/idl_codegen_kamino_vault/instructions/invest.js +9 -1
  56. package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
  57. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts +7 -0
  58. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts.map +1 -0
  59. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js +16 -0
  60. package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js.map +1 -0
  61. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +2 -2
  62. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
  63. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
  64. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  65. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts +14 -0
  66. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts.map +1 -0
  67. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +52 -0
  68. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -0
  69. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +4 -2
  70. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -1
  71. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js +8 -2
  72. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
  73. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +23 -0
  74. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -0
  75. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +51 -0
  76. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -0
  77. package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -1
  78. package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -1
  79. package/dist/idl_codegen_kamino_vault/programId.js +1 -1
  80. package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
  81. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +2 -2
  82. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -1
  83. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +4 -1
  84. package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
  85. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -1
  86. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -1
  87. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +1 -1
  88. package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
  89. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -1
  90. package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -1
  91. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +1 -1
  92. package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
  93. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +2 -2
  94. package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -1
  95. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +6 -1
  96. package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
  97. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +2 -2
  98. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -1
  99. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +1 -1
  100. package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
  101. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +2 -2
  102. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -1
  103. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +1 -1
  104. package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
  105. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +3 -3
  106. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -1
  107. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +5 -5
  108. package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
  109. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +27 -24
  110. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
  111. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +59 -53
  112. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  113. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +2 -2
  114. package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -1
  115. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +5 -1
  116. package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
  117. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +11 -3
  118. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -1
  119. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +25 -17
  120. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
  121. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +2 -2
  122. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -1
  123. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +3 -3
  124. package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
  125. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +2 -2
  126. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -1
  127. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +1 -1
  128. package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
  129. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +3 -3
  130. package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -1
  131. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +11 -11
  132. package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
  133. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +18 -8
  134. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -1
  135. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +27 -13
  136. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
  137. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +110 -0
  138. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -0
  139. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +242 -0
  140. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -0
  141. package/dist/idl_codegen_kamino_vault/types/index.d.ts +34 -30
  142. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
  143. package/dist/idl_codegen_kamino_vault/types/index.js +26 -1
  144. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  145. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  146. package/dist/lending_operations/repay_with_collateral_operations.js +6 -0
  147. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  148. package/dist/leverage/calcs.d.ts +28 -1
  149. package/dist/leverage/calcs.d.ts.map +1 -1
  150. package/dist/leverage/calcs.js +204 -8
  151. package/dist/leverage/calcs.js.map +1 -1
  152. package/dist/leverage/index.d.ts +1 -0
  153. package/dist/leverage/index.d.ts.map +1 -1
  154. package/dist/leverage/index.js +1 -0
  155. package/dist/leverage/index.js.map +1 -1
  156. package/dist/leverage/operations.d.ts +14 -241
  157. package/dist/leverage/operations.d.ts.map +1 -1
  158. package/dist/leverage/operations.js +508 -776
  159. package/dist/leverage/operations.js.map +1 -1
  160. package/dist/leverage/types.d.ts +173 -0
  161. package/dist/leverage/types.d.ts.map +1 -0
  162. package/dist/leverage/types.js +3 -0
  163. package/dist/leverage/types.js.map +1 -0
  164. package/dist/leverage/utils.d.ts +5 -5
  165. package/dist/leverage/utils.d.ts.map +1 -1
  166. package/dist/leverage/utils.js +68 -33
  167. package/dist/leverage/utils.js.map +1 -1
  168. package/dist/utils/constants.d.ts +1 -0
  169. package/dist/utils/constants.d.ts.map +1 -1
  170. package/dist/utils/constants.js +2 -1
  171. package/dist/utils/constants.js.map +1 -1
  172. package/dist/utils/fuzz.d.ts +3 -0
  173. package/dist/utils/fuzz.d.ts.map +1 -0
  174. package/dist/utils/fuzz.js +11 -0
  175. package/dist/utils/fuzz.js.map +1 -0
  176. package/dist/utils/index.d.ts +1 -0
  177. package/dist/utils/index.d.ts.map +1 -1
  178. package/dist/utils/index.js +1 -0
  179. package/dist/utils/index.js.map +1 -1
  180. package/dist/utils/rpc.d.ts.map +1 -1
  181. package/dist/utils/rpc.js +2 -1
  182. package/dist/utils/rpc.js.map +1 -1
  183. package/package.json +2 -1
  184. package/src/classes/manager.ts +122 -4
  185. package/src/classes/market.ts +1 -1
  186. package/src/classes/vault.ts +123 -49
  187. package/src/client_kamino_manager.ts +18 -0
  188. package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +132 -105
  189. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +217 -124
  190. package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -4
  191. package/src/idl_codegen_kamino_vault/errors/anchor.ts +335 -326
  192. package/src/idl_codegen_kamino_vault/errors/custom.ts +353 -157
  193. package/src/idl_codegen_kamino_vault/errors/index.ts +35 -22
  194. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +33 -25
  195. package/src/idl_codegen_kamino_vault/instructions/giveUpPendingFees.ts +40 -0
  196. package/src/idl_codegen_kamino_vault/instructions/index.ts +27 -10
  197. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +25 -20
  198. package/src/idl_codegen_kamino_vault/instructions/invest.ts +40 -25
  199. package/src/idl_codegen_kamino_vault/instructions/updateAdmin.ts +24 -0
  200. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +24 -24
  201. package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +49 -0
  202. package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +45 -33
  203. package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +75 -0
  204. package/src/idl_codegen_kamino_vault/programId.ts +5 -3
  205. package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +24 -18
  206. package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +21 -16
  207. package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +21 -18
  208. package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +32 -27
  209. package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +25 -22
  210. package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +14 -14
  211. package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +35 -35
  212. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +232 -191
  213. package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +27 -23
  214. package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +116 -98
  215. package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +25 -25
  216. package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +21 -18
  217. package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +92 -74
  218. package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +67 -49
  219. package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +270 -0
  220. package/src/idl_codegen_kamino_vault/types/index.ts +77 -30
  221. package/src/lending_operations/repay_with_collateral_operations.ts +2 -0
  222. package/src/leverage/calcs.ts +315 -8
  223. package/src/leverage/index.ts +1 -0
  224. package/src/leverage/operations.ts +1079 -1331
  225. package/src/leverage/types.ts +211 -0
  226. package/src/leverage/utils.ts +103 -64
  227. package/src/utils/constants.ts +2 -0
  228. package/src/utils/fuzz.ts +5 -0
  229. package/src/utils/index.ts +1 -0
  230. package/src/utils/rpc.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/leverage/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/leverage/utils.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare const MIN_AUTODELEVERAGE_BONUS_BPS = 50;
42
42
  * WSOL Mint
43
43
  */
44
44
  export declare const WRAPPED_SOL_MINT: PublicKey;
45
+ export declare const SOL_DECIMALS = 9;
45
46
  /**
46
47
  * USDC Mint
47
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,kBAAkB,EAAE,SAAwE,CAAC;AAC1G,eAAO,MAAM,wBAAwB,EAAE,MAA8B,CAAC;AACtE,eAAO,MAAM,OAAO,yBAAyB,CAAC;AAE9C,eAAO,MAAM,uBAAuB,SAAwC,CAAC;AAE7E,MAAM,MAAM,GAAG,GAAG,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,CAE9C;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,UAMlD;AAED,eAAO,MAAM,YAAY,0DAA0D,CAAC;AAEpF,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,wBAAgB,YAAY,CAAC,GAAG,GAAE,cAAc,GAAG,SAA0B,aAM5E;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAwB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAwB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAsB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAsB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAE7F;;GAEG;AACH,eAAO,MAAM,iBAAiB,WAAgE,CAAC;AAE/F,eAAO,MAAM,qBAAqB,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,kBAAkB,EAAE,SAAwE,CAAC;AAC1G,eAAO,MAAM,wBAAwB,EAAE,MAA8B,CAAC;AACtE,eAAO,MAAM,OAAO,yBAAyB,CAAC;AAE9C,eAAO,MAAM,uBAAuB,SAAwC,CAAC;AAE7E,MAAM,MAAM,GAAG,GAAG,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,CAE9C;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,UAMlD;AAED,eAAO,MAAM,YAAY,0DAA0D,CAAC;AAEpF,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,wBAAgB,YAAY,CAAC,GAAG,GAAE,cAAc,GAAG,SAA0B,aAM5E;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAwB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAwB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAsB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAsB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAE7F,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,iBAAiB,WAAgE,CAAC;AAE/F,eAAO,MAAM,qBAAqB,MAAM,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MAINNET_BETA_CHAIN_ID = exports.USDC_MAINNET_MINT = exports.WRAPPED_SOL_MINT = exports.MIN_AUTODELEVERAGE_BONUS_BPS = exports.SLOTS_PER_YEAR = exports.SLOTS_PER_DAY = exports.SLOTS_PER_HOUR = exports.SLOTS_PER_MINUTE = exports.SLOTS_PER_SECOND = exports.ONE_HUNDRED_PCT_IN_BPS = exports.CDN_ENDPOINT = exports.INITIAL_COLLATERAL_RATE = exports.U64_MAX = exports.DEFAULT_KLEND_PROGRAM_ID = exports.STAGING_PROGRAM_ID = void 0;
6
+ exports.MAINNET_BETA_CHAIN_ID = exports.USDC_MAINNET_MINT = exports.SOL_DECIMALS = exports.WRAPPED_SOL_MINT = exports.MIN_AUTODELEVERAGE_BONUS_BPS = exports.SLOTS_PER_YEAR = exports.SLOTS_PER_DAY = exports.SLOTS_PER_HOUR = exports.SLOTS_PER_MINUTE = exports.SLOTS_PER_SECOND = exports.ONE_HUNDRED_PCT_IN_BPS = exports.CDN_ENDPOINT = exports.INITIAL_COLLATERAL_RATE = exports.U64_MAX = exports.DEFAULT_KLEND_PROGRAM_ID = exports.STAGING_PROGRAM_ID = void 0;
7
7
  exports.isENV = isENV;
8
8
  exports.getApiEndpoint = getApiEndpoint;
9
9
  exports.getProgramId = getProgramId;
@@ -68,6 +68,7 @@ exports.MIN_AUTODELEVERAGE_BONUS_BPS = 50;
68
68
  * WSOL Mint
69
69
  */
70
70
  exports.WRAPPED_SOL_MINT = new web3_js_1.PublicKey('So11111111111111111111111111111111111111112');
71
+ exports.SOL_DECIMALS = 9;
71
72
  /**
72
73
  * USDC Mint
73
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;;;;AAYA,sBAEC;AAED,wCAMC;AAMD,oCAMC;AAlCD,4DAAiC;AACjC,wDAAsD;AACtD,6CAA4C;AAE/B,QAAA,kBAAkB,GAAc,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAC7F,QAAA,wBAAwB,GAAW,sBAAU,CAAC,QAAQ,EAAE,CAAC;AACzD,QAAA,OAAO,GAAG,sBAAsB,CAAC;AAC9C,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACtB,QAAA,uBAAuB,GAAG,IAAI,oBAAO,CAAC,wBAAwB,CAAC,CAAC;AAI7E,SAAgB,KAAK,CAAC,KAAU;IAC9B,OAAO,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,CAAC;AAChF,CAAC;AAED,SAAgB,cAAc,CAAC,SAAoB;IACjD,IAAI,SAAS,CAAC,MAAM,CAAC,sBAAU,CAAC,EAAE,CAAC;QACjC,OAAO,gDAAgD,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,6DAA6D,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7F,CAAC;AACH,CAAC;AAEY,QAAA,YAAY,GAAG,uDAAuD,CAAC;AAEvE,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAE7C,SAAgB,YAAY,CAAC,MAAkC,cAAc;IAC3E,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,OAAO,sBAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,0BAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;GAGG;AACU,QAAA,gBAAgB,GAAG,wBAAgB,GAAG,EAAE,CAAC;AAEtD;;;GAGG;AACU,QAAA,cAAc,GAAG,wBAAgB,GAAG,EAAE,CAAC;AAEpD;;;GAGG;AACU,QAAA,aAAa,GAAG,sBAAc,GAAG,EAAE,CAAC;AAEjD;;;GAGG;AACU,QAAA,cAAc,GAAG,qBAAa,GAAG,GAAG,CAAC;AAElD;;GAEG;AACU,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAE7F;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAAC,8CAA8C,CAAC,CAAC;AAElF,QAAA,qBAAqB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;;;;AAYA,sBAEC;AAED,wCAMC;AAMD,oCAMC;AAlCD,4DAAiC;AACjC,wDAAsD;AACtD,6CAA4C;AAE/B,QAAA,kBAAkB,GAAc,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAC7F,QAAA,wBAAwB,GAAW,sBAAU,CAAC,QAAQ,EAAE,CAAC;AACzD,QAAA,OAAO,GAAG,sBAAsB,CAAC;AAC9C,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACtB,QAAA,uBAAuB,GAAG,IAAI,oBAAO,CAAC,wBAAwB,CAAC,CAAC;AAI7E,SAAgB,KAAK,CAAC,KAAU;IAC9B,OAAO,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,CAAC;AAChF,CAAC;AAED,SAAgB,cAAc,CAAC,SAAoB;IACjD,IAAI,SAAS,CAAC,MAAM,CAAC,sBAAU,CAAC,EAAE,CAAC;QACjC,OAAO,gDAAgD,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,6DAA6D,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7F,CAAC;AACH,CAAC;AAEY,QAAA,YAAY,GAAG,uDAAuD,CAAC;AAEvE,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAE7C,SAAgB,YAAY,CAAC,MAAkC,cAAc;IAC3E,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,OAAO,sBAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,0BAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;GAGG;AACU,QAAA,gBAAgB,GAAG,wBAAgB,GAAG,EAAE,CAAC;AAEtD;;;GAGG;AACU,QAAA,cAAc,GAAG,wBAAgB,GAAG,EAAE,CAAC;AAEpD;;;GAGG;AACU,QAAA,aAAa,GAAG,sBAAc,GAAG,EAAE,CAAC;AAEjD;;;GAGG;AACU,QAAA,cAAc,GAAG,qBAAa,GAAG,GAAG,CAAC;AAElD;;GAEG;AACU,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,mBAAS,CAAC,6CAA6C,CAAC,CAAC;AAEhF,QAAA,YAAY,GAAG,CAAC,CAAC;AAE9B;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAAC,8CAA8C,CAAC,CAAC;AAElF,QAAA,qBAAqB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Decimal from 'decimal.js';
2
+ export declare function fuzzyEqual(a: Decimal.Value, b: Decimal.Value, epsilon?: number): boolean;
3
+ //# sourceMappingURL=fuzz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuzz.d.ts","sourceRoot":"","sources":["../../src/utils/fuzz.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,SAAS,WAE9E"}
@@ -0,0 +1,11 @@
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.fuzzyEqual = fuzzyEqual;
7
+ const decimal_js_1 = __importDefault(require("decimal.js"));
8
+ function fuzzyEqual(a, b, epsilon = 0.0001) {
9
+ return new decimal_js_1.default(a).sub(b).abs().lte(epsilon);
10
+ }
11
+ //# sourceMappingURL=fuzz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuzz.js","sourceRoot":"","sources":["../../src/utils/fuzz.ts"],"names":[],"mappings":";;;;;AAEA,gCAEC;AAJD,4DAAiC;AAEjC,SAAgB,UAAU,CAAC,CAAgB,EAAE,CAAgB,EAAE,OAAO,GAAG,MAAM;IAC7E,OAAO,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC"}
@@ -12,4 +12,5 @@ export * from './oracle';
12
12
  export * from './lookupTable';
13
13
  export * from './sendTransactionsUtils';
14
14
  export * from './managerTypes';
15
+ export * from './fuzz';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
@@ -28,4 +28,5 @@ __exportStar(require("./oracle"), exports);
28
28
  __exportStar(require("./lookupTable"), exports);
29
29
  __exportStar(require("./sendTransactionsUtils"), exports);
30
30
  __exportStar(require("./managerTypes"), exports);
31
+ __exportStar(require("./fuzz"), exports);
31
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,wCAAsB;AACtB,8CAA4B;AAC5B,wCAAsB;AACtB,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,0CAAwB;AACxB,iDAA+B;AAC/B,2CAAyB;AACzB,2CAAyB;AACzB,gDAA8B;AAC9B,0DAAwC;AACxC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,wCAAsB;AACtB,8CAA4B;AAC5B,wCAAsB;AACtB,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,0CAAwB;AACxB,iDAA+B;AAC/B,2CAAyB;AACzB,2CAAyB;AACzB,gDAA8B;AAC9B,0DAAwC;AACxC,iDAA+B;AAC/B,yCAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/utils/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EAEV,MAAM,iBAAiB,CAAC;AASzB;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,kBAAkB,CAAC,EAAE,wBAAwB,GAAG,UAAU,GACzD,OAAO,CAAC,0BAA0B,CAAC,CA2CrC;AAiCD,MAAM,MAAM,MAAM,GAAG,SAAS,QAAQ,CAAC;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/utils/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EAEV,MAAM,iBAAiB,CAAC;AAUzB;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,kBAAkB,CAAC,EAAE,wBAAwB,GAAG,UAAU,GACzD,OAAO,CAAC,0BAA0B,CAAC,CA2CrC;AAiCD,MAAM,MAAM,MAAM,GAAG,SAAS,QAAQ,CAAC;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,EAAE,CAAC"}
package/dist/utils/rpc.js CHANGED
@@ -8,6 +8,7 @@ const web3_js_1 = require("@solana/web3.js");
8
8
  const buffer_1 = require("buffer");
9
9
  const axios_1 = __importDefault(require("axios"));
10
10
  const zstd_wasm_1 = require("@bokuweb/zstd-wasm");
11
+ const crypto_1 = require("crypto");
11
12
  (async () => {
12
13
  await (0, zstd_wasm_1.init)();
13
14
  })();
@@ -35,7 +36,7 @@ async function getProgramAccounts(connection, programId, configOrCommitment) {
35
36
  ...configWithoutEncoding,
36
37
  },
37
38
  ],
38
- id: crypto.randomUUID(),
39
+ id: (0, crypto_1.randomUUID)(),
39
40
  }, {
40
41
  headers: {
41
42
  Accept: 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/utils/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/utils/rpc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamino-finance/klend-sdk",
3
- "version": "5.0.3",
3
+ "version": "5.0.5",
4
4
  "description": "Typescript SDK for interacting with the Kamino Lending (klend) protocol",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,6 +61,7 @@
61
61
  "axios": "^1.6.8",
62
62
  "base58-js": "^2.0.0",
63
63
  "bn.js": "^5.2.1",
64
+ "bs58": "^6.0.0",
64
65
  "buffer": "^6.0.3",
65
66
  "commander": "^9.3.0",
66
67
  "decimal.js": "^10.4.3",
@@ -1,12 +1,21 @@
1
1
  import {
2
+ AccountInfo,
2
3
  Connection,
3
4
  Keypair,
5
+ ParsedAccountData,
4
6
  PublicKey,
5
7
  SystemProgram,
6
8
  SYSVAR_RENT_PUBKEY,
7
9
  TransactionInstruction,
8
10
  } from '@solana/web3.js';
9
- import { KaminoVault, KaminoVaultClient, KaminoVaultConfig, kaminoVaultId, ReserveAllocationConfig } from './vault';
11
+ import {
12
+ KaminoVault,
13
+ KaminoVaultClient,
14
+ KaminoVaultConfig,
15
+ kaminoVaultId,
16
+ ReserveAllocationConfig,
17
+ VaultHolder,
18
+ } from './vault';
10
19
  import {
11
20
  AddAssetToMarketParams,
12
21
  CreateKaminoMarketParams,
@@ -40,6 +49,11 @@ import BN from 'bn.js';
40
49
  import { ElevationGroup, ReserveConfig, UpdateLendingMarketMode } from '../idl_codegen/types';
41
50
  import Decimal from 'decimal.js';
42
51
  import * as anchor from '@coral-xyz/anchor';
52
+ import { VaultState } from '../idl_codegen_kamino_vault/accounts';
53
+ import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
54
+ import { Data } from '@kamino-finance/kliquidity-sdk';
55
+ import bs58 from 'bs58';
56
+ import { getProgramAccounts } from '../utils/rpc';
43
57
 
44
58
  /**
45
59
  * KaminoManager is a class that provides a high-level interface to interact with the Kamino Lend and Kamino Vault programs, in order to create and manage a market, as well as vaults
@@ -184,6 +198,10 @@ export class KaminoManager {
184
198
  return this._vaultClient.updateReserveAllocationIxs(vault, reserveAllocationConfig);
185
199
  }
186
200
 
201
+ // async closeVault(vault: KaminoVault): Promise<TransactionInstruction> {
202
+ // return this._vaultClient.closeVaultIx(vault);
203
+ // }
204
+
187
205
  /**
188
206
  * This method retruns the reserve config for a given reserve
189
207
  * @param reserve - reserve to get the config for
@@ -356,13 +374,112 @@ export class KaminoManager {
356
374
  return this._vaultClient;
357
375
  }
358
376
 
377
+ /**
378
+ * Get all vaults
379
+ * @returns an array of all vaults
380
+ */
381
+ async getAllVaults(): Promise<KaminoVault[]> {
382
+ return this._vaultClient.getAllVaults();
383
+ }
384
+
385
+ /**
386
+ * Get all vaults for owner
387
+ * @returns an array of all vaults owned by a given pubkey
388
+ */
389
+ async getAllVaultsForOwner(owner: PublicKey): Promise<KaminoVault[]> {
390
+ const filters = [
391
+ {
392
+ dataSize: VaultState.layout.span + 8,
393
+ },
394
+ {
395
+ memcmp: {
396
+ offset: 0,
397
+ bytes: bs58.encode(VaultState.discriminator),
398
+ },
399
+ },
400
+ {
401
+ memcmp: {
402
+ offset: 8,
403
+ bytes: owner.toBase58(),
404
+ },
405
+ },
406
+ ];
407
+
408
+ const [kaminoVaults] = await Promise.all([
409
+ getProgramAccounts(this._connection, this._kaminoVaultProgramId, {
410
+ commitment: this._connection.commitment ?? 'processed',
411
+ filters,
412
+ }),
413
+ ]);
414
+
415
+ return kaminoVaults.map((kaminoVault) => {
416
+ if (kaminoVault.account === null) {
417
+ throw new Error(`kaminoVault with pubkey ${kaminoVault.pubkey.toString()} does not exist`);
418
+ }
419
+
420
+ const kaminoVaultAccount = VaultState.decode(kaminoVault.account.data);
421
+ if (!kaminoVaultAccount) {
422
+ throw Error(`kaminoVault with pubkey ${kaminoVault.pubkey.toString()} could not be decoded`);
423
+ }
424
+
425
+ return new KaminoVault(kaminoVault.pubkey, kaminoVaultAccount, this._kaminoVaultProgramId);
426
+ });
427
+ }
428
+
429
+ /**
430
+ * Get all token accounts that hold shares for a specific share mint
431
+ * @param shareMint
432
+ * @returns an array of all holders tokenAccounts pubkeys and their account info
433
+ */
434
+ async getShareTokenAccounts(
435
+ shareMint: PublicKey
436
+ ): Promise<{ pubkey: PublicKey; account: AccountInfo<Buffer | ParsedAccountData> }[]> {
437
+ //how to get all token accounts for specific mint: https://spl.solana.com/token#finding-all-token-accounts-for-a-specific-mint
438
+ //get it from the hardcoded token program and create a filter with the actual mint address
439
+ //datasize:165 filter selects all token accounts, memcmp filter selects based on the mint address withing each token account
440
+ return this._connection.getParsedProgramAccounts(TOKEN_PROGRAM_ID, {
441
+ filters: [{ dataSize: 165 }, { memcmp: { offset: 0, bytes: shareMint.toBase58() } }],
442
+ });
443
+ }
444
+
445
+ /**
446
+ * Get all token accounts that hold shares for a specific vault; if you already have the vault state use it in the param so you don't have to fetch it again
447
+ * @param vault
448
+ * @returns an array of all holders tokenAccounts pubkeys and their account info
449
+ */
450
+ async getVaultTokenAccounts(
451
+ vault: KaminoVault
452
+ ): Promise<{ pubkey: PublicKey; account: AccountInfo<Buffer | ParsedAccountData> }[]> {
453
+ const vaultState = await vault.getState(this._connection);
454
+ return this.getShareTokenAccounts(vaultState.sharesMint);
455
+ }
456
+
457
+ /**
458
+ * Get all vault token holders
459
+ * @param vault
460
+ * @returns an array of all vault holders with their pubkeys and amounts
461
+ */
462
+ getVaultHolders = async (vault: KaminoVault): Promise<VaultHolder[]> => {
463
+ await vault.getState(this._connection);
464
+ const tokenAccounts = await this.getVaultTokenAccounts(vault);
465
+ const result: VaultHolder[] = [];
466
+ for (const tokenAccount of tokenAccounts) {
467
+ const accountData = tokenAccount.account.data as Data;
468
+ result.push({
469
+ holderPubkey: new PublicKey(accountData.parsed.info.owner),
470
+ amount: new Decimal(accountData.parsed.info.tokenAmount.uiAmountString),
471
+ });
472
+ }
473
+ return result;
474
+ };
475
+
359
476
  /**
360
477
  * This will trigger invest by balancing, based on weights, the reserve allocations of the vault. It can either withdraw or deposit into reserves to balance them. This is a function that should be cranked
361
478
  * @param kaminoVault - vault to invest from
362
479
  * @returns - an array of invest instructions for each invest action required for the vault reserves
363
480
  */
364
- async investAllReserves(kaminoVault: KaminoVault): Promise<TransactionInstruction[]> {
365
- return this._vaultClient.investAllReservesIxs(kaminoVault);
481
+ async investAllReserves(payer: PublicKey, kaminoVault: KaminoVault): Promise<TransactionInstruction[]> {
482
+ return this._vaultClient.investAllReservesIxs(payer, kaminoVault);
366
483
  }
367
484
 
368
485
  /**
@@ -372,10 +489,11 @@ export class KaminoManager {
372
489
  * @returns - an array of invest instructions for each invest action required for the vault reserves
373
490
  */
374
491
  async investSingleReserve(
492
+ payer: PublicKey,
375
493
  kaminoVault: KaminoVault,
376
494
  reserveWithAddress: ReserveWithAddress
377
495
  ): Promise<TransactionInstruction> {
378
- return this._vaultClient.investSingleReserveIxs(kaminoVault, reserveWithAddress);
496
+ return this._vaultClient.investSingleReserveIxs(payer, kaminoVault, reserveWithAddress);
379
497
  }
380
498
 
381
499
  /**
@@ -35,6 +35,7 @@ import { parseTokenSymbol, parseZeroPaddedUtf8 } from './utils';
35
35
  import SwitchboardProgram from '@switchboard-xyz/sbv2-lite';
36
36
  import { ObligationZP } from '../idl_codegen/zero_padding';
37
37
  import { ReserveStatus } from '../idl_codegen/types';
38
+ import { getProgramAccounts } from '../utils/rpc';
38
39
 
39
40
  export interface ReserveRewardInfo {
40
41
  rewardsPerSecond: Decimal; // not lamport
@@ -532,7 +533,6 @@ export class KaminoMarket {
532
533
  * @param tag
533
534
  */
534
535
  async getAllObligationsForMarket(tag?: number): Promise<KaminoObligation[]> {
535
- const { getProgramAccounts } = await import('../utils/rpc');
536
536
  const filters = [
537
537
  {
538
538
  dataSize: Obligation.layout.span + 8,