From 2fa93cdbf2459f4228b159ee12f8af48c08ccf97 Mon Sep 17 00:00:00 2001 From: parmarrushabh Date: Mon, 25 Mar 2019 12:31:54 +0530 Subject: [PATCH] Fixed randomize for mi and m2 --- internal/ethapi/api.go | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index a538fadf8b..9652ebd1b2 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -27,6 +27,7 @@ import ( "time" "github.com/ethereum/go-ethereum/accounts" + "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/accounts/keystore" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" @@ -34,6 +35,7 @@ import ( "github.com/ethereum/go-ethereum/consensus/ethash" "github.com/ethereum/go-ethereum/consensus/XDPoS" "github.com/ethereum/go-ethereum/contracts" + contractValidator "github.com/ethereum/go-ethereum/contracts/validator/contract" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/vm" @@ -44,17 +46,15 @@ import ( "github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rpc" "github.com/syndtr/goleveldb/leveldb" - "github.com/syndtr/goleveldb/leveldb/util" - contractValidator "github.com/ethereum/go-ethereum/contracts/validator/contract" - "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/syndtr/goleveldb/leveldb/util" ) const ( - defaultGasPrice = 50 * params.Shannon + defaultGasPrice = 50 * params.Shannon // statuses of candidates - statusMasternode = "MASTERNODE" - statusSlashed = "SLASHED" - statusProposed = "PROPOSED" + statusMasternode = "MASTERNODE" + statusSlashed = "SLASHED" + statusProposed = "PROPOSED" ) @@ -700,14 +700,13 @@ func (s *PublicBlockChainAPI) GetMasternodes(ctx context.Context, b *types.Block return masternodes, nil } - // GetCandidateStatus returns status of the given candidate at a specified epochNumber func (s *PublicBlockChainAPI) GetCandidateStatus(ctx context.Context, coinbaseAddress common.Address, epochNumber rpc.EpochNumber) (string, error) { var ( - block *types.Block + block *types.Block masternodes, penaltyList []common.Address - penalties []byte - err error + penalties []byte + err error ) block = s.b.CurrentBlock() epoch := s.b.ChainConfig().XDPoS.Epoch @@ -749,7 +748,7 @@ func (s *PublicBlockChainAPI) GetCandidateStatus(ctx context.Context, coinbaseAd opts := new(bind.CallOpts) var ( candidateAddresses []common.Address - candidates []XDPoS.Masternode + candidates []XDPoS.Masternode ) candidateAddresses, err = validator.GetCandidates(opts) @@ -780,13 +779,13 @@ func (s *PublicBlockChainAPI) GetCandidateStatus(ctx context.Context, coinbaseAd break } } - if isTopCandidate == false { - return status, nil + if !isTopCandidate { + return status, nil } // look up recent checkpoint headers to get penalty list for i := 0; i <= common.LimitPenaltyEpoch; i++ { - if blockNum > uint64(i) * epoch { - blockCheckpointNumber := rpc.BlockNumber(blockNum - (blockNum % epoch) - (uint64(i) * epoch)) + if blockNum > uint64(i)*epoch { + blockCheckpointNumber := rpc.BlockNumber(blockNum - (blockNum % epoch) - (uint64(i) * epoch)) blockCheckpoint, err := s.b.BlockByNumber(ctx, blockCheckpointNumber) if err != nil { log.Error("Failed to get block by number", "num", blockCheckpointNumber, "err", err)