feat: leverage type-safe /p2p in multiaddr

This updates `multiaddr` to version `0.19`.

Depends-On: #3656.
Depends-On: https://github.com/multiformats/rust-multiaddr/pull/83.
Resolves: #4039.

Pull-Request: #4037.
This commit is contained in:
Thomas Eizinger
2023-06-08 03:38:18 +02:00
committed by GitHub
parent d2dab94b76
commit ed14630672
41 changed files with 172 additions and 348 deletions

View File

@ -812,7 +812,7 @@ impl Action {
// Add local peer ID in case it isn't present yet.
.filter_map(|a| match a.iter().last()? {
Protocol::P2p(_) => Some(a),
_ => Some(a.with(Protocol::P2p(local_peer_id.into()))),
_ => Some(a.with(Protocol::P2p(local_peer_id))),
})
.collect(),
}),

View File

@ -589,7 +589,7 @@ impl Reservation {
.into_iter()
.map(|a| {
a.with(Protocol::P2pCircuit)
.with(Protocol::P2p(local_peer_id.into()))
.with(Protocol::P2p(local_peer_id))
})
.collect(),
},

View File

@ -269,9 +269,7 @@ fn parse_relayed_multiaddr(addr: Multiaddr) -> Result<RelayedMultiaddr, Transpor
return Err(Error::MultipleCircuitRelayProtocolsUnsupported.into());
}
}
Protocol::P2p(hash) => {
let peer_id = PeerId::from_multihash(hash).map_err(|_| Error::InvalidHash)?;
Protocol::P2p(peer_id) => {
if before_circuit {
if relayed_multiaddr.relay_peer_id.is_some() {
return Err(Error::MalformedMultiaddr.into());
@ -380,7 +378,7 @@ impl Stream for Listener {
upgrade: ready(Ok(stream)),
listener_id,
local_addr: relay_addr.with(Protocol::P2pCircuit),
send_back_addr: Protocol::P2p(src_peer_id.into()).into(),
send_back_addr: Protocol::P2p(src_peer_id).into(),
})
}
ToListenerMsg::Reservation(Err(())) => self.close(Err(Error::Reservation)),