mirror of
https://gitlab.com/pulsechaincom/lighthouse-pulse.git
synced 2024-12-22 03:30:38 +00:00
Standard Liveness Endpoint (#4853)
* Changes to use required Endpoint * Format * fixed doppleganger service * minor fix * efficiency changes * fixed tests * remove commented line --------- Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
parent
547ed1de63
commit
44aaf13ff0
@ -3429,7 +3429,7 @@ impl ApiTester {
|
||||
|
||||
let result = self
|
||||
.client
|
||||
.post_validator_liveness_epoch(epoch, indices.clone())
|
||||
.post_validator_liveness_epoch(epoch, &indices)
|
||||
.await
|
||||
.unwrap()
|
||||
.data;
|
||||
@ -3444,7 +3444,7 @@ impl ApiTester {
|
||||
|
||||
let result = self
|
||||
.client
|
||||
.post_validator_liveness_epoch(epoch, indices.clone())
|
||||
.post_validator_liveness_epoch(epoch, &indices)
|
||||
.await
|
||||
.unwrap()
|
||||
.data;
|
||||
|
@ -2145,7 +2145,7 @@ impl BeaconNodeHttpClient {
|
||||
pub async fn post_validator_liveness_epoch(
|
||||
&self,
|
||||
epoch: Epoch,
|
||||
indices: Vec<u64>,
|
||||
indices: &Vec<u64>,
|
||||
) -> Result<GenericResponse<Vec<StandardLivenessResponseData>>, Error> {
|
||||
let mut path = self.eth_path(V1)?;
|
||||
|
||||
@ -2155,7 +2155,7 @@ impl BeaconNodeHttpClient {
|
||||
.push("liveness")
|
||||
.push(&epoch.to_string());
|
||||
|
||||
self.post_with_timeout_and_response(path, &indices, self.timeouts.liveness)
|
||||
self.post_with_timeout_and_response(path, indices, self.timeouts.liveness)
|
||||
.await
|
||||
}
|
||||
|
||||
|
@ -163,8 +163,6 @@ async fn beacon_node_liveness<'a, T: 'static + SlotClock, E: EthSpec>(
|
||||
current_epoch: Epoch,
|
||||
validator_indices: Vec<u64>,
|
||||
) -> LivenessResponses {
|
||||
let validator_indices = validator_indices.as_slice();
|
||||
|
||||
let previous_epoch = current_epoch.saturating_sub(1_u64);
|
||||
|
||||
let previous_epoch_responses = if previous_epoch == current_epoch {
|
||||
@ -180,12 +178,22 @@ async fn beacon_node_liveness<'a, T: 'static + SlotClock, E: EthSpec>(
|
||||
.first_success(
|
||||
RequireSynced::Yes,
|
||||
OfflineOnFailure::Yes,
|
||||
|beacon_node| async move {
|
||||
|beacon_node| async {
|
||||
beacon_node
|
||||
.post_lighthouse_liveness(validator_indices, previous_epoch)
|
||||
.post_validator_liveness_epoch(previous_epoch, &validator_indices)
|
||||
.await
|
||||
.map_err(|e| format!("Failed query for validator liveness: {:?}", e))
|
||||
.map(|result| result.data)
|
||||
.map(|result| {
|
||||
result
|
||||
.data
|
||||
.into_iter()
|
||||
.map(|response| LivenessResponseData {
|
||||
index: response.index,
|
||||
epoch: previous_epoch,
|
||||
is_live: response.is_live,
|
||||
})
|
||||
.collect()
|
||||
})
|
||||
},
|
||||
)
|
||||
.await
|
||||
@ -207,12 +215,22 @@ async fn beacon_node_liveness<'a, T: 'static + SlotClock, E: EthSpec>(
|
||||
.first_success(
|
||||
RequireSynced::Yes,
|
||||
OfflineOnFailure::Yes,
|
||||
|beacon_node| async move {
|
||||
|beacon_node| async {
|
||||
beacon_node
|
||||
.post_lighthouse_liveness(validator_indices, current_epoch)
|
||||
.post_validator_liveness_epoch(current_epoch, &validator_indices)
|
||||
.await
|
||||
.map_err(|e| format!("Failed query for validator liveness: {:?}", e))
|
||||
.map(|result| result.data)
|
||||
.map(|result| {
|
||||
result
|
||||
.data
|
||||
.into_iter()
|
||||
.map(|response| LivenessResponseData {
|
||||
index: response.index,
|
||||
epoch: current_epoch,
|
||||
is_live: response.is_live,
|
||||
})
|
||||
.collect()
|
||||
})
|
||||
},
|
||||
)
|
||||
.await
|
||||
|
Loading…
Reference in New Issue
Block a user