useasync_trait::async_trait;usebitcoin::BlockHash;/// Source of block header information (height ↔ hash).
#[async_trait]pubtraitHeaderSource: Send + Sync {/// Current best height.
async fntip_height(&self)->anyhow::Result<u32>;/// Block hash at an exact height.
async fnhash_at_height(&self, height:u32)->anyhow::Result<BlockHash>;}