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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/classes/action.d.ts +16 -17
  2. package/dist/classes/action.d.ts.map +1 -1
  3. package/dist/classes/action.js +61 -102
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/manager.d.ts +16 -4
  6. package/dist/classes/manager.d.ts.map +1 -1
  7. package/dist/classes/manager.js +28 -3
  8. package/dist/classes/manager.js.map +1 -1
  9. package/dist/classes/obligation.d.ts +6 -1
  10. package/dist/classes/obligation.d.ts.map +1 -1
  11. package/dist/classes/obligation.js +4 -2
  12. package/dist/classes/obligation.js.map +1 -1
  13. package/dist/classes/reserve.d.ts +2 -2
  14. package/dist/classes/reserve.d.ts.map +1 -1
  15. package/dist/classes/reserve.js +15 -11
  16. package/dist/classes/reserve.js.map +1 -1
  17. package/dist/classes/types.d.ts +4 -0
  18. package/dist/classes/types.d.ts.map +1 -1
  19. package/dist/classes/utils.d.ts.map +1 -1
  20. package/dist/classes/utils.js +1 -2
  21. package/dist/classes/utils.js.map +1 -1
  22. package/dist/classes/vault.d.ts +17 -4
  23. package/dist/classes/vault.d.ts.map +1 -1
  24. package/dist/classes/vault.js +80 -26
  25. package/dist/classes/vault.js.map +1 -1
  26. package/dist/client_kamino_manager.d.ts.map +1 -1
  27. package/dist/client_kamino_manager.js +8 -3
  28. package/dist/client_kamino_manager.js.map +1 -1
  29. package/dist/idl.json +199 -152
  30. package/dist/idl_codegen/accounts/LendingMarket.d.ts +15 -0
  31. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
  32. package/dist/idl_codegen/accounts/LendingMarket.js +11 -1
  33. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  34. package/dist/idl_codegen/errors/custom.d.ts +18 -2
  35. package/dist/idl_codegen/errors/custom.d.ts.map +1 -1
  36. package/dist/idl_codegen/errors/custom.js +31 -3
  37. package/dist/idl_codegen/errors/custom.js.map +1 -1
  38. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js +1 -1
  39. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -1
  40. package/dist/idl_codegen/instructions/borrowObligationLiquidityV2.js +1 -1
  41. package/dist/idl_codegen/instructions/borrowObligationLiquidityV2.js.map +1 -1
  42. package/dist/idl_codegen/instructions/depositAndWithdraw.d.ts +52 -0
  43. package/dist/idl_codegen/instructions/depositAndWithdraw.d.ts.map +1 -0
  44. package/dist/idl_codegen/instructions/depositAndWithdraw.js +219 -0
  45. package/dist/idl_codegen/instructions/depositAndWithdraw.js.map +1 -0
  46. package/dist/idl_codegen/instructions/depositReserveLiquidity.js +1 -1
  47. package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -1
  48. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js +1 -1
  49. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -1
  50. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateralV2.js +1 -1
  51. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateralV2.js.map +1 -1
  52. package/dist/idl_codegen/instructions/index.d.ts +2 -2
  53. package/dist/idl_codegen/instructions/index.d.ts.map +1 -1
  54. package/dist/idl_codegen/instructions/index.js +3 -3
  55. package/dist/idl_codegen/instructions/index.js.map +1 -1
  56. package/dist/idl_codegen/instructions/initFarmsForReserve.js +1 -1
  57. package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -1
  58. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js +1 -1
  59. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -1
  60. package/dist/idl_codegen/instructions/initReserve.d.ts +1 -0
  61. package/dist/idl_codegen/instructions/initReserve.d.ts.map +1 -1
  62. package/dist/idl_codegen/instructions/initReserve.js +5 -0
  63. package/dist/idl_codegen/instructions/initReserve.js.map +1 -1
  64. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js +2 -2
  65. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -1
  66. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateralV2.js +2 -2
  67. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateralV2.js.map +1 -1
  68. package/dist/idl_codegen/instructions/redeemFees.js +1 -1
  69. package/dist/idl_codegen/instructions/redeemFees.js.map +1 -1
  70. package/dist/idl_codegen/instructions/redeemReserveCollateral.js +1 -1
  71. package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -1
  72. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js +1 -1
  73. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -1
  74. package/dist/idl_codegen/instructions/repayAndWithdrawAndRedeem.js +2 -2
  75. package/dist/idl_codegen/instructions/repayAndWithdrawAndRedeem.js.map +1 -1
  76. package/dist/idl_codegen/instructions/repayObligationLiquidity.js +1 -1
  77. package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -1
  78. package/dist/idl_codegen/instructions/repayObligationLiquidityV2.js +1 -1
  79. package/dist/idl_codegen/instructions/repayObligationLiquidityV2.js.map +1 -1
  80. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +1 -1
  81. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -1
  82. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js +1 -1
  83. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js.map +1 -1
  84. package/dist/idl_codegen/instructions/withdrawProtocolFee.js +1 -1
  85. package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -1
  86. package/dist/idl_codegen/instructions/withdrawReferrerFees.js +1 -1
  87. package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -1
  88. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
  89. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
  90. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
  91. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  92. package/dist/idl_codegen/types/index.d.ts +2 -2
  93. package/dist/idl_codegen/types/index.d.ts.map +1 -1
  94. package/dist/idl_codegen/types/index.js.map +1 -1
  95. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +10 -4
  96. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -1
  97. package/dist/idl_codegen/zero_padding/ObligationZP.js +9 -7
  98. package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
  99. package/dist/lending_operations/repay_with_collateral_operations.js +1 -1
  100. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  101. package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
  102. package/dist/lending_operations/swap_collateral_operations.js +5 -3
  103. package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
  104. package/dist/leverage/calcs.d.ts +1 -1
  105. package/dist/leverage/calcs.d.ts.map +1 -1
  106. package/dist/leverage/calcs.js +12 -10
  107. package/dist/leverage/calcs.js.map +1 -1
  108. package/dist/leverage/instructions.d.ts +1 -2
  109. package/dist/leverage/instructions.d.ts.map +1 -1
  110. package/dist/leverage/instructions.js +2 -6
  111. package/dist/leverage/instructions.js.map +1 -1
  112. package/dist/leverage/operations.d.ts.map +1 -1
  113. package/dist/leverage/operations.js +19 -13
  114. package/dist/leverage/operations.js.map +1 -1
  115. package/dist/utils/ata.d.ts +1 -1
  116. package/dist/utils/ata.d.ts.map +1 -1
  117. package/dist/utils/ata.js +2 -2
  118. package/dist/utils/ata.js.map +1 -1
  119. package/dist/utils/constants.d.ts +4 -9
  120. package/dist/utils/constants.d.ts.map +1 -1
  121. package/dist/utils/constants.js +5 -10
  122. package/dist/utils/constants.js.map +1 -1
  123. package/dist/utils/instruction.d.ts.map +1 -1
  124. package/dist/utils/instruction.js +1 -3
  125. package/dist/utils/instruction.js.map +1 -1
  126. package/dist/utils/managerTypes.d.ts +1 -0
  127. package/dist/utils/managerTypes.d.ts.map +1 -1
  128. package/dist/utils/managerTypes.js.map +1 -1
  129. package/dist/utils/userMetadata.d.ts.map +1 -1
  130. package/dist/utils/userMetadata.js +2 -1
  131. package/dist/utils/userMetadata.js.map +1 -1
  132. package/package.json +7 -7
  133. package/src/classes/action.ts +77 -105
  134. package/src/classes/manager.ts +35 -3
  135. package/src/classes/obligation.ts +8 -4
  136. package/src/classes/reserve.ts +16 -13
  137. package/src/classes/types.ts +5 -0
  138. package/src/classes/utils.ts +3 -3
  139. package/src/classes/vault.ts +95 -38
  140. package/src/client_kamino_manager.ts +10 -3
  141. package/src/idl.json +199 -152
  142. package/src/idl_codegen/accounts/LendingMarket.ts +21 -1
  143. package/src/idl_codegen/errors/custom.ts +39 -2
  144. package/src/idl_codegen/instructions/borrowObligationLiquidity.ts +1 -1
  145. package/src/idl_codegen/instructions/borrowObligationLiquidityV2.ts +1 -1
  146. package/src/idl_codegen/instructions/depositAndWithdraw.ts +241 -0
  147. package/src/idl_codegen/instructions/depositReserveLiquidity.ts +1 -1
  148. package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.ts +1 -1
  149. package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateralV2.ts +1 -1
  150. package/src/idl_codegen/instructions/index.ts +4 -4
  151. package/src/idl_codegen/instructions/initFarmsForReserve.ts +1 -1
  152. package/src/idl_codegen/instructions/initObligationFarmsForReserve.ts +1 -1
  153. package/src/idl_codegen/instructions/initReserve.ts +6 -0
  154. package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.ts +2 -2
  155. package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateralV2.ts +2 -2
  156. package/src/idl_codegen/instructions/redeemFees.ts +1 -1
  157. package/src/idl_codegen/instructions/redeemReserveCollateral.ts +1 -1
  158. package/src/idl_codegen/instructions/refreshObligationFarmsForReserve.ts +1 -1
  159. package/src/idl_codegen/instructions/repayAndWithdrawAndRedeem.ts +2 -2
  160. package/src/idl_codegen/instructions/repayObligationLiquidity.ts +1 -1
  161. package/src/idl_codegen/instructions/repayObligationLiquidityV2.ts +1 -1
  162. package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +1 -1
  163. package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.ts +1 -1
  164. package/src/idl_codegen/instructions/withdrawProtocolFee.ts +1 -1
  165. package/src/idl_codegen/instructions/withdrawReferrerFees.ts +1 -1
  166. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
  167. package/src/idl_codegen/types/index.ts +2 -0
  168. package/src/idl_codegen/zero_padding/ObligationZP.ts +12 -6
  169. package/src/lending_operations/repay_with_collateral_operations.ts +1 -0
  170. package/src/lending_operations/swap_collateral_operations.ts +6 -5
  171. package/src/leverage/calcs.ts +16 -13
  172. package/src/leverage/instructions.ts +1 -6
  173. package/src/leverage/operations.ts +28 -18
  174. package/src/utils/ata.ts +1 -1
  175. package/src/utils/constants.ts +5 -11
  176. package/src/utils/instruction.ts +1 -3
  177. package/src/utils/managerTypes.ts +1 -0
  178. package/src/utils/userMetadata.ts +2 -2
