From 4e8c40746edf420c3fe4091390a0c289567450a0 Mon Sep 17 00:00:00 2001 From: ledigang Date: Fri, 21 Nov 2025 18:24:39 +0800 Subject: [PATCH] refactor: replace sort.Slice with slices.Sort for natural ordering Signed-off-by: ledigang --- protocol/lib/math.go | 4 ++-- protocol/x/clob/keeper/grpc_query_leverage.go | 6 ++---- protocol/x/perpetuals/keeper/perpetual.go | 3 ++- protocol/x/prices/client/testutil/util.go | 6 ++---- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/protocol/lib/math.go b/protocol/lib/math.go index e9a007d7cc..8359c3e8fa 100644 --- a/protocol/lib/math.go +++ b/protocol/lib/math.go @@ -5,7 +5,7 @@ import ( "fmt" "math" "math/big" - "sort" + "slices" "golang.org/x/exp/constraints" ) @@ -182,7 +182,7 @@ func Median[V uint64 | uint32 | int64 | int32](input []V) (V, error) { inputCopy := make([]V, l) copy(inputCopy, input) - sort.Slice(inputCopy, func(i, j int) bool { return inputCopy[i] < inputCopy[j] }) + slices.Sort(inputCopy) midIdx := l / 2 diff --git a/protocol/x/clob/keeper/grpc_query_leverage.go b/protocol/x/clob/keeper/grpc_query_leverage.go index ac6800a254..b05f63023f 100644 --- a/protocol/x/clob/keeper/grpc_query_leverage.go +++ b/protocol/x/clob/keeper/grpc_query_leverage.go @@ -2,7 +2,7 @@ package keeper import ( "context" - "sort" + "slices" errorsmod "cosmossdk.io/errors" "github.com/dydxprotocol/v4-chain/protocol/lib" @@ -37,9 +37,7 @@ func (k Keeper) Leverage( for perpetualId := range leverageMap { keys = append(keys, perpetualId) } - sort.Slice(keys, func(i, j int) bool { - return keys[i] < keys[j] - }) + slices.Sort(keys) clobPairLeverage := make([]*types.ClobPairLeverageInfo, 0, len(leverageMap)) for _, perpetualId := range keys { diff --git a/protocol/x/perpetuals/keeper/perpetual.go b/protocol/x/perpetuals/keeper/perpetual.go index 81189afa3f..88beab1f83 100644 --- a/protocol/x/perpetuals/keeper/perpetual.go +++ b/protocol/x/perpetuals/keeper/perpetual.go @@ -4,6 +4,7 @@ import ( "fmt" "math/big" "math/rand" + "slices" "sort" "time" @@ -615,7 +616,7 @@ func (k Keeper) GetRemoveSampleTailsFunc( end := int64(len(premiums)) - topRemoval - sort.Slice(premiums, func(i, j int) bool { return premiums[i] < premiums[j] }) + slices.Sort(premiums) return premiums[bottomRemoval:end] } diff --git a/protocol/x/prices/client/testutil/util.go b/protocol/x/prices/client/testutil/util.go index 351d851601..af2f88dd74 100644 --- a/protocol/x/prices/client/testutil/util.go +++ b/protocol/x/prices/client/testutil/util.go @@ -1,7 +1,7 @@ package testutil import ( - "sort" + "slices" "github.com/dydxprotocol/v4-chain/protocol/daemons/pricefeed/client/types" ) @@ -12,9 +12,7 @@ func GetTickersSortedByMarketId(marketToMarketConfig map[uint32]types.MarketConf for marketId := range marketToMarketConfig { marketIds = append(marketIds, marketId) } - sort.Slice(marketIds, func(i, j int) bool { - return marketIds[i] < marketIds[j] - }) + slices.Sort(marketIds) // Get a list of tickers sorted by their corresponding `marketId`. tickers := make([]string, 0, len(marketToMarketConfig))