Skip to content

Commit 546b1a1

Browse files
authored
Merge pull request #2602 from input-output-hk/curiecrypt/rename-stm-structs
Enhance STM library readability - Rename Structs
2 parents 772e6c3 + 9a12a33 commit 546b1a1

34 files changed

+640
-580
lines changed

demo/protocol-demo/src/types.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,29 @@ type D = Blake2b<U32>;
1111
/// The id of a mithril party.
1212
pub type ProtocolPartyId = String;
1313

14-
/// Alias of [MithrilStm:Stake](type@mithril_stm::stm::Stake).
14+
/// Alias of [MithrilStm:Stake](type@mithril_stm::Stake).
1515
pub type ProtocolStake = Stake;
1616

17-
/// Alias of [MithrilStm::StmParameters](struct@mithril_stm::stm::StmParameters).
17+
/// Alias of [MithrilStm::StmParameters](struct@mithril_stm::StmParameters).
1818
pub type ProtocolParameters = StmParameters;
1919

20-
/// Alias of [MithrilStm:StmSigner](struct@mithril_stm::stm::StmSigner).
20+
/// Alias of [MithrilStm:StmSigner](struct@mithril_stm::StmSigner).
2121
pub type ProtocolSigner = StmSigner<D>;
2222

23-
/// Alias of [MithrilStm:StmClerk](struct@mithril_stm::stm::StmClerk).
23+
/// Alias of [MithrilStm:StmClerk](struct@mithril_stm::StmClerk).
2424
pub type ProtocolClerk = StmClerk<D>;
2525

26-
/// Alias of [MithrilStm:StmInitializer](struct@mithril_stm::stm::StmInitializer).
26+
/// Alias of [MithrilStm:StmInitializer](struct@mithril_stm::StmInitializer).
2727
pub type ProtocolInitializerNotCertified = StmInitializer;
2828

29-
/// Alias of [MithrilStm:KeyReg](struct@mithril_stm::key_reg::KeyReg). (Test only)
29+
/// Alias of [MithrilStm:KeyReg](struct@mithril_stm::KeyReg). (Test only)
3030
pub type ProtocolKeyRegistrationNotCertified = KeyReg;
3131

32-
/// Alias of [MithrilStm:StmSig](struct@mithril_stm::stm::StmSig).
32+
/// Alias of [MithrilStm:StmSig](struct@mithril_stm::StmSig).
3333
pub type ProtocolSingleSignature = StmSig;
3434

35-
/// Alias of [MithrilStm:StmAggrSig](struct@mithril_stm::stm::StmAggrSig).
35+
/// Alias of [MithrilStm:StmAggrSig](struct@mithril_stm::StmAggrSig).
3636
pub type ProtocolMultiSignature = StmAggrSig<D>;
3737

38-
/// Alias of [MithrilStm:StmVerificationKeyPoP](type@mithril_stm::stm::StmVerificationKeyPoP).
38+
/// Alias of [MithrilStm:StmVerificationKeyPoP](type@mithril_stm::StmVerificationKeyPoP).
3939
pub type ProtocolSignerVerificationKey = StmVerificationKeyPoP;

mithril-stm/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 0.4.6 (27-06-2025)
9+
10+
### Changed
11+
12+
- Struct names are changed.
13+
814
## 0.4.5 (23-06-2025)
915

1016
### Changed

mithril-stm/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ use rand_chacha::ChaCha20Rng;
6767
use rand_core::{RngCore, SeedableRng};
6868
use rayon::prelude::*;
6969

70-
use mithril_stm::{StmClerk, StmParameters, StmSig, KeyReg, StmInitializer, StmSigner, AggregationError};
70+
use mithril_stm::{StmClerk, Parameters, SingleSignature, KeyRegistration, Initializer, Signer, AggregationError};
7171

7272
type H = Blake2b<U32>;
7373

