pull down to refresh

This PR wires neutrino's chainimport feature into lnd, enabling fast initial sync by importing pre-built block and filter headers from local files or HTTP URLs before falling back to P2P sync for the remainder of the chain. On mainnet, this can reduce initial sync from hours to minutes by downloading headers from a trusted source like block-dn.org instead of fetching them one-by-one from peers.

Two new config options are added under the [neutrino] section: neutrino.blockheaderssource and neutrino.filterheaderssource. Both accept either a local file path or an HTTP(S) URL. When configured, neutrino imports headers from these sources on startup, validates proof-of-work, and then continues syncing any remaining blocks via its normal P2P protocol. Both sources must be specified together or not at all.

The neutrino dependency is updated to include the chainimport package (PRs #317#320#324) as well as a bug fix for the block manager's internal state after import (lightninglabs/neutrino#335). Without this fix, the block manager would retain stale genesis-based locators after import and fail to sync additional blocks via P2P. The Start() method signature change to accept context.Context is propagated to all call sites.

An integration test exercises the full end-to-end flow: mining blocks, syncing a reference node to generate header files, copying those files with import metadata, starting a fresh node with the import config, and verifying it syncs to the chain tip and can continue syncing additional blocks mined after the import snapshot.