Skip to content

Commit 5b22d7f

Browse files
0xbigzlowkeynicc
andauthored
sdk: sync-user-trade-tier-calcs (#1673)
* sdk: sync-user-trade-tier-calcs * prettify --------- Co-authored-by: Nick Caradonna <[email protected]>
1 parent 4946302 commit 5b22d7f

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

sdk/src/driftClient.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8911,7 +8911,9 @@ export class DriftClient {
89118911
enteringHighLeverageMode?: boolean
89128912
) {
89138913
let feeTier;
8914-
if (user) {
8914+
const userHLM =
8915+
(user?.isHighLeverageMode() ?? false) || enteringHighLeverageMode;
8916+
if (user && !userHLM) {
89158917
feeTier = user.getUserFeeTier(marketType);
89168918
} else {
89178919
const state = this.getStateAccount();
@@ -8933,7 +8935,7 @@ export class DriftClient {
89338935
}
89348936

89358937
takerFee += (takerFee * marketAccount.feeAdjustment) / 100;
8936-
if (user && (user.isHighLeverageMode() || enteringHighLeverageMode)) {
8938+
if (userHLM) {
89378939
takerFee *= 2;
89388940
}
89398941
makerFee += (makerFee * marketAccount.feeAdjustment) / 100;

sdk/src/user.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3518,7 +3518,7 @@ export class User {
35183518
now
35193519
);
35203520

3521-
const stakedQuoteAssetAmount = userStatsAccount.ifStakedQuoteAssetAmount;
3521+
const stakedGovAssetAmount = userStatsAccount.ifStakedGovTokenAmount;
35223522
const volumeTiers = [
35233523
new BN(100_000_000).mul(QUOTE_PRECISION),
35243524
new BN(50_000_000).mul(QUOTE_PRECISION),
@@ -3527,17 +3527,17 @@ export class User {
35273527
new BN(1_000_000).mul(QUOTE_PRECISION),
35283528
];
35293529
const stakedTiers = [
3530-
new BN(10000).mul(QUOTE_PRECISION),
3531-
new BN(5000).mul(QUOTE_PRECISION),
3532-
new BN(2000).mul(QUOTE_PRECISION),
3533-
new BN(1000).mul(QUOTE_PRECISION),
3534-
new BN(500).mul(QUOTE_PRECISION),
3530+
new BN(120000 - 1).mul(QUOTE_PRECISION),
3531+
new BN(100000 - 1).mul(QUOTE_PRECISION),
3532+
new BN(25000 - 1).mul(QUOTE_PRECISION),
3533+
new BN(10000 - 1).mul(QUOTE_PRECISION),
3534+
new BN(1000 - 1).mul(QUOTE_PRECISION),
35353535
];
35363536

35373537
for (let i = 0; i < volumeTiers.length; i++) {
35383538
if (
35393539
total30dVolume.gte(volumeTiers[i]) ||
3540-
stakedQuoteAssetAmount.gte(stakedTiers[i])
3540+
stakedGovAssetAmount.gte(stakedTiers[i])
35413541
) {
35423542
feeTierIndex = 5 - i;
35433543
break;

0 commit comments

Comments
 (0)