@@ -33,7 +33,7 @@ exports.kaminoVaultStagingId = new web3_js_1.PublicKey('STkvh7ostar39Fwr4uZKASs1
33
33
  const TOKEN_VAULT_SEED = 'token_vault';
34
34
  const CTOKEN_VAULT_SEED = 'ctoken_vault';
35
35
  const BASE_VAULT_AUTHORITY_SEED = 'authority';
36
- const SHARES_SEEDS = 'shares';
36
+ const SHARES_SEED = 'shares';
37
37
  /**
38
38
  * KaminoVaultClient is a class that provides a high-level interface to interact with the Kamino Vault program.
39
39
  */
@@ -97,7 +97,7 @@ class KaminoVaultClient {
97
97
  });
98
98
  const tokenVault = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(TOKEN_VAULT_SEED), vaultState.publicKey.toBytes()], this._kaminoVaultProgramId)[0];
99
99
  const baseVaultAuthority = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(BASE_VAULT_AUTHORITY_SEED), vaultState.publicKey.toBytes()], this._kaminoVaultProgramId)[0];
100
- const sharesMint = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(SHARES_SEEDS), vaultState.publicKey.toBytes()], this._kaminoVaultProgramId)[0];
100
+ const sharesMint = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from(SHARES_SEED), vaultState.publicKey.toBytes()], this._kaminoVaultProgramId)[0];
101
101
  const initVaultAccounts = {
102
102
  adminAuthority: vaultConfig.admin,
103
103
  vaultState: vaultState.publicKey,
@@ -429,16 +429,16 @@ class KaminoVaultClient {
429
429
  const userTokenAta = (0, lib_1.getAssociatedTokenAddress)(vaultState.tokenMint, user, true, tokenProgramID);
430
430
  const createAtasIxns = [];
431
431
  const closeAtasIxns = [];
432
- if (vaultState.tokenMint.equals(lib_1.WRAPPED_SOL_MINT)) {
432
+ if (vaultState.tokenMint.equals(spl_token_1.NATIVE_MINT)) {
433
433
  const [{ ata: wsolAta, createAtaIx: createWsolAtaIxn }] = (0, utils_2.createAtasIdempotent)(user, [
434
434
  {
435
- mint: lib_1.WRAPPED_SOL_MINT,
435
+ mint: spl_token_1.NATIVE_MINT,
436
436
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
437
437
  },
438
438
  ]);
439
439
  createAtasIxns.push(createWsolAtaIxn);
440
- const depositWsolIxn = (0, lib_1.getDepositWsolIxns)(user, wsolAta, (0, utils_1.numberToLamportsDecimal)(tokenAmount, vaultState.tokenMintDecimals.toNumber()).ceil());
441
- createAtasIxns.push(...depositWsolIxn);
440
+ const transferWsolIxns = (0, lib_1.getTransferWsolIxns)(user, wsolAta, (0, utils_1.numberToLamportsDecimal)(tokenAmount, vaultState.tokenMintDecimals.toNumber()).ceil());
441
+ createAtasIxns.push(...transferWsolIxns);
442
442
  }
443
443
  const [{ ata: userSharesAta, createAtaIx: createSharesAtaIxns }] = (0, utils_2.createAtasIdempotent)(user, [
444
444
  {
@@ -641,6 +641,7 @@ class KaminoVaultClient {
641
641
  */
642
642
  async investAllReservesIxs(payer, vault) {
643
643
  const vaultState = await vault.getState(this.getConnection());
644
+ const minInvestAmount = vaultState.minInvestAmount;
644
645
  const allReserves = this.getVaultReserves(vaultState);
645
646
  if (allReserves.length === 0) {
646
647
  throw new Error('No reserves found for the vault, please select at least one reserve for the vault');
@@ -656,6 +657,7 @@ class KaminoVaultClient {
656
657
  // compute total vault holdings and expected distribution based on weights
657
658
  const curentVaultAllocations = this.getVaultAllocations(vaultState);
658
659
  const reservesToDisinvestFrom = [];
660
+ const reservesToInvestInto = [];
659
661
  for (let index = 0; index < allReserves.length; index++) {
660
662
  const reservePubkey = allReserves[index];
661
663
  const reserveState = allReservesStateMap.get(reservePubkey);
@@ -663,8 +665,16 @@ class KaminoVaultClient {
663
665
  const currentCTokenAllocation = curentVaultAllocations.get(reservePubkey).ctokenAllocation;
664
666
  const reserveCollExchangeRate = reserveState.getCollateralExchangeRate();
665
667
  const reserveAllocationLiquidityAmount = (0, lib_1.lamportsToDecimal)(currentCTokenAllocation.div(reserveCollExchangeRate), vaultState.tokenMintDecimals.toNumber());
666
- if (computedAllocation.lt(reserveAllocationLiquidityAmount)) {
667
- reservesToDisinvestFrom.push(reservePubkey);
668
+ const diffInReserveTokens = computedAllocation.sub(reserveAllocationLiquidityAmount);
669
+ const diffInReserveLamports = (0, kliquidity_sdk_1.collToLamportsDecimal)(diffInReserveTokens, vaultState.tokenMintDecimals.toNumber());
670
+ // if the diff for the reserve is smaller than the min invest amount, we do not need to invest or disinvest
671
+ if (diffInReserveLamports.abs().gte(new decimal_js_1.default(minInvestAmount.toString()))) {
672
+ if (computedAllocation.lt(reserveAllocationLiquidityAmount)) {
673
+ reservesToDisinvestFrom.push(reservePubkey);
674
+ }
675
+ else {
676
+ reservesToInvestInto.push(reservePubkey);
677
+ }
668
678
  }
669
679
  }
670
680
  const investIxnsPromises = [];
@@ -680,18 +690,16 @@ class KaminoVaultClient {
680
690
  }, allReservesStateMap, false);
681
691
  investIxnsPromises.push(investIxsPromise);
682
692
  }
683
- for (const reserve of allReserves) {
684
- if (!reservesToDisinvestFrom.includes(reserve)) {
685
- const reserveState = allReservesStateMap.get(reserve);
686
- if (reserveState === null) {
687
- throw new Error(`Reserve ${reserve.toBase58()} not found`);
688
- }
689
- const investIxsPromise = this.investSingleReserveIxs(payer, vault, {
690
- address: reserve,
691
- state: reserveState.state,
692
- }, allReservesStateMap, false);
693
- investIxnsPromises.push(investIxsPromise);
693
+ for (const reserve of reservesToInvestInto) {
694
+ const reserveState = allReservesStateMap.get(reserve);
695
+ if (reserveState === null) {
696
+ throw new Error(`Reserve ${reserve.toBase58()} not found`);
694
697
  }
698
+ const investIxsPromise = this.investSingleReserveIxs(payer, vault, {
699
+ address: reserve,
700
+ state: reserveState.state,
701
+ }, allReservesStateMap, false);
702
+ investIxnsPromises.push(investIxsPromise);
695
703
  }
696
704
  let investIxns = [];
697
705
  investIxns.push(createAtaIx);
@@ -1007,6 +1015,20 @@ class KaminoVaultClient {
1007
1015
  * @returns - a map from each reserve to how many tokens should be invested into
1008
1016
  */
1009
1017
  async getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot) {
1018
+ // if there are no vault reserves or all have weight 0 everything has to be in Available
1019
+ const allReservesPubkeys = this.getVaultReserves(vaultState);
1020
+ const reservesAllocations = this.getVaultAllocations(vaultState);
1021
+ const allReservesHaveWeight0 = allReservesPubkeys.every((reserve) => {
1022
+ const allocation = reservesAllocations.get(reserve);
1023
+ return allocation?.targetWeight.isZero();
1024
+ });
1025
+ if (allReservesPubkeys.length === 0 || allReservesHaveWeight0) {
1026
+ const computedHoldings = new lib_1.PubkeyHashMap();
1027
+ allReservesPubkeys.forEach((reserve) => {
1028
+ computedHoldings.set(reserve, new decimal_js_1.default(0));
1029
+ });
1030
+ return computedHoldings;
1031
+ }
1010
1032
  const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
1011
1033
  const initialVaultAllocations = this.getVaultAllocations(vaultState);
1012
1034
  const allReserves = this.getVaultReserves(vaultState);
@@ -1024,7 +1046,6 @@ class KaminoVaultClient {
1024
1046
  const reserveWithWeight = initialVaultAllocations.get(reserve);
1025
1047
  const targetAllocation = reserveWithWeight.targetWeight.mul(totalLeftover).div(currentAllocationSum);
1026
1048
  const reserveCap = reserveWithWeight.tokenAllocationCap;
1027
- // todo: check if both target and reserveCap
1028
1049
  const amountToInvest = decimal_js_1.default.min(targetAllocation, reserveCap, totalLeftToInvest);
1029
1050
  totalLeftToInvest = totalLeftToInvest.sub(amountToInvest);
1030
1051
  if (amountToInvest.eq(reserveCap)) {
@@ -1204,6 +1225,24 @@ class KaminoVaultClient {
1204
1225
  return new KaminoVault(kaminoVault.pubkey, kaminoVaultAccount, this._kaminoVaultProgramId);
1205
1226
  });
1206
1227
  }
1228
+ /**
1229
+ * Get a list of kaminoVaults
1230
+ * @param vaults - a list of vaults to get the states for; if not provided, all vaults will be fetched
1231
+ * @returns a list of vaults
1232
+ */
1233
+ async getVaults(vaults) {
1234
+ if (!vaults) {
1235
+ vaults = (await this.getAllVaults()).map((x) => x.address);
1236
+ }
1237
+ const vaultStates = await (0, kliquidity_sdk_1.batchFetch)(vaults, (chunk) => this.getVaultsStates(chunk));
1238
+ return vaults.map((vault, index) => {
1239
+ const state = vaultStates[index];
1240
+ return state ? new KaminoVault(vault, state, this._kaminoVaultProgramId) : null;
1241
+ });
1242
+ }
1243
+ async getVaultsStates(vaults) {
1244
+ return await accounts_1.VaultState.fetchMultiple(this.getConnection(), vaults, this._kaminoVaultProgramId);
1245
+ }
1207
1246
  /**
1208
1247
  * This will return the amount of token invested from the vault into the given reserve
1209
1248
  * @param vault - the kamino vault to get invested amount in reserve for
@@ -1317,7 +1356,16 @@ class KaminoVaultClient {
1317
1356
  * @returns a hashmap from each reserve pubkey to the reserve state
1318
1357
  */
1319
1358
  async loadVaultReserves(vaultState) {
1320
- const vaultReservesAddresses = this.getVaultReserves(vaultState);
1359
+ return this.loadVaultsReserves([vaultState]);
1360
+ }
1361
+ /**
1362
+ * This will load the onchain state for all the reserves that the vaults have allocations for, deduplicating the reserves
1363
+ * @param vaults - the vault states to load reserves for
1364
+ * @returns a hashmap from each reserve pubkey to the reserve state
1365
+ */
1366
+ async loadVaultsReserves(vaults) {
1367
+ const vaultReservesAddressesSet = new utils_2.PublicKeySet(vaults.flatMap((vault) => this.getVaultReserves(vault)));
1368
+ const vaultReservesAddresses = vaultReservesAddressesSet.toArray();
1321
1369
  const reserveAccounts = await this.getConnection().getMultipleAccountsInfo(vaultReservesAddresses, 'processed');
1322
1370
  const deserializedReserves = reserveAccounts.map((reserve, i) => {
1323
1371
  if (reserve === null) {
@@ -1511,7 +1559,7 @@ class KaminoVaultClient {
1511
1559
  const vaultCollateralsPromise = await this.getVaultCollaterals(vault, slotForOverview, vaultReservesState, kaminoMarkets);
1512
1560
  const reservesOverviewPromise = await this.getVaultReservesDetails(vault, slotForOverview, vaultReservesState);
1513
1561
  // all the async part of the functions above just read the vaultReservesState which is read beforehand, so excepting vaultCollateralsPromise they should do no additional network calls
1514
- const [vaultHoldingsWithUSDValue, vaultTheoreticalAPY, totalInvestedAndBorrowed, vaultCollaterals, reservesOverview,] = await Promise.all([
1562
+ const [vaultHoldingsWithUSDValue, vaultTheoreticalAPYs, totalInvestedAndBorrowed, vaultCollaterals, reservesOverview,] = await Promise.all([
1515
1563
  vaultHoldingsWithUSDValuePromise,
1516
1564
  vaultTheoreticalAPYPromise,
1517
1565
  totalInvestedAndBorrowedPromise,
@@ -1522,7 +1570,7 @@ class KaminoVaultClient {
1522
1570
  holdingsUSD: vaultHoldingsWithUSDValue,
1523
1571
  reservesOverview: reservesOverview,
1524
1572
  vaultCollaterals: vaultCollaterals,
1525
- theoreticalSupplyAPY: vaultTheoreticalAPY,
1573
+ theoreticalSupplyAPY: vaultTheoreticalAPYs,
1526
1574
  totalBorrowed: totalInvestedAndBorrowed.totalBorrowed,
1527
1575
  utilizationRatio: totalInvestedAndBorrowed.utilizationRatio,
1528
1576
  totalSupplied: totalInvestedAndBorrowed.totalInvested,
@@ -1603,7 +1651,7 @@ class KaminoVaultClient {
1603
1651
  * @param vault - the kamino vault to get APY for
1604
1652
  * @param slot - current slot
1605
1653
  * @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
1606
- * @returns APY for the vault
1654
+ * @returns a struct containing estimated gross APY and net APY (gross - vault fees) for the vault
1607
1655
  */
1608
1656
  async getVaultTheoreticalAPY(vault, slot, vaultReservesMap) {
1609
1657
  const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vault);
@@ -1624,13 +1672,19 @@ class KaminoVaultClient {
1624
1672
  totalWeights = totalWeights.add(weight);
1625
1673
  });
1626
1674
  if (totalWeights.isZero()) {
1627
- return new decimal_js_1.default(0);
1675
+ return {
1676
+ grossAPY: new decimal_js_1.default(0),
1677
+ netAPY: new decimal_js_1.default(0),
1678
+ };
1628
1679
  }
1629
1680
  const grossAPY = totalAPY.div(totalWeights);
1630
1681
  const netAPY = grossAPY
1631
1682
  .mul(new decimal_js_1.default(1).sub(new decimal_js_1.default(vault.performanceFeeBps.toString()).div(CreationParameters_1.FullBPSDecimal)))
1632
1683
  .mul(new decimal_js_1.default(1).sub(new decimal_js_1.default(vault.managementFeeBps.toString()).div(CreationParameters_1.FullBPSDecimal)));
1633
- return netAPY;
1684
+ return {
1685
+ grossAPY,
1686
+ netAPY,
1687
+ };
1634
1688
  }
1635
1689
  /**
1636
1690
  * Retrive the total amount of interest earned by the vault since its inception, up to the last interaction with the vault on chain, including what was charged as fees
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client_kamino_manager.d.ts","sourceRoot":"","sources":["../src/client_kamino_manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,OAAO,EACP,SAAS,EAMV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAgBL,UAAU,EACX,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAomC5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAsDD,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"client_kamino_manager.d.ts","sourceRoot":"","sources":["../src/client_kamino_manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,OAAO,EACP,SAAS,EAMV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAgBL,UAAU,EACX,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AA2mC5C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAsDD,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;CAC5B,CAAC"}
@@ -52,6 +52,7 @@ const fs = __importStar(require("fs"));
52
52
  const VaultConfigField_1 = require("./idl_codegen_kamino_vault/types/VaultConfigField");
53
53
  const rpc_1 = require("./utils/rpc");
54
54
  const types_utils_1 = require("./classes/types_utils");
55
+ const spl_token_1 = require("@solana/spl-token");
55
56
  dotenv_1.default.config({
56
57
  path: `.env${process.env.ENV ? '.' + process.env.ENV : ''}`,
57
58
  });
@@ -73,7 +74,7 @@ async function main() {
73
74
  const { market: marketKp, ixns: createMarketIxns } = await kaminoManager.createMarketIxs({
74
75
  admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
75
76
  });
76
- const _createMarketSig = await processTxn(env.client, env.payer, createMarketIxns, mode, 2500, [marketKp]);
77
+ await processTxn(env.client, env.payer, createMarketIxns, mode, 2500, [marketKp]);
77
78
  mode === 'execute' && console.log('Market created:', marketKp.publicKey.toBase58());
78
79
  });
79
80
  commands
@@ -98,8 +99,12 @@ async function main() {
98
99
  const reserveConfigFromFile = JSON.parse(fs.readFileSync(reserveConfigPath, 'utf8'));
99
100
  const reserveConfig = parseReserveConfigFromFile(reserveConfigFromFile);
100
101
  const assetConfig = new lib_1.AssetReserveConfigCli(tokenMint, tokenMintProgramId, reserveConfig);
102
+ const adminAta = mode === 'multisig'
103
+ ? (0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, multisigPk)
104
+ : (0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, env.payer.publicKey);
101
105
  const { reserve, txnIxns } = await kaminoManager.addAssetToMarketIxs({
102
106
  admin: mode === 'multisig' ? multisigPk : env.payer.publicKey,
107
+ adminLiquiditySource: adminAta,
103
108
  marketAddress: marketAddress,
104
109
  assetConfig: assetConfig,
105
110
  });
@@ -185,7 +190,7 @@ async function main() {
185
190
  });
186
191
  const { vault: vaultKp, initVaultIxs: instructions } = await kaminoManager.createVaultIxs(kaminoVaultConfig);
187
192
  const _createVaultSig = await processTxn(env.client, env.payer, [...instructions.initVaultIxs, instructions.createLUTIx], mode, 2500, [vaultKp]);
188
- await (0, lib_1.sleep)(5000);
193
+ await (0, lib_1.sleep)(2000);
189
194
  const _populateLUTSig = await processTxn(env.client, env.payer, instructions.populateLUTIxs, mode, 2500, []);
190
195
  mode === 'execute' && console.log('Vault created:', vaultKp.publicKey.toBase58());
191
196
  });
@@ -284,7 +289,7 @@ async function main() {
284
289
  // if we need to create the LUT we have to do that in a separate tx and wait a little bit after
285
290
  if (syncLUTIxs.setupLUTIfNeededIxs.length > 0) {
286
291
  const setupLUTSig = await processTxn(env.client, env.payer, syncLUTIxs.setupLUTIfNeededIxs, mode, 2500, []);
287
- await (0, lib_1.sleep)(5000);
292
+ await (0, lib_1.sleep)(2000);
288
293
  mode === 'execute' && console.log('LUT created and set to the vault:', setupLUTSig);
289
294
  }
290
295
  // if there are accounts to be added to the LUT we have to do that in a separate tx