MCPcopy Create free account
hub / github.com/SeismicSystems/summit / register_validators

Function register_validators

node/src/test_harness/common.rs:97–131  ·  view source on GitHub ↗
(
    oracle: &Oracle<PublicKey, E>,
    validators: &[PublicKey],
)

Source from the content-addressed store, hash-verified

95 .add_link(existing.clone(), validator.clone(), link.clone())
96 .await
97 .unwrap();
98 }
99}
100
101pub async fn register_validators<E: Clock>(
102 oracle: &Oracle<PublicKey, E>,
103 validators: &[PublicKey],
104) -> HashMap<
105 PublicKey,
106 (
107 (Sender<PublicKey, E>, Receiver<PublicKey>),
108 (Sender<PublicKey, E>, Receiver<PublicKey>),
109 (Sender<PublicKey, E>, Receiver<PublicKey>),
110 (Sender<PublicKey, E>, Receiver<PublicKey>),
111 (Sender<PublicKey, E>, Receiver<PublicKey>),
112 ),
113> {
114 let mut registrations = HashMap::new();
115 let quota = Quota::per_second(NonZeroU32::MAX);
116 for validator in validators.iter() {
117 let control = oracle.control(validator.clone());
118 let (pending_sender, pending_receiver) = control.register(0, quota).await.unwrap();
119 let (recovered_sender, recovered_receiver) = control.register(1, quota).await.unwrap();
120 let (resolver_sender, resolver_receiver) = control.register(2, quota).await.unwrap();
121 let (broadcast_sender, broadcast_receiver) = control.register(3, quota).await.unwrap();
122 let (backfill_sender, backfill_receiver) = control.register(4, quota).await.unwrap();
123 registrations.insert(
124 validator.clone(),
125 (
126 (pending_sender, pending_receiver),
127 (recovered_sender, recovered_receiver),
128 (resolver_sender, resolver_receiver),
129 (broadcast_sender, broadcast_receiver),
130 (backfill_sender, backfill_receiver),
131 ),
132 );
133 }
134 registrations

Calls 2

iterMethod · 0.80
registerMethod · 0.80