mwc_web3/types/
parity_peers.rs1use ethereum_types::U256;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
8pub struct ParityPeerType {
9 pub active: usize,
11 pub connected: usize,
13 pub max: u32,
15 pub peers: Vec<ParityPeerInfo>,
17}
18
19#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
21pub struct ParityPeerInfo {
22 pub id: Option<String>,
24 pub name: String,
26 pub caps: Vec<String>,
28 pub network: PeerNetworkInfo,
30 pub protocols: PeerProtocolsInfo,
32}
33
34#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
36#[serde(rename_all = "camelCase")]
37pub struct PeerNetworkInfo {
38 pub remote_address: String,
40 pub local_address: String,
42}
43
44#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
46pub struct PeerProtocolsInfo {
47 pub eth: Option<EthProtocolInfo>,
49 pub pip: Option<PipProtocolInfo>,
51}
52
53#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
56pub struct EthProtocolInfo {
57 pub version: u32,
59 pub difficulty: Option<U256>,
61 pub head: String,
63}
64
65#[derive(Serialize, PartialEq, Clone, Deserialize, Debug)]
67pub struct PipProtocolInfo {
68 pub version: u32,
70 pub difficulty: U256,
72 pub head: String,
74}