Light client updates by range RPC (#6383)

* enable lc update over rpc

* resolve TODOs

* resolve merge conflicts

* move max light client updates to eth spec

* Merge branch 'unstable' of https://github.com/sigp/lighthouse into light-client-updates-by-range-rpc

* remove ethspec dependency

* Update beacon_node/network/src/network_beacon_processor/rpc_methods.rs

Co-authored-by: Michael Sproul <micsproul@gmail.com>

* Update beacon_node/lighthouse_network/src/rpc/methods.rs

Co-authored-by: Michael Sproul <micsproul@gmail.com>
This commit is contained in:
Eitan Seri-Levi
2024-10-17 19:50:51 -07:00
committed by GitHub
parent 9f1bec6372
commit d1fda938a3
15 changed files with 383 additions and 11 deletions

View File

@@ -1579,6 +1579,17 @@ impl<E: EthSpec> Network<E> {
request,
})
}
RequestType::LightClientUpdatesByRange(_) => {
metrics::inc_counter_vec(
&metrics::TOTAL_RPC_REQUESTS,
&["light_client_updates_by_range"],
);
Some(NetworkEvent::RequestReceived {
peer_id,
id: (connection_id, request.substream_id),
request,
})
}
}
}
Ok(RPCReceived::Response(id, resp)) => {
@@ -1632,6 +1643,11 @@ impl<E: EthSpec> Network<E> {
peer_id,
Response::LightClientFinalityUpdate(update),
),
RpcSuccessResponse::LightClientUpdatesByRange(update) => self.build_response(
id,
peer_id,
Response::LightClientUpdatesByRange(Some(update)),
),
}
}
Ok(RPCReceived::EndOfStream(id, termination)) => {
@@ -1642,6 +1658,9 @@ impl<E: EthSpec> Network<E> {
ResponseTermination::BlobsByRoot => Response::BlobsByRoot(None),
ResponseTermination::DataColumnsByRoot => Response::DataColumnsByRoot(None),
ResponseTermination::DataColumnsByRange => Response::DataColumnsByRange(None),
ResponseTermination::LightClientUpdatesByRange => {
Response::LightClientUpdatesByRange(None)
}
};
self.build_response(id, peer_id, response)
}