Merge pull request #378 from thanhson1085/crit-log-reward

Critical log if failed count signers
This commit is contained in:
Tuna 2019-01-02 10:53:57 +07:00 committed by GitHub
commit d705a2900b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -292,8 +292,7 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
c.HookReward = func(chain consensus.ChainReader, state *state.StateDB, header *types.Header) (error, map[string]interface{}) { c.HookReward = func(chain consensus.ChainReader, state *state.StateDB, header *types.Header) (error, map[string]interface{}) {
client, err := eth.blockchain.GetClient() client, err := eth.blockchain.GetClient()
if err != nil { if err != nil {
log.Error("Fail to connect IPC client for blockSigner", "error", err) log.Crit("Fail to connect IPC client for blockSigner", "error", err)
return err, nil
} }
number := header.Number.Uint64() number := header.Number.Uint64()
rCheckpoint := chain.Config().Posv.RewardCheckpoint rCheckpoint := chain.Config().Posv.RewardCheckpoint
@ -313,20 +312,17 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
totalSigner := new(uint64) totalSigner := new(uint64)
signers, err := contracts.GetRewardForCheckpoint(chain, addr, number, rCheckpoint, client, totalSigner) signers, err := contracts.GetRewardForCheckpoint(chain, addr, number, rCheckpoint, client, totalSigner)
if err != nil { if err != nil {
log.Error("Fail to get signers for reward checkpoint", "error", err) log.Crit("Fail to get signers for reward checkpoint", "error", err)
return err, nil
} }
rewards["signers"] = signers rewards["signers"] = signers
rewardSigners, err := contracts.CalculateRewardForSigner(chainReward, signers, *totalSigner) rewardSigners, err := contracts.CalculateRewardForSigner(chainReward, signers, *totalSigner)
if err != nil { if err != nil {
log.Error("Fail to calculate reward for signers", "error", err) log.Crit("Fail to calculate reward for signers", "error", err)
return err, nil
} }
// Get validator. // Get validator.
validator, err := contract.NewTomoValidator(common.HexToAddress(common.MasternodeVotingSMC), client) validator, err := contract.NewTomoValidator(common.HexToAddress(common.MasternodeVotingSMC), client)
if err != nil { if err != nil {
log.Error("Fail get instance of Tomo Validator", "error", err) log.Crit("Fail get instance of Tomo Validator", "error", err)
return err, nil
} }
// Add reward for coin holders. // Add reward for coin holders.
voterResults := make(map[common.Address]interface{}) voterResults := make(map[common.Address]interface{})
@ -334,8 +330,7 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
for signer, calcReward := range rewardSigners { for signer, calcReward := range rewardSigners {
err, rewards := contracts.CalculateRewardForHolders(foudationWalletAddr, validator, state, signer, calcReward) err, rewards := contracts.CalculateRewardForHolders(foudationWalletAddr, validator, state, signer, calcReward)
if err != nil { if err != nil {
log.Error("Fail to calculate reward for holders.", "error", err) log.Crit("Fail to calculate reward for holders.", "error", err)
return err, nil
} }
voterResults[signer] = rewards voterResults[signer] = rewards
} }