@@ -81,7 +81,7 @@ fn main() {
8181
// initialization phase //
8282
//////////////////////////
8383

84-
let params = StmParameters {
84+
let params = Parameters {
8585
k: 357,
8686
m: 2642,
8787
phi_f: 0.2,
@@ -92,11 +92,11 @@ fn main() {
9292
.map(|_| 1 + (rng.next_u64() % 9999))
9393
.collect::<Vec<_>>();
9494

95-
let mut key_reg = KeyReg::init();
95+
let mut key_reg = KeyRegistration::init();
9696

97-
let mut ps: Vec<StmInitializer> = Vec::with_capacity(nparties as usize);
97+
let mut ps: Vec<Initializer> = Vec::with_capacity(nparties as usize);
9898
for stake in parties {
99-
let p = StmInitializer::setup(params, stake, &mut rng);
99+
let p = Initializer::setup(params, stake, &mut rng);
100100
key_reg.register(stake, p.verification_key()).unwrap();
101101
ps.push(p);
102102
}
@@ -106,7 +106,7 @@ fn main() {
106106
let ps = ps
107107
.into_par_iter()
108108
.map(|p| p.new_signer(closed_reg.clone()).unwrap())
109-
.collect::<Vec<StmSigner<H>>>();
109+
.collect::<Vec<Signer<H>>>();
110110

111111
/////////////////////
112112
// operation phase //
@@ -115,7 +115,7 @@ fn main() {
115115
let sigs = ps
116116
.par_iter()
117117
.filter_map(|p| p.sign(&msg))
118-
.collect::<Vec<StmSig>>();
118+
.collect::<Vec<SingleSignature>>();
119119

120120
let clerk = StmClerk::from_signer(&ps[0]);
121121
let avk = clerk.compute_avk();

mithril-stm/benches/multi_sig.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use blake2::{digest::consts::U64, Blake2b, Digest};
22
use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
3-
use mithril_stm::{Signature, SigningKey, VerificationKey};
3+
use mithril_stm::{BlsSignature, BlsSigningKey, BlsVerificationKey};
44
use rand_chacha::ChaCha20Rng;
55
use rand_core::{RngCore, SeedableRng};
66

@@ -20,21 +20,21 @@ fn batch_benches(c: &mut Criterion, array_batches: &[usize], nr_sigs: usize) {
2020
let mut mvks = Vec::new();
2121
let mut sigs = Vec::new();
2222
for _ in 0..nr_sigs {
23-
let sk = SigningKey::generate(&mut rng);
24-
let vk = VerificationKey::from(&sk);
23+
let sk = BlsSigningKey::generate(&mut rng);
24+
let vk = BlsVerificationKey::from(&sk);
2525
let sig = sk.sign(&msg);
2626
sigs.push(sig);
2727
mvks.push(vk);
2828
}
29-
let (agg_vk, agg_sig) = Signature::aggregate(&mvks, &sigs).unwrap();
29+
let (agg_vk, agg_sig) = BlsSignature::aggregate(&mvks, &sigs).unwrap();
3030
batch_msgs.push(msg.to_vec());
3131
batch_vk.push(agg_vk);
3232
batch_sig.push(agg_sig);
3333
}
3434

3535
group.bench_function(BenchmarkId::new("Batch Verification", batch_string), |b| {
3636
b.iter(|| {
37-
Signature::batch_verify_aggregates(&batch_msgs, &batch_vk, &batch_sig).is_ok()
37+
BlsSignature::batch_verify_aggregates(&batch_msgs, &batch_vk, &batch_sig).is_ok()
3838
})
3939
});
4040
}
@@ -49,8 +49,8 @@ fn aggregate_and_verify(c: &mut Criterion, nr_sigs: usize) {
4949
let mut mvks = Vec::new();
5050
let mut sigs = Vec::new();
5151
for _ in 0..nr_sigs {
52-
let sk = SigningKey::generate(&mut rng);
53-
let vk = VerificationKey::from(&sk);
52+
let sk = BlsSigningKey::generate(&mut rng);
53+
let vk = BlsVerificationKey::from(&sk);
5454
let sig = sk.sign(&msg);
5555
sigs.push(sig);
5656
mvks.push(vk);
@@ -71,7 +71,7 @@ fn aggregate_and_verify(c: &mut Criterion, nr_sigs: usize) {
7171
hasher.update(sig.to_bytes());
7272
hasher.finalize();
7373
}
74-
let (agg_vk, agg_sig) = Signature::aggregate(&mvks, &sigs).unwrap();
74+
let (agg_vk, agg_sig) = BlsSignature::aggregate(&mvks, &sigs).unwrap();
7575
assert!(agg_sig.verify(&msg, &agg_vk).is_ok())
7676
})
7777
});

mithril-stm/benches/size_benches.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use blake2::{
44
Blake2b, Digest,
55
};
66
use mithril_stm::{
7-
CoreVerifier, KeyReg, Stake, StmClerk, StmInitializer, StmParameters, StmSig, StmSigRegParty,
8-
StmSigner, StmVerificationKey,
7+
BasicVerifier, Clerk, Initializer, KeyRegistration, Parameters, Signer, SingleSignature,
8+
SingleSignatureWithRegisteredParty, Stake, VerificationKey,
99
};
1010
use rand_chacha::ChaCha20Rng;
1111
use rand_core::{RngCore, SeedableRng};
@@ -27,12 +27,12 @@ where
2727
.map(|_| 1 + (rng.next_u64() % 9999))
2828
.collect::<Vec<_>>();
2929

30-
let mut ps: Vec<StmInitializer> = Vec::with_capacity(nparties);
31-
let params = StmParameters { k, m, phi_f: 0.2 };
30+
let mut ps: Vec<Initializer> = Vec::with_capacity(nparties);
31+
let params = Parameters { k, m, phi_f: 0.2 };
3232

33-
let mut key_reg = KeyReg::init();
33+
let mut key_reg = KeyRegistration::init();
3434
for stake in parties {
35-
let p = StmInitializer::setup(params, stake, &mut rng);
35+
let p = Initializer::setup(params, stake, &mut rng);
3636
key_reg.register(stake, p.verification_key()).unwrap();
3737
ps.push(p);
3838
}
@@ -42,13 +42,13 @@ where
4242
let ps = ps
4343
.into_par_iter()
4444
.map(|p| p.new_signer(closed_reg.clone()).unwrap())
45-
.collect::<Vec<StmSigner<H>>>();
45+
.collect::<Vec<Signer<H>>>();
4646

4747
let sigs = ps
4848
.par_iter()
4949
.filter_map(|p| p.sign(&msg))
50-
.collect::<Vec<StmSig>>();
51-
let clerk = StmClerk::from_signer(&ps[0]);
50+
.collect::<Vec<SingleSignature>>();
51+
let clerk = Clerk::from_signer(&ps[0]);
5252

5353
// Aggregate with random parties
5454
let aggr = clerk.aggregate(&sigs, &msg).unwrap();
@@ -70,29 +70,29 @@ where
7070
let mut msg = [0u8; 16];
7171
rng.fill_bytes(&mut msg);
7272

73-
let mut public_signers: Vec<(StmVerificationKey, Stake)> = Vec::with_capacity(nparties);
74-
let mut initializers: Vec<StmInitializer> = Vec::with_capacity(nparties);
73+
let mut public_signers: Vec<(VerificationKey, Stake)> = Vec::with_capacity(nparties);
74+
let mut initializers: Vec<Initializer> = Vec::with_capacity(nparties);
7575

7676
let parties = (0..nparties)
7777
.map(|_| 1 + (rng.next_u64() % 9999))
7878
.collect::<Vec<_>>();
7979

80-
let params = StmParameters { k, m, phi_f: 0.2 };
80+
let params = Parameters { k, m, phi_f: 0.2 };
8181

8282
for stake in parties {
83-
let initializer = StmInitializer::setup(params, stake, &mut rng);
83+
let initializer = Initializer::setup(params, stake, &mut rng);
8484
initializers.push(initializer.clone());
8585
public_signers.push((initializer.verification_key().vk, initializer.stake));
8686
}
8787

88-
let core_verifier = CoreVerifier::setup(&public_signers);
88+
let core_verifier = BasicVerifier::setup(&public_signers);
8989

90-
let signers: Vec<StmSigner<H>> = initializers
90+
let signers: Vec<Signer<H>> = initializers
9191
.into_iter()
9292
.filter_map(|s| s.new_core_signer(&core_verifier.eligible_parties))
9393
.collect();
9494

95-
let mut signatures: Vec<StmSig> = Vec::with_capacity(nparties);
95+
let mut signatures: Vec<SingleSignature> = Vec::with_capacity(nparties);
9696
for s in signers {
9797
if let Some(sig) = s.core_sign(&msg, core_verifier.total_stake) {
9898
signatures.push(sig);
@@ -101,13 +101,13 @@ where
101101

102102
let sig_reg_list = signatures
103103
.iter()
104-
.map(|sig| StmSigRegParty {
104+
.map(|sig| SingleSignatureWithRegisteredParty {
105105
sig: sig.clone(),
106106
reg_party: core_verifier.eligible_parties[sig.signer_index as usize],
107107
})
108-
.collect::<Vec<StmSigRegParty>>();
108+
.collect::<Vec<SingleSignatureWithRegisteredParty>>();
109109

110-
let dedup_sigs = CoreVerifier::dedup_sigs_for_indices(
110+
let dedup_sigs = BasicVerifier::dedup_sigs_for_indices(
111111
&core_verifier.total_stake,
112112
&params,
113113
&msg,

0 commit comments

Comments
 (0)