diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 18b5ff35b9e8d50767ce9546ab169986108b6c05..3f3c16e5b26567773afdf616c755222163fa28ae 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -3023,7 +3023,6 @@ dependencies = [ "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", - "substrate-primitives 0.1.0", "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-timer 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/substrate/core/network-libp2p/Cargo.toml b/substrate/core/network-libp2p/Cargo.toml index bcd5facdf7f8b347ab4843f455ab9631d7a79cd9..e07338455b778b844ecd9c8d3e0343f6ea70118b 100644 --- a/substrate/core/network-libp2p/Cargo.toml +++ b/substrate/core/network-libp2p/Cargo.toml @@ -23,7 +23,6 @@ tokio = "0.1" tokio-io = "0.1" tokio-timer = "0.2" unsigned-varint = { version = "0.2.1", features = ["codec"] } -substrate-primitives = { path = "../primitives" } [dev-dependencies] assert_matches = "1.2" diff --git a/substrate/core/network-libp2p/src/lib.rs b/substrate/core/network-libp2p/src/lib.rs index 2122d92a74769d2c5f371e446b20be61233a6fce..46d5e84fc14e85c6375ba15b86bf343e3adaa880 100644 --- a/substrate/core/network-libp2p/src/lib.rs +++ b/substrate/core/network-libp2p/src/lib.rs @@ -34,7 +34,6 @@ extern crate rand; #[macro_use] extern crate serde_derive; extern crate serde_json; -extern crate substrate_primitives as primitives; extern crate bytes; extern crate unsigned_varint; @@ -45,11 +44,9 @@ extern crate log; #[cfg(test)] #[macro_use] extern crate assert_matches; -use libp2p::PeerId; - pub use connection_filter::{ConnectionFilter, ConnectionDirection}; pub use error::{Error, ErrorKind, DisconnectReason}; -pub use libp2p::{Multiaddr, multiaddr::Protocol}; +pub use libp2p::{Multiaddr, multiaddr::Protocol, PeerId}; pub use traits::*; pub type TimerToken = usize; diff --git a/substrate/core/network-libp2p/src/service.rs b/substrate/core/network-libp2p/src/service.rs index 762e8085736b0c9312aade589f7aaf3842fa3600..1b96edc174a51d506c47f5a66f9fed150e2a0f6b 100644 --- a/substrate/core/network-libp2p/src/service.rs +++ b/substrate/core/network-libp2p/src/service.rs @@ -552,7 +552,7 @@ impl NetworkContext for NetworkContextImpl { }; Some(SessionInfo { - id: None, // TODO: ???? what to do??? wrong format! + id: info.id.clone(), client_version: info.client_version.clone().take().unwrap_or(String::new()), protocol_version: From::from(protocol_version), capabilities: Vec::new(), // TODO: list of supported protocols ; hard diff --git a/substrate/core/network-libp2p/src/traits.rs b/substrate/core/network-libp2p/src/traits.rs index 9425279474cb51e67f5ab01eb12b2fc6641d4d33..07c83474f34543eb6861f0e9e2d60d77940eb9ec 100644 --- a/substrate/core/network-libp2p/src/traits.rs +++ b/substrate/core/network-libp2p/src/traits.rs @@ -21,9 +21,8 @@ use std::net::Ipv4Addr; use std::str; use std::time::Duration; use TimerToken; -use libp2p::{multiaddr::Protocol, Multiaddr}; +use libp2p::{multiaddr::Protocol, Multiaddr, PeerId}; use error::Error; -use primitives::hash::H512; /// Protocol handler level packet id pub type PacketId = u8; @@ -31,7 +30,7 @@ pub type PacketId = u8; pub type ProtocolId = [u8; 3]; /// Node public key -pub type NodeId = H512; +pub type NodeId = PeerId; /// Local (temporary) peer session ID. pub type NodeIndex = usize; @@ -43,7 +42,7 @@ pub type Secret = [u8; 32]; #[derive(Debug, Clone)] pub struct SessionInfo { /// Peer public key - pub id: Option<NodeId>, + pub id: NodeId, /// Peer client ID pub client_version: String, /// Peer RLPx protocol version diff --git a/substrate/core/network/src/protocol.rs b/substrate/core/network/src/protocol.rs index a828c386c32a0effcdb18b170fd6f54d20b55772..3a558bd359e5a427483b9e946a4d9f942b3b4cac 100644 --- a/substrate/core/network/src/protocol.rs +++ b/substrate/core/network/src/protocol.rs @@ -500,10 +500,8 @@ impl<B: BlockT, S: Specialization<B>, H: ExHashT> Protocol<B, S, H> { .unzip(); if !to_send.is_empty() { - let node_id = io.peer_session_info(*who).map(|info| match info.id { - Some(id) => format!("{}@{:x}", info.remote_address, id), - None => info.remote_address.clone(), - }); + let node_id = io.peer_session_info(*who) + .map(|info| format!("{}@{:?}", info.remote_address, info.id)); if let Some(id) = node_id { for hash in hashes { diff --git a/substrate/core/network/src/service.rs b/substrate/core/network/src/service.rs index 10567165ce41d12e75008840a41faa8a1a8e0e29..9d35e653b74a3939fd8b39f77b028c821baf42bd 100644 --- a/substrate/core/network/src/service.rs +++ b/substrate/core/network/src/service.rs @@ -21,7 +21,7 @@ use std::time::Duration; use futures::sync::{oneshot, mpsc}; use network_libp2p::{NetworkProtocolHandler, NetworkContext, NodeIndex, ProtocolId, NetworkConfiguration , NonReservedPeerMode, ErrorKind}; -use network_libp2p::{NetworkService}; +use network_libp2p::{NetworkService, PeerId}; use io::NetSyncIo; use protocol::{Protocol, ProtocolContext, Context, ProtocolStatus, PeerInfo as ProtocolPeerInfo}; use config::{ProtocolConfig}; @@ -122,7 +122,7 @@ struct ProtocolHandler<B: BlockT, S: Specialization<B>, H: ExHashT> { #[derive(Debug)] pub struct PeerInfo<B: BlockT> { /// Public node id - pub id: Option<String>, + pub id: PeerId, /// Node client ID pub client_version: String, /// Capabilities @@ -264,7 +264,7 @@ impl<B: BlockT + 'static, S: Specialization<B>, H: ExHashT> SyncProvider<B> for }; Some(PeerInfo { - id: session_info.id.map(|id| format!("{:x}", id)), + id: session_info.id, client_version: session_info.client_version, capabilities: session_info.peer_capabilities.into_iter().map(|c| c.to_string()).collect(), remote_address: session_info.remote_address,