Function to create AuthReq

This commit is contained in:
Bogdan-Ștefan Neacşu
2024-07-04 10:40:53 +00:00
parent 20ec049db5
commit 02b194bde0
3 changed files with 22 additions and 0 deletions
Generated
+1
View File
@@ -3992,6 +3992,7 @@ dependencies = [
"bincode",
"nym-sphinx",
"nym-wireguard-types",
"rand 0.8.5",
"serde",
]
+1
View File
@@ -10,6 +10,7 @@ license.workspace = true
[dependencies]
bincode = { workspace = true }
rand = "0.8.5"
serde = { workspace = true, features = ["derive"] }
nym-sphinx = { path = "../nymsphinx" }
@@ -7,6 +7,14 @@ use serde::{Deserialize, Serialize};
use crate::make_bincode_serializer;
use super::VERSION;
fn generate_random() -> u64 {
use rand::RngCore;
let mut rng = rand::rngs::OsRng;
rng.next_u64()
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct AuthenticatorRequest {
pub version: u8,
@@ -21,6 +29,18 @@ impl AuthenticatorRequest {
use bincode::Options;
make_bincode_serializer().deserialize(&message.message)
}
pub fn new_initial_request(init_message: InitMessage, reply_to: Recipient) -> (Self, u64) {
let request_id = generate_random();
(
Self {
version: VERSION,
data: AuthenticatorRequestData::Initial(init_message),
reply_to,
},
request_id,
)
}
}
#[derive(Clone, Debug, Serialize, Deserialize)]