diff --git a/process/block/interceptedBlocks/common.go b/process/block/interceptedBlocks/common.go index 420b76ec47d..3ee4b1fa8ca 100644 --- a/process/block/interceptedBlocks/common.go +++ b/process/block/interceptedBlocks/common.go @@ -143,6 +143,10 @@ func checkMetaShardInfo( continue } + log.Debug("proof in pool not equal to provided prev proof, will check prev proof", + "headerHash", sd.GetPreviousProof().GetHeaderHash(), + ) + err = checkProof(sd.GetPreviousProof(), headerSigVerifier) if err != nil { return err diff --git a/process/block/shardblock.go b/process/block/shardblock.go index 08284abd09d..82fa5e59312 100644 --- a/process/block/shardblock.go +++ b/process/block/shardblock.go @@ -1100,7 +1100,12 @@ func (sp *shardProcessor) CommitBlock( sp.lastRestartNonce = header.GetNonce() } - sp.updateState(selfNotarizedHeaders, header, currentHeaderHash) + finalHeaderHash := headerHash + if !common.ShouldBlockHavePrevProof(header, sp.enableEpochsHandler, common.EquivalentMessagesFlag) { + finalHeaderHash = currentHeaderHash + } + + sp.updateState(selfNotarizedHeaders, header, finalHeaderHash) highestFinalBlockNonce := sp.forkDetector.GetHighestFinalBlockNonce() log.Debug("highest final shard block",