message: p2p: Always serialize local timestamp for version msg
diff: @@ -388,7 +388,7 @@ private:
  EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
  /** Send a version message to a peer */
  - void PushNodeVersion(CNode& pnode, int64_t nTime);
  + void PushNodeVersion(CNode& pnode);
  /** Send a ping message every PING_INTERVAL or if requested via RPC. May
  * mark the peer to be disconnected if a ping has timed out.
  @@ -1099,12 +1099,13 @@ void PeerManagerImpl::FindNextBlocksToDownload(NodeId nodeid, unsigned int count
  } // namespace
  -void PeerManagerImpl::PushNodeVersion(CNode& pnode, int64_t nTime)
  +void PeerManagerImpl::PushNodeVersion(CNode& pnode)
  {
  // Note that pnode->GetLocalServices() is a reflection of the local
  // services we were offering when the CNode object was created for this
  // peer.
  uint64_t my_services{pnode.GetLocalServices()};
  + const int64_t nTime{count_seconds(GetTime<std::chrono::seconds>())};
  uint64_t nonce = pnode.GetLocalNonce();
  const int nNodeStartingHeight{m_best_height};
  NodeId nodeid = pnode.GetId();
  @@ -1176,7 +1177,7 @@ void PeerManagerImpl::InitializeNode(CNode *pnode)
  m_peer_map.emplace_hint(m_peer_map.end(), nodeid, std::move(peer));
  }
  if (!pnode->IsInboundConn()) {
  - PushNodeVersion(*pnode, GetTime());
  + PushNodeVersion(*pnode);
  }
  }
  @@ -2617,7 +2618,9 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
  // Inbound peers send us their version message when they connect.
  // We send our version message in response.
  - if (pfrom.IsInboundConn()) PushNodeVersion(pfrom, GetAdjustedTime());
  + if (pfrom.IsInboundConn()) {
  + PushNodeVersion(pfrom);
  + }
  // Change version
  const int greatest_common_version = std::min(nVersion, PROTOCOL_VERSION);
  