@kamino-finance/klend-sdk 7.3.7 → 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