@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 +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/user.js +6 -1
- package/package.json +1 -1
- package/src/types.ts +1 -1
- package/src/user.ts +18 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.86.0-beta.
|
|
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
|
-
|
|
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.
|
|
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
package/src/types.ts
CHANGED
|
@@ -887,7 +887,7 @@ export type UserStatsAccount = {
|
|
|
887
887
|
authority: PublicKey;
|
|
888
888
|
ifStakedQuoteAssetAmount: BN;
|
|
889
889
|
|
|
890
|
-
|
|
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.
|
|
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;
|