1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use crate::{AuthNoiseKeys, NoiseKeys, NoiseResult, PeerId, PeerKp};
pub trait PeerSpec {
fn id(&self) -> PeerId;
fn keypair(&self) -> PeerKp;
}
pub trait PeerWrapper: PeerSpec {
fn authenticate(&self, noise_keys: NoiseKeys) -> NoiseResult<AuthNoiseKeys> {
noise_keys.into_authentic(&self.keypair())
}
}
pub trait PeerWrapperExt: PeerWrapper {
fn generate_ed25519() -> PeerKp {
PeerKp::generate_ed25519()
}
fn generate_noise_keys() -> NoiseKeys {
NoiseKeys::new()
}
}