Skip to content

Commit cf8974f

Browse files
authored
Merge pull request #5183 from stacks-network/feat/add-is-registered-for-cycle-fn
Fix confusion over what configured for cycle means by adding is_registered_for_cycle
2 parents c9e3e45 + 8c077d5 commit cf8974f

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

stacks-signer/src/runloop.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,9 @@ impl<Signer: SignerTrait<T>, T: StacksMessageCodec + Clone + Send + Debug> RunLo
421421
"reward_cycle_before_refresh" => reward_cycle_before_refresh,
422422
"current_reward_cycle" => current_reward_cycle,
423423
"configured_for_current" => Self::is_configured_for_cycle(&self.stacks_signers, current_reward_cycle),
424+
"registered_for_current" => Self::is_registered_for_cycle(&self.stacks_signers, current_reward_cycle),
424425
"configured_for_next" => Self::is_configured_for_cycle(&self.stacks_signers, next_reward_cycle),
426+
"registered_for_next" => Self::is_registered_for_cycle(&self.stacks_signers, next_reward_cycle),
425427
"is_in_next_prepare_phase" => is_in_next_prepare_phase,
426428
);
427429

@@ -456,6 +458,17 @@ impl<Signer: SignerTrait<T>, T: StacksMessageCodec + Clone + Send + Debug> RunLo
456458
signer.reward_cycle() == reward_cycle
457459
}
458460

461+
fn is_registered_for_cycle(
462+
stacks_signers: &HashMap<u64, ConfiguredSigner<Signer, T>>,
463+
reward_cycle: u64,
464+
) -> bool {
465+
let Some(signer) = stacks_signers.get(&(reward_cycle % 2)) else {
466+
return false;
467+
};
468+
signer.reward_cycle() == reward_cycle
469+
&& matches!(signer, ConfiguredSigner::RegisteredSigner(_))
470+
}
471+
459472
fn cleanup_stale_signers(&mut self, current_reward_cycle: u64) {
460473
let mut to_delete = Vec::new();
461474
for (idx, signer) in &mut self.stacks_signers {

0 commit comments

Comments
 (0)