@drift-labs/sdk 2.86.0-beta.23 → 2.86.0-beta.24

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.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.86.0-beta.23
1
+ 2.86.0-beta.24
package/lib/types.d.ts CHANGED
@@ -947,7 +947,7 @@ export type UserStatsAccount = {
947
947
  isReferrer: boolean;
948
948
  authority: PublicKey;
949
949
  ifStakedQuoteAssetAmount: BN;
950
- lastFuelBonusUpdateTs: number;
950
+ lastFuelIfBonusUpdateTs: number;
951
951
  fuelInsurance: number;
952
952
  fuelDeposits: number;
953
953
  fuelBorrows: number;
package/lib/user.js CHANGED
@@ -592,9 +592,14 @@ class User {
592
592
  // todo: get real time ifStakedGovTokenAmount using ifStakeAccount
593
593
  if (userStats.ifStakedGovTokenAmount.gt(numericConstants_1.ZERO)) {
594
594
  const spotMarketAccount = this.driftClient.getSpotMarketAccount(numericConstants_1.GOV_SPOT_MARKET_INDEX);
595
- const fuelBonusNumeratorUserStats = now.sub(new _1.BN(userStats.lastFuelBonusUpdateTs));
595
+ const fuelBonusNumeratorUserStats = now.sub(_1.BN.max(new _1.BN(userStats.lastFuelIfBonusUpdateTs), numericConstants_1.FUEL_START_TS));
596
596
  result.insuranceFuel = result.insuranceFuel.add((0, fuel_1.calculateInsuranceFuelBonus)(spotMarketAccount, userStats.ifStakedGovTokenAmount, fuelBonusNumeratorUserStats));
597
597
  }
598
+ if (userStats.ifStakedQuoteAssetAmount.gt(numericConstants_1.ZERO)) {
599
+ const spotMarketAccount = this.driftClient.getSpotMarketAccount(numericConstants_1.QUOTE_SPOT_MARKET_INDEX);
600
+ const fuelBonusNumeratorUserStats = now.sub(_1.BN.max(new _1.BN(userStats.lastFuelIfBonusUpdateTs), numericConstants_1.FUEL_START_TS));
601
+ result.insuranceFuel = result.insuranceFuel.add((0, fuel_1.calculateInsuranceFuelBonus)(spotMarketAccount, userStats.ifStakedQuoteAssetAmount, fuelBonusNumeratorUserStats));
602
+ }
598
603
  }
599
604
  return result;
600
605
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.86.0-beta.23",
3
+ "version": "2.86.0-beta.24",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "author": "crispheaney",
package/src/types.ts CHANGED
@@ -887,7 +887,7 @@ export type UserStatsAccount = {
887
887
  authority: PublicKey;
888
888
  ifStakedQuoteAssetAmount: BN;
889
889
 
890
- lastFuelBonusUpdateTs: number; // u32 onchain
890
+ lastFuelIfBonusUpdateTs: number; // u32 onchain
891
891
 
892
892
  fuelInsurance: number;
893
893
  fuelDeposits: number;
package/src/user.ts CHANGED
@@ -1011,7 +1011,7 @@ export class User {
1011
1011
  this.driftClient.getSpotMarketAccount(GOV_SPOT_MARKET_INDEX);
1012
1012
 
1013
1013
  const fuelBonusNumeratorUserStats = now.sub(
1014
- new BN(userStats.lastFuelBonusUpdateTs)
1014
+ BN.max(new BN(userStats.lastFuelIfBonusUpdateTs), FUEL_START_TS)
1015
1015
  );
1016
1016
 
1017
1017
  result.insuranceFuel = result.insuranceFuel.add(
@@ -1022,6 +1022,23 @@ export class User {
1022
1022
  )
1023
1023
  );
1024
1024
  }
1025
+
1026
+ if (userStats.ifStakedQuoteAssetAmount.gt(ZERO)) {
1027
+ const spotMarketAccount: SpotMarketAccount =
1028
+ this.driftClient.getSpotMarketAccount(QUOTE_SPOT_MARKET_INDEX);
1029
+
1030
+ const fuelBonusNumeratorUserStats = now.sub(
1031
+ BN.max(new BN(userStats.lastFuelIfBonusUpdateTs), FUEL_START_TS)
1032
+ );
1033
+
1034
+ result.insuranceFuel = result.insuranceFuel.add(
1035
+ calculateInsuranceFuelBonus(
1036
+ spotMarketAccount,
1037
+ userStats.ifStakedQuoteAssetAmount,
1038
+ fuelBonusNumeratorUserStats
1039
+ )
1040
+ );
1041
+ }
1025
1042
  }
1026
1043
 
1027
1044
  return result;