@kamino-finance/klend-sdk 5.10.16 → 5.10.17

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.
@@ -261,9 +261,10 @@ export declare class KaminoManager {
261
261
  * @param price - the price of the token in the vault (e.g. USDC)
262
262
  * @param [slot] - the slot for which to calculate the holdings. Optional. If not provided the function will fetch the current slot
263
263
  * @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
264
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
264
265
  * @returns an VaultHoldingsWithUSDValue object with details about the tokens available and invested in the vault, denominated in tokens and USD
265
266
  */
266
- getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<VaultHoldingsWithUSDValue>;
267
+ getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<VaultHoldingsWithUSDValue>;
267
268
  /**
268
269
  * This will return an VaultOverview object that encapsulates all the information about the vault, including the holdings, reserves details, theoretical APY, utilization ratio and total borrowed amount
269
270
  * @param vault - the kamino vault to get available liquidity to withdraw for
@@ -271,9 +272,10 @@ export declare class KaminoManager {
271
272
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
272
273
  * @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
273
274
  * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
275
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
274
276
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
275
277
  */
276
- getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[]): Promise<VaultOverview>;
278
+ getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[], currentSlot?: number): Promise<VaultOverview>;
277
279
  /**
278
280
  * Prints a vault in a human readable form
279
281
  * @param vaultPubkey - the address of the vault
@@ -317,9 +319,18 @@ export declare class KaminoManager {
317
319
  * @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
318
320
  * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
319
321
  * @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
322
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
320
323
  * @returns a struct of simulated vault holdings and earned interest
321
324
  */
322
- calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number, previousTotalAUM?: Decimal): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
325
+ calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, slot?: number, previousTotalAUM?: Decimal, currentSlot?: number): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
326
+ /** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
327
+ * @param vaultState - the vault state to calculate the allocation for
328
+ * @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
329
+ * @param [vaultReserves] - a 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
330
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
331
+ * @returns - a map from each reserve to how many tokens should be invested into
332
+ */
333
+ getVaultComputedReservesAllocation(vaultState: VaultState, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<PubkeyHashMap<PublicKey, Decimal>>;
323
334
  /**
324
335
  * Simulate the current holdings and compute the fees that would be charged
325
336
  * @param vaultState the kamino vault state to get simulated fees for
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
@@ -486,10 +486,11 @@ class KaminoManager {
486
486
  * @param price - the price of the token in the vault (e.g. USDC)
487
487
  * @param [slot] - the slot for which to calculate the holdings. Optional. If not provided the function will fetch the current slot
488
488
  * @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
489
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
489
490
  * @returns an VaultHoldingsWithUSDValue object with details about the tokens available and invested in the vault, denominated in tokens and USD
490
491
  */
491
- async getVaultHoldingsWithPrice(vault, price, slot, vaultReserves) {
492
- return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves);
492
+ async getVaultHoldingsWithPrice(vault, price, slot, vaultReserves, currentSlot) {
493
+ return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves, currentSlot);
493
494
  }
494
495
  /**
495
496
  * This will return an VaultOverview object that encapsulates all the information about the vault, including the holdings, reserves details, theoretical APY, utilization ratio and total borrowed amount
@@ -498,10 +499,11 @@ class KaminoManager {
498
499
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
499
500
  * @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
500
501
  * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
502
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
501
503
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
502
504
  */
503
- async getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets) {
504
- return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets);
505
+ async getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets, currentSlot) {
506
+ return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets, currentSlot);
505
507
  }
506
508
  /**
507
509
  * Prints a vault in a human readable form
@@ -556,10 +558,21 @@ class KaminoManager {
556
558
  * @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
557
559
  * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
558
560
  * @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
561
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
559
562
  * @returns a struct of simulated vault holdings and earned interest
560
563
  */
561
- async calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves, currentSlot, previousTotalAUM) {
562
- return this._vaultClient.calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves, currentSlot, previousTotalAUM);
564
+ async calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves, slot, previousTotalAUM, currentSlot) {
565
+ return this._vaultClient.calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves, slot, previousTotalAUM, currentSlot);
566
+ }
567
+ /** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
568
+ * @param vaultState - the vault state to calculate the allocation for
569
+ * @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
570
+ * @param [vaultReserves] - a 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
571
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
572
+ * @returns - a map from each reserve to how many tokens should be invested into
573
+ */
574
+ async getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot) {
575
+ return this._vaultClient.getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot);
563
576
  }
