Fix spelling mistakes across the whole repository (#3808)

**Update:** Pushed additional changes based on the review comments.

**This pull request fixes various spelling mistakes in this
repository.**

Most of the changes are contained in the first **3** commits:

- `Fix spelling mistakes in comments and docs`

- `Fix spelling mistakes in test names`

- `Fix spelling mistakes in error messages, panic messages, logs and
tracing`

Other source code spelling mistakes are separated into individual
commits for easier reviewing:

- `Fix the spelling of 'authority'`

- `Fix the spelling of 'REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY'`

- `Fix the spelling of 'prev_enqueud_messages'`

- `Fix the spelling of 'endpoint'`

- `Fix the spelling of 'children'`

- `Fix the spelling of 'PenpalSiblingSovereignAccount'`

- `Fix the spelling of 'PenpalSudoAccount'`

- `Fix the spelling of 'insufficient'`

- `Fix the spelling of 'PalletXcmExtrinsicsBenchmark'`

- `Fix the spelling of 'subtracted'`

- `Fix the spelling of 'CandidatePendingAvailability'`

- `Fix the spelling of 'exclusive'`

- `Fix the spelling of 'until'`

- `Fix the spelling of 'discriminator'`

- `Fix the spelling of 'nonexistent'`

- `Fix the spelling of 'subsystem'`

- `Fix the spelling of 'indices'`

- `Fix the spelling of 'committed'`

- `Fix the spelling of 'topology'`

- `Fix the spelling of 'response'`

- `Fix the spelling of 'beneficiary'`

- `Fix the spelling of 'formatted'`

- `Fix the spelling of 'UNKNOWN_PROOF_REQUEST'`

- `Fix the spelling of 'succeeded'`

- `Fix the spelling of 'reopened'`

- `Fix the spelling of 'proposer'`

- `Fix the spelling of 'InstantiationNonce'`

- `Fix the spelling of 'depositor'`

- `Fix the spelling of 'expiration'`

- `Fix the spelling of 'phantom'`

- `Fix the spelling of 'AggregatedKeyValue'`

- `Fix the spelling of 'randomness'`

- `Fix the spelling of 'defendant'`

- `Fix the spelling of 'AquaticMammal'`

- `Fix the spelling of 'transactions'`

- `Fix the spelling of 'PassingTracingSubscriber'`

- `Fix the spelling of 'TxSignaturePayload'`

- `Fix the spelling of 'versioning'`

- `Fix the spelling of 'descendant'`

- `Fix the spelling of 'overridden'`

- `Fix the spelling of 'network'`

Let me know if this structure is adequate.

**Note:** The usage of the words `Merkle`, `Merkelize`, `Merklization`,
`Merkelization`, `Merkleization`, is somewhat inconsistent but I left it
as it is.

~~**Note:** In some places the term `Receival` is used to refer to
message reception, IMO `Reception` is the correct word here, but I left
it as it is.~~

~~**Note:** In some places the term `Overlayed` is used instead of the
more acceptable version `Overlaid` but I also left it as it is.~~

~~**Note:** In some places the term `Applyable` is used instead of the
correct version `Applicable` but I also left it as it is.~~

**Note:** Some usage of British vs American english e.g. `judgement` vs
`judgment`, `initialise` vs `initialize`, `optimise` vs `optimize` etc.
are both present in different places, but I suppose that's
understandable given the number of contributors.

~~**Note:** There is a spelling mistake in `.github/CODEOWNERS` but it
triggers errors in CI when I make changes to it, so I left it as it
is.~~
This commit is contained in:
Dcompoze
2024-03-26 13:57:57 +00:00
committed by GitHub
parent b839c995c0
commit 002d9260f9
463 changed files with 1119 additions and 1017 deletions
@@ -230,7 +230,7 @@ impl ApprovalEntry {
Ok(())
}
// Get the assignment certiticate and claimed candidates.
// Get the assignment certificate and claimed candidates.
pub fn assignment(&self) -> (IndirectAssignmentCertV2, CandidateBitfield) {
(self.assignment.clone(), self.assignment_claimed_candidates.clone())
}
@@ -404,7 +404,7 @@ impl Knowledge {
},
};
// In case of succesful insertion of multiple candidate assignments create additional
// In case of successful insertion of multiple candidate assignments create additional
// entries for each assigned candidate. This fakes knowledge of individual assignments, but
// we need to share the same `MessageSubject` with the followup approval candidate index.
if kind == MessageKind::Assignment && success && message.1.count_ones() > 1 {
@@ -1897,10 +1897,10 @@ impl State {
_ => break,
};
// Any peer which is in the `known_by` see and we know its peer_id authorithy id
// Any peer which is in the `known_by` see and we know its peer_id authority id
// mapping has already been sent all messages it's meant to get for that block and
// all in-scope prior blocks. In case, we just learnt about its peer_id
// authorithy-id mapping we have to retry sending the messages that should be sent
// authority-id mapping we have to retry sending the messages that should be sent
// to it for all un-finalized blocks.
if entry.known_by.contains_key(&peer_id) && !retry_known_blocks {
break
@@ -2199,7 +2199,7 @@ impl State {
sanitized_assignments
}
// Filter out obviously invalid candidate indicies.
// Filter out obviously invalid candidate indices.
async fn sanitize_v1_approvals(
&mut self,
peer_id: PeerId,
@@ -2226,7 +2226,7 @@ impl State {
sanitized_approvals
}
// Filter out obviously invalid candidate indicies.
// Filter out obviously invalid candidate indices.
async fn sanitize_v2_approvals(
&mut self,
peer_id: PeerId,
@@ -2260,7 +2260,7 @@ impl State {
// The modifier accepts as inputs the current required-routing state, whether
// the message is locally originating, and the validator index of the message issuer.
//
// Then, if the topology is known, this progates messages to all peers in the required
// Then, if the topology is known, this propagates messages to all peers in the required
// routing set which are aware of the block. Peers which are unaware of the block
// will have the message sent when it enters their view in `unify_with_peer`.
//
@@ -2440,7 +2440,7 @@ impl ApprovalDistribution {
gum::trace!(target: LOG_TARGET, "active leaves signal (ignored)");
// the relay chain blocks relevant to the approval subsystems
// are those that are available, but not finalized yet
// actived and deactivated heads hence are irrelevant to this subsystem, other than
// activated and deactivated heads hence are irrelevant to this subsystem, other than
// for tracing purposes.
if let Some(activated) = update.activated {
let head = activated.hash;
@@ -299,7 +299,7 @@ impl MetricsTrait for Metrics {
prometheus::CounterVec::new(
prometheus::Opts::new(
"polkadot_parachain_assignments_received_result",
"Result of a processed assignement",
"Result of a processed assignment",
),
&["status"]
)?,
@@ -394,7 +394,7 @@ fn try_import_the_same_assignment() {
setup_peer_with_view(overseer, &peer_b, view![hash], ValidationVersion::V1).await;
setup_peer_with_view(overseer, &peer_c, view![hash], ValidationVersion::V1).await;
// Set up a gossip topology, where a, b, c and d are topology neighboors to the node under
// Set up a gossip topology, where a, b, c and d are topology neighbors to the node under
// testing.
let peers_with_optional_peer_id = peers
.iter()
@@ -491,7 +491,7 @@ fn try_import_the_same_assignment_v2() {
setup_peer_with_view(overseer, &peer_b, view![hash], ValidationVersion::V3).await;
setup_peer_with_view(overseer, &peer_c, view![hash], ValidationVersion::V3).await;
// Set up a gossip topology, where a, b, c and d are topology neighboors to the node under
// Set up a gossip topology, where a, b, c and d are topology neighbors to the node under
// testing.
let peers_with_optional_peer_id = peers
.iter()
@@ -744,7 +744,7 @@ fn peer_sending_us_the_same_we_just_sent_them_is_ok() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Setup a topology where peer_a is neigboor to current node.
// Setup a topology where peer_a is neighbor to current node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0], &[2], 1),
@@ -850,7 +850,7 @@ fn import_approval_happy_path_v1_v2_peers() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Set up a gossip topology, where a, b, and c are topology neighboors to the node.
// Set up a gossip topology, where a, b, and c are topology neighbors to the node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0, 1], &[2, 4], 3),
@@ -972,7 +972,7 @@ fn import_approval_happy_path_v2() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Set up a gossip topology, where a, b, and c are topology neighboors to the node.
// Set up a gossip topology, where a, b, and c are topology neighbors to the node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0, 1], &[2, 4], 3),
@@ -1083,7 +1083,7 @@ fn multiple_assignments_covered_with_one_approval_vote() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Set up a gossip topology, where a, b, and c, d are topology neighboors to the node.
// Set up a gossip topology, where a, b, and c, d are topology neighbors to the node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0, 1], &[2, 4], 3),
@@ -1273,7 +1273,7 @@ fn unify_with_peer_multiple_assignments_covered_with_one_approval_vote() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Set up a gossip topology, where a, b, and c, d are topology neighboors to the node.
// Set up a gossip topology, where a, b, and c, d are topology neighbors to the node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0, 1], &[2, 4], 3),
@@ -1631,7 +1631,7 @@ fn update_peer_view() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Setup a topology where peer_a is neigboor to current node.
// Setup a topology where peer_a is neighbor to current node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0], &[2], 1),
@@ -1758,7 +1758,7 @@ fn update_peer_view() {
assert!(state.blocks.get(&hash_c).unwrap().known_by.get(peer).is_none());
}
// Tests that updating the known peer_id for a given authorithy updates the topology
// Tests that updating the known peer_id for a given authority updates the topology
// and sends the required messages
#[test]
fn update_peer_authority_id() {
@@ -1770,9 +1770,9 @@ fn update_peer_authority_id() {
let neighbour_x_index = 0;
let neighbour_y_index = 2;
let local_index = 1;
// X neighbour, we simulate that PeerId is not known in the beginining.
// X neighbour, we simulate that PeerId is not known in the beginning.
let neighbour_x = peers.get(neighbour_x_index).unwrap().0;
// Y neighbour, we simulate that PeerId is not known in the beginining.
// Y neighbour, we simulate that PeerId is not known in the beginning.
let neighbour_y = peers.get(neighbour_y_index).unwrap().0;
let _state = test_harness(State::default(), |mut virtual_overseer| async move {
@@ -1814,7 +1814,7 @@ fn update_peer_authority_id() {
})
.collect_vec();
// Setup a topology where peer_a is neigboor to current node.
// Setup a topology where peer_a is neighbor to current node.
setup_gossip_topology(
overseer,
make_gossip_topology(
@@ -2053,7 +2053,7 @@ fn sends_assignments_even_when_state_is_approved() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Setup a topology where peer_a is neigboor to current node.
// Setup a topology where peer_a is neighbor to current node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0], &[2], 1),
@@ -2125,7 +2125,7 @@ fn sends_assignments_even_when_state_is_approved() {
}
/// Same as `sends_assignments_even_when_state_is_approved_v2` but with `VRFModuloCompact`
/// assignemnts.
/// assignments.
#[test]
fn sends_assignments_even_when_state_is_approved_v2() {
let peers = make_peers_and_authority_ids(8);
@@ -2153,7 +2153,7 @@ fn sends_assignments_even_when_state_is_approved_v2() {
.iter()
.map(|(peer_id, authority)| (Some(*peer_id), authority.clone()))
.collect_vec();
// Setup a topology where peer_a is neigboor to current node.
// Setup a topology where peer_a is neighbor to current node.
setup_gossip_topology(
overseer,
make_gossip_topology(1, &peers_with_optional_peer_id, &[0], &[2], 1),
@@ -3509,7 +3509,7 @@ fn import_versioned_approval() {
setup_peer_with_view(overseer, &peer_b, view![hash], ValidationVersion::V1).await;
setup_peer_with_view(overseer, &peer_c, view![hash], ValidationVersion::V2).await;
// Set up a gossip topology, where a, b, c and d are topology neighboors to the node under
// Set up a gossip topology, where a, b, c and d are topology neighbors to the node under
// testing.
let peers_with_optional_peer_id = peers
.iter()
@@ -348,7 +348,7 @@ impl RunningTask {
async fn do_request(
&mut self,
validator: &AuthorityDiscoveryId,
nerwork_error_freq: &mut gum::Freq,
network_error_freq: &mut gum::Freq,
canceled_freq: &mut gum::Freq,
) -> std::result::Result<ChunkFetchingResponse, TaskError> {
gum::trace!(
@@ -395,7 +395,7 @@ impl RunningTask {
},
Err(RequestError::NetworkError(err)) => {
gum::warn_if_frequent!(
freq: nerwork_error_freq,
freq: network_error_freq,
max_rate: gum::Times::PerHour(100),
target: LOG_TARGET,
origin = ?validator,
@@ -408,7 +408,7 @@ async fn handle_recover<Context>(
) -> error::Result<()> {
let candidate_hash = receipt.hash();
let span = jaeger::Span::new(candidate_hash, "availbility-recovery")
let span = jaeger::Span::new(candidate_hash, "availability-recovery")
.with_stage(jaeger::Stage::AvailabilityRecovery);
if let Some(result) =
@@ -31,7 +31,7 @@ struct MetricsInner {
chunk_requests_issued: Counter<U64>,
/// Total number of bytes recovered
///
/// Gets incremented on each succesful recovery
/// Gets incremented on each successful recovery
recovered_bytes_total: Counter<U64>,
/// A counter for finished chunk requests.
///
@@ -232,7 +232,7 @@ impl metrics::Metrics for Metrics {
)?,
full_recoveries_started: prometheus::register(
Counter::new(
"polkadot_parachain_availability_recovery_recovieries_started",
"polkadot_parachain_availability_recovery_recoveries_started",
"Total number of started recoveries.",
)?,
registry,
@@ -69,14 +69,14 @@ impl MetricsTrait for Metrics {
let metrics = MetricsInner {
sent_own_availability_bitfields: prometheus::register(
prometheus::Counter::new(
"polkadot_parachain_sent_own_availabilty_bitfields_total",
"polkadot_parachain_sent_own_availability_bitfields_total",
"Number of own availability bitfields sent to other peers.",
)?,
registry,
)?,
received_availability_bitfields: prometheus::register(
prometheus::Counter::new(
"polkadot_parachain_received_availabilty_bitfields_total",
"polkadot_parachain_received_availability_bitfields_total",
"Number of valid availability bitfields received from other peers.",
)?,
registry,
@@ -150,7 +150,7 @@ fn receive_invalid_signature() {
let signing_context = SigningContext { session_index: 1, parent_hash: hash_a };
// another validator not part of the validatorset
// another validator not part of the validator set
let keystore: KeystorePtr = Arc::new(MemoryKeystore::new());
let malicious = Keystore::sr25519_generate_new(&*keystore, ValidatorId::ID, None)
.expect("Malicious key created");
@@ -76,7 +76,7 @@ pub struct DisputeSender<M> {
/// Value is the hash that was used for the query.
active_sessions: HashMap<SessionIndex, Hash>,
/// All ongoing dispute sendings this subsystem is aware of.
/// All ongoing dispute sending this subsystem is aware of.
///
/// Using an `IndexMap` so items can be iterated in the order of insertion.
disputes: IndexMap<CandidateHash, SendTask<M>>,
@@ -105,7 +105,7 @@ struct WaitForActiveDisputesState {
#[overseer::contextbounds(DisputeDistribution, prefix = self::overseer)]
impl<M: 'static + Send + Sync> DisputeSender<M> {
/// Create a new `DisputeSender` which can be used to start dispute sendings.
/// Create a new `DisputeSender` which can be used to start dispute sending.
pub fn new(tx: NestingSender<M, DisputeSenderMessage>, metrics: Metrics) -> Self {
Self {
active_heads: Vec::new(),
@@ -362,7 +362,7 @@ async fn get_active_session_indices<Context>(
runtime: &mut RuntimeInfo,
active_heads: &Vec<Hash>,
) -> Result<HashMap<SessionIndex, Hash>> {
let mut indeces = HashMap::new();
let mut indices = HashMap::new();
// Iterate all heads we track as active and fetch the child' session indices.
for head in active_heads {
let session_index = runtime.get_session_index_for_child(ctx.sender(), *head).await?;
@@ -372,9 +372,9 @@ async fn get_active_session_indices<Context>(
{
gum::debug!(target: LOG_TARGET, ?err, ?session_index, "Can't cache SessionInfo");
}
indeces.insert(session_index, *head);
indices.insert(session_index, *head);
}
Ok(indeces)
Ok(indices)
}
/// Retrieve Set of active disputes from the dispute coordinator.
@@ -163,7 +163,7 @@ pub fn make_dispute_message(
let invalid_vote =
make_explicit_signed(MOCK_VALIDATORS[invalid_validator.0 as usize], candidate_hash, false);
gum::trace!(
"Passed time for invald vote: {:#?}",
"Passed time for invalid vote: {:#?}",
Instant::now().saturating_duration_since(before_request)
);
DisputeMessage::from_signed_statements(
@@ -122,7 +122,7 @@ impl MockAuthorityDiscovery {
self.authorities.lock().clone()
}
fn add_more_authorties(
fn add_more_authorities(
&self,
new_known: Vec<AuthorityDiscoveryId>,
) -> HashMap<PeerId, HashSet<AuthorityDiscoveryId>> {
@@ -720,7 +720,7 @@ fn issues_update_authorities_after_session() {
assert!(overseer.recv().timeout(TIMEOUT).await.is_none());
// 4. Connect more authorities except one
let newly_added = authority_discovery_mock.add_more_authorties(unknown_at_session);
let newly_added = authority_discovery_mock.add_more_authorities(unknown_at_session);
let mut newly_added_iter = newly_added.iter();
let unconnected_at_last_retry = newly_added_iter
.next()
@@ -89,7 +89,7 @@ impl SessionGridTopology {
SessionGridTopology { shuffled_indices, canonical_shuffling, peer_ids }
}
/// Updates the known peer ids for the passed authorithies ids.
/// Updates the known peer ids for the passed authorities ids.
pub fn update_authority_ids(
&mut self,
peer_id: PeerId,
@@ -313,7 +313,7 @@ impl SessionGridTopologyEntry {
self.topology.is_validator(peer)
}
/// Updates the known peer ids for the passed authorithies ids.
/// Updates the known peer ids for the passed authorities ids.
pub fn update_authority_ids(
&mut self,
peer_id: PeerId,
@@ -345,7 +345,7 @@ impl SessionGridTopologies {
self.inner.get(&session).and_then(|val| val.0.as_ref())
}
/// Updates the known peer ids for the passed authorithies ids.
/// Updates the known peer ids for the passed authorities ids.
pub fn update_authority_ids(
&mut self,
peer_id: PeerId,
+1 -1
View File
@@ -871,7 +871,7 @@ pub mod v2 {
}
/// v3 network protocol types.
/// Purpose is for chaning ApprovalDistributionMessage to
/// Purpose is for changing ApprovalDistributionMessage to
/// include more than one assignment and approval in a message.
pub mod v3 {
use parity_scale_codec::{Decode, Encode};
@@ -234,7 +234,7 @@ pub enum ValidationVersion {
/// The second version.
V2 = 2,
/// The third version where changes to ApprovalDistributionMessage had been made.
/// The changes are translatable to V2 format untill assignments v2 and approvals
/// The changes are translatable to V2 format until assignments v2 and approvals
/// coalescing is enabled through a runtime upgrade.
V3 = 3,
}
@@ -47,7 +47,7 @@ where
Req: IsRequest + Decode + Encode,
Req::Response: Encode,
{
/// Create configuration for `NetworkConfiguration::request_response_porotocols` and a
/// Create configuration for `NetworkConfiguration::request_response_protocols` and a
/// corresponding typed receiver.
///
/// This Register that config with substrate networking and receive incoming requests via the
@@ -287,7 +287,7 @@ impl Protocol {
match self {
// Hundreds of validators will start requesting their chunks once they see a candidate
// awaiting availability on chain. Given that they will see that block at different
// times (due to network delays), 100 seems big enough to accomodate for "bursts",
// times (due to network delays), 100 seems big enough to accommodate for "bursts",
// assuming we can service requests relatively quickly, which would need to be measured
// as well.
Protocol::ChunkFetchingV1 => 100,
@@ -183,7 +183,7 @@ impl IsRequest for AvailableDataFetchingRequest {
pub struct StatementFetchingRequest {
/// Data needed to locate and identify the needed statement.
pub relay_parent: Hash,
/// Hash of candidate that was used create the `CommitedCandidateRecept`.
/// Hash of candidate that was used create the `CommittedCandidateReceipt`.
pub candidate_hash: CandidateHash,
}
@@ -64,7 +64,7 @@ pub async fn respond(
// late, as each requester having the data will help distributing it.
// 2. If we take too long, the requests timing out will not yet have had any data sent, thus
// we wasted no bandwidth.
// 3. If the queue is full, requestes will get an immediate error instead of running in a
// 3. If the queue is full, requests will get an immediate error instead of running in a
// timeout, thus requesters can immediately try another peer and be faster.
//
// From this perspective we would not want parallel response sending at all, but we don't
@@ -1494,7 +1494,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
Err(()) => {}
);
// And now the succeding request from peer_b:
// And now the succeeding request from peer_b:
let (pending_response, response_rx) = oneshot::channel();
let inner_req = StatementFetchingRequest {
relay_parent: metadata.relay_parent,
@@ -430,8 +430,8 @@ impl ClusterTracker {
///
/// Normally we should not have pending statements to validators in our cluster,
/// but if we do for all validators in our cluster, then we don't participate
/// in backing. Ocasional pending statements are expected if two authorities
/// can't detect each otehr or after restart, where it takes a while to discover
/// in backing. Occasional pending statements are expected if two authorities
/// can't detect each other or after restart, where it takes a while to discover
/// the whole network.
pub fn warn_if_too_many_pending_statements(&self, parent_hash: Hash) {
@@ -112,7 +112,7 @@ const COST_EXCESSIVE_SECONDED: Rep = Rep::CostMinor("Sent Excessive `Seconded` S
const COST_DISABLED_VALIDATOR: Rep = Rep::CostMinor("Sent a statement from a disabled validator");
const COST_UNEXPECTED_MANIFEST_MISSING_KNOWLEDGE: Rep =
Rep::CostMinor("Unexpected Manifest, missing knowlege for relay parent");
Rep::CostMinor("Unexpected Manifest, missing knowledge for relay parent");
const COST_UNEXPECTED_MANIFEST_DISALLOWED: Rep =
Rep::CostMinor("Unexpected Manifest, Peer Disallowed");
const COST_UNEXPECTED_MANIFEST_PEER_UNKNOWN: Rep =
@@ -628,8 +628,8 @@ pub(crate) async fn handle_active_leaves_update<Context>(
request_min_backing_votes(new_relay_parent, session_index, ctx.sender()).await?;
let mut per_session_state =
PerSessionState::new(session_info, &state.keystore, minimum_backing_votes);
if let Some(toplogy) = state.unused_topologies.remove(&session_index) {
per_session_state.supply_topology(&toplogy.topology, toplogy.local_index);
if let Some(topology) = state.unused_topologies.remove(&session_index) {
per_session_state.supply_topology(&topology.topology, topology.local_index);
}
state.per_session.insert(session_index, per_session_state);
}
@@ -320,7 +320,7 @@ impl RequestManager {
// need for the current node to limit itself to the same amount the
// requests, because the requests are going to different nodes anyways.
// While looking at https://github.com/paritytech/polkadot-sdk/issues/3314,
// found out that this requests take around 100ms to fullfill, so it
// found out that this requests take around 100ms to fulfill, so it
// would make sense to try to request things as early as we can, given
// we would need to request it for each candidate, around 25 right now
// on kusama.