message: fix: resolve compact block switch fork issue
diff: @@ -67,7 +67,10 @@ impl<'a, CS: ChainStore + 'static> CompactBlockProcess<'a, CS> {
  let shared_best_header = self.relayer.shared.shared_best_header();
  let current_total_difficulty =
  parent.total_difficulty() + compact_block.header.difficulty();
  - if current_total_difficulty <= *shared_best_header.total_difficulty() {
  + if current_total_difficulty < *shared_best_header.total_difficulty()
  + || (current_total_difficulty == *shared_best_header.total_difficulty()
  + && shared_best_header.hash() < compact_block.header.hash())
  + {
  debug_target!(
  crate::LOG_TARGET_RELAY,
  "Received a compact block({:#x}), total difficulty {:#x} <= {:#x}, ignore it",
  