Skip to content

Commit bf871fb

Browse files
committed
Merge branch 'main' into feature/closed-pnl-fill
2 parents 9ee5126 + 83d1e18 commit bf871fb

File tree

18 files changed

+261
-228
lines changed

18 files changed

+261
-228
lines changed

indexer/packages/v4-protos/src/codegen/dydxprotocol/stats/stats.ts

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -153,23 +153,23 @@ export interface UserStatsSDKType {
153153

154154
affiliate_30d_referred_volume_quote_quantums: Long;
155155
}
156-
/** CachedStakeAmount stores the last calculated total staked amount for address */
156+
/** CachedStakedBaseTokens stores the last calculated total staked base tokens */
157157

158-
export interface CachedStakeAmount {
159-
/** Last calculated total staked amount by the delegator (in coin amount). */
160-
stakedAmount: Uint8Array;
158+
export interface CachedStakedBaseTokens {
159+
/** Last calculated total staked base tokens by the delegator. */
160+
stakedBaseTokens: Uint8Array;
161161
/**
162162
* Block time at which the calculation is cached (in Unix Epoch seconds)
163163
* Rounded down to nearest second.
164164
*/
165165

166166
cachedAt: Long;
167167
}
168-
/** CachedStakeAmount stores the last calculated total staked amount for address */
168+
/** CachedStakedBaseTokens stores the last calculated total staked base tokens */
169169

170-
export interface CachedStakeAmountSDKType {
171-
/** Last calculated total staked amount by the delegator (in coin amount). */
172-
staked_amount: Uint8Array;
170+
export interface CachedStakedBaseTokensSDKType {
171+
/** Last calculated total staked base tokens by the delegator. */
172+
staked_base_tokens: Uint8Array;
173173
/**
174174
* Block time at which the calculation is cached (in Unix Epoch seconds)
175175
* Rounded down to nearest second.
@@ -573,17 +573,17 @@ export const UserStats = {
573573

574574
};
575575

576-
function createBaseCachedStakeAmount(): CachedStakeAmount {
576+
function createBaseCachedStakedBaseTokens(): CachedStakedBaseTokens {
577577
return {
578-
stakedAmount: new Uint8Array(),
578+
stakedBaseTokens: new Uint8Array(),
579579
cachedAt: Long.ZERO
580580
};
581581
}
582582

583-
export const CachedStakeAmount = {
584-
encode(message: CachedStakeAmount, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
585-
if (message.stakedAmount.length !== 0) {
586-
writer.uint32(10).bytes(message.stakedAmount);
583+
export const CachedStakedBaseTokens = {
584+
encode(message: CachedStakedBaseTokens, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
585+
if (message.stakedBaseTokens.length !== 0) {
586+
writer.uint32(10).bytes(message.stakedBaseTokens);
587587
}
588588

589589
if (!message.cachedAt.isZero()) {
@@ -593,17 +593,17 @@ export const CachedStakeAmount = {
593593
return writer;
594594
},
595595

596-
decode(input: _m0.Reader | Uint8Array, length?: number): CachedStakeAmount {
596+
decode(input: _m0.Reader | Uint8Array, length?: number): CachedStakedBaseTokens {
597597
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
598598
let end = length === undefined ? reader.len : reader.pos + length;
599-
const message = createBaseCachedStakeAmount();
599+
const message = createBaseCachedStakedBaseTokens();
600600

601601
while (reader.pos < end) {
602602
const tag = reader.uint32();
603603

604604
switch (tag >>> 3) {
605605
case 1:
606-
message.stakedAmount = reader.bytes();
606+
message.stakedBaseTokens = reader.bytes();
607607
break;
608608

609609
case 2:
@@ -619,9 +619,9 @@ export const CachedStakeAmount = {
619619
return message;
620620
},
621621

622-
fromPartial(object: DeepPartial<CachedStakeAmount>): CachedStakeAmount {
623-
const message = createBaseCachedStakeAmount();
624-
message.stakedAmount = object.stakedAmount ?? new Uint8Array();
622+
fromPartial(object: DeepPartial<CachedStakedBaseTokens>): CachedStakedBaseTokens {
623+
const message = createBaseCachedStakedBaseTokens();
624+
message.stakedBaseTokens = object.stakedBaseTokens ?? new Uint8Array();
625625
message.cachedAt = object.cachedAt !== undefined && object.cachedAt !== null ? Long.fromValue(object.cachedAt) : Long.ZERO;
626626
return message;
627627
}

proto/dydxprotocol/stats/stats.proto

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ message UserStats {
7575
uint64 affiliate_30d_referred_volume_quote_quantums = 4;
7676
}
7777

78-
// CachedStakeAmount stores the last calculated total staked amount for address
79-
message CachedStakeAmount {
80-
// Last calculated total staked amount by the delegator (in coin amount).
81-
bytes staked_amount = 1 [
78+
// CachedStakedBaseTokens stores the last calculated total staked base tokens
79+
message CachedStakedBaseTokens {
80+
// Last calculated total staked base tokens by the delegator.
81+
bytes staked_base_tokens = 1 [
8282
(gogoproto.customtype) =
8383
"github.com/dydxprotocol/v4-chain/protocol/dtypes.SerializableInt",
8484
(gogoproto.nullable) = false

protocol/lib/metrics/metric_keys.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ const (
2727
ClobRateLimitPlaceOrderCount = "clob_rate_limit_place_order_count"
2828
ClobRateLimitCancelOrderCount = "clob_rate_limit_cancel_order_count"
2929
ClobRateLimitBatchCancelCount = "clob_rate_limit_batch_cancel_count"
30-
StatsGetStakedAmountCacheHit = "stats_get_staked_amount_cache_hit"
31-
StatsGetStakedAmountCacheMiss = "stats_get_staked_amount_cache_miss"
30+
StatsGetStakedBaseTokensCacheHit = "stats_get_staked_base_tokens_cache_hit"
31+
StatsGetStakedBaseTokensCacheMiss = "stats_get_staked_base_tokens_cache_miss"
3232

3333
// Gauges
3434
InsuranceFundBalance = "insurance_fund_balance"
@@ -38,8 +38,8 @@ const (
3838
ClobSubaccountsRequiringDeleveragingCount = "clob_subaccounts_requiring_deleveraging_count"
3939
SendingProcessDepositToSubaccount = "sending_process_deposit_to_subaccount"
4040
RateLimitInsufficientWithdrawalAmount = "rate_limit_insufficient_withdrawal_amount"
41-
StatsGetStakedAmountLatencyCacheHit = "stats_get_staked_amount_latency_cache_hit"
42-
StatsGetStakedAmountLatencyCacheMiss = "stats_get_staked_amount_latency_cache_miss"
41+
StatsGetStakedBaseTokensLatencyCacheHit = "stats_get_staked_base_tokens_latency_cache_hit"
42+
StatsGetStakedBaseTokensLatencyCacheMiss = "stats_get_staked_base_tokens_latency_cache_miss"
4343

4444
// Samples
4545
ClobDeleverageSubaccountTotalQuoteQuantumsDistribution = "clob_deleverage_subaccount_total_quote_quantums_distribution"

protocol/x/affiliates/keeper/grpc_query.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func (k Keeper) AffiliateInfo(c context.Context,
4040

4141
userStats := k.statsKeeper.GetUserStats(ctx, addr.String())
4242
referredVolume := userStats.Affiliate_30DReferredVolumeQuoteQuantums
43-
stakedAmount := k.statsKeeper.GetStakedAmount(ctx, req.GetAddress())
43+
stakedAmount := k.statsKeeper.GetStakedBaseTokens(ctx, req.GetAddress())
4444

4545
return &types.AffiliateInfoResponse{
4646
IsWhitelisted: isWhitelisted,

protocol/x/affiliates/keeper/keeper.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -215,23 +215,6 @@ func (k Keeper) GetTierForAffiliate(
215215
currentTier = uint32(index)
216216
}
217217

218-
if currentTier == maxTierLevel {
219-
return currentTier, tiers[currentTier].TakerFeeSharePpm, nil
220-
}
221-
222-
numCoinsStaked := k.statsKeeper.GetStakedAmount(ctx, affiliateAddr)
223-
for i := currentTier + 1; i < numTiers; i++ {
224-
// required staked coins is strictly increasing as tiers are traversed in order.
225-
expMultiplier, _ := lib.BigPow10(-lib.BaseDenomExponent)
226-
reqStakedCoins := new(big.Int).Mul(
227-
lib.BigU(tiers[i].ReqStakedWholeCoins),
228-
expMultiplier,
229-
)
230-
if numCoinsStaked.Cmp(reqStakedCoins) < 0 {
231-
break
232-
}
233-
currentTier = i
234-
}
235218
return currentTier, tiers[currentTier].TakerFeeSharePpm, nil
236219
}
237220

protocol/x/affiliates/keeper/keeper_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ func TestGetTakerFeeShareViaStakedAmount(t *testing.T) {
220220
require.Equal(t, types.DefaultAffiliateTiers.Tiers[0].TakerFeeSharePpm, feeSharePpm)
221221

222222
ctx = ctx.WithBlockTime(ctx.BlockTime().Add(
223-
time.Duration(statstypes.StakedAmountCacheDurationSeconds+1) * time.Second,
223+
time.Duration(statstypes.StakedBaseTokensCacheDurationSeconds+1) * time.Second,
224224
))
225225
// Add more staked amount to upgrade tier
226226
err = stakingKeeper.SetDelegation(ctx,
@@ -235,7 +235,7 @@ func TestGetTakerFeeShareViaStakedAmount(t *testing.T) {
235235
require.NoError(t, err)
236236
require.True(t, exists)
237237
require.Equal(t, affiliate, affiliateAddr)
238-
require.Equal(t, types.DefaultAffiliateTiers.Tiers[1].TakerFeeSharePpm, feeSharePpm)
238+
require.Equal(t, types.DefaultAffiliateTiers.Tiers[0].TakerFeeSharePpm, feeSharePpm)
239239
}
240240

241241
// Test volume qualifies for tier 2 and stake qualifies for tier 3
@@ -288,8 +288,8 @@ func TestGetTierForAffiliate_VolumeAndStake(t *testing.T) {
288288
tierLevel, feeSharePpm, err := k.GetTierForAffiliate(ctx, affiliate, map[string]bool{})
289289
require.NoError(t, err)
290290

291-
require.Equal(t, uint32(3), tierLevel)
292-
require.Equal(t, affiliateTiers.Tiers[3].TakerFeeSharePpm, feeSharePpm)
291+
require.Equal(t, uint32(2), tierLevel)
292+
require.Equal(t, affiliateTiers.Tiers[2].TakerFeeSharePpm, feeSharePpm)
293293
}
294294

295295
func TestUpdateAffiliateTiers(t *testing.T) {
@@ -1116,8 +1116,8 @@ func TestGetTierForAffiliateOverrides(t *testing.T) {
11161116

11171117
tierLevel, feeSharePpm, err := k.GetTierForAffiliate(ctx, constants.AliceAccAddress.String(), map[string]bool{})
11181118
require.NoError(t, err)
1119-
require.Equal(t, uint32(3), tierLevel)
1120-
require.Equal(t, uint32(150_000), feeSharePpm)
1119+
require.Equal(t, uint32(0), tierLevel)
1120+
require.Equal(t, uint32(50_000), feeSharePpm)
11211121

11221122
tierLevel, feeSharePpm, err = k.GetTierForAffiliate(ctx, constants.AliceAccAddress.String(), map[string]bool{
11231123
constants.AliceAccAddress.String(): true,

protocol/x/affiliates/types/expected_keepers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
type StatsKeeper interface {
11-
GetStakedAmount(ctx sdk.Context, delegatorAddr string) *big.Int
11+
GetStakedBaseTokens(ctx sdk.Context, delegatorAddr string) *big.Int
1212
GetBlockStats(ctx sdk.Context) *stattypes.BlockStats
1313
GetUserStats(ctx sdk.Context, address string) *stattypes.UserStats
1414
SetUserStats(ctx sdk.Context, address string, userStats *stattypes.UserStats)

protocol/x/feetiers/keeper/grpc_query.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func (k Keeper) UserStakingTier(
152152
_, userFeeTier := k.getUserFeeTier(ctx, req.Address, affiliateParameters.RefereeMinimumFeeTierIdx)
153153

154154
// Get user's staking info
155-
stakedAmount := k.statsKeeper.GetStakedAmount(ctx, req.Address)
155+
stakedAmount := k.statsKeeper.GetStakedBaseTokens(ctx, req.Address)
156156
discountPpm := k.GetStakingDiscountPpm(ctx, userFeeTier.Name, stakedAmount)
157157

158158
return &types.QueryUserStakingTierResponse{

protocol/x/feetiers/keeper/grpc_query_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -540,9 +540,9 @@ func TestUserStakingTier(t *testing.T) {
540540
if tc.userBondedTokens != nil {
541541
bondedAmount = tc.userBondedTokens
542542
}
543-
statsKeeper.UnsafeSetCachedStakedAmount(ctx, tc.req.Address, &stattypes.CachedStakeAmount{
544-
StakedAmount: dtypes.NewIntFromBigInt(bondedAmount),
545-
CachedAt: ctx.BlockTime().Unix(),
543+
statsKeeper.UnsafeSetCachedStakedBaseTokens(ctx, tc.req.Address, &stattypes.CachedStakedBaseTokens{
544+
StakedBaseTokens: dtypes.NewIntFromBigInt(bondedAmount),
545+
CachedAt: ctx.BlockTime().Unix(),
546546
})
547547
}
548548

protocol/x/feetiers/keeper/keeper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ func (k Keeper) GetPerpetualFeePpm(
159159
"error", err,
160160
)
161161
} else {
162-
stakedAmount := k.statsKeeper.GetStakedAmount(ctx, address)
162+
stakedAmount := k.statsKeeper.GetStakedBaseTokens(ctx, address)
163163
stakingDiscountPpm := k.GetStakingDiscountPpm(ctx, userTier.Name, stakedAmount)
164164
if stakingDiscountPpm > 0 {
165165
// Final fee

0 commit comments

Comments
 (0)