Skip to content

Commit 64e563f

Browse files
authored
Recognize the Caplin consensus client (#5304)
* Caplin has joined the party * Fix typo
1 parent a89ff10 commit 64e563f

File tree

1 file changed

+14
-14
lines changed
  • beacon_node/lighthouse_network/src/peer_manager/peerdb

1 file changed

+14
-14
lines changed

beacon_node/lighthouse_network/src/peer_manager/peerdb/client.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ pub enum ClientKind {
3333
Prysm,
3434
/// A lodestar node.
3535
Lodestar,
36+
/// A Caplin node.
37+
Caplin,
3638
/// An unknown client.
3739
Unknown,
3840
}
@@ -88,6 +90,7 @@ impl std::fmt::Display for Client {
8890
self.version, self.os_version
8991
),
9092
ClientKind::Lodestar => write!(f, "Lodestar: version: {}", self.version),
93+
ClientKind::Caplin => write!(f, "Caplin"),
9194
ClientKind::Unknown => {
9295
if let Some(agent_string) = &self.agent_string {
9396
write!(f, "Unknown: {}", agent_string)
@@ -109,11 +112,11 @@ impl std::fmt::Display for ClientKind {
109112
// kind and it's associated version and the OS kind.
110113
fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String) {
111114
let mut agent_split = agent_version.split('/');
115+
let mut version = String::from("unknown");
116+
let mut os_version = String::from("unknown");
112117
match agent_split.next() {
113118
Some("Lighthouse") => {
114119
let kind = ClientKind::Lighthouse;
115-
let mut version = String::from("unknown");
116-
let mut os_version = version.clone();
117120
if let Some(agent_version) = agent_split.next() {
118121
version = agent_version.into();
119122
if let Some(agent_os_version) = agent_split.next() {
@@ -124,8 +127,6 @@ fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String
124127
}
125128
Some("teku") => {
126129
let kind = ClientKind::Teku;
127-
let mut version = String::from("unknown");
128-
let mut os_version = version.clone();
129130
if agent_split.next().is_some() {
130131
if let Some(agent_version) = agent_split.next() {
131132
version = agent_version.into();
@@ -138,13 +139,10 @@ fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String
138139
}
139140
Some("github.com") => {
140141
let kind = ClientKind::Prysm;
141-
let unknown = String::from("unknown");
142-
(kind, unknown.clone(), unknown)
142+
(kind, version, os_version)
143143
}
144144
Some("Prysm") => {
145145
let kind = ClientKind::Prysm;
146-
let mut version = String::from("unknown");
147-
let mut os_version = version.clone();
148146
if agent_split.next().is_some() {
149147
if let Some(agent_version) = agent_split.next() {
150148
version = agent_version.into();
@@ -157,8 +155,6 @@ fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String
157155
}
158156
Some("nimbus") => {
159157
let kind = ClientKind::Nimbus;
160-
let mut version = String::from("unknown");
161-
let mut os_version = version.clone();
162158
if agent_split.next().is_some() {
163159
if let Some(agent_version) = agent_split.next() {
164160
version = agent_version.into();
@@ -171,8 +167,6 @@ fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String
171167
}
172168
Some("nim-libp2p") => {
173169
let kind = ClientKind::Nimbus;
174-
let mut version = String::from("unknown");
175-
let mut os_version = version.clone();
176170
if let Some(agent_version) = agent_split.next() {
177171
version = agent_version.into();
178172
if let Some(agent_os_version) = agent_split.next() {
@@ -183,8 +177,6 @@ fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String
183177
}
184178
Some("js-libp2p") | Some("lodestar") => {
185179
let kind = ClientKind::Lodestar;
186-
let mut version = String::from("unknown");
187-
let mut os_version = version.clone();
188180
if let Some(agent_version) = agent_split.next() {
189181
version = agent_version.into();
190182
if let Some(agent_os_version) = agent_split.next() {
@@ -193,6 +185,14 @@ fn client_from_agent_version(agent_version: &str) -> (ClientKind, String, String
193185
}
194186
(kind, version, os_version)
195187
}
188+
Some("erigon") => {
189+
let client_kind = if let Some("caplin") = agent_split.next() {
190+
ClientKind::Caplin
191+
} else {
192+
ClientKind::Unknown
193+
};
194+
(client_kind, version, os_version)
195+
}
196196
_ => {
197197
let unknown = String::from("unknown");
198198
(ClientKind::Unknown, unknown.clone(), unknown)

0 commit comments

Comments
 (0)