diff --git a/consensus/posv/posv.go b/consensus/posv/posv.go index 201c3a27a6..254a568176 100644 --- a/consensus/posv/posv.go +++ b/consensus/posv/posv.go @@ -1032,13 +1032,16 @@ func (c *Posv) CacheData(header *types.Header, txs []*types.Transaction, receipt var b uint for _, r := range receipts { if r.TxHash == tx.Hash() { - b = r.Status + if len(r.PostState) > 0 { + b = types.ReceiptStatusSuccessful + } else { + b = r.Status + } break } } if b == types.ReceiptStatusFailed { - log.Debug("Sign tx failed", "hash", tx.Hash().String()) continue } diff --git a/contracts/utils.go b/contracts/utils.go index ca633dd4d3..ed4b36e12d 100644 --- a/contracts/utils.go +++ b/contracts/utils.go @@ -340,13 +340,16 @@ func GetRewardForCheckpoint(c *posv.Posv, chain consensus.ChainReader, number ui var b uint for _, r := range receipts { if r.TxHash == tx.Hash() { - b = r.Status + if len(r.PostState) > 0 { + b = types.ReceiptStatusSuccessful + } else { + b = r.Status + } break } } - if b == types.ReceiptStatusFailed && i >= rCheckpoint { - log.Debug("Sign tx failed", "hash", tx.Hash().String()) + if b == types.ReceiptStatusFailed { continue }