pink_web3/types/
parity_peers.rs1use crate::prelude::*;
3use ethereum_types::U256;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
9pub struct ParityPeerType {
10 pub active: usize,
12 pub connected: usize,
14 pub max: u32,
16 pub peers: Vec<ParityPeerInfo>,
18}
19
20#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
22pub struct ParityPeerInfo {
23 pub id: Option<String>,
25 pub name: String,
27 pub caps: Vec<String>,
29 pub network: PeerNetworkInfo,
31 pub protocols: PeerProtocolsInfo,
33}
34
35#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
37#[serde(rename_all = "camelCase")]
38pub struct PeerNetworkInfo {
39 pub remote_address: String,
41 pub local_address: String,
43}
44
45#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
47pub struct PeerProtocolsInfo {
48 pub eth: Option<EthProtocolInfo>,
50 pub pip: Option<PipProtocolInfo>,
52}
53
54#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
57pub struct EthProtocolInfo {
58 pub version: u32,
60 pub difficulty: Option<U256>,
62 pub head: String,
64}
65
66#[derive(Serialize, PartialEq, Clone, Deserialize, Debug)]
68pub struct PipProtocolInfo {
69 pub version: u32,
71 pub difficulty: U256,
73 pub head: String,
75}