[NOD-1514] Allow full block validation during IBD. (#1004)

This commit is contained in:
stasatdaglabs 2020-11-05 12:18:16 +02:00 committed by GitHub
parent 1c710daf98
commit d0fc728c23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -4,8 +4,8 @@ package externalapi
// states of the consensus
const (
SyncStateNormal SyncState = iota
SyncStateMissingUTXOSet
SyncStateHeadersFirst
SyncStateMissingUTXOSet
SyncStateMissingBlockBodies
)
@ -16,10 +16,10 @@ func (s SyncState) String() string {
switch s {
case SyncStateNormal:
return "SyncStateNormal"
case SyncStateMissingUTXOSet:
return "SyncStateMissingUTXOSet"
case SyncStateHeadersFirst:
return "SyncStateHeadersFirst"
case SyncStateMissingUTXOSet:
return "SyncStateMissingUTXOSet"
case SyncStateMissingBlockBodies:
return "SyncStateMissingBlockBodies"
}

View File

@ -19,7 +19,8 @@ func (bp *blockProcessor) validateAndInsertBlock(block *externalapi.DomainBlock)
hash := consensusserialization.HeaderHash(block.Header)
if mode.State == externalapi.SyncStateHeadersFirst && len(block.Transactions) != 0 {
return errors.Errorf("block %s contains transactions while validating in header only mode", hash)
mode.State = externalapi.SyncStateNormal
log.Warnf("block %s contains transactions while validating in header only mode", hash)
}
err = bp.checkBlockStatus(hash, mode)