@@ -316,6 +316,28 @@ func (h *headersImport) verifyHeadersAtTargetHeight(height uint32) error {
316316 height , headerMetadata .startHeight ,
317317 )
318318
319+ if err := h .verifyBlockHeadersAtTargetHeight (
320+ height , importSourceIndex ,
321+ ); err != nil {
322+ return fmt .Errorf ("failed to verify block headers at target " +
323+ "height %d: %w" , height , err )
324+ }
325+
326+ if err := h .verifyFilterHeadersAtTargetHeight (
327+ height , importSourceIndex ,
328+ ); err != nil {
329+ return fmt .Errorf ("failed to verify filter headers at target " +
330+ "height %d: %w" , height , err )
331+ }
332+
333+ return nil
334+ }
335+
336+ // verifyBlockHeadersAtTargetHeight ensures block headers at the specified
337+ // height match exactly between import and target sources.
338+ func (h * headersImport ) verifyBlockHeadersAtTargetHeight (height uint32 ,
339+ importSourceIndex uint32 ) error {
340+
319341 importSourceHeader , err := h .blockHeadersImportSource .GetHeader (
320342 importSourceIndex ,
321343 )
@@ -346,7 +368,17 @@ func (h *headersImport) verifyHeadersAtTargetHeight(height uint32) error {
346368 sourceBlkHeaderHash , targetBlkHeaderHash )
347369 }
348370
349- importSourceHeader , err = h .filterHeadersImportSource .GetHeader (
371+ log .Debugf ("Block headers from import and target sources verified at " +
372+ "height %d" , height )
373+ return nil
374+ }
375+
376+ // verifyFilterHeadersAtTargetHeight ensures filter headers at the specified
377+ // height match exactly between import and target sources.
378+ func (h * headersImport ) verifyFilterHeadersAtTargetHeight (height uint32 ,
379+ importSourceIndex uint32 ) error {
380+
381+ importSourceHeader , err := h .filterHeadersImportSource .GetHeader (
350382 importSourceIndex ,
351383 )
352384 if err != nil {
@@ -376,10 +408,8 @@ func (h *headersImport) verifyHeadersAtTargetHeight(height uint32) error {
376408 sourceFilterHeaderHash , targetFilterHeaderHash )
377409 }
378410
379- log .Debugf ("Headers from %s (block) and %s (filter) verified at " +
380- "height %d" , h .blockHeadersImportSource .GetURI (),
381- h .filterHeadersImportSource .GetURI (), height )
382-
411+ log .Debugf ("Filter headers from import and target sources verified at " +
412+ "height %d" , height )
383413 return nil
384414}
385415
0 commit comments