From 87920d8685195604f343eec8235e9571e02c85bc Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Sun, 21 Sep 2025 23:34:33 -0400 Subject: [PATCH] Use `libp2p 0.56` in `serai-node` --- Cargo.lock | 2 +- substrate/node/Cargo.toml | 2 +- substrate/node/src/service.rs | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f74ce69c..0366ecf7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9184,7 +9184,7 @@ dependencies = [ "futures-util", "hex", "jsonrpsee", - "libp2p 0.52.4", + "libp2p 0.56.0", "log", "pallet-transaction-payment-rpc", "rand_core 0.6.4", diff --git a/substrate/node/Cargo.toml b/substrate/node/Cargo.toml index 922b55a4..0ae64b0a 100644 --- a/substrate/node/Cargo.toml +++ b/substrate/node/Cargo.toml @@ -27,7 +27,7 @@ log = "0.4" schnorrkel = "0.11" -libp2p = "0.52" +libp2p = "0.56" sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "7f2a8865cd0ded35e1d62fc330915d44dfa3beab" } sp-keystore = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "7f2a8865cd0ded35e1d62fc330915d44dfa3beab" } diff --git a/substrate/node/src/service.rs b/substrate/node/src/service.rs index ff6f080c..ec794869 100644 --- a/substrate/node/src/service.rs +++ b/substrate/node/src/service.rs @@ -225,7 +225,15 @@ pub fn new_full(mut config: Configuration) -> Result // While the PeerIds *should* be known in advance and hardcoded, that data wasn't collected in // time and this fine for a testnet let bootnodes = || async { - use libp2p::{Transport as TransportTrait, tcp::tokio::Transport, noise::Config}; + use libp2p::{ + core::{ + Endpoint, + transport::{PortUse, DialOpts}, + }, + Transport as TransportTrait, + tcp::tokio::Transport, + noise::Config, + }; let bootnode_multiaddrs = crate::chain_spec::bootnode_multiaddrs(&id); @@ -239,7 +247,12 @@ pub fn new_full(mut config: Configuration) -> Result .upgrade(libp2p::core::upgrade::Version::V1) .authenticate(noise) .multiplex(libp2p::yamux::Config::default()); - let Ok(transport) = transport.dial(multiaddr.clone()) else { None? }; + let Ok(transport) = transport.dial( + multiaddr.clone(), + DialOpts { role: Endpoint::Dialer, port_use: PortUse::Reuse }, + ) else { + None? + }; let Ok((peer_id, _)) = transport.await else { None? }; Some(sc_network::config::MultiaddrWithPeerId { multiaddr: multiaddr.into(),