564
577
  /**
565
578
  * Simulate the current holdings and compute the fees that would be charged
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAUyB;AACzB,mCAgBiB;AACjB,gCA4BgB;AAChB,wDAAsD;AACtD,yDAA2E;AAC3E,kDAAuB;AACvB,gDAA8F;AAC9F,4DAAiC;AACjC,0DAA4C;AAC5C,mEAAkE;AAClE,iDAAqD;AAErD,gDAAwB;AACxB,sCAAkD;AAClD,6DAA2F;AAc3F;;GAEG;AACH,MAAa,aAAa;IACP,WAAW,CAAa;IACxB,qBAAqB,CAAY;IACjC,oBAAoB,CAAY;IAChC,YAAY,CAAoB;IACjD,oBAAoB,CAAS;IAE7B,YACE,UAAsB,EACtB,mBAA+B,EAC/B,oBAAgC,EAChC,oBAA6B;QAE7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAa,CAAC;QACzF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAU,CAAC;QACnF,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qCAA+B,CAAC;QAC1G,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAiB,CACvC,UAAU,EACV,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,MAAgC;QAEhC,MAAM,aAAa,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,mBAAa,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,IAAA,0BAAoB,EAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7G,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QAEtD,gBAAgB,CAAC,IAAI,CACnB,uBAAa,CAAC,aAAa,CAAC;YAC1B,UAAU,EAAE,MAAM,CAAC,KAAK;YACxB,gBAAgB,EAAE,aAAa,CAAC,SAAS;YACzC,QAAQ,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC,IAAI,CAAC;YACxE,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI,CAAC,oBAAoB;SACrC,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAA8B;YAC1C,kBAAkB,EAAE,MAAM,CAAC,KAAK;YAChC,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,sBAAsB,EAAE,sBAAsB;YAC9C,aAAa,EAAE,uBAAa,CAAC,SAAS;YACtC,IAAI,EAAE,4BAAkB;SACzB,CAAC;QAEF,MAAM,IAAI,GAA0B;YAClC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACjC,CAAC;QAEF,gBAAgB,CAAC,IAAI,CAAC,IAAA,uBAAiB,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEpF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAA8B;QAE9B,MAAM,MAAM,GAAG,MAAM,mBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5G,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,iBAAiB,GAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAE9F,MAAM,cAAc,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;QAE1C,MAAM,yBAAyB,GAAG,MAAM,IAAA,sBAAgB,EACtD,IAAI,CAAC,WAAW,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,WAAW,CAAC,IAAI,EACvB,cAAc,CAAC,SAAS,EACxB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QAEF,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3D,iBAAiB,EACjB,cAAc,CAAC,SAAS,EACxB,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,EACrC,SAAS,EACT,IAAI,CACL,CAAC;QAEF,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAExC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,WAA8B;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CACnC,KAAkB,EAClB,uBAAgD;QAEhD,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACtF,CAAC;IAED,0EAA0E;IAC1E,kDAAkD;IAClD,IAAI;IAEJ;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAkB;QACvC,MAAM,YAAY,GAAG,MAAM,aAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,wCAAwC,CAC5C,MAAyB,EACzB,OAA2B,EAC3B,iBAAoC,EACpC,eAAmC,EACnC,sBAA8B,EAAE;QAEhC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAE3C,IAAI,WAAW,GAAG,mBAAO,CAAC;QAC1B,IAAI,eAAe,EAAE,CAAC;YACpB,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC;YAEvC,oEAAoE;YACpE,4DAA4D;YAC5D,IAAI;QACN,CAAC;QAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,6BAAuB,EAAC;YACrD,uBAAuB,EAAE,iBAAiB,CAAC,uBAAuB;YAClE,UAAU,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YACxC,cAAc,EAAE,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,qBAAa,CAAC;YACzC,GAAG,aAAa;YAChB,SAAS,EAAE;gBACT,GAAG,aAAa,CAAC,SAAS;gBAC1B,kBAAkB,EAAE,kBAAkB;gBACtC,wEAAwE;gBACxE,iBAAiB,EAAE,eAAe;oBAChC,CAAC,CAAC,IAAI,eAAE,CAAC,eAAe,CAAC,OAAO,GAAG,mBAAmB,CAAC;oBACvD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB;gBAC7C,kBAAkB,EAAE,IAAI,eAAE,CAAC,iBAAiB,CAAC,OAAO,GAAG,mBAAmB,CAAC;aAC5E;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,iBAAoC,EACpC,OAAkB,EAClB,MAAqB,EACrB,oBAA8B,EAC9B,qBAA8B,KAAK;QAEnC,MAAM,YAAY,GAAG,oBAAoB;YACvC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,CAAC,MAAM,aAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAE,CAAC;QACjF,MAAM,IAAI,GAA6B,EAAE,CAAC;QAE1C,IAAI,CAAC,YAAY,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAA,iCAA2B,EAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,GAAG,IAAA,2CAAqC,EACtC,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAI,CAAC,oBAAoB,CAC1B,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAe,EACf,KAAkB,EAClB,WAAoB,EACpB,gBAA0D,EAC1D,SAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,IAAe,EACf,KAAkB,EAClB,YAAsB,EACtB,SAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAAkB,EAClB,IAAmC,EACnC,KAAa,EACb,MAAkB;QAElB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,wBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,KAAkB,EAClB,IAAe,EACf,kBAA2B,IAAI;QAE/B,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAAkB;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAkB,EAAE,iBAA0B;QACtE,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,oBAAoB,CACxB,IAAe,EACf,KAAkB,EAClB,WAAoB,EACpB,IAAY,EACZ,gBAA0D,EAC1D,SAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAAC,KAAkB,EAAE,IAAY;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAgB,EAAE,GAAc,EAAE,IAAiB;QACxE,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,KAAkB,EAClB,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,4BAA4B,CAChC,KAAkB,EAClB,IAAa,EACb,gBAA0D;QAE1D,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAkB,EAAE,UAAmB,EAAE,IAAa;QAC7E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CAAC,IAAe,EAAE,KAAkB;QACvE,OAAO,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CACjC,IAAe,EACf,cAA8B;QAE9B,OAAO,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,UAAsB;QACpC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,UAAsB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,OAAO,GAAG;YACd;gBACE,QAAQ,EAAE,qBAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;aACrC;YACD;gBACE,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,qBAAU,CAAC,aAAa,CAAC;iBAC7C;aACF;YACD;gBACE,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;iBACxB;aACF;SACF,CAAC;QAEF,MAAM,YAAY,GAA+B,MAAM,IAAA,wBAAkB,EACvE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,EAC1B,qBAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAC1B;YACE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,WAAW;YACtD,OAAO;SACR,CACF,CAAC;QAEF,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,kBAAkB,GAAG,qBAAU,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,2BAA2B,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,IAAI,mBAAW,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAoB;QAEpB,8HAA8H;QAC9H,0FAA0F;QAC1F,4HAA4H;QAC5H,OAAO,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,4BAAgB,EAAE;YACjE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAAkB;QAElB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,eAAe,GAAG,KAAK,EAAE,KAAkB,EAA0B,EAAE;QACrE,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAY,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC;gBACV,YAAY,EAAE,IAAI,mBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1D,MAAM,EAAE,IAAI,oBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;aACxE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAiB,EACjB,IAAa,EACb,aAAuD,EACvD,WAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,yBAAyB,CAC7B,KAAiB,EACjB,KAAc,EACd,IAAa,EACb,aAAuD,EACvD,WAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAiB,EACjB,KAAc,EACd,IAAa,EACb,aAAuD,EACvD,aAA8B,EAC9B,WAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,WAAsB,EAAE,UAAuB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,2BAA2B,CAC/B,KAAiB,EACjB,IAAY,EACZ,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,uBAAuB,CAC3B,KAAiB,EACjB,IAAY,EACZ,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,KAAiB,EACjB,IAAY,EACZ,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAAC,UAAsB;QACrD,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,sCAAsC,CAC1C,UAAsB,EACtB,aAAuD,EACvD,IAAa,EACb,gBAA0B,EAC1B,WAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,sCAAsC,CAC7D,UAAU,EACV,aAAa,EACb,IAAI,EACJ,gBAAgB,EAChB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kCAAkC,CACtC,UAAsB,EACtB,IAAa,EACb,aAAuD,EACvD,WAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,kCAAkC,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5G,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAsB,EACtB,oCAA+E,EAC/E,gBAAuB;QAEvB,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,UAAU,EAAE,oCAAoC,EAAE,gBAAgB,CAAC,CAAC;IACtH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAsB;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAiB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAsB,EAAE,IAAY;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAgB,EAAE,WAAwB;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAC1B,KAAgB,EAChB,WAAwB,EACxB,kBAAsC,EACtC,gBAA0D;QAE1D,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC5G,CAAC;IAED;;;;OAIG;IACH,4BAA4B,CAAC,UAAsB;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,UAAsB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,UAAsB,EAAE,IAAY,EAAE,OAAsB;QAC/E,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAe,QAAQ,EACvB,UAAe,cAAc;QAE7B,MAAM,kBAAkB,GAA6B,EAAE,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,iBAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,MAAM,0BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAEpE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3G,MAAM,UAAU,GAAG,IAAA,qBAAe,EAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAErE,kBAAkB,CAAC,IAAI,CAAC;oBACtB,uBAAuB,EAAE,UAAU,CAAC,YAAY;oBAChD,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC;oBACtD,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;oBACpD,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC9C,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE;iBAC1E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,iBAAoC,EAAE,SAAwB;QACnF,OAAO,oCAAoC,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvG,CAAC;IAED;;;;;OAKG;IACH,2BAA2B,CAAC,iBAAoC;QAC9D,MAAM,QAAQ,GAAqC;YACjD,wBAAwB,EAAE,iBAAiB,CAAC,KAAK,CAAC,wBAAwB;YAC1E,aAAa,EAAE,iBAAiB,CAAC,OAAO;SACzC,CAAC;QAEF,OAAO,IAAA,8BAAwB,EAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;CACF,CAAC,gBAAgB;AAj4BlB,sCAi4BC;AAED,SAAS,oCAAoC,CAC3C,iBAAoC,EACpC,SAAwB,EACxB,SAAoB;IAEpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACvC,MAAM,2BAA2B,GAAsC,EAAE,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpE,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,WAAW,CAAC,aAAa;oBACvD,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,WAAW,CAAC,aAAa,EACjD,SAAS,CAAC,kBAAkB,CAC7B;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAChF,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,WAAW,CAAC,aAAa;oBACvD,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,WAAW,CAAC,aAAa,EACjD,SAAS,CAAC,wBAAwB,CACnC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;gBACvD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;oBAChE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oBAAoB,CAAC,aAAa,EAC1D,SAAS,CAAC,cAAc,CACzB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;gBACrD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,mBAAmB,CAAC,aAAa;oBAC/D,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,mBAAmB,CAAC,aAAa,EACzD,SAAS,CAAC,aAAa,CACxB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,uBAAuB,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBACrE,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,2BAA2B,CAAC,aAAa;oBACvE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,2BAA2B,CAAC,aAAa,EACjE,SAAS,CAAC,qBAAqB,CAChC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;gBACvD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,uBAAuB,CAAC,aAAa;oBACnE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,uBAAuB,CAAC,aAAa,EAC7D,SAAS,CAAC,cAAc,CACzB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,gCAAgC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,8BAA8B,KAAK,SAAS,CAAC,8BAA8B,EAAE,CAAC;gBACvF,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,oCAAoC,CAAC,aAAa;oBAChF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,EAC1E,SAAS,CAAC,8BAA8B,CACzC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,kCAAkC,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,gCAAgC,KAAK,SAAS,CAAC,gCAAgC,EAAE,CAAC;gBAC3F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,4BAA4B,CAAC,aAAa;oBACxE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,4BAA4B,CAAC,aAAa,EAClE,SAAS,CAAC,gCAAgC,CAC3C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,+BAA+B,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,6BAA6B,KAAK,SAAS,CAAC,6BAA6B,EAAE,CAAC;gBACrF,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,uBAAuB,CAAC,aAAa;oBACnE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,uBAAuB,CAAC,aAAa,EAC7D,SAAS,CAAC,6BAA6B,CACxC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,kCAAkC,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBAC5F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,iCAAiC,CAAC,aAAa;oBAC7E,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,iCAAiC,CAAC,aAAa,EACvE,SAAS,CAAC,gCAAgC,CAAC,QAAQ,EAAE,CACtD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,sCAAsC,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,EAAE,CAAC,SAAS,CAAC,oCAAoC,CAAC,EAAE,CAAC;gBACpG,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,yBAAyB,CAAC,aAAa;oBACrE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,EAC/D,SAAS,CAAC,oCAAoC,CAAC,QAAQ,EAAE,CAC1D;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC5E,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,yBAAyB,CAAC,aAAa;oBACrE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,EAC/D,SAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAC9C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,iBAAiB,CAAC,aAAa;oBAC7D,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,iBAAiB,CAAC,aAAa,EACvD,SAAS,CAAC,WAAW,CACtB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,2BAA2B,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC9E,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;oBACjF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,qCAAqC,CAAC,aAAa,EAC3E,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAC/C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iCAAiC,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,EAAE,CAAC,SAAS,CAAC,+BAA+B,CAAC,EAAE,CAAC;gBAC1F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,oCAAoC,CAAC,aAAa;oBAChF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,EAC1E,SAAS,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CACrD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,kCAAkC,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBAC5F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;oBACjF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,qCAAqC,CAAC,aAAa,EAC3E,SAAS,CAAC,gCAAgC,CAAC,QAAQ,EAAE,CACtD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,8CAA8C,EAAE,CAAC;YAClE,IACE,CAAC,MAAM,CAAC,4CAA4C,CAAC,EAAE,CAAC,SAAS,CAAC,4CAA4C,CAAC,EAC/G,CAAC;gBACD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,kDAAkD,CAAC,aAAa;oBAC9F,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,kDAAkD,CAAC,aAAa,EACxF,SAAS,CAAC,4CAA4C,CAAC,QAAQ,EAAE,CAClE;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvD,IACE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;oBAChE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB;oBACxG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM;oBACxE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBAC1G,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa;oBACtF,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBAC1G,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EACvF,CAAC;oBACD,2BAA2B,CAAC,IAAI,CAAC;wBAC/B,IAAI,EAAE,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;wBAChE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oBAAoB,CAAC,aAAa,EAC1D,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAC7B;qBACF,CAAC,CAAC;oBACH,oBAAoB,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAA,2BAAqB,EAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,UAAU,CAAC,aAAa;oBACtD,KAAK,EAAE,8BAA8B,CAAC,+BAAuB,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC;iBACxG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,WAAW;IAEb,MAAM,IAAI,GAA6B,EAAE,CAAC;IAE1C,2BAA2B,CAAC,OAAO,CAAC,CAAC,6BAA6B,EAAE,EAAE;QACpE,IAAI,CAAC,IAAI,CACP,oBAAoB,CAClB,iBAAiB,EACjB,6BAA6B,CAAC,IAAI,EAClC,6BAA6B,CAAC,KAAK,EACnC,SAAS,CACV,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,8BAA8B,CACrC,aAAqB,EACrB,KAA8D;IAE9D,IAAI,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,IAAI,QAAgB,CAAC;IACrB,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAoB,CAAC;IAEzB,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,+BAAuB,CAAC,mBAAmB,CAAC,aAAa,CAAC;QAC/D,KAAK,+BAAuB,CAAC,4BAA4B,CAAC,aAAa,CAAC;QACxE,KAAK,+BAAuB,CAAC,uBAAuB,CAAC,aAAa,CAAC;QACnE,KAAK,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,CAAC;QAChF,KAAK,+BAAuB,CAAC,2BAA2B,CAAC,aAAa,CAAC;QACvE,KAAK,+BAAuB,CAAC,uBAAuB,CAAC,aAAa;YAChE,MAAM,CAAC,WAAW,CAAC,KAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;YAC7D,MAAM,CAAC,aAAa,CAAC,KAAe,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,CAAC;QACrE,KAAK,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,CAAC;QACrE,KAAK,+BAAuB,CAAC,iCAAiC,CAAC,aAAa,CAAC;QAC7E,KAAK,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,CAAC;QAChF,KAAK,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;YAC9E,KAAK,GAAG,KAAe,CAAC;YACxB,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,+BAAuB,CAAC,WAAW,CAAC,aAAa,CAAC;QACvD,KAAK,+BAAuB,CAAC,iBAAiB,CAAC,aAAa;YAC1D,QAAQ,GAAI,KAAmB,CAAC,QAAQ,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzB,MAAM;QACR,KAAK,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;YAC7D,MAAM,GAAG,uBAAuB,CAAC,KAAuB,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;YAC9E,WAAW,GAAG,MAAM,CAAC,KAAe,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,MAAM;QACR,KAAK,+BAAuB,CAAC,UAAU,CAAC,aAAa;YACnD,UAAU,GAAG,KAAiB,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAC3B,iBAAoC,EACpC,iBAAyB,EACzB,KAAa,EACb,SAAoB;IAEpB,MAAM,QAAQ,GAAgC;QAC5C,kBAAkB,EAAE,iBAAiB,CAAC,KAAK,CAAC,kBAAkB;QAC9D,aAAa,EAAE,iBAAiB,CAAC,OAAO;KACzC,CAAC;IAEF,MAAM,IAAI,GAA4B;QACpC,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;QACtC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;KAClB,CAAC;IAEF,MAAM,EAAE,GAAG,IAAA,yBAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE1D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAAC,cAA8B;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -162,9 +162,12 @@ export declare class KaminoVaultClient {
162
162
  insertIntoLookupTableIxs(payer: PublicKey, lookupTable: PublicKey, keys: PublicKey[], accountsInLUT?: PublicKey[]): Promise<TransactionInstruction[]>;
163
163
  /** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
164
164
  * @param vaultState - the vault state to calculate the allocation for
165
+ * @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
166
+ * @param [vaultReserves] - a 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
167
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
165
168
  * @returns - a map from each reserve to how many tokens should be invested into
166
169
  */
