Explorar el Código

core: further improved uncle error messages

obscuren hace 10 años
padre
commit
d98a6f85fc
Se han modificado 1 ficheros con 8 adiciones y 8 borrados
  1. 8 8
      core/block_processor.go

+ 8 - 8
core/block_processor.go

@@ -343,23 +343,23 @@ func (sm *BlockProcessor) VerifyUncles(statedb *state.StateDB, block, parent *ty
 
 	uncles.Add(block.Hash())
 	for i, uncle := range block.Uncles() {
-		if uncles.Has(uncle.Hash()) {
+		hash := uncle.Hash()
+		if uncles.Has(hash) {
 			// Error not unique
-			return UncleError("uncle[%d] not unique", i)
+			return UncleError("uncle[%d](%x) not unique", i, hash[:4])
 		}
+		uncles.Add(hash)
 
-		uncles.Add(uncle.Hash())
-
-		if ancestors.Has(uncle.Hash()) {
-			return UncleError("uncle[%d] is ancestor", i)
+		if ancestors.Has(hash) {
+			return UncleError("uncle[%d](%x) is ancestor", i, hash[:4])
 		}
 
 		if !ancestors.Has(uncle.ParentHash) {
-			return UncleError("uncle[%d]'s parent unknown (%x)", i, uncle.ParentHash[0:4])
+			return UncleError("uncle[%d](%x)'s parent unknown (%x)", i, hash[:4], uncle.ParentHash[0:4])
 		}
 
 		if err := sm.ValidateHeader(uncle, ancestorHeaders[uncle.ParentHash]); err != nil {
-			return ValidationError(fmt.Sprintf("uncle[%d](%x) header invalid: %v", i, uncle.Hash().Bytes()[:4], err))
+			return ValidationError(fmt.Sprintf("uncle[%d](%x) header invalid: %v", i, hash[:4], err))
 		}
 	}