@kamino-finance/klend-sdk 6.0.5 → 7.0.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 (97) hide show
  1. package/dist/@codegen/kvault/accounts/Reserve.js +1 -1
  2. package/dist/@codegen/kvault/accounts/VaultState.d.ts +6 -6
  3. package/dist/@codegen/kvault/accounts/VaultState.d.ts.map +1 -1
  4. package/dist/@codegen/kvault/accounts/VaultState.js +12 -12
  5. package/dist/@codegen/kvault/accounts/VaultState.js.map +1 -1
  6. package/dist/@codegen/kvault/errors/custom.d.ts +9 -1
  7. package/dist/@codegen/kvault/errors/custom.d.ts.map +1 -1
  8. package/dist/@codegen/kvault/errors/custom.js +15 -1
  9. package/dist/@codegen/kvault/errors/custom.js.map +1 -1
  10. package/dist/@codegen/kvault/types/VaultConfigField.d.ts +26 -0
  11. package/dist/@codegen/kvault/types/VaultConfigField.d.ts.map +1 -1
  12. package/dist/@codegen/kvault/types/VaultConfigField.js +49 -1
  13. package/dist/@codegen/kvault/types/VaultConfigField.js.map +1 -1
  14. package/dist/@codegen/kvault/types/index.d.ts +2 -2
  15. package/dist/@codegen/kvault/types/index.d.ts.map +1 -1
  16. package/dist/@codegen/kvault/types/index.js.map +1 -1
  17. package/dist/classes/action.d.ts +1 -1
  18. package/dist/classes/action.d.ts.map +1 -1
  19. package/dist/classes/action.js +26 -11
  20. package/dist/classes/action.js.map +1 -1
  21. package/dist/classes/manager.d.ts +25 -6
  22. package/dist/classes/manager.d.ts.map +1 -1
  23. package/dist/classes/manager.js +59 -27
  24. package/dist/classes/manager.js.map +1 -1
  25. package/dist/classes/market.d.ts +7 -2
  26. package/dist/classes/market.d.ts.map +1 -1
  27. package/dist/classes/market.js +12 -6
  28. package/dist/classes/market.js.map +1 -1
  29. package/dist/classes/vault.d.ts +22 -3
  30. package/dist/classes/vault.d.ts.map +1 -1
  31. package/dist/classes/vault.js +73 -40
  32. package/dist/classes/vault.js.map +1 -1
  33. package/dist/classes/vault_types.d.ts +9 -1
  34. package/dist/classes/vault_types.d.ts.map +1 -1
  35. package/dist/client/commands/borrow.d.ts.map +1 -1
  36. package/dist/client/commands/borrow.js +2 -1
  37. package/dist/client/commands/borrow.js.map +1 -1
  38. package/dist/client/commands/deposit.d.ts.map +1 -1
  39. package/dist/client/commands/deposit.js +2 -1
  40. package/dist/client/commands/deposit.js.map +1 -1
  41. package/dist/client/commands/repay.d.ts.map +1 -1
  42. package/dist/client/commands/repay.js +2 -1
  43. package/dist/client/commands/repay.js.map +1 -1
  44. package/dist/client/commands/withdraw.d.ts.map +1 -1
  45. package/dist/client/commands/withdraw.js +2 -1
  46. package/dist/client/commands/withdraw.js.map +1 -1
  47. package/dist/leverage/operations.d.ts.map +1 -1
  48. package/dist/leverage/operations.js +8 -5
  49. package/dist/leverage/operations.js.map +1 -1
  50. package/dist/manager/client_kamino_manager.js +10 -3
  51. package/dist/manager/client_kamino_manager.js.map +1 -1
  52. package/dist/utils/index.d.ts +1 -0
  53. package/dist/utils/index.d.ts.map +1 -1
  54. package/dist/utils/index.js +1 -0
  55. package/dist/utils/index.js.map +1 -1
  56. package/dist/utils/managerTypes.d.ts +2 -3
  57. package/dist/utils/managerTypes.d.ts.map +1 -1
  58. package/dist/utils/managerTypes.js +37 -34
  59. package/dist/utils/managerTypes.js.map +1 -1
  60. package/dist/utils/map.d.ts +2 -0
  61. package/dist/utils/map.d.ts.map +1 -0
  62. package/dist/utils/map.js +13 -0
  63. package/dist/utils/map.js.map +1 -0
  64. package/dist/utils/oracle.d.ts +2 -1
  65. package/dist/utils/oracle.d.ts.map +1 -1
  66. package/dist/utils/oracle.js +4 -4
  67. package/dist/utils/oracle.js.map +1 -1
  68. package/dist/utils/vault.js +2 -2
  69. package/dist/utils/vault.js.map +1 -1
  70. package/dist/utils/vaultAllocation.d.ts +21 -0
  71. package/dist/utils/vaultAllocation.d.ts.map +1 -0
  72. package/dist/utils/vaultAllocation.js +71 -0
  73. package/dist/utils/vaultAllocation.js.map +1 -0
  74. package/package.json +2 -2
  75. package/src/@codegen/kvault/accounts/Reserve.ts +1 -1
  76. package/src/@codegen/kvault/accounts/VaultState.ts +16 -16
  77. package/src/@codegen/kvault/errors/custom.ts +14 -0
  78. package/src/@codegen/kvault/types/VaultConfigField.ts +60 -0
  79. package/src/@codegen/kvault/types/index.ts +4 -0
  80. package/src/classes/action.ts +26 -11
  81. package/src/classes/manager.ts +92 -30
  82. package/src/classes/market.ts +15 -9
  83. package/src/classes/vault.ts +125 -42
  84. package/src/classes/vault_types.ts +11 -1
  85. package/src/client/commands/borrow.ts +2 -1
  86. package/src/client/commands/deposit.ts +2 -1
  87. package/src/client/commands/repay.ts +2 -1
  88. package/src/client/commands/withdraw.ts +2 -1
  89. package/src/idl/kvault.json +34 -12
  90. package/src/leverage/operations.ts +9 -10
  91. package/src/manager/client_kamino_manager.ts +15 -3
  92. package/src/utils/index.ts +1 -0
  93. package/src/utils/managerTypes.ts +29 -28
  94. package/src/utils/map.ts +8 -0
  95. package/src/utils/oracle.ts +4 -3
  96. package/src/utils/vault.ts +2 -2
  97. package/src/utils/vaultAllocation.ts +93 -0
