diff --git a/core/blockchain.go b/core/blockchain.go index 697968b1f8..fcfbad2609 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -33,7 +33,7 @@ import ( "github.com/XinFinOrg/XDPoSChain/common/lru" "github.com/XinFinOrg/XDPoSChain/common/mclock" "github.com/XinFinOrg/XDPoSChain/common/prque" - "github.com/XinFinOrg/XDPoSChain/common/sort" + xdc_sort "github.com/XinFinOrg/XDPoSChain/common/sort" "github.com/XinFinOrg/XDPoSChain/consensus" "github.com/XinFinOrg/XDPoSChain/consensus/XDPoS" "github.com/XinFinOrg/XDPoSChain/consensus/XDPoS/utils" @@ -2803,7 +2803,7 @@ func (bc *BlockChain) UpdateM1() error { log.Error("No masternode found. Stopping node") return errors.New("no masternode found") } else { - sort.Slice(ms, func(i, j int) bool { + xdc_sort.Slice(ms, func(i, j int) bool { return ms[i].Stake.Cmp(ms[j].Stake) >= 0 }) log.Info("Ordered list of masternode candidates") diff --git a/eth/hooks/engine_v1_hooks.go b/eth/hooks/engine_v1_hooks.go index 972826b397..a65d5ed6f9 100644 --- a/eth/hooks/engine_v1_hooks.go +++ b/eth/hooks/engine_v1_hooks.go @@ -8,7 +8,7 @@ import ( "github.com/XinFinOrg/XDPoSChain/accounts/abi/bind" "github.com/XinFinOrg/XDPoSChain/common" - "github.com/XinFinOrg/XDPoSChain/common/sort" + xdc_sort "github.com/XinFinOrg/XDPoSChain/common/sort" "github.com/XinFinOrg/XDPoSChain/consensus" "github.com/XinFinOrg/XDPoSChain/consensus/XDPoS" "github.com/XinFinOrg/XDPoSChain/consensus/XDPoS/utils" @@ -241,7 +241,7 @@ func AttachConsensusV1Hooks(adaptor *XDPoS.XDPoS, bc *core.BlockChain, chainConf candidates = append(candidates, utils.Masternode{Address: address, Stake: v}) } // sort candidates by stake descending - sort.Slice(candidates, func(i, j int) bool { + xdc_sort.Slice(candidates, func(i, j int) bool { return candidates[i].Stake.Cmp(candidates[j].Stake) >= 0 }) if len(candidates) > 150 { diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 519967aba1..587522fc34 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -31,7 +31,7 @@ import ( "github.com/XinFinOrg/XDPoSChain/common" "github.com/XinFinOrg/XDPoSChain/common/hexutil" math "github.com/XinFinOrg/XDPoSChain/common/math" - "github.com/XinFinOrg/XDPoSChain/common/sort" + xdc_sort "github.com/XinFinOrg/XDPoSChain/common/sort" "github.com/XinFinOrg/XDPoSChain/consensus" "github.com/XinFinOrg/XDPoSChain/consensus/XDPoS" "github.com/XinFinOrg/XDPoSChain/consensus/XDPoS/utils" @@ -908,7 +908,7 @@ func (api *BlockChainAPI) GetCandidateStatus(ctx context.Context, coinbaseAddres } if len(candidates) > maxMasternodes { - sort.Slice(candidates, func(i, j int) bool { + xdc_sort.Slice(candidates, func(i, j int) bool { return candidates[i].Stake.Cmp(candidates[j].Stake) > 0 }) } @@ -1068,7 +1068,7 @@ func (api *BlockChainAPI) GetCandidates(ctx context.Context, epoch rpc.EpochNumb } if len(candidates) > maxMasternodes { - sort.Slice(candidates, func(i, j int) bool { + xdc_sort.Slice(candidates, func(i, j int) bool { return candidates[i].Stake.Cmp(candidates[j].Stake) > 0 }) }