Skip to content

Commit

Permalink
test(crypto): CRP-1452 extend IDKG test infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
altkdf committed Jan 29, 2024
1 parent 5e94025 commit 09f53f4
Show file tree
Hide file tree
Showing 9 changed files with 764 additions and 573 deletions.
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions rs/consensus/src/ecdsa/pre_signer.rs
Expand Up @@ -1339,7 +1339,7 @@ mod tests {
use crate::ecdsa::test_utils::*;
use assert_matches::assert_matches;
use ic_crypto_test_utils_canister_threshold_sigs::{
CanisterThresholdSigTestEnvironment, IDkgParticipants,
setup_masked_random_params, CanisterThresholdSigTestEnvironment, IDkgParticipants,
};
use ic_crypto_test_utils_reproducible_rng::reproducible_rng;
use ic_interfaces::p2p::consensus::{MutablePool, UnvalidatedArtifact};
Expand Down Expand Up @@ -2567,10 +2567,11 @@ mod tests {
&IDkgParticipants::AllNodesAsDealersAndReceivers,
&mut rng,
);
let params = env.params_for_random_sharing(
let params = setup_masked_random_params(
&env,
AlgorithmId::ThresholdEcdsaSecp256k1,
&dealers,
&receivers,
AlgorithmId::ThresholdEcdsaSecp256k1,
&mut rng,
);
let tid = params.transcript_id();
Expand Down
13 changes: 8 additions & 5 deletions rs/consensus/src/ecdsa/test_utils.rs
Expand Up @@ -10,7 +10,8 @@ use ic_consensus_utils::crypto::ConsensusCrypto;
use ic_crypto_temp_crypto::TempCryptoComponent;
use ic_crypto_test_utils_canister_threshold_sigs::dummy_values::dummy_idkg_dealing_for_tests;
use ic_crypto_test_utils_canister_threshold_sigs::{
generate_key_transcript, CanisterThresholdSigTestEnvironment, IDkgParticipants, IntoBuilder,
generate_key_transcript, setup_masked_random_params, CanisterThresholdSigTestEnvironment,
IDkgParticipants, IntoBuilder,
};
use ic_crypto_test_utils_reproducible_rng::ReproducibleRng;
use ic_ic00_types::EcdsaKeyId;
Expand Down Expand Up @@ -742,10 +743,11 @@ pub(crate) fn create_valid_transcript<R: Rng + CryptoRng>(
) -> (NodeId, IDkgTranscriptParams, IDkgTranscript) {
let (dealers, receivers) =
env.choose_dealers_and_receivers(&IDkgParticipants::AllNodesAsDealersAndReceivers, rng);
let params = env.params_for_random_sharing(
let params = setup_masked_random_params(
env,
AlgorithmId::ThresholdEcdsaSecp256k1,
&dealers,
&receivers,
AlgorithmId::ThresholdEcdsaSecp256k1,
rng,
);
let dealings = env.nodes.create_and_verify_signed_dealings(&params);
Expand Down Expand Up @@ -829,10 +831,11 @@ pub(crate) fn create_dealing_with_payload<R: Rng + CryptoRng>(
let env = CanisterThresholdSigTestEnvironment::new(2, rng);
let (dealers, receivers) =
env.choose_dealers_and_receivers(&IDkgParticipants::AllNodesAsDealersAndReceivers, rng);
let params = env.params_for_random_sharing(
let params = setup_masked_random_params(
&env,
AlgorithmId::ThresholdEcdsaSecp256k1,
&dealers,
&receivers,
AlgorithmId::ThresholdEcdsaSecp256k1,
rng,
);
let dealer = env.nodes.dealers(&params).next().unwrap();
Expand Down
456 changes: 125 additions & 331 deletions rs/crypto/benches/idkg.rs

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions rs/crypto/test_utils/canister_threshold_sigs/BUILD.bazel
Expand Up @@ -6,6 +6,9 @@ rust_library(
name = "canister_threshold_sigs",
srcs = glob(["src/**"]),
crate_name = "ic_crypto_test_utils_canister_threshold_sigs",
proc_macro_deps = [
"@crate_index//:strum_macros",
],
version = "0.9.0",
deps = [
"//rs/crypto/internal/crypto_lib/threshold_sig/tecdsa",
Expand All @@ -20,6 +23,7 @@ rust_library(
"//rs/types/types",
"@crate_index//:rand",
"@crate_index//:rand_chacha",
"@crate_index//:strum",
],
)

Expand Down
2 changes: 2 additions & 0 deletions rs/crypto/test_utils/canister_threshold_sigs/Cargo.toml
Expand Up @@ -19,3 +19,5 @@ ic-test-utilities-in-memory-logger = { path = "../../../test_utilities/in_memory
ic-types = { path = "../../../types/types" }
rand = "0.8"
rand_chacha = "0.3"
strum = { workspace = true }
strum_macros = { workspace = true }

0 comments on commit 09f53f4

Please sign in to comment.