add inclusion list duties mgmt to VC duties service

This commit is contained in:
jacobkaufmann
2024-12-12 18:54:07 -07:00
parent 2b3c602b8f
commit 7125f25f3a
3 changed files with 312 additions and 1 deletions

View File

@@ -128,6 +128,7 @@ pub struct Timeouts {
pub proposer_duties: Duration,
pub sync_committee_contribution: Duration,
pub sync_duties: Duration,
pub inclusion_list_duties: Duration,
pub get_beacon_blocks_ssz: Duration,
pub get_debug_beacon_states: Duration,
pub get_deposit_snapshot: Duration,
@@ -145,6 +146,7 @@ impl Timeouts {
proposer_duties: timeout,
sync_committee_contribution: timeout,
sync_duties: timeout,
inclusion_list_duties: timeout,
get_beacon_blocks_ssz: timeout,
get_debug_beacon_states: timeout,
get_deposit_snapshot: timeout,
@@ -2494,6 +2496,29 @@ impl BeaconNodeHttpClient {
.await
}
/// `POST validator/duties/inclusion_list/{epoch}`
pub async fn post_validator_duties_inclusion_list(
&self,
epoch: Epoch,
indices: &[u64],
) -> Result<DutiesResponse<Vec<InclusionListDutyData>>, Error> {
let mut path = self.eth_path(V1)?;
path.path_segments_mut()
.map_err(|()| Error::InvalidUrl(self.server.clone()))?
.push("validator")
.push("duties")
.push("inclusion_list")
.push(&epoch.to_string());
self.post_with_timeout_and_response(
path,
&ValidatorIndexDataRef(indices),
self.timeouts.inclusion_list_duties,
)
.await
}
/// `POST v1/validator/aggregate_and_proofs`
pub async fn post_validator_aggregate_and_proof_v1<E: EthSpec>(
&self,