167
- getVaultComputedReservesAllocation(vaultState: VaultState): Promise<PubkeyHashMap<PublicKey, Decimal>>;
170
+ getVaultComputedReservesAllocation(vaultState: VaultState, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<PubkeyHashMap<PublicKey, Decimal>>;
168
171
  /**
169
172
  * This method returns the user shares balance for a given vault
170
173
  * @param user - user to calculate the shares balance for
@@ -270,10 +273,10 @@ export declare class KaminoVaultClient {
270
273
  * @param price - the price of the token in the vault (e.g. USDC)
271
274
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
272
275
  * @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
273
- * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
276
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
274
277
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
275
278
  */
276
- getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<VaultHoldingsWithUSDValue>;
279
+ getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<VaultHoldingsWithUSDValue>;
277
280
  /**
278
281
  * This will return an VaultOverview object that encapsulates all the information about the vault, including the holdings, reserves details, theoretical APY, utilization ratio and total borrowed amount
279
282
  * @param vault - the kamino vault to get available liquidity to withdraw for
@@ -281,9 +284,10 @@ export declare class KaminoVaultClient {
281
284
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
282
285
  * @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
283
286
  * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
287
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
284
288
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
285
289
  */
286
- getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[]): Promise<VaultOverview>;
290
+ getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[], currentSlot?: number): Promise<VaultOverview>;
287
291
  /**
288
292
  * This will return an aggregation of the current state of the vault with all the invested amounts and the utilization ratio of the vault
289
293
  * @param vault - the kamino vault to get available liquidity to withdraw for
@@ -319,10 +323,11 @@ export declare class KaminoVaultClient {
319
323
  * @param vaultState the kamino vault state to get simulated holdings and earnings for
320
324
  * @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
321
325
  * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
322
- * @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
326
+ * @param [previousNetAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
327
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
323
328
  * @returns a struct of simulated vault holdings and earned interest
324
329
  */
