Skip to content

Commit 130d8bf

Browse files
authored
fix pagination assert (Commit-Boost#450)
1 parent 77f11ec commit 130d8bf

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

  • crates/common/src/config

crates/common/src/config/mux.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@ async fn fetch_ssv_pubkeys_from_public_api(
461461

462462
let mut pubkeys: Vec<BlsPublicKey> = vec![];
463463
let mut page = 1;
464+
let mut expected_total: Option<usize> = None;
464465

465466
loop {
466467
let route = format!(
@@ -470,21 +471,22 @@ async fn fetch_ssv_pubkeys_from_public_api(
470471

471472
let response = request_ssv_pubkeys_from_public_api(url, http_timeout).await?;
472473
let fetched = response.validators.len();
474+
if expected_total.is_none() && fetched > 0 {
475+
expected_total = Some(response.pagination.total);
476+
}
473477
pubkeys.extend(
474478
response.validators.into_iter().map(|v| v.pubkey).collect::<Vec<BlsPublicKey>>(),
475479
);
476480
page += 1;
477481

478482
if fetched < MAX_PER_PAGE {
479-
ensure!(
480-
pubkeys.len() == response.pagination.total,
481-
"expected {} keys, got {}",
482-
response.pagination.total,
483-
pubkeys.len()
484-
);
485483
break;
486484
}
487485
}
488486

487+
if let Some(expected) = expected_total {
488+
ensure!(pubkeys.len() == expected, "expected {expected} keys, got {}", pubkeys.len());
489+
}
490+
489491
Ok(pubkeys)
490492
}

0 commit comments

Comments
 (0)