mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-11 21:49:26 +00:00
Minor nits
This commit is contained in:
@@ -350,7 +350,7 @@ impl Processor {
|
|||||||
|
|
||||||
/// Receive a message from the coordinator as a processor.
|
/// Receive a message from the coordinator as a processor.
|
||||||
pub async fn recv_message(&mut self) -> CoordinatorMessage {
|
pub async fn recv_message(&mut self) -> CoordinatorMessage {
|
||||||
// Set a timeout of 30 minutes to allow effectively any protocol to occur without a fear of
|
// Set a timeout of 20 minutes to allow effectively any protocol to occur without a fear of
|
||||||
// an arbitrary timeout cutting it short
|
// an arbitrary timeout cutting it short
|
||||||
tokio::time::timeout(Duration::from_secs(20 * 60), self.msgs.recv()).await.unwrap().unwrap()
|
tokio::time::timeout(Duration::from_secs(20 * 60), self.msgs.recv()).await.unwrap().unwrap()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,7 +262,7 @@ pub async fn batch(
|
|||||||
async fn batch_test() {
|
async fn batch_test() {
|
||||||
new_test(
|
new_test(
|
||||||
|mut processors: Vec<Processor>| async move {
|
|mut processors: Vec<Processor>| async move {
|
||||||
// pop the last participant since genesis keygen has only 4 participant.
|
// pop the last participant since genesis keygen has only 4 participants
|
||||||
processors.pop().unwrap();
|
processors.pop().unwrap();
|
||||||
assert_eq!(processors.len(), COORDINATORS);
|
assert_eq!(processors.len(), COORDINATORS);
|
||||||
|
|
||||||
|
|||||||
@@ -32,16 +32,27 @@ pub async fn key_gen<C: Ciphersuite>(
|
|||||||
let id = KeyGenId { session: set.session, attempt: 0 };
|
let id = KeyGenId { session: set.session, attempt: 0 };
|
||||||
|
|
||||||
for (i, processor) in processors.iter_mut().enumerate() {
|
for (i, processor) in processors.iter_mut().enumerate() {
|
||||||
let mut found = false;
|
loop {
|
||||||
while !found {
|
|
||||||
let msg = processor.recv_message().await;
|
let msg = processor.recv_message().await;
|
||||||
match &msg {
|
match &msg {
|
||||||
CoordinatorMessage::KeyGen(messages::key_gen::CoordinatorMessage::GenerateKey {
|
CoordinatorMessage::KeyGen(messages::key_gen::CoordinatorMessage::GenerateKey {
|
||||||
|
id: this_id,
|
||||||
params,
|
params,
|
||||||
..
|
shares,
|
||||||
}) => {
|
}) => {
|
||||||
|
assert_eq!(id, *this_id);
|
||||||
|
assert_eq!(
|
||||||
|
*params,
|
||||||
|
ThresholdParams::new(
|
||||||
|
u16::try_from(((coordinators * 2) / 3) + 1).unwrap(),
|
||||||
|
u16::try_from(coordinators).unwrap(),
|
||||||
|
participant_is[i],
|
||||||
|
)
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
assert_eq!(*shares, 1);
|
||||||
participant_is.push(params.i());
|
participant_is.push(params.i());
|
||||||
found = true;
|
break;
|
||||||
}
|
}
|
||||||
CoordinatorMessage::Substrate(
|
CoordinatorMessage::Substrate(
|
||||||
messages::substrate::CoordinatorMessage::ConfirmKeyPair { .. },
|
messages::substrate::CoordinatorMessage::ConfirmKeyPair { .. },
|
||||||
@@ -50,20 +61,6 @@ pub async fn key_gen<C: Ciphersuite>(
|
|||||||
}
|
}
|
||||||
_ => panic!("unexpected message: {msg:?}"),
|
_ => panic!("unexpected message: {msg:?}"),
|
||||||
}
|
}
|
||||||
|
|
||||||
assert_eq!(
|
|
||||||
msg,
|
|
||||||
CoordinatorMessage::KeyGen(messages::key_gen::CoordinatorMessage::GenerateKey {
|
|
||||||
id,
|
|
||||||
params: ThresholdParams::new(
|
|
||||||
u16::try_from(((coordinators * 2) / 3) + 1).unwrap(),
|
|
||||||
u16::try_from(coordinators).unwrap(),
|
|
||||||
participant_is[i],
|
|
||||||
)
|
|
||||||
.unwrap(),
|
|
||||||
shares: 1,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
processor
|
processor
|
||||||
@@ -193,14 +190,14 @@ pub async fn key_gen<C: Ciphersuite>(
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.as_secs()
|
.as_secs()
|
||||||
.abs_diff(context.serai_time) <
|
.abs_diff(context.serai_time) <
|
||||||
(60 * 60 * 3) // 3hrs
|
(60 * 60 * 3) // 3 hours, which should exceed the length of any test we run
|
||||||
);
|
);
|
||||||
assert_eq!(context.network_latest_finalized_block.0, [0; 32]);
|
assert_eq!(context.network_latest_finalized_block.0, [0; 32]);
|
||||||
assert_eq!(set.session, session);
|
assert_eq!(set.session, session);
|
||||||
assert_eq!(key_pair.0 .0, substrate_key);
|
assert_eq!(key_pair.0 .0, substrate_key);
|
||||||
assert_eq!(&key_pair.1, &network_key);
|
assert_eq!(&key_pair.1, &network_key);
|
||||||
}
|
}
|
||||||
_ => panic!("coordinator didn't respond with ConfirmKeyPair msg: {msg:?}"),
|
_ => panic!("coordinator didn't respond with ConfirmKeyPair. msg: {msg:?}"),
|
||||||
}
|
}
|
||||||
message = Some(msg);
|
message = Some(msg);
|
||||||
} else {
|
} else {
|
||||||
@@ -233,7 +230,7 @@ pub async fn key_gen<C: Ciphersuite>(
|
|||||||
async fn key_gen_test() {
|
async fn key_gen_test() {
|
||||||
new_test(
|
new_test(
|
||||||
|mut processors: Vec<Processor>| async move {
|
|mut processors: Vec<Processor>| async move {
|
||||||
// pop the last participant since genesis keygen has only 4 participant.
|
// pop the last participant since genesis keygen has only 4 participants
|
||||||
processors.pop().unwrap();
|
processors.pop().unwrap();
|
||||||
assert_eq!(processors.len(), COORDINATORS);
|
assert_eq!(processors.len(), COORDINATORS);
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,9 @@ pub(crate) async fn new_test(test_body: impl TestBody, fast_epoch: bool) {
|
|||||||
let mut coordinators = vec![];
|
let mut coordinators = vec![];
|
||||||
let mut test = DockerTest::new().with_network(dockertest::Network::Isolated);
|
let mut test = DockerTest::new().with_network(dockertest::Network::Isolated);
|
||||||
let mut coordinator_compositions = vec![];
|
let mut coordinator_compositions = vec![];
|
||||||
for i in 0 .. 5 {
|
// Spawn one extra coordinator which isn't in-set
|
||||||
|
#[allow(clippy::range_plus_one)]
|
||||||
|
for i in 0 .. (COORDINATORS + 1) {
|
||||||
let name = match i {
|
let name = match i {
|
||||||
0 => "Alice",
|
0 => "Alice",
|
||||||
1 => "Bob",
|
1 => "Bob",
|
||||||
|
|||||||
Reference in New Issue
Block a user