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
27
28
29
30
pub mod sodiumoxide;
use self::sodiumoxide::{SodiumOxideAsymmetricNonce, SodiumOxideSymmetricNonce};
use serde::{Deserialize, Serialize};
pub trait HasNonce {
fn nonce(&self) -> Nonce;
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub enum Nonce {
Symmetric(SymmetricNonce),
Asymmetric(AsymmetricNonce),
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub enum SymmetricNonce {
SodiumOxide(SodiumOxideSymmetricNonce),
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub enum AsymmetricNonce {
SodiumOxide(SodiumOxideAsymmetricNonce),
}