update log & check case a master node in,out continuity

This commit is contained in:
MestryOmkar 2018-11-07 10:58:12 +05:30
parent 551fd57271
commit f39fe02a9c

View file

@ -244,23 +244,15 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
return nil
}
// Hook penalty.
c.HookPenalty = func(chain consensus.ChainReader, signers []common.Address, blockNumberEpoc uint64) ([]common.Address, error) {
c.HookPenalty = func(chain consensus.ChainReader, blockNumberEpoc uint64) ([]common.Address, error) {
client, err := eth.blockchain.GetClient()
if err != nil {
log.Error("Fail to connect IPC client for blockSigner", "error", err)
}
prevEpoc := blockNumberEpoc - chain.Config().XDPoS.Epoch
var penSigners []common.Address
if prevEpoc > 0 {
prevHeader := chain.GetHeaderByNumber(prevEpoc)
prevSigners := c.GetMasternodes(chain, prevHeader)
for _, signer := range signers {
for _, prevSigner := range prevSigners {
if signer == prevSigner {
penSigners = append(penSigners, signer)
}
}
}
penSigners := c.GetMasternodes(chain, prevHeader)
if len(penSigners) > 0 {
blockSignerAddr := common.HexToAddress(common.BlockSigners)
// Loop for each block to check missing sign.
@ -282,9 +274,10 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
}
}
}
return penSigners, nil
}
return penSigners, nil
return []common.Address{}, nil
}
// Hook reward for XDPoS validator.