325
- calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number, previousNetAUM?: Decimal): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
330
+ calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, slot?: number, previousNetAUM?: Decimal, currentSlot?: number): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
326
331
  /**
327
332
  * Simulate the current holdings and compute the fees that would be charged
328
333
  * @param vaultState the kamino vault state to get simulated fees for
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EAEV,OAAO,EACP,SAAS,EAIT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAIL,YAAY,EACZ,aAAa,EAEb,aAAa,EACb,OAAO,EAGR,MAAM,QAAQ,CAAC;AA2BhB,OAAO,EAAoB,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,OAAO,MAAM,YAAY,CAAC;AAWjC,OAAO,EAAmC,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAKhF,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAW3D,eAAO,MAAM,aAAa,WAA+D,CAAC;AAC1F,eAAO,MAAM,oBAAoB,WAA+D,CAAC;AAOjG;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAY;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAY;IACjD,oBAAoB,EAAE,MAAM,CAAC;gBAG3B,UAAU,EAAE,UAAU,EACtB,oBAAoB,CAAC,EAAE,SAAS,EAChC,mBAAmB,CAAC,EAAE,SAAS,EAC/B,oBAAoB,CAAC,EAAE,MAAM;IAQ/B,aAAa;IAIb,YAAY;IAIZ,OAAO;IAIP;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU;IAwBhE;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE,CAAC;IAoG7G;;;;;OAKG;IACG,0BAA0B,CAC9B,KAAK,EAAE,WAAW,EAClB,uBAAuB,EAAE,uBAAuB,GAC/C,OAAO,CAAC,0BAA0B,CAAC;IAwDtC;;;;;;;OAOG;IACG,oBAAoB,CACxB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,oBAAoB,CAAC;IAmGhC;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,eAAe,GAAE,OAAc,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAQhC;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAwCxC;;;;OAIG;IACG,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA6CnF;;;;;OAKG;IACG,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoB1G;;;;;;OAMG;IACG,sBAAsB,CAC1B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA4EpC;;;;;;;;OAQG;IACG,UAAU,CACd,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC1D,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,UAAU,CAAC;IAwFtB;;;;;;;OAOG;IACG,cAAc,CAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAiBpC;;;;;;;;;OASG;IACG,WAAW,CACf,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC1D,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,WAAW,CAAC;YA6CT,yBAAyB;YA6BzB,wBAAwB;IAqGtC;;;;;OAKG;IACG,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuFnG;;;;;;;OAOG;IACG,sBAAsB,CAC1B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC1D,iBAAiB,GAAE,OAAc,GAChC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA6DpC,oEAAoE;IACpE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAO1C,qCAAqC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAIxC,OAAO,CAAC,UAAU;YAsEJ,uBAAuB;YA6BvB,qBAAqB;IAwDnC;;;;;;OAMG;IACG,uBAAuB,CAC3B,KAAK,EAAE,WAAW,EAClB,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,eAAe,CAAC;IAkF3B,OAAO,CAAC,+BAA+B;IAavC;;;;;;;OAOG;IACG,wBAAwB,CAC5B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,SAAS,EAAE,EACjB,aAAa,CAAC,EAAE,SAAS,EAAE,GAC1B,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA6BpC;;;OAGG;IACG,kCAAkC,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAuC5G;;;;;OAKG;IACG,+BAA+B,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiCvG;;;;;OAKG;IACG,6BAA6B,CACjC,IAAI,EAAE,SAAS,EACf,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IA+DxD;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY;IAOrD;;;;;;OAMG;IACG,4BAA4B,CAChC,KAAK,EAAE,WAAW,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;;;OAMG;IACG,0BAA0B,CAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,EACnC,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAW7C;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAqC5C;;;;;;OAMG;IACH,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IA6B3F;;;;OAIG;IACH,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC;IAqBvF;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAmBhG;;;;;;OAMG;YACW,gDAAgD;IAuC9D;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE;IAMhD;;;;OAIG;IACG,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAsCjG;;;;;;;OAOG;IACG,mBAAmB,CACvB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC1D,aAAa,CAAC,EAAE,YAAY,EAAE,GAC7B,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IA2DpD;;;;;;;OAOG;IACG,gBAAgB,CACpB,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EACvD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC;IAgFzB;;;;;;;;OAQG;IACG,yBAAyB,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,yBAAyB,CAAC;IAiBrC;;;;;;;;OAQG;IACG,gBAAgB,CACpB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC1D,aAAa,CAAC,EAAE,YAAY,EAAE,GAC7B,OAAO,CAAC,aAAa,CAAC;IAoDzB;;;;;;OAMG;IACG,2BAA2B,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,oCAAoC,CAAC;IA8ChD;;;;;;OAMG;IACG,uBAAuB,CAC3B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACtD,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IA+BrD;;;;;;OAMG;IACG,sBAAsB,CAC1B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IAgCnB;;;;OAIG;IACG,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,oCAAoC,CAAC;IASvG;;;;;;;OAOG;IACG,sCAAsC,CAC1C,UAAU,EAAE,UAAU,EACtB,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC1D,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,wCAAwC,CAAC;IAuBpD;;;;;;OAMG;IACG,sBAAsB,CAC1B,UAAU,EAAE,UAAU,EACtB,oCAAoC,CAAC,EAAE,wCAAwC,EAC/E,gBAAgB,CAAC,EAAE,IAAI,GACtB,OAAO,CAAC,SAAS,CAAC;CA4BtB;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,SAAS,CAAC;gBAET,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,GAAE,SAAyB;IAMvF,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAarD,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAQxD,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;CAIxD;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,gCAAgC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE;QAChB,KAAK,EAAE,SAAS,CAAC;QACjB,SAAS,EAAE,SAAS,CAAC;QACrB,kBAAkB,EAAE,SAAS,CAAC;QAC9B,4BAA4B,EAAE,OAAO,CAAC;QACtC,2BAA2B,EAAE,OAAO,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC;KACd;IASD,oBAAoB,IAAI,MAAM;IAI9B,mBAAmB,IAAI,MAAM;CAG9B;AAED,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;gBAE3B,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO;IAMtG,wBAAwB,IAAI,OAAO;IAInC,eAAe,IAAI,OAAO;IAI1B,iBAAiB,IAAI,SAAS;CAG/B;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,SAAS,aAKpH;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0BAA0B,EAAE,OAAO,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,SAAS,CAAC;IACnB,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,yBAAyB,CAAC;IACvC,gBAAgB,EAAE,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC5D,gBAAgB,EAAE,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3D,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ class KaminoVaultClient {
73
73
  const vaultName = this.decodeVaultName(vault.name);
74
74
  const slot = await this.getConnection().getSlot('confirmed');
75
75
  const tokensPerShare = await this.getTokensPerShareSingleVault(kaminoVault, slot);
76
- const holdings = await this.getVaultHoldings(vault);
76
+ const holdings = await this.getVaultHoldings(vault, slot);
77
77
  const sharesIssued = new decimal_js_1.default(vault.sharesIssued.toString()).div(new decimal_js_1.default(vault.sharesMintDecimals.toString()));
78
78
  console.log('Name: ', vaultName);
79
79
  console.log('Shares issued: ', sharesIssued);
@@ -1001,10 +1001,13 @@ class KaminoVaultClient {
1001
1001
  }
1002
1002
  /** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
1003
1003
  * @param vaultState - the vault state to calculate the allocation for
1004
+ * @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
1005
+ * @param [vaultReserves] - a 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
1006
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
1004
1007
  * @returns - a map from each reserve to how many tokens should be invested into
1005
1008
  */
