+
+
+ {sp.tipHeight !== undefined && (
+
+ Indexer tip: {sp.tipHeight.toLocaleString()}
+ {sp.storage && (
+ <>
+ {' · '}
+ Last fully scanned:{' '}
+
+ {sp.storage.scanHeight > 0 ? sp.storage.scanHeight.toLocaleString() : 'never'}
+
+ >
+ )}
+
+ )}
+
+ {sp.isScanning && sp.scanProgress && (
+
+
+
+
+
+ Block {sp.scanProgress.currentHeight.toLocaleString()} /{' '}
+ {sp.scanProgress.toHeight.toLocaleString()}
+
+
+ {sp.scanProgress.matchesFound} match
+ {sp.scanProgress.matchesFound === 1 ? '' : 'es'}
+
+
+
+ )}
+
+ {!sp.isScanning && sp.scanError && (
+
+
+
{sp.scanError.message}
+
+ )}
+
+ {!sp.isScanning && !sp.scanError && sp.scanProgress && (
+
+
+
+ Scanned blocks {sp.scanProgress.fromHeight.toLocaleString()} →{' '}
+ {sp.scanProgress.currentHeight.toLocaleString()}.{' '}
+ {sp.scanProgress.matchesFound > 0
+ ? `Found ${sp.scanProgress.matchesFound} new ${
+ sp.scanProgress.matchesFound === 1 ? 'output' : 'outputs'
+ }.`
+ : 'No new payments.'}
+
+
+ )}
+
+
+ {sp.isScanning ? (
+
+ ) : (
+ <>
+
+
+ >
+ )}
+
+
+