Make GenKey functions mut
We hide the mutability to implement SecureRandom, but that's going away.
This commit is contained in:
@ -475,7 +475,7 @@ fn main() {
|
|||||||
|
|
||||||
let mut seed = [0u8; 32];
|
let mut seed = [0u8; 32];
|
||||||
seed.copy_from_slice(&id.public_key_bytes()[..32]);
|
seed.copy_from_slice(&id.public_key_bytes()[..32]);
|
||||||
let rnd = GenKeys::new(seed);
|
let mut rnd = GenKeys::new(seed);
|
||||||
|
|
||||||
println!("Creating {} keypairs...", tx_count / 2);
|
println!("Creating {} keypairs...", tx_count / 2);
|
||||||
let keypairs = rnd.gen_n_keypairs(tx_count / 2);
|
let keypairs = rnd.gen_n_keypairs(tx_count / 2);
|
||||||
|
@ -92,16 +92,16 @@ impl GenKeys {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn gen_keypair(&self) -> [u8; 85] {
|
fn gen_keypair(&mut self) -> [u8; 85] {
|
||||||
KeyPair::generate_pkcs8(self).unwrap()
|
KeyPair::generate_pkcs8(self).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn gen_n_seeds(&self, n: i64) -> Vec<[u8; 32]> {
|
fn gen_n_seeds(&mut self, n: i64) -> Vec<[u8; 32]> {
|
||||||
let mut rng = self.generator.borrow_mut();
|
let mut rng = self.generator.borrow_mut();
|
||||||
(0..n).map(|_| rng.gen()).collect()
|
(0..n).map(|_| rng.gen()).collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn gen_n_keypairs(&self, n: i64) -> Vec<KeyPair> {
|
pub fn gen_n_keypairs(&mut self, n: i64) -> Vec<KeyPair> {
|
||||||
self.gen_n_seeds(n)
|
self.gen_n_seeds(n)
|
||||||
.into_par_iter()
|
.into_par_iter()
|
||||||
.map(|seed| {
|
.map(|seed| {
|
||||||
@ -140,11 +140,11 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn test_new_key_is_deterministic() {
|
fn test_new_key_is_deterministic() {
|
||||||
let seed = [0u8; 32];
|
let seed = [0u8; 32];
|
||||||
let rng0 = GenKeys::new(seed);
|
let mut gen0 = GenKeys::new(seed);
|
||||||
let rng1 = GenKeys::new(seed);
|
let mut gen1 = GenKeys::new(seed);
|
||||||
|
|
||||||
for _ in 0..100 {
|
for _ in 0..100 {
|
||||||
assert_eq!(rng0.gen_keypair().to_vec(), rng1.gen_keypair().to_vec());
|
assert_eq!(gen0.gen_keypair().to_vec(), gen1.gen_keypair().to_vec());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user