This implements the following actions from #35904:
Expose the validation interface
Make the existing
CheckBlockHeader,ContextualCheckBlockHeader, andContextualCheckBlockfunctions part of the public validation interface by declaring them invalidation.h.Interface Segregation: Remove dependency on
ChainstateManagerContextualCheck*functions need aChainstateManageronly to access the consensus parameters. PassConsensus::Paramsinstead and access them at the call site.Make environmental dependencies explicit
Pass the validation time explicitly to
ContextualCheckBlockHeaderinstead of reading the system clock internally.