From f231440480a73133d39fa7f7a1e716c41dac6873 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Sat, 26 Mar 2016 00:22:09 +0100 Subject: [PATCH] Use network id for the web3_net_version return. --- rpc/src/v1/impls/net.rs | 2 +- rpc/src/v1/tests/helpers/sync_provider.rs | 6 ++++-- rpc/src/v1/tests/net.rs | 4 ++-- sync/src/chain.rs | 3 +++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/rpc/src/v1/impls/net.rs b/rpc/src/v1/impls/net.rs index e52fc0bd4..fb502e6cf 100644 --- a/rpc/src/v1/impls/net.rs +++ b/rpc/src/v1/impls/net.rs @@ -36,7 +36,7 @@ impl NetClient where S: SyncProvider { impl Net for NetClient where S: SyncProvider + 'static { fn version(&self, _: Params) -> Result { - Ok(Value::String(format!("{}", take_weak!(self.sync).status().protocol_version).to_owned())) + Ok(Value::String(format!("{}", take_weak!(self.sync).status().network_id).to_owned())) } fn peer_count(&self, _params: Params) -> Result { diff --git a/rpc/src/v1/tests/helpers/sync_provider.rs b/rpc/src/v1/tests/helpers/sync_provider.rs index 48b4f55a9..527974140 100644 --- a/rpc/src/v1/tests/helpers/sync_provider.rs +++ b/rpc/src/v1/tests/helpers/sync_provider.rs @@ -16,13 +16,14 @@ //! Test implementation of SyncProvider. +use util::U256; use ethsync::{SyncProvider, SyncStatus, SyncState}; use std::sync::{RwLock}; /// TestSyncProvider config. pub struct Config { /// Protocol version. - pub protocol_version: u8, + pub network_id: U256, /// Number of peers. pub num_peers: usize, } @@ -39,7 +40,8 @@ impl TestSyncProvider { TestSyncProvider { status: RwLock::new(SyncStatus { state: SyncState::NotSynced, - protocol_version: config.protocol_version, + network_id: config.network_id, + protocol_version: 63, start_block_number: 0, last_imported_block_number: None, highest_block_number: None, diff --git a/rpc/src/v1/tests/net.rs b/rpc/src/v1/tests/net.rs index e24045ca6..da42b4241 100644 --- a/rpc/src/v1/tests/net.rs +++ b/rpc/src/v1/tests/net.rs @@ -21,7 +21,7 @@ use v1::tests::helpers::{Config, TestSyncProvider}; fn sync_provider() -> Arc { Arc::new(TestSyncProvider::new(Config { - protocol_version: 65, + network_id: 3, num_peers: 120, })) } @@ -34,7 +34,7 @@ fn rpc_net_version() { io.add_delegate(net); let request = r#"{"jsonrpc": "2.0", "method": "net_version", "params": [], "id": 1}"#; - let response = r#"{"jsonrpc":"2.0","result":"65","id":1}"#; + let response = r#"{"jsonrpc":"2.0","result":"3","id":1}"#; assert_eq!(io.handle_request(request), Some(response.to_owned())); } diff --git a/sync/src/chain.rs b/sync/src/chain.rs index 4fd386333..41afbea1c 100644 --- a/sync/src/chain.rs +++ b/sync/src/chain.rs @@ -125,6 +125,8 @@ pub struct SyncStatus { pub state: SyncState, /// Syncing protocol version. That's the maximum protocol version we connect to. pub protocol_version: u8, + /// The underlying p2p network version. + pub network_id: U256, /// BlockChain height for the moment the sync started. pub start_block_number: BlockNumber, /// Last fully downloaded and imported block number (if any). @@ -249,6 +251,7 @@ impl ChainSync { SyncStatus { state: self.state.clone(), protocol_version: 63, + network_id: self.network_id, start_block_number: self.starting_block, last_imported_block_number: self.last_imported_block, highest_block_number: self.highest_block,