1006
- async getVaultComputedReservesAllocation(vaultState) {
1007
- const holdings = await this.getVaultHoldings(vaultState);
1009
+ async getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot) {
1010
+ const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
1008
1011
  const initialVaultAllocations = this.getVaultAllocations(vaultState);
1009
1012
  const allReserves = this.getVaultReserves(vaultState);
1010
1013
  let totalAllocation = new decimal_js_1.default(0);
@@ -1470,11 +1473,11 @@ class KaminoVaultClient {
1470
1473
  * @param price - the price of the token in the vault (e.g. USDC)
1471
1474
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
1472
1475
  * @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
1473
- * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
1476
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
1474
1477
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
1475
1478
  */
1476
- async getVaultHoldingsWithPrice(vault, price, slot, vaultReservesMap) {
1477
- const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap);
1479
+ async getVaultHoldingsWithPrice(vault, price, slot, vaultReservesMap, currentSlot) {
1480
+ const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap, currentSlot);
1478
1481
  const investedInReservesUSD = new lib_1.PubkeyHashMap();
1479
1482
  holdings.investedInReserves.forEach((amount, reserve) => {
1480
1483
  investedInReservesUSD.set(reserve, amount.mul(price));
@@ -1495,16 +1498,17 @@ class KaminoVaultClient {
1495
1498
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
1496
1499
  * @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
1497
1500
  * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
1501
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
1498
1502
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
1499
1503
  */
1500
- async getVaultOverview(vault, price, slot, vaultReservesMap, kaminoMarkets) {
1504
+ async getVaultOverview(vault, price, slot, vaultReservesMap, kaminoMarkets, currentSlot) {
1501
1505
  const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vault);
1502
- const vaultHoldingsWithUSDValuePromise = await this.getVaultHoldingsWithPrice(vault, price, slot, vaultReservesState);
1503
- const currentSlot = slot ? slot : await this.getConnection().getSlot();
1504
- const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault, currentSlot, vaultReservesState);
1505
- const totalInvestedAndBorrowedPromise = await this.getTotalBorrowedAndInvested(vault, currentSlot, vaultReservesState);
1506
- const vaultCollateralsPromise = await this.getVaultCollaterals(vault, currentSlot, vaultReservesState, kaminoMarkets);
1507
- const reservesOverviewPromise = await this.getVaultReservesDetails(vault, currentSlot, vaultReservesState);
1506
+ const vaultHoldingsWithUSDValuePromise = await this.getVaultHoldingsWithPrice(vault, price, slot, vaultReservesState, currentSlot);
1507
+ const slotForOverview = slot ? slot : await this.getConnection().getSlot();
1508
+ const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault, slotForOverview, vaultReservesState);
1509
+ const totalInvestedAndBorrowedPromise = await this.getTotalBorrowedAndInvested(vault, slotForOverview, vaultReservesState);
1510
+ const vaultCollateralsPromise = await this.getVaultCollaterals(vault, slotForOverview, vaultReservesState, kaminoMarkets);
1511
+ const reservesOverviewPromise = await this.getVaultReservesDetails(vault, slotForOverview, vaultReservesState);
1508
1512
  // 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
1509
1513
  const [vaultHoldingsWithUSDValue, vaultTheoreticalAPY, totalInvestedAndBorrowed, vaultCollaterals, reservesOverview,] = await Promise.all([
1510
1514
  vaultHoldingsWithUSDValuePromise,
@@ -1645,10 +1649,11 @@ class KaminoVaultClient {
1645
1649
  * @param vaultState the kamino vault state to get simulated holdings and earnings for
1646
1650
  * @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
1647
1651
  * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
1648
- * @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
1652
+ * @param [previousNetAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
1653
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
1649
1654
  * @returns a struct of simulated vault holdings and earned interest
1650
1655
  */
1651
- async calculateSimulatedHoldingsWithInterest(vaultState, vaultReservesMap, currentSlot, previousNetAUM) {
1656
+ async calculateSimulatedHoldingsWithInterest(vaultState, vaultReservesMap, slot, previousNetAUM, currentSlot) {
1652
1657
  let prevAUM;
1653
1658
  let pendingFees = kliquidity_sdk_1.ZERO;
1654
1659
  if (previousNetAUM) {
@@ -1659,8 +1664,8 @@ class KaminoVaultClient {
1659
1664
  prevAUM = (0, lib_1.lamportsToDecimal)(new fraction_1.Fraction(vaultState.prevAumSf).toDecimal(), tokenDecimals);
1660
1665
  pendingFees = (0, lib_1.lamportsToDecimal)(new fraction_1.Fraction(vaultState.pendingFeesSf).toDecimal(), tokenDecimals);
1661
1666
  }
1662
- const slot = currentSlot ? currentSlot : await this.getConnection().getSlot('confirmed');
1663
- const currentHoldings = await this.getVaultHoldings(vaultState, slot, vaultReservesMap);
1667
+ const latestSlot = slot ? slot : await this.getConnection().getSlot('confirmed');
1668
+ const currentHoldings = await this.getVaultHoldings(vaultState, latestSlot, vaultReservesMap, currentSlot);
1664
1669
  const earnedInterest = currentHoldings.totalAUMIncludingFees.sub(prevAUM).sub(pendingFees);
1665
1670
  return {
1666
1671
  holdings: currentHoldings,
@@ -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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"}
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,yCAAyC,CAAC;AAExD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AAE7F,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,yCAAyC,CAAC;AAExD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAE3C,0EAAwD;AACxD,0GAA0G;AAC1G,iFAA+D;AAC/D,mEAAiD;AACjD,kEAA6F;AAArF,+GAAA,kBAAkB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAE/C,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,uDAAqC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAE3C,0EAAwD;AACxD,0GAA0G;AAC1G,iFAA+D;AAC/D,mEAAiD;AACjD,kEAA+F;AAAtF,+GAAA,kBAAkB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAEhD,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,uDAAqC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamino-finance/klend-sdk",
3
- "version": "5.10.16",
3
+ "version": "5.10.17",
4
4
  "description": "Typescript SDK for interacting with the Kamino Lending (klend) protocol",
5
5
  "repository": {
6
6
  "type": "git",
@@ -674,15 +674,17 @@ export class KaminoManager {
674
674
  * @param price - the price of the token in the vault (e.g. USDC)
675
675
  * @param [slot] - the slot for which to calculate the holdings. Optional. If not provided the function will fetch the current slot
676
676
  * @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
677
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
677
678
  * @returns an VaultHoldingsWithUSDValue object with details about the tokens available and invested in the vault, denominated in tokens and USD
678
679
  */
679
680
  async getVaultHoldingsWithPrice(
680
681
  vault: VaultState,
681
682
  price: Decimal,
682
683
  slot?: number,
683
- vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>
684
+ vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
685
+ currentSlot?: number
684
686
  ): Promise<VaultHoldingsWithUSDValue> {
685
- return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves);
687
+ return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves, currentSlot);
686
688
  }
687
689
 
688
690
  /**
@@ -692,6 +694,7 @@ export class KaminoManager {
692
694
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
693
695
  * @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
694
696
  * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
697
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
695
698
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
696
699
  */
697
700
  async getVaultOverview(
@@ -699,9 +702,10 @@ export class KaminoManager {
699
702
  price: Decimal,
700
703
  slot?: number,
701
704
  vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
702
- kaminoMarkets?: KaminoMarket[]
705
+ kaminoMarkets?: KaminoMarket[],
706
+ currentSlot?: number
703
707
  ): Promise<VaultOverview> {
704
- return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets);
708
+ return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets, currentSlot);
705
709
  }
706
710
 
707
711
  /**
@@ -774,22 +778,41 @@ export class KaminoManager {
774
778
  * @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
775
779
  * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
776
780
  * @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
781
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
777
782
  * @returns a struct of simulated vault holdings and earned interest
778
783
  */
779
784
  async calculateSimulatedHoldingsWithInterest(
780
785
  vaultState: VaultState,
781
786
  vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
782
- currentSlot?: number,
783
- previousTotalAUM?: Decimal
787
+ slot?: number,
788
+ previousTotalAUM?: Decimal,
789
+ currentSlot?: number
784
790
  ): Promise<SimulatedVaultHoldingsWithEarnedInterest> {
785
791
  return this._vaultClient.calculateSimulatedHoldingsWithInterest(
786
792
  vaultState,
787
793
  vaultReserves,
788
- currentSlot,
789
- previousTotalAUM
794
+ slot,
795
+ previousTotalAUM,
796
+ currentSlot
790
797
  );
791
798
  }
792
799
 
800
+ /** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
801
+ * @param vaultState - the vault state to calculate the allocation for
802
+ * @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
803
+ * @param [vaultReserves] - a 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
804
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
805
+ * @returns - a map from each reserve to how many tokens should be invested into
806
+ */
807
+ async getVaultComputedReservesAllocation(
808
+ vaultState: VaultState,
809
+ slot?: number,
810
+ vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
811
+ currentSlot?: number
812
+ ): Promise<PubkeyHashMap<PublicKey, Decimal>> {
813
+ return this._vaultClient.getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot);
814
+ }
815
+
793
816
  /**
794
817
  * Simulate the current holdings and compute the fees that would be charged
795
818
  * @param vaultState the kamino vault state to get simulated fees for
@@ -151,7 +151,7 @@ export class KaminoVaultClient {
151
151
  const vaultName = this.decodeVaultName(vault.name);
152
152
  const slot = await this.getConnection().getSlot('confirmed');
153
153
  const tokensPerShare = await this.getTokensPerShareSingleVault(kaminoVault, slot);
154
- const holdings = await this.getVaultHoldings(vault);
154
+ const holdings = await this.getVaultHoldings(vault, slot);
155
155
 
156
156
  const sharesIssued = new Decimal(vault.sharesIssued.toString()!).div(
157
157
  new Decimal(vault.sharesMintDecimals.toString())
@@ -1482,10 +1482,18 @@ export class KaminoVaultClient {
1482
1482
 
1483
1483
  /** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
1484
1484
  * @param vaultState - the vault state to calculate the allocation for
1485
+ * @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
1486
+ * @param [vaultReserves] - a 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
1487
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
1485
1488
  * @returns - a map from each reserve to how many tokens should be invested into
1486
1489
  */
1487
- async getVaultComputedReservesAllocation(vaultState: VaultState): Promise<PubkeyHashMap<PublicKey, Decimal>> {
1488
- const holdings = await this.getVaultHoldings(vaultState);
1490
+ async getVaultComputedReservesAllocation(
1491
+ vaultState: VaultState,
1492
+ slot?: number,
1493
+ vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
1494
+ currentSlot?: number
1495
+ ): Promise<PubkeyHashMap<PublicKey, Decimal>> {
1496
+ const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
1489
1497
  const initialVaultAllocations = this.getVaultAllocations(vaultState);
1490
1498
 
1491
1499
  const allReserves = this.getVaultReserves(vaultState);
@@ -2096,16 +2104,17 @@ export class KaminoVaultClient {
2096
2104
  * @param price - the price of the token in the vault (e.g. USDC)
2097
2105
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
2098
2106
  * @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
2099
- * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
2107
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
2100
2108
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
2101
2109
  */
2102
2110
  async getVaultHoldingsWithPrice(
2103
2111
  vault: VaultState,
2104
2112
  price: Decimal,
2105
2113
  slot?: number,
2106
- vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>
2114
+ vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
2115
+ currentSlot?: number
2107
2116
  ): Promise<VaultHoldingsWithUSDValue> {
2108
- const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap);
2117
+ const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap, currentSlot);
2109
2118
 
2110
2119
  const investedInReservesUSD = new PubkeyHashMap<PublicKey, Decimal>();
2111
2120
  holdings.investedInReserves.forEach((amount, reserve) => {
@@ -2128,6 +2137,7 @@ export class KaminoVaultClient {
2128
2137
  * @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
2129
2138
  * @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
2130
2139
  * @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
2140
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
2131
2141
  * @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
2132
2142
  */
2133
2143
  async getVaultOverview(
@@ -2135,7 +2145,8 @@ export class KaminoVaultClient {
2135
2145
  price: Decimal,
2136
2146
  slot?: number,
2137
2147
  vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
2138
- kaminoMarkets?: KaminoMarket[]
2148
+ kaminoMarkets?: KaminoMarket[],
2149
+ currentSlot?: number
2139
2150
  ): Promise<VaultOverview> {
2140
2151
  const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vault);
2141
2152
 
@@ -2143,24 +2154,25 @@ export class KaminoVaultClient {
2143
2154
  vault,
2144
2155
  price,
2145
2156
  slot,
2146
- vaultReservesState
2157
+ vaultReservesState,
2158
+ currentSlot
2147
2159
  );
2148
2160
 
2149
- const currentSlot = slot ? slot : await this.getConnection().getSlot();
2161
+ const slotForOverview = slot ? slot : await this.getConnection().getSlot();
2150
2162
 
2151
- const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault, currentSlot, vaultReservesState);
2163
+ const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault, slotForOverview, vaultReservesState);
2152
2164
  const totalInvestedAndBorrowedPromise = await this.getTotalBorrowedAndInvested(
2153
2165
  vault,
2154
- currentSlot,
2166
+ slotForOverview,
2155
2167
  vaultReservesState
2156
2168
  );
2157
2169
  const vaultCollateralsPromise = await this.getVaultCollaterals(
2158
2170
  vault,
2159
- currentSlot,
2171
+ slotForOverview,
2160
2172
  vaultReservesState,
2161
2173
  kaminoMarkets
2162
2174
  );
2163
- const reservesOverviewPromise = await this.getVaultReservesDetails(vault, currentSlot, vaultReservesState);
2175
+ const reservesOverviewPromise = await this.getVaultReservesDetails(vault, slotForOverview, vaultReservesState);
2164
2176
 
2165
2177
  // 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
2166
2178
  const [
@@ -2349,14 +2361,16 @@ export class KaminoVaultClient {
2349
2361
  * @param vaultState the kamino vault state to get simulated holdings and earnings for
2350
2362
  * @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
2351
2363
  * @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
2352
- * @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
2364
+ * @param [previousNetAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
2365
+ * @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
2353
2366
  * @returns a struct of simulated vault holdings and earned interest
2354
2367
  */
2355
2368
  async calculateSimulatedHoldingsWithInterest(
2356
2369
  vaultState: VaultState,
2357
2370
  vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
2358
- currentSlot?: number,
2359
- previousNetAUM?: Decimal
2371
+ slot?: number,
2372
+ previousNetAUM?: Decimal,
2373
+ currentSlot?: number
2360
2374
  ): Promise<SimulatedVaultHoldingsWithEarnedInterest> {
2361
2375
  let prevAUM: Decimal;
2362
2376
  let pendingFees = ZERO;
@@ -2369,9 +2383,9 @@ export class KaminoVaultClient {
2369
2383
  pendingFees = lamportsToDecimal(new Fraction(vaultState.pendingFeesSf).toDecimal(), tokenDecimals);
2370
2384
  }
2371
2385
 
2372
- const slot = currentSlot ? currentSlot : await this.getConnection().getSlot('confirmed');
2386
+ const latestSlot = slot ? slot : await this.getConnection().getSlot('confirmed');
2373
2387
 
2374
- const currentHoldings = await this.getVaultHoldings(vaultState, slot, vaultReservesMap);
2388
+ const currentHoldings = await this.getVaultHoldings(vaultState, latestSlot, vaultReservesMap, currentSlot);
2375
2389
  const earnedInterest = currentHoldings.totalAUMIncludingFees.sub(prevAUM).sub(pendingFees);
2376
2390
 
2377
2391
  return {
package/src/lib.ts CHANGED
@@ -7,7 +7,7 @@ export * from './idl_codegen_kamino_vault/instructions';
7
7
  // only export vault state, do not export Reserve as it's the same one in main klend /idl_codegen/accounts
8
8
  export * from './idl_codegen_kamino_vault/accounts/VaultState';
9
9
  export * from './idl_codegen_kamino_vault/types';
10
- export {KVAULTS_PROGRAM_ID, setKVaultsProgramId} from './idl_codegen_kamino_vault/programId';
10
+ export { KVAULTS_PROGRAM_ID, setKVaultsProgramId } from './idl_codegen_kamino_vault/programId';
11
11
 
12
12
  export * from './classes';
13
13
  export * from './utils';