103 lines
3.0 KiB
Rust
103 lines
3.0 KiB
Rust
#![cfg(feature = "serialization")]
|
|
|
|
mod helpers;
|
|
|
|
use frost_secp256k1::{
|
|
keys::{
|
|
dkg::{round1, round2},
|
|
KeyPackage, PublicKeyPackage, SecretShare,
|
|
},
|
|
round1::{SigningCommitments, SigningNonces},
|
|
round2::SignatureShare,
|
|
SigningPackage,
|
|
};
|
|
|
|
use helpers::samples;
|
|
use insta::assert_snapshot;
|
|
|
|
#[test]
|
|
fn check_signing_nonces_postcard_serialization() {
|
|
let nonces = samples::signing_nonces();
|
|
let bytes: Vec<_> = nonces.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(nonces, SigningNonces::deserialize(&bytes).unwrap());
|
|
}
|
|
|
|
#[test]
|
|
fn check_signing_commitments_postcard_serialization() {
|
|
let commitments = samples::signing_commitments();
|
|
let bytes: Vec<_> = commitments.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(
|
|
commitments,
|
|
SigningCommitments::deserialize(&bytes).unwrap()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn check_signing_package_postcard_serialization() {
|
|
let signing_package = samples::signing_package();
|
|
let bytes: Vec<_> = signing_package.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(
|
|
signing_package,
|
|
SigningPackage::deserialize(&bytes).unwrap()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn check_signature_share_postcard_serialization() {
|
|
let signature_share = samples::signature_share();
|
|
let bytes = signature_share.serialize();
|
|
assert_snapshot!(hex::encode(bytes));
|
|
assert_eq!(signature_share, SignatureShare::deserialize(bytes).unwrap());
|
|
}
|
|
#[test]
|
|
fn check_secret_share_postcard_serialization() {
|
|
let secret_share = samples::secret_share();
|
|
let bytes: Vec<_> = secret_share.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(secret_share, SecretShare::deserialize(&bytes).unwrap());
|
|
}
|
|
|
|
#[test]
|
|
fn check_key_package_postcard_serialization() {
|
|
let key_package = samples::key_package();
|
|
let bytes: Vec<_> = key_package.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(key_package, KeyPackage::deserialize(&bytes).unwrap());
|
|
}
|
|
|
|
#[test]
|
|
fn check_public_key_package_postcard_serialization() {
|
|
let public_key_package = samples::public_key_package();
|
|
let bytes: Vec<_> = public_key_package.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(
|
|
public_key_package,
|
|
PublicKeyPackage::deserialize(&bytes).unwrap()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn check_round1_package_postcard_serialization() {
|
|
let round1_package = samples::round1_package();
|
|
let bytes: Vec<_> = round1_package.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(
|
|
round1_package,
|
|
round1::Package::deserialize(&bytes).unwrap()
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn check_round2_package_postcard_serialization() {
|
|
let round2_package = samples::round2_package();
|
|
let bytes: Vec<_> = round2_package.serialize().unwrap();
|
|
assert_snapshot!(hex::encode(&bytes));
|
|
assert_eq!(
|
|
round2_package,
|
|
round2::Package::deserialize(&bytes).unwrap()
|
|
);
|
|
}
|