@@ -1,10 +1,11 @@
1
+ import BN from 'bn.js';
1
2
  import { Address, GetAccountInfoApi, IAccountMeta, IInstruction, ProgramDerivedAddress, Rpc, Slot, SolanaRpcApi, TransactionSigner } from '@solana/kit';
2
3
  import { KaminoMarket, KaminoReserve, Reserve } from '../lib';
3
4
  import { VaultConfigFieldKind } from '../@codegen/kvault/types';
4
5
  import { VaultState } from '../@codegen/kvault/accounts';
5
6
  import Decimal from 'decimal.js';
6
7
  import { ReserveWithAddress } from './reserve';
7
- import { AcceptVaultOwnershipIxs, APYs, DepositIxs, InitVaultIxs, ReserveAllocationOverview, SyncVaultLUTIxs, UpdateReserveAllocationIxs, UpdateVaultConfigIxs, UserSharesForVault, WithdrawAndBlockReserveIxs, WithdrawIxs } from './vault_types';
8
+ import { AcceptVaultOwnershipIxs, APYs, DepositIxs, DisinvestAllReservesIxs, InitVaultIxs, ReserveAllocationOverview, SyncVaultLUTIxs, UpdateReserveAllocationIxs, UpdateVaultConfigIxs, UserSharesForVault, VaultComputedAllocation, WithdrawAndBlockReserveIxs, WithdrawIxs } from './vault_types';
8
9
  import { FarmIncentives, FarmState } from '@kamino-finance/farms-sdk/dist';
9
10
  export declare const kaminoVaultId: Address<"KvauGMspG5k6rtzrqqn7WNn3oZdyKqLKwK2XWQ8FLjd">;
10
11
  export declare const kaminoVaultStagingId: Address<"stKvQfwRsQiKnLtMNVLHKS3exFJmZFsgfzBPWHECUYK">;
