@kamino-finance/klend-sdk 7.3.8 → 7.3.9

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.
@@ -130,6 +130,7 @@ export declare class KaminoVaultClient {
130
130
  * @returns a struct that contains the instruction to update the field and an optional list of instructions to update the lookup table
131
131
  */
132
132
  updateVaultConfigIxs(vault: KaminoVault, mode: VaultConfigFieldKind, value: string, adminAuthority?: TransactionSigner, lutIxsSigner?: TransactionSigner, skipLutUpdate?: boolean, errorOnOverride?: boolean): Promise<UpdateVaultConfigIxs>;
133
+ updateVaultConfigValidations(mode: VaultConfigFieldKind, value: string, vaultState: VaultState): Promise<void>;
133
134
  /**
134
135
  * Add or update a reserve whitelist entry. This controls whether the reserve is whitelisted for adding/updating
135
136
  * allocations or for invest, depending on the mode parameter.
@@ -194,7 +195,7 @@ export declare class KaminoVaultClient {
194
195
  * @param tokenAmount - token amount to be deposited, in decimals (will be converted in lamports)
195
196
  * @param [vaultReservesMap] - optional parameter; 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
196
197
  * @param [farmState] - the state of the vault farm, if the vault has a farm. Optional. If not provided, it will be fetched
197
- * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm
198
+ * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm as well as ixs to stake in the first loss capital farm if the vault has one - only one set on ixs so stake in a farm can be used -> staking can be either done in the farm or in the first loss capital farm
198
199
  */
199
200
  depositIxs(user: TransactionSigner, vault: KaminoVault, tokenAmount: Decimal, vaultReservesMap?: Map<Address, KaminoReserve>, farmState?: FarmState): Promise<DepositIxs>;
200
201
  buySharesIxs(user: TransactionSigner, vault: KaminoVault, tokenAmount: Decimal, vaultReservesMap?: Map<Address, KaminoReserve>, farmState?: FarmState): Promise<DepositIxs>;
@@ -208,6 +209,15 @@ export declare class KaminoVaultClient {
208
209
  * @returns - a list of instructions for the user to stake shares into the vault's farm, including the creation of prerequisite accounts if needed
209
210
  */
210
211
  stakeSharesIxs(user: TransactionSigner, vault: KaminoVault, sharesAmount?: Decimal, farmState?: FarmState): Promise<Instruction[]>;
212
+ /**
213
+ * This function creates instructions to stake the shares in the vault firstLossCapital farm if the vault has a farm
214
+ * @param user - user to stake
215
+ * @param vault - vault to deposit into its flc farm (if the state is not provided, it will be fetched)
216
+ * @param [sharesAmount] - token amount to be deposited, in decimals (will be converted in lamports). Optional. If not provided, the user's share balance will be used
217
+ * @param [farmState] - the state of the vault flc farm, if the vault has a farm. Optional. If not provided, it will be fetched
218
+ * @returns - a list of instructions for the user to stake shares into the vault's firstLossCapital farm, including the creation of prerequisite accounts if needed
219
+ */
220
+ stakeSharesInFlcFarmIxs(user: TransactionSigner, vault: KaminoVault, sharesAmount?: Decimal, farmState?: FarmState): Promise<Instruction[]>;
211
221
  /**
212
222
  * This function will return a struct with the instructions to unstake from the farm if necessary and the instructions for the missing ATA creation instructions, as well as one or multiple withdraw instructions, based on how many reserves it's needed to withdraw from. This might have to be split in multiple transactions
213
223
  * @param user - user to withdraw
@@ -537,6 +547,8 @@ export declare class KaminoVaultClient {
537
547
  */
538
548
  getAllVaultsTokenMintsIncludingRewards(vaults: KaminoVault[], vaultReservesMap?: Map<Address, KaminoReserve>, farmsMap?: Map<Address, FarmState>): Promise<Set<Address>>;
539
549
  getVaultReservesFarmsIncentives(vaultOrState: KaminoVault | VaultState, vaultTokenPrice: Decimal, farmsClient?: Farms, slot?: Slot, vaultReservesMap?: Map<Address, KaminoReserve>, tokensPrices?: Map<Address, Decimal>): Promise<VaultReservesFarmsIncentives>;
550
+ getVaultFlcFarmStats(vaultOrState: KaminoVault | VaultState): Promise<FlcFarmStats | undefined>;
551
+ isFlcFarmValid(flcFarmState: FarmState, vaultOrState: KaminoVault | VaultState): Promise<boolean>;
540
552
  getUserPendingRewardsInVaultFarm(user: Address, vault: KaminoVault): Promise<Map<Address, Decimal>>;
541
553
  getUserPendingRewardsInVaultDelegatedFarm(user: Address, vaultAddress: Address): Promise<Map<Address, Decimal>>;
542
554
  getDelegatedFarmForVault(vault: Address): Promise<Address | undefined>;
@@ -596,6 +608,7 @@ export declare class KaminoVault {
596
608
  reloadVaultReserves(): Promise<void>;
597
609
  reloadState(): Promise<VaultState>;
598
610
  hasFarm(): Promise<boolean>;
611
+ hasFlcFarm(): Promise<boolean>;
599
612
  /**
600
613
  * This will return an VaultHoldings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
601
614
  * @returns an VaultHoldings object representing the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
@@ -779,11 +792,25 @@ export type VaultOverview = {
779
792
  totalSupplied: Decimal;
780
793
  totalSuppliedUSD: Decimal;
781
794
  utilizationRatio: Decimal;
795
+ flcFarmStats: FlcFarmStats | undefined;
782
796
  };
783
797
  export type VaultReservesFarmsIncentives = {
784
798
  reserveFarmsIncentives: Map<Address, FarmIncentives>;
785
799
  totalIncentivesAPY: Decimal;
786
800
  };
801
+ export type FlcFarmStats = {
802
+ address: Address;
803
+ farmState: FarmState;
804
+ totalStakedShares: Decimal;
805
+ withdrawalCooldownDurationSeconds: number;
806
+ isPendingUnstake: boolean;
807
+ pendingUnstakeInfo: FarmPendingUnstakeInfo[];
808
+ };
809
+ export type FarmPendingUnstakeInfo = {
810
+ userStateAddress: Address;
811
+ pendingUnstakeAmountLamports: Decimal;
812
+ pendingUnstakeAvailableAtTimestamp: number;
813
+ };
787
814
  export type VaultFeesPct = {
788
815
  managementFeePct: Decimal;
789
816
  performanceFeePct: Decimal;
@@ -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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"}
@@ -487,6 +487,7 @@ class KaminoVaultClient {
487
487
  entry: mode,
488
488
  data: this.getValueForModeAsBuffer(mode, value),
489
489
  };
490
+ await this.updateVaultConfigValidations(mode, value, vaultState);
490
491
  const vaultReserves = this.getVaultReserves(vaultState);
491
492
  const vaultReservesState = await this.loadVaultReserves(vaultState);
492
493
  let updateVaultConfigIx = (0, instructions_1.updateVaultConfig)(updateVaultConfigArgs, updateVaultConfigAccs, undefined, this._kaminoVaultProgramId);
@@ -519,6 +520,20 @@ class KaminoVaultClient {
519
520
  };
520
521
  return updateVaultConfigIxs;
521
522
  }
523
+ async updateVaultConfigValidations(mode, value, vaultState) {
524
+ if (mode.kind === new types_1.VaultConfigField.FirstLossCapitalFarm().kind ||
525
+ mode.kind === new types_1.VaultConfigField.Farm().kind) {
526
+ const farmAddress = (0, kit_1.address)(value);
527
+ const farmState = await dist_1.FarmState.fetch(this.getConnection(), farmAddress);
528
+ if (!farmState) {
529
+ throw new Error(`Farm ${farmAddress.toString()} not found for FirstLossCapitalFarm`);
530
+ }
531
+ if (mode.kind === new types_1.VaultConfigField.FirstLossCapitalFarm().kind &&
532
+ !(await this.isFlcFarmValid(farmState, vaultState))) {
533
+ throw new Error(`Farm ${farmAddress.toString()} is not valid for FirstLossCapitalFarm`);
534
+ }
535
+ }
536
+ }
522
537
  /**
523
538
  * Add or update a reserve whitelist entry. This controls whether the reserve is whitelisted for adding/updating
524
539
  * allocations or for invest, depending on the mode parameter.
@@ -701,7 +716,7 @@ class KaminoVaultClient {
701
716
  * @param tokenAmount - token amount to be deposited, in decimals (will be converted in lamports)
702
717
  * @param [vaultReservesMap] - optional parameter; 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
703
718
  * @param [farmState] - the state of the vault farm, if the vault has a farm. Optional. If not provided, it will be fetched
704
- * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm
719
+ * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm as well as ixs to stake in the first loss capital farm if the vault has one - only one set on ixs so stake in a farm can be used -> staking can be either done in the farm or in the first loss capital farm
705
720
  */
706
721
  async depositIxs(user, vault, tokenAmount, vaultReservesMap, farmState) {
707
722
  return this.buildShareEntryIxs('deposit', user, vault, tokenAmount, vaultReservesMap, farmState);
@@ -784,12 +799,16 @@ class KaminoVaultClient {
784
799
  const result = {
785
800
  depositIxs: [...createAtasIxs, entryIx, ...closeAtasIxs],
786
801
  stakeInFarmIfNeededIxs: [],
802
+ stakeInFlcFarmIfNeededIxs: [],
787
803
  };
788
- if (!(await vault.hasFarm())) {
789
- return result;
804
+ if (await vault.hasFarm()) {
805
+ const stakeSharesIxs = await this.stakeSharesIxs(user, vault, undefined, farmState);
806
+ result.stakeInFarmIfNeededIxs = stakeSharesIxs;
807
+ }
808
+ if (await vault.hasFlcFarm()) {
809
+ const stakeSharesInFlcFarmIxs = await this.stakeSharesInFlcFarmIxs(user, vault, undefined, undefined);
810
+ result.stakeInFlcFarmIfNeededIxs = stakeSharesInFlcFarmIxs;
790
811
  }
791
- const stakeSharesIxs = await this.stakeSharesIxs(user, vault, undefined, farmState);
792
- result.stakeInFarmIfNeededIxs = stakeSharesIxs;
793
812
  return result;
794
813
  }
795
814
  /**
@@ -813,6 +832,27 @@ class KaminoVaultClient {
813
832
  // returns the ix to create the farm state account if needed and the ix to stake the shares
814
833
  return (0, farm_utils_1.getFarmStakeIxs)(this.getConnection(), user, sharesToStakeLamports, vaultState.vaultFarm, farmState);
815
834
  }
835
+ /**
836
+ * This function creates instructions to stake the shares in the vault firstLossCapital farm if the vault has a farm
837
+ * @param user - user to stake
838
+ * @param vault - vault to deposit into its flc farm (if the state is not provided, it will be fetched)
839
+ * @param [sharesAmount] - token amount to be deposited, in decimals (will be converted in lamports). Optional. If not provided, the user's share balance will be used
840
+ * @param [farmState] - the state of the vault flc farm, if the vault has a farm. Optional. If not provided, it will be fetched
841
+ * @returns - a list of instructions for the user to stake shares into the vault's firstLossCapital farm, including the creation of prerequisite accounts if needed
842
+ */
843
+ async stakeSharesInFlcFarmIxs(user, vault, sharesAmount, farmState) {
844
+ const vaultState = await vault.getState();
845
+ let sharesToStakeLamports = new decimal_js_1.default(utils_2.U64_MAX);
846
+ if (sharesAmount) {
847
+ sharesToStakeLamports = (0, utils_1.numberToLamportsDecimal)(sharesAmount, vaultState.sharesMintDecimals.toNumber());
848
+ }
849
+ // if tokens to be staked are 0 or vault has no farm there is no stake needed
850
+ if (sharesToStakeLamports.lte(0) || !(await vault.hasFlcFarm())) {
851
+ return [];
852
+ }
853
+ // returns the ix to create the farm state account if needed and the ix to stake the shares
854
+ return (0, farm_utils_1.getFarmStakeIxs)(this.getConnection(), user, sharesToStakeLamports, vaultState.firstLossCapitalFarm, farmState);
855
+ }
816
856
  /**
817
857
  * This function will return a struct with the instructions to unstake from the farm if necessary and the instructions for the missing ATA creation instructions, as well as one or multiple withdraw instructions, based on how many reserves it's needed to withdraw from. This might have to be split in multiple transactions
818
858
  * @param user - user to withdraw
@@ -2044,8 +2084,9 @@ class KaminoVaultClient {
2044
2084
  const vaultFarmIncentivesPromise = this.getVaultRewardsAPY(vault, vaultTokenPrice, farmsClient, slotForOverview, tokensPrices);
2045
2085
  const vaultReservesFarmIncentivesPromise = this.getVaultReservesFarmsIncentives(vault, vaultTokenPrice, farmsClient, slotForOverview, vaultReservesState, tokensPrices);
2046
2086
  const vaultDelegatedFarmIncentivesPromise = this.getVaultDelegatedFarmRewardsAPY(vault, vaultTokenPrice, farmsClient, slotForOverview, tokensPrices);
2087
+ const vaultFlcFarmStatsPromise = this.getVaultFlcFarmStats(vault);
2047
2088
  // 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
2048
- const [vaultHoldingsWithUSDValue, vaultTheoreticalAPYs, vaultActualAPYs, totalInvestedAndBorrowed, vaultCollaterals, reservesOverview, vaultFarmIncentives, vaultReservesFarmIncentives, vaultDelegatedFarmIncentives,] = await Promise.all([
2089
+ const [vaultHoldingsWithUSDValue, vaultTheoreticalAPYs, vaultActualAPYs, totalInvestedAndBorrowed, vaultCollaterals, reservesOverview, vaultFarmIncentives, vaultReservesFarmIncentives, vaultDelegatedFarmIncentives, vaultFlcFarmStats,] = await Promise.all([
2049
2090
  vaultHoldingsWithUSDValuePromise,
2050
2091
  vaultTheoreticalAPYPromise,
2051
2092
  vaultActualAPYPromise,
@@ -2055,6 +2096,7 @@ class KaminoVaultClient {
2055
2096
  vaultFarmIncentivesPromise,
2056
2097
  vaultReservesFarmIncentivesPromise,
2057
2098
  vaultDelegatedFarmIncentivesPromise,
2099
+ vaultFlcFarmStatsPromise,
2058
2100
  ]);
2059
2101
  return {
2060
2102
  holdingsUSD: vaultHoldingsWithUSDValue,
@@ -2070,6 +2112,7 @@ class KaminoVaultClient {
2070
2112
  utilizationRatio: totalInvestedAndBorrowed.utilizationRatio,
2071
2113
  totalSupplied: totalInvestedAndBorrowed.totalInvested,
2072
2114
  totalSuppliedUSD: totalInvestedAndBorrowed.totalInvested.mul(vaultTokenPrice),
2115
+ flcFarmStats: vaultFlcFarmStats,
2073
2116
  };
2074
2117
  }
2075
2118
  /**
@@ -2544,6 +2587,56 @@ class KaminoVaultClient {
2544
2587
  totalIncentivesAPY: totalIncentivesApy,
2545
2588
  };
2546
2589
  }
2590
+ async getVaultFlcFarmStats(vaultOrState) {
2591
+ const vaultState = 'getState' in vaultOrState ? await vaultOrState.getState() : vaultOrState;
2592
+ if (vaultState.firstLossCapitalFarm === lib_1.DEFAULT_PUBLIC_KEY) {
2593
+ return undefined;
2594
+ }
2595
+ const kFarmsClient = new farms_sdk_1.Farms(this.getConnection());
2596
+ const flcFarmState = await dist_1.FarmState.fetch(this.getConnection(), vaultState.firstLossCapitalFarm);
2597
+ if (!flcFarmState) {
2598
+ return undefined;
2599
+ }
2600
+ if (!(await this.isFlcFarmValid(flcFarmState, vaultState))) {
2601
+ return undefined;
2602
+ }
2603
+ const userStates = await kFarmsClient.getAllUserStatesForFarm(vaultState.firstLossCapitalFarm);
2604
+ const pendingUnstakes = [];
2605
+ for (const { userState, key } of userStates) {
2606
+ const pendingWithdrawalUnstake = new decimal_js_1.default((0, dist_1.scaleDownWads)(userState.pendingWithdrawalUnstakeScaled));
2607
+ if (pendingWithdrawalUnstake.gt(0)) {
2608
+ pendingUnstakes.push({
2609
+ userStateAddress: key,
2610
+ pendingUnstakeAmountLamports: pendingWithdrawalUnstake,
2611
+ pendingUnstakeAvailableAtTimestamp: userState.pendingWithdrawalUnstakeTs.toNumber(),
2612
+ });
2613
+ }
2614
+ }
2615
+ return {
2616
+ address: vaultState.firstLossCapitalFarm,
2617
+ farmState: flcFarmState,
2618
+ totalStakedShares: new decimal_js_1.default((0, dist_1.scaleDownWads)(flcFarmState.totalActiveStakeScaled)),
2619
+ withdrawalCooldownDurationSeconds: flcFarmState.withdrawalCooldownPeriod,
2620
+ isPendingUnstake: pendingUnstakes.length > 0,
2621
+ pendingUnstakeInfo: pendingUnstakes,
2622
+ };
2623
+ }
2624
+ async isFlcFarmValid(flcFarmState, vaultOrState) {
2625
+ const vaultState = 'getState' in vaultOrState ? await vaultOrState.getState() : vaultOrState;
2626
+ if (flcFarmState.timeUnit !== 0) {
2627
+ // timeUnit = 0 -> seconds
2628
+ return false;
2629
+ }
2630
+ if (flcFarmState.withdrawalCooldownPeriod === 0) {
2631
+ // invalid FLC farm, should have > 0 withdrawal cooldown
2632
+ return false;
2633
+ }
2634
+ if (flcFarmState.token.mint !== vaultState.sharesMint) {
2635
+ // staked token mint should be the vault shares mint
2636
+ return false;
2637
+ }
2638
+ return true;
2639
+ }
2547
2640
  /// reads the pending rewards for a user in the vault farm
2548
2641
  /// @param user - the user address
2549
2642
  /// @param vault - the vault
@@ -2856,6 +2949,10 @@ class KaminoVault {
2856
2949
  const state = await this.getState();
2857
2950
  return state.vaultFarm !== lib_1.DEFAULT_PUBLIC_KEY;
2858
2951
  }
2952
+ async hasFlcFarm() {
2953
+ const state = await this.getState();
2954
+ return state.firstLossCapitalFarm !== lib_1.DEFAULT_PUBLIC_KEY;
2955
+ }
2859
2956
  /**
2860
2957
  * This will return an VaultHoldings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
2861
2958
  * @returns an VaultHoldings object representing the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
@@ -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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"}
@@ -41,10 +41,11 @@ export type SyncVaultLUTIxs = {
41
41
  setupLUTIfNeededIxs: Instruction[];
42
42
  syncLUTIxs: Instruction[];
43
43
  };
44
- /** If the stakeInFarmIfNeededIxs exist they have to be executed after the deposit so the shares received from the deposit are staked in the vault farm */
44
+ /** If the stakeInFarmIfNeededIxs/stakeInFlcFarmIfNeededIxs exist they have to be executed after the deposit so the shares received from the deposit are staked in the vault farm. Only one of the stake ixs can be executed, either for the vault farms or the first loss capital farm*/
45
45
  export type DepositIxs = {
46
46
  depositIxs: Instruction[];
47
47
  stakeInFarmIfNeededIxs: Instruction[];
48
+ stakeInFlcFarmIfNeededIxs: Instruction[];
48
49
  };
49
50
  /** the ixs to unstake shares from farm and withdraw them from the vault. The `unstakeFromFarmIfNeededIxs` should be in the tx before `withdrawIxs`*/
50
51
  export type WithdrawIxs = {
@@ -1 +1 @@
1
- {"version":3,"file":"vault_types.d.ts","sourceRoot":"","sources":["../../src/classes/vault_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,qIAAqI;AACrI,MAAM,MAAM,YAAY,GAAG;IACzB,oBAAoB,EAAE,WAAW,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,oBAAoB,EAAE,WAAW,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,sBAAsB,EAAE,WAAW,CAAC;IACpC,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,yBAAyB,EAAE,WAAW,CAAC;IACvC,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAC1C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAC1C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,WAAW,CAAC;IACjC,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACjD,CAAC;AAEF,+IAA+I;AAC/I,MAAM,MAAM,eAAe,GAAG;IAC5B,mBAAmB,EAAE,WAAW,EAAE,CAAC;IACnC,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B,CAAC;AAEF,0JAA0J;AAC1J,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,sBAAsB,EAAE,WAAW,EAAE,CAAC;CACvC,CAAC;AAEF,qJAAqJ;AACrJ,MAAM,MAAM,WAAW,GAAG;IACxB,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAC1C,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,eAAe,EAAE,WAAW,EAAE,CAAC;CAChC,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,WAAW,EAAE,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"vault_types.d.ts","sourceRoot":"","sources":["../../src/classes/vault_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,qIAAqI;AACrI,MAAM,MAAM,YAAY,GAAG;IACzB,oBAAoB,EAAE,WAAW,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,oBAAoB,EAAE,WAAW,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,sBAAsB,EAAE,WAAW,CAAC;IACpC,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,yBAAyB,EAAE,WAAW,CAAC;IACvC,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAC1C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAC1C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,WAAW,CAAC;IACjC,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACjD,CAAC;AAEF,+IAA+I;AAC/I,MAAM,MAAM,eAAe,GAAG;IAC5B,mBAAmB,EAAE,WAAW,EAAE,CAAC;IACnC,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B,CAAC;AAEF,yRAAyR;AACzR,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,sBAAsB,EAAE,WAAW,EAAE,CAAC;IACtC,yBAAyB,EAAE,WAAW,EAAE,CAAC;CAC1C,CAAC;AAEF,qJAAqJ;AACrJ,MAAM,MAAM,WAAW,GAAG;IACxB,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAC1C,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,eAAe,EAAE,WAAW,EAAE,CAAC;CAChC,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,WAAW,EAAE,CAAC;CAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamino-finance/klend-sdk",
3
- "version": "7.3.8",
3
+ "version": "7.3.9",
4
4
  "description": "Typescript SDK for interacting with the Kamino Lending (klend) protocol",
5
5
  "repository": {
6
6
  "type": "git",
@@ -123,7 +123,13 @@ import {
123
123
  } from './vault_types';
124
124
  import { batchFetch, collToLamportsDecimal, ZERO } from '@kamino-finance/kliquidity-sdk';
125
125
  import { FullBPSDecimal } from '@kamino-finance/kliquidity-sdk/dist/utils/CreationParameters';
126
- import { FarmConfigOption, FarmIncentives, FarmState, getUserStatePDA } from '@kamino-finance/farms-sdk/dist';
126
+ import {
127
+ FarmConfigOption,
128
+ FarmIncentives,
129
+ FarmState,
130
+ getUserStatePDA,
131
+ scaleDownWads,
132
+ } from '@kamino-finance/farms-sdk/dist';
127
133
  import { getAccountsInLut, initLookupTableIx, insertIntoLookupTableIxs } from '../utils/lookupTable';
128
134
  import {
129
135
  FARMS_ADMIN_MAINNET,
@@ -843,6 +849,8 @@ export class KaminoVaultClient {
843
849
  data: this.getValueForModeAsBuffer(mode, value),
844
850
  };
845
851
 
852
+ await this.updateVaultConfigValidations(mode, value, vaultState);
853
+
846
854
  const vaultReserves = this.getVaultReserves(vaultState);
847
855
  const vaultReservesState = await this.loadVaultReserves(vaultState);
848
856
 
@@ -906,6 +914,24 @@ export class KaminoVaultClient {
906
914
  return updateVaultConfigIxs;
907
915
  }
908
916
 
917
+ async updateVaultConfigValidations(mode: VaultConfigFieldKind, value: string, vaultState: VaultState) {
918
+ if (
919
+ mode.kind === new VaultConfigField.FirstLossCapitalFarm().kind ||
920
+ mode.kind === new VaultConfigField.Farm().kind
921
+ ) {
922
+ const farmAddress = address(value);
923
+ const farmState = await FarmState.fetch(this.getConnection(), farmAddress);
924
+ if (!farmState) {
925
+ throw new Error(`Farm ${farmAddress.toString()} not found for FirstLossCapitalFarm`);
926
+ }
927
+ if (
928
+ mode.kind === new VaultConfigField.FirstLossCapitalFarm().kind &&
929
+ !(await this.isFlcFarmValid(farmState, vaultState))
930
+ ) {
931
+ throw new Error(`Farm ${farmAddress.toString()} is not valid for FirstLossCapitalFarm`);
932
+ }
933
+ }
934
+ }
909
935
  /**
910
936
  * Add or update a reserve whitelist entry. This controls whether the reserve is whitelisted for adding/updating
911
937
  * allocations or for invest, depending on the mode parameter.
@@ -1199,7 +1225,7 @@ export class KaminoVaultClient {
1199
1225
  * @param tokenAmount - token amount to be deposited, in decimals (will be converted in lamports)
1200
1226
  * @param [vaultReservesMap] - optional parameter; 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
1201
1227
  * @param [farmState] - the state of the vault farm, if the vault has a farm. Optional. If not provided, it will be fetched
1202
- * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm
1228
+ * @returns - an instance of DepositIxs which contains the instructions to deposit in vault and the instructions to stake the shares in the farm if the vault has a farm as well as ixs to stake in the first loss capital farm if the vault has one - only one set on ixs so stake in a farm can be used -> staking can be either done in the farm or in the first loss capital farm
1203
1229
  */
1204
1230
  async depositIxs(
1205
1231
  user: TransactionSigner,
@@ -1313,14 +1339,17 @@ export class KaminoVaultClient {
1313
1339
  const result: DepositIxs = {
1314
1340
  depositIxs: [...createAtasIxs, entryIx, ...closeAtasIxs],
1315
1341
  stakeInFarmIfNeededIxs: [],
1342
+ stakeInFlcFarmIfNeededIxs: [],
1316
1343
  };
1317
1344
 
1318
- if (!(await vault.hasFarm())) {
1319
- return result;
1345
+ if (await vault.hasFarm()) {
1346
+ const stakeSharesIxs = await this.stakeSharesIxs(user, vault, undefined, farmState);
1347
+ result.stakeInFarmIfNeededIxs = stakeSharesIxs;
1348
+ }
1349
+ if (await vault.hasFlcFarm()) {
1350
+ const stakeSharesInFlcFarmIxs = await this.stakeSharesInFlcFarmIxs(user, vault, undefined, undefined);
1351
+ result.stakeInFlcFarmIfNeededIxs = stakeSharesInFlcFarmIxs;
1320
1352
  }
1321
-
1322
- const stakeSharesIxs = await this.stakeSharesIxs(user, vault, undefined, farmState);
1323
- result.stakeInFarmIfNeededIxs = stakeSharesIxs;
1324
1353
  return result;
1325
1354
  }
1326
1355
 
@@ -1354,6 +1383,42 @@ export class KaminoVaultClient {
1354
1383
  return getFarmStakeIxs(this.getConnection(), user, sharesToStakeLamports, vaultState.vaultFarm, farmState);
1355
1384
  }
1356
1385
 
1386
+ /**
1387
+ * This function creates instructions to stake the shares in the vault firstLossCapital farm if the vault has a farm
1388
+ * @param user - user to stake
1389
+ * @param vault - vault to deposit into its flc farm (if the state is not provided, it will be fetched)
1390
+ * @param [sharesAmount] - token amount to be deposited, in decimals (will be converted in lamports). Optional. If not provided, the user's share balance will be used
1391
+ * @param [farmState] - the state of the vault flc farm, if the vault has a farm. Optional. If not provided, it will be fetched
1392
+ * @returns - a list of instructions for the user to stake shares into the vault's firstLossCapital farm, including the creation of prerequisite accounts if needed
1393
+ */
1394
+ async stakeSharesInFlcFarmIxs(
1395
+ user: TransactionSigner,
1396
+ vault: KaminoVault,
1397
+ sharesAmount?: Decimal,
1398
+ farmState?: FarmState
1399
+ ): Promise<Instruction[]> {
1400
+ const vaultState = await vault.getState();
1401
+
1402
+ let sharesToStakeLamports = new Decimal(U64_MAX);
1403
+ if (sharesAmount) {
1404
+ sharesToStakeLamports = numberToLamportsDecimal(sharesAmount, vaultState.sharesMintDecimals.toNumber());
1405
+ }
1406
+
1407
+ // if tokens to be staked are 0 or vault has no farm there is no stake needed
1408
+ if (sharesToStakeLamports.lte(0) || !(await vault.hasFlcFarm())) {
1409
+ return [];
1410
+ }
1411
+
1412
+ // returns the ix to create the farm state account if needed and the ix to stake the shares
1413
+ return getFarmStakeIxs(
1414
+ this.getConnection(),
1415
+ user,
1416
+ sharesToStakeLamports,
1417
+ vaultState.firstLossCapitalFarm,
1418
+ farmState
1419
+ );
1420
+ }
1421
+
1357
1422
  /**
1358
1423
  * This function will return a struct with the instructions to unstake from the farm if necessary and the instructions for the missing ATA creation instructions, as well as one or multiple withdraw instructions, based on how many reserves it's needed to withdraw from. This might have to be split in multiple transactions
1359
1424
  * @param user - user to withdraw
@@ -3096,6 +3161,7 @@ export class KaminoVaultClient {
3096
3161
  slotForOverview,
3097
3162
  tokensPrices
3098
3163
  );
3164
+ const vaultFlcFarmStatsPromise = this.getVaultFlcFarmStats(vault);
3099
3165
 
3100
3166
  // 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
3101
3167
  const [
@@ -3108,6 +3174,7 @@ export class KaminoVaultClient {
3108
3174
  vaultFarmIncentives,
3109
3175
  vaultReservesFarmIncentives,
3110
3176
  vaultDelegatedFarmIncentives,
3177
+ vaultFlcFarmStats,
3111
3178
  ] = await Promise.all([
3112
3179
  vaultHoldingsWithUSDValuePromise,
3113
3180
  vaultTheoreticalAPYPromise,
@@ -3118,6 +3185,7 @@ export class KaminoVaultClient {
3118
3185
  vaultFarmIncentivesPromise,
3119
3186
  vaultReservesFarmIncentivesPromise,
3120
3187
  vaultDelegatedFarmIncentivesPromise,
3188
+ vaultFlcFarmStatsPromise,
3121
3189
  ]);
3122
3190
 
3123
3191
  return {
@@ -3134,6 +3202,7 @@ export class KaminoVaultClient {
3134
3202
  utilizationRatio: totalInvestedAndBorrowed.utilizationRatio,
3135
3203
  totalSupplied: totalInvestedAndBorrowed.totalInvested,
3136
3204
  totalSuppliedUSD: totalInvestedAndBorrowed.totalInvested.mul(vaultTokenPrice),
3205
+ flcFarmStats: vaultFlcFarmStats,
3137
3206
  };
3138
3207
  }
3139
3208
 
@@ -3774,6 +3843,69 @@ export class KaminoVaultClient {
3774
3843
  };
3775
3844
  }
3776
3845
 
3846
+ async getVaultFlcFarmStats(vaultOrState: KaminoVault | VaultState): Promise<FlcFarmStats | undefined> {
3847
+ const vaultState = 'getState' in vaultOrState ? await vaultOrState.getState() : vaultOrState;
3848
+
3849
+ if (vaultState.firstLossCapitalFarm === DEFAULT_PUBLIC_KEY) {
3850
+ return undefined;
3851
+ }
3852
+
3853
+ const kFarmsClient = new Farms(this.getConnection());
3854
+
3855
+ const flcFarmState = await FarmState.fetch(this.getConnection(), vaultState.firstLossCapitalFarm);
3856
+
3857
+ if (!flcFarmState) {
3858
+ return undefined;
3859
+ }
3860
+
3861
+ if (!(await this.isFlcFarmValid(flcFarmState, vaultState))) {
3862
+ return undefined;
3863
+ }
3864
+
3865
+ const userStates = await kFarmsClient.getAllUserStatesForFarm(vaultState.firstLossCapitalFarm);
3866
+ const pendingUnstakes: FarmPendingUnstakeInfo[] = [];
3867
+
3868
+ for (const { userState, key } of userStates) {
3869
+ const pendingWithdrawalUnstake = new Decimal(scaleDownWads(userState.pendingWithdrawalUnstakeScaled));
3870
+ if (pendingWithdrawalUnstake.gt(0)) {
3871
+ pendingUnstakes.push({
3872
+ userStateAddress: key,
3873
+ pendingUnstakeAmountLamports: pendingWithdrawalUnstake,
3874
+ pendingUnstakeAvailableAtTimestamp: userState.pendingWithdrawalUnstakeTs.toNumber(),
3875
+ });
3876
+ }
3877
+ }
3878
+
3879
+ return {
3880
+ address: vaultState.firstLossCapitalFarm,
3881
+ farmState: flcFarmState,
3882
+ totalStakedShares: new Decimal(scaleDownWads(flcFarmState.totalActiveStakeScaled)),
3883
+ withdrawalCooldownDurationSeconds: flcFarmState.withdrawalCooldownPeriod,
3884
+ isPendingUnstake: pendingUnstakes.length > 0,
3885
+ pendingUnstakeInfo: pendingUnstakes,
3886
+ };
3887
+ }
3888
+
3889
+ async isFlcFarmValid(flcFarmState: FarmState, vaultOrState: KaminoVault | VaultState): Promise<boolean> {
3890
+ const vaultState = 'getState' in vaultOrState ? await vaultOrState.getState() : vaultOrState;
3891
+
3892
+ if (flcFarmState.timeUnit !== 0) {
3893
+ // timeUnit = 0 -> seconds
3894
+ return false;
3895
+ }
3896
+
3897
+ if (flcFarmState.withdrawalCooldownPeriod === 0) {
3898
+ // invalid FLC farm, should have > 0 withdrawal cooldown
3899
+ return false;
3900
+ }
3901
+
3902
+ if (flcFarmState.token.mint !== vaultState.sharesMint) {
3903
+ // staked token mint should be the vault shares mint
3904
+ return false;
3905
+ }
3906
+ return true;
3907
+ }
3908
+
3777
3909
  /// reads the pending rewards for a user in the vault farm
3778
3910
  /// @param user - the user address
3779
3911
  /// @param vault - the vault
@@ -4203,6 +4335,11 @@ export class KaminoVault {
4203
4335
  return state.vaultFarm !== DEFAULT_PUBLIC_KEY;
4204
4336
  }
4205
4337
 
4338
+ async hasFlcFarm(): Promise<boolean> {
4339
+ const state = await this.getState();
4340
+ return state.firstLossCapitalFarm !== DEFAULT_PUBLIC_KEY;
4341
+ }
4342
+
4206
4343
  /**
4207
4344
  * This will return an VaultHoldings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
4208
4345
  * @returns an VaultHoldings object representing the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
@@ -4579,6 +4716,7 @@ export type VaultOverview = {
4579
4716
  totalSupplied: Decimal;
4580
4717
  totalSuppliedUSD: Decimal;
4581
4718
  utilizationRatio: Decimal;
4719
+ flcFarmStats: FlcFarmStats | undefined;
4582
4720
  };
4583
4721
 
4584
4722
  export type VaultReservesFarmsIncentives = {
@@ -4586,6 +4724,21 @@ export type VaultReservesFarmsIncentives = {
4586
4724
  totalIncentivesAPY: Decimal;
4587
4725
  };
4588
4726
 
4727
+ export type FlcFarmStats = {
4728
+ address: Address;
4729
+ farmState: FarmState;
4730
+ totalStakedShares: Decimal;
4731
+ withdrawalCooldownDurationSeconds: number;
4732
+ isPendingUnstake: boolean;
4733
+ pendingUnstakeInfo: FarmPendingUnstakeInfo[];
4734
+ };
4735
+
4736
+ export type FarmPendingUnstakeInfo = {
4737
+ userStateAddress: Address;
4738
+ pendingUnstakeAmountLamports: Decimal;
4739
+ pendingUnstakeAvailableAtTimestamp: number;
4740
+ };
4741
+
4589
4742
  export type VaultFeesPct = {
4590
4743
  managementFeePct: Decimal;
4591
4744
  performanceFeePct: Decimal;
@@ -50,10 +50,11 @@ export type SyncVaultLUTIxs = {
50
50
  syncLUTIxs: Instruction[];
51
51
  };
52
52
 
53
- /** If the stakeInFarmIfNeededIxs exist they have to be executed after the deposit so the shares received from the deposit are staked in the vault farm */
53
+ /** If the stakeInFarmIfNeededIxs/stakeInFlcFarmIfNeededIxs exist they have to be executed after the deposit so the shares received from the deposit are staked in the vault farm. Only one of the stake ixs can be executed, either for the vault farms or the first loss capital farm*/
54
54
  export type DepositIxs = {
55
55
  depositIxs: Instruction[];
56
56
  stakeInFarmIfNeededIxs: Instruction[];
57
+ stakeInFlcFarmIfNeededIxs: Instruction[]; // if the vault has a firstLossCapital farm, these ixs will stake the shares in the flc farm
57
58
  };
58
59
 
59
60
  /** the ixs to unstake shares from farm and withdraw them from the vault. The `unstakeFromFarmIfNeededIxs` should be in the tx before `withdrawIxs`*/