use super::key_pair::{
private_key::{ReceiverPrivateKey, SenderPrivateKey},
public_key::{ReceiverPublicKey, SenderPublicKey},
};
#[derive(Clone, Debug)]
pub struct SenderCombinedKey<'s, 'r> {
sender_private_key: &'s SenderPrivateKey,
receiver_public_key: &'r ReceiverPublicKey,
}
impl<'s, 'r> SenderCombinedKey<'s, 'r> {
pub fn new(
sender_private_key: &'s SenderPrivateKey,
receiver_public_key: &'r ReceiverPublicKey,
) -> Self {
Self {
sender_private_key,
receiver_public_key,
}
}
pub(crate) fn sender_private_key(&self) -> &SenderPrivateKey {
self.sender_private_key
}
pub(crate) fn receiver_public_key(&self) -> &ReceiverPublicKey {
self.receiver_public_key
}
}
#[derive(Clone, Debug)]
pub struct ReceiverCombinedKey<'s, 'r> {
sender_public_key: &'s SenderPublicKey,
receiver_private_key: &'r ReceiverPrivateKey,
}
impl<'s, 'r> ReceiverCombinedKey<'s, 'r> {
pub fn new(
sender_public_key: &'s SenderPublicKey,
receiver_private_key: &'r ReceiverPrivateKey,
) -> Self {
Self {
sender_public_key,
receiver_private_key,
}
}
pub(crate) fn receiver_private_key(&self) -> &ReceiverPrivateKey {
self.receiver_private_key
}
pub(crate) fn sender_public_key(&self) -> &SenderPublicKey {
self.sender_public_key
}
}