@@ -60,6 +61,15 @@ export declare class KaminoVaultClient {
60
61
  * @returns - a struct with an instruction to update the reserve allocation and an optional list of instructions to update the lookup table for the allocation changes
61
62
  */
62
63
  updateReserveAllocationIxs(vault: KaminoVault, reserveAllocationConfig: ReserveAllocationConfig, vaultAdminAuthority?: TransactionSigner): Promise<UpdateReserveAllocationIxs>;
64
+ /**
65
+ * This method updates the unallocated weight and cap of a vault (both are optional, if not provided the current values will be used)
66
+ * @param vault - the vault to update the unallocated weight and cap for
67
+ * @param [vaultAdminAuthority] - vault admin - a noop vaultAdminAuthority is provided when absent for multisigs
68
+ * @param [unallocatedWeight] - the new unallocated weight to set. If not provided, the current unallocated weight will be used
69
+ * @param [unallocatedCap] - the new unallocated cap to set. If not provided, the current unallocated cap will be used
70
+ * @returns - a list of instructions to update the unallocated weight and cap
71
+ */
72
+ updateVaultUnallocatedWeightAndCapIxs(vault: KaminoVault, vaultAdminAuthority?: TransactionSigner, unallocatedWeight?: BN, unallocatedCap?: BN): Promise<IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[]>;
63
73
  /**
64
74
  * This method withdraws all the funds from a reserve and blocks it from being invested by setting its weight and ctoken allocation to 0
65
75
  * @param vault - the vault to withdraw the funds from
@@ -73,9 +83,17 @@ export declare class KaminoVaultClient {
73
83
  * @param vault - the vault to withdraw the invested funds from
74
84
  * @param [vaultReservesMap] - optional parameter to pass a map of the vault reserves. If not provided, the reserves will be loaded from the vault
75
85
  * @param [payer] - optional parameter to pass a different payer for the transaction. If not provided, the admin of the vault will be used; this is the payer for the invest ixs and it should have an ATA and some lamports (2x no_of_reserves) of the token vault
76
- * @returns - a struct with an instruction to update the reserve allocation and an optional list of instructions to update the lookup table for the allocation changes
86
+ * @returns - a struct with an instruction to update the reserve allocations (set weight and ctoken allocation to 0) and an a list of instructions to disinvest the funds in the reserves
77
87
  */
78
88
  withdrawEverythingFromAllReservesAndBlockInvest(vault: KaminoVault, vaultReservesMap?: Map<Address, KaminoReserve>, payer?: TransactionSigner): Promise<WithdrawAndBlockReserveIxs>;
89
+ /**
90
+ * This method disinvests all the funds from all the reserves and set their weight to 0; for vaults that are managed by external bot/crank, the bot can change the weight and invest in the reserves again
91
+ * @param vault - the vault to disinvest the invested funds from
92
+ * @param [vaultReservesMap] - optional parameter to pass a map of the vault reserves. If not provided, the reserves will be loaded from the vault
93
+ * @param [payer] - optional parameter to pass a different payer for the transaction. If not provided, the admin of the vault will be used; this is the payer for the invest ixs and it should have an ATA and some lamports (2x no_of_reserves) of the token vault
94
+ * @returns - a struct with an instruction to update the reserve allocations to 0 weight and a list of instructions to disinvest the funds in the reserves
95
+ */
96
+ disinvestAllReservesIxs(vault: KaminoVault, vaultReservesMap?: Map<Address, KaminoReserve>, payer?: TransactionSigner): Promise<DisinvestAllReservesIxs>;
79
97
  /**
80
98
  * This method removes a reserve from the vault allocation strategy if already part of the allocation strategy
81
99
  * @param vault - vault to remove the reserve from
@@ -216,7 +234,8 @@ export declare class KaminoVaultClient {
216
234
  * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
217
235
  * @returns - a map from each reserve to how many tokens should be invested into
218
236
  */
219
- getVaultComputedReservesAllocation(vaultState: VaultState, slot?: Slot, vaultReserves?: Map<Address, KaminoReserve>, currentSlot?: Slot): Promise<Map<Address, Decimal>>;
237
+ getVaultComputedReservesAllocation(vaultState: VaultState, slot?: Slot, vaultReserves?: Map<Address, KaminoReserve>, currentSlot?: Slot): Promise<VaultComputedAllocation>;
238
+ private computeReservesAllocation;
220
239
  /**
221
240
  * This method returns the user shares balance for a given vault
222
241
  * @param user - user to calculate the shares balance for
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ const signer_1 = require("../utils/signer");
34
34
  const address_lookup_table_1 = require("@solana-program/address-lookup-table");
35
35
  const farms_sdk_1 = require("@kamino-finance/farms-sdk");
36
36
  const apy_1 = require("@kamino-finance/farms-sdk/dist/utils/apy");
37
+ const vaultAllocation_1 = require("../utils/vaultAllocation");
37
38
  exports.kaminoVaultId = (0, kit_1.address)('KvauGMspG5k6rtzrqqn7WNn3oZdyKqLKwK2XWQ8FLjd');
38
39
  exports.kaminoVaultStagingId = (0, kit_1.address)('stKvQfwRsQiKnLtMNVLHKS3exFJmZFsgfzBPWHECUYK');
39
40
  const TOKEN_VAULT_SEED = 'token_vault';
@@ -257,6 +258,29 @@ class KaminoVaultClient {
257
258
  };
258
259
  return updateReserveAllocationIxs;
259
260
  }
261
+ /**
262
+ * This method updates the unallocated weight and cap of a vault (both are optional, if not provided the current values will be used)
263
+ * @param vault - the vault to update the unallocated weight and cap for
264
+ * @param [vaultAdminAuthority] - vault admin - a noop vaultAdminAuthority is provided when absent for multisigs
265
+ * @param [unallocatedWeight] - the new unallocated weight to set. If not provided, the current unallocated weight will be used
266
+ * @param [unallocatedCap] - the new unallocated cap to set. If not provided, the current unallocated cap will be used
267
+ * @returns - a list of instructions to update the unallocated weight and cap
268
+ */
269
+ async updateVaultUnallocatedWeightAndCapIxs(vault, vaultAdminAuthority, unallocatedWeight, unallocatedCap) {
270
+ const vaultState = await vault.getState(this.getConnection());
271
+ const unallocatedWeightToUse = unallocatedWeight ? unallocatedWeight : vaultState.unallocatedWeight;
272
+ const unallocatedCapToUse = unallocatedCap ? unallocatedCap : vaultState.unallocatedTokensCap;
273
+ const ixs = [];
274
+ if (!unallocatedWeightToUse.eq(vaultState.unallocatedWeight)) {
275
+ const updateVaultUnallocatedWeightIx = await this.updateVaultConfigIxs(vault, new types_1.VaultConfigField.UnallocatedWeight(), unallocatedWeightToUse.toString(), vaultAdminAuthority);
276
+ ixs.push(updateVaultUnallocatedWeightIx.updateVaultConfigIx);
277
+ }
278
+ if (!unallocatedCapToUse.eq(vaultState.unallocatedTokensCap)) {
279
+ const updateVaultUnallocatedCapIx = await this.updateVaultConfigIxs(vault, new types_1.VaultConfigField.UnallocatedTokensCap(), unallocatedCapToUse.toString(), vaultAdminAuthority);
280
+ ixs.push(updateVaultUnallocatedCapIx.updateVaultConfigIx);
281
+ }
282
+ return ixs;
283
+ }
260
284
  /**
261
285
  * This method withdraws all the funds from a reserve and blocks it from being invested by setting its weight and ctoken allocation to 0
262
286
  * @param vault - the vault to withdraw the funds from
@@ -296,7 +320,7 @@ class KaminoVaultClient {
296
320
  * @param vault - the vault to withdraw the invested funds from
297
321
  * @param [vaultReservesMap] - optional parameter to pass a map of the vault reserves. If not provided, the reserves will be loaded from the vault
298
322
  * @param [payer] - optional parameter to pass a different payer for the transaction. If not provided, the admin of the vault will be used; this is the payer for the invest ixs and it should have an ATA and some lamports (2x no_of_reserves) of the token vault
299
- * @returns - a struct with an instruction to update the reserve allocation and an optional list of instructions to update the lookup table for the allocation changes
323
+ * @returns - a struct with an instruction to update the reserve allocations (set weight and ctoken allocation to 0) and an a list of instructions to disinvest the funds in the reserves
300
324
  */
301
325
  async withdrawEverythingFromAllReservesAndBlockInvest(vault, vaultReservesMap, payer) {
302
326
  const vaultState = await vault.getState(this.getConnection());
@@ -323,6 +347,42 @@ class KaminoVaultClient {
323
347
  withdrawAndBlockReserveIxs.investIxs = investIxs;
324
348
  return withdrawAndBlockReserveIxs;
325
349
  }
350
+ /**
351
+ * This method disinvests all the funds from all the reserves and set their weight to 0; for vaults that are managed by external bot/crank, the bot can change the weight and invest in the reserves again
352
+ * @param vault - the vault to disinvest the invested funds from
353
+ * @param [vaultReservesMap] - optional parameter to pass a map of the vault reserves. If not provided, the reserves will be loaded from the vault
354
+ * @param [payer] - optional parameter to pass a different payer for the transaction. If not provided, the admin of the vault will be used; this is the payer for the invest ixs and it should have an ATA and some lamports (2x no_of_reserves) of the token vault
355
+ * @returns - a struct with an instruction to update the reserve allocations to 0 weight and a list of instructions to disinvest the funds in the reserves
356
+ */
357
+ async disinvestAllReservesIxs(vault, vaultReservesMap, payer) {
358
+ const vaultState = await vault.getState(this.getConnection());
359
+ const reserves = this.getVaultReserves(vaultState);
360
+ const disinvestAllReservesIxs = {
361
+ updateReserveAllocationIxs: [],
362
+ investIxs: [],
363
+ };
364
+ if (!vaultReservesMap) {
365
+ vaultReservesMap = await this.loadVaultReserves(vaultState);
366
+ }
367
+ for (const reserve of reserves) {
368
+ const reserveWithAddress = {
369
+ address: reserve,
370
+ state: vaultReservesMap.get(reserve).state,
371
+ };
372
+ const existingReserveAllocation = vaultState.vaultAllocationStrategy.find((allocation) => allocation.reserve === reserve);
373
+ if (!existingReserveAllocation) {
374
+ continue;
375
+ }
376
+ const reserveAllocationConfig = new ReserveAllocationConfig(reserveWithAddress, 0, new decimal_js_1.default(existingReserveAllocation.tokenAllocationCap.toString()));
377
+ // update allocation to have 0 weight and 0 cap
378
+ const updateAllocIxs = await this.updateReserveAllocationIxs(vault, reserveAllocationConfig, payer);
379
+ disinvestAllReservesIxs.updateReserveAllocationIxs.push(updateAllocIxs.updateReserveAllocationIx);
380
+ }
381
+ const investPayer = payer ? payer : (0, signer_1.noopSigner)(vaultState.vaultAdminAuthority);
382
+ const investIxs = await this.investAllReservesIxs(investPayer, vault);
383
+ disinvestAllReservesIxs.investIxs = investIxs;
384
+ return disinvestAllReservesIxs;
385
+ }
326
386
  /**
327
387
  * This method removes a reserve from the vault allocation strategy if already part of the allocation strategy
328
388
  * @param vault - vault to remove the reserve from
@@ -873,7 +933,7 @@ class KaminoVaultClient {
873
933
  for (let index = 0; index < allReserves.length; index++) {
874
934
  const reservePubkey = allReserves[index];
875
935
  const reserveState = allReservesStateMap.get(reservePubkey);
876
- const computedAllocation = computedReservesAllocation.get(reservePubkey);
936
+ const computedAllocation = computedReservesAllocation.targetReservesAllocation.get(reservePubkey);
877
937
  const currentCTokenAllocation = curentVaultAllocations.get(reservePubkey).ctokenAllocation;
878
938
  const currentAllocationCap = curentVaultAllocations.get(reservePubkey).tokenAllocationCap;
879
939
  const reserveCollExchangeRate = reserveState.getCollateralExchangeRate();
@@ -1198,6 +1258,8 @@ class KaminoVaultClient {
1198
1258
  * @returns - a map from each reserve to how many tokens should be invested into
1199
1259
  */
1200
1260
  async getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot) {
1261
+ // 1. Read the states
1262
+ const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
1201
1263
  // if there are no vault reserves or all have weight 0 everything has to be in Available
1202
1264
  const allReservesPubkeys = this.getVaultReserves(vaultState);
1203
1265
  const reservesAllocations = this.getVaultAllocations(vaultState);
@@ -1210,46 +1272,17 @@ class KaminoVaultClient {
1210
1272
  allReservesPubkeys.forEach((reserve) => {
1211
1273
  computedHoldings.set(reserve, new decimal_js_1.default(0));
1212
1274
  });
1213
- return computedHoldings;
1275
+ return {
1276
+ targetUnallocatedAmount: holdings.totalAUMIncludingFees.sub(holdings.pendingFees),
1277
+ targetReservesAllocation: computedHoldings,
1278
+ };
1214
1279
  }
1215
- const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
1216
1280
  const initialVaultAllocations = this.getVaultAllocations(vaultState);
1217
- const allReserves = this.getVaultReserves(vaultState);
1218
- let totalAllocation = new decimal_js_1.default(0);
1219
- initialVaultAllocations.forEach((allocation) => {
1220
- totalAllocation = totalAllocation.add(allocation.targetWeight);
1221
- });
1222
- const expectedHoldingsDistribution = new Map();
1223
- allReserves.forEach((reserve) => {
1224
- expectedHoldingsDistribution.set(reserve, new decimal_js_1.default(0));
1225
- });
1226
- let totalLeftToInvest = holdings.totalAUMIncludingFees.sub(holdings.pendingFees);
1227
- let currentAllocationSum = totalAllocation;
1228
- const ONE = new decimal_js_1.default(1);
1229
- while (totalLeftToInvest.gt(ONE)) {
1230
- const totalLeftover = totalLeftToInvest;
1231
- for (const reserve of allReserves) {
1232
- const reserveWithWeight = initialVaultAllocations.get(reserve);
1233
- const targetAllocation = reserveWithWeight.targetWeight.mul(totalLeftover).div(currentAllocationSum);
1234
- const reserveCap = reserveWithWeight.tokenAllocationCap;
1235
- let amountToInvest = decimal_js_1.default.min(targetAllocation, totalLeftToInvest);
1236
- if (reserveCap.gt(kliquidity_sdk_1.ZERO)) {
1237
- amountToInvest = decimal_js_1.default.min(amountToInvest, reserveCap);
1238
- }
1239
- totalLeftToInvest = totalLeftToInvest.sub(amountToInvest);
1240
- if (amountToInvest.eq(reserveCap) && reserveCap.gt(kliquidity_sdk_1.ZERO)) {
1241
- currentAllocationSum = currentAllocationSum.sub(reserveWithWeight.targetWeight);
1242
- }
1243
- const reserveHasPreallocation = expectedHoldingsDistribution.has(reserve);
1244
- if (reserveHasPreallocation) {
1245
- expectedHoldingsDistribution.set(reserve, expectedHoldingsDistribution.get(reserve).add(amountToInvest));
1246
- }
1247
- else {
1248
- expectedHoldingsDistribution.set(reserve, amountToInvest);
1249
- }
1250
- }
1251
- }
1252
- return expectedHoldingsDistribution;
1281
+ // 2. Compute the allocation
1282
+ return this.computeReservesAllocation(holdings.totalAUMIncludingFees.sub(holdings.pendingFees), new decimal_js_1.default(vaultState.unallocatedWeight.toString()), new decimal_js_1.default(vaultState.unallocatedTokensCap.toString()), initialVaultAllocations);
1283
+ }
1284
+ computeReservesAllocation(vaultAUM, vaultUnallocatedWeight, vaultUnallocatedCap, initialVaultAllocations) {
1285
+ return (0, vaultAllocation_1.computeReservesAllocation)(vaultAUM, vaultUnallocatedWeight, vaultUnallocatedCap, initialVaultAllocations);
1253
1286
  }
1254
1287
  /**
1255
1288
  * This method returns the user shares balance for a given vault