ValidateBlock validates the given block's header and uncles and verifies the the block header's transaction and uncle roots.

ValidateBlock does not validate the header's pow. The pow work validated separately so we can process them in parallel.

ValidateBlock also validates and makes sure that any previous state (or present) state that might or might not be present is checked to make sure that fast sync has done it's job proper. This prevents the block validator form accepting false positives where a header is present but the state is not.

ValidateBlock is referenced in 0 repositories