diff --git a/consensus/posv/posv.go b/consensus/posv/posv.go index dd740ce6b5..ef4b2ae1d0 100644 --- a/consensus/posv/posv.go +++ b/consensus/posv/posv.go @@ -226,7 +226,6 @@ type Posv struct { lock sync.RWMutex // Protects the signer fields BlockSigners *lru.Cache - Votes *lru.Cache HookReward func(chain consensus.ChainReader, state *state.StateDB, header *types.Header) (error, map[string]interface{}) HookPenalty func(chain consensus.ChainReader, blockNumberEpoc uint64) ([]common.Address, error) HookValidator func(header *types.Header, signers []common.Address) ([]byte, error) diff --git a/contracts/utils.go b/contracts/utils.go index 9fb2203be3..bdfde9828c 100644 --- a/contracts/utils.go +++ b/contracts/utils.go @@ -329,31 +329,29 @@ func GetRewardForCheckpoint(c *posv.Posv, chain consensus.ChainReader, number ui data[blkHash] = append(data[blkHash], from) } } else { - log.Info("Failed get from cached", "hash", header.Hash().String(), "number", i) + log.Debug("Failed get from cached", "hash", header.Hash().String(), "number", i) block := chain.GetBlock(header.Hash(), i) txs := block.Transactions() receipts := core.GetBlockReceipts(c.GetDb(), header.Hash(), i) var signTxs []*types.Transaction for _, tx := range txs { - if tx.IsSigningTransaction() { - var b uint - for _, r := range receipts { - if r.TxHash == tx.Hash() { - b = r.Status - break - } + var b uint + for _, r := range receipts { + if r.TxHash == tx.Hash() { + b = r.Status + break } - - if b == types.ReceiptStatusFailed { - continue - } - - signTxs = append(signTxs, tx) - blkHash := common.BytesToHash(tx.Data()[len(tx.Data())-32:]) - from := *tx.From() - data[blkHash] = append(data[blkHash], from) } + + if b == types.ReceiptStatusFailed { + continue + } + + signTxs = append(signTxs, tx) + blkHash := common.BytesToHash(tx.Data()[len(tx.Data())-32:]) + from := *tx.From() + data[blkHash] = append(data[blkHash], from) } c.BlockSigners.Add(header.Hash(), signTxs) @@ -433,7 +431,7 @@ func GetCandidatesOwnerBySigner(validator *contractValidator.TomoValidator, sign } // Calculate reward for holders. -func CalculateRewardForHolders(c *posv.Posv, foudationWalletAddr common.Address, validator *contractValidator.TomoValidator, state *state.StateDB, signer common.Address, calcReward *big.Int) (error, map[common.Address]*big.Int) { +func CalculateRewardForHolders(foudationWalletAddr common.Address, validator *contractValidator.TomoValidator, state *state.StateDB, signer common.Address, calcReward *big.Int) (error, map[common.Address]*big.Int) { rewards, err := GetRewardBalancesRate(foudationWalletAddr, signer, calcReward, validator) if err != nil { return err, nil diff --git a/eth/backend.go b/eth/backend.go index 6fb12e0897..e990093a89 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -324,7 +324,7 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) { voterResults := make(map[common.Address]interface{}) if len(signers) > 0 { for signer, calcReward := range rewardSigners { - err, rewards := contracts.CalculateRewardForHolders(c, foudationWalletAddr, validator, state, signer, calcReward) + err, rewards := contracts.CalculateRewardForHolders(foudationWalletAddr, validator, state, signer, calcReward) if err != nil { log.Crit("Fail to calculate reward for holders.", "error", err) }