pub async fn negotiate_version<PeerTransport>(
peer_conn: &mut Framed<PeerTransport, Codec>,
connected_addr: &ConnectedAddr,
config: Config,
nonces: Arc<Mutex<IndexSet<Nonce>>>,
user_agent: String,
our_services: PeerServices,
relay: bool,
minimum_peer_version: MinimumPeerVersion<impl ChainTip>,
) -> Result<Arc<ConnectionInfo>, HandshakeError>Expand description
Negotiate the Zcash network protocol version with the remote peer at connected_addr, using
the connection peer_conn.
We split Handshake into its components before calling this function, to avoid infectious
Sync bounds on the returned future.
Returns the VersionMessage sent by the remote peer, and the Version negotiated with the
remote peer, inside a ConnectionInfo struct.