hscrypto: Use derive_more, and derive Deref for public keys.
This commit is contained in:
parent
fe6575ef98
commit
386de7587e
|
@ -3903,6 +3903,7 @@ dependencies = [
|
||||||
name = "tor-hscrypto"
|
name = "tor-hscrypto"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"derive_more",
|
||||||
"digest 0.10.6",
|
"digest 0.10.6",
|
||||||
"hex-literal",
|
"hex-literal",
|
||||||
"humantime 2.1.0",
|
"humantime 2.1.0",
|
||||||
|
|
|
@ -15,6 +15,7 @@ repository = "https://gitlab.torproject.org/tpo/core/arti.git/"
|
||||||
default = []
|
default = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
derive_more = "0.99.3"
|
||||||
digest = "0.10.0"
|
digest = "0.10.0"
|
||||||
paste = "1"
|
paste = "1"
|
||||||
rand_core = "0.6.2"
|
rand_core = "0.6.2"
|
||||||
|
|
|
@ -10,44 +10,14 @@ macro_rules! define_pk_keypair {
|
||||||
} => {
|
} => {
|
||||||
paste::paste!{
|
paste::paste!{
|
||||||
$(#[$meta])*
|
$(#[$meta])*
|
||||||
#[derive(Clone,Debug)]
|
#[derive(Clone,Debug,derive_more::From,derive_more::Deref,derive_more::Into,derive_more::AsRef)]
|
||||||
pub struct $pk ($pkt);
|
pub struct $pk ($pkt);
|
||||||
|
|
||||||
impl AsRef<$pkt> for $pk {
|
|
||||||
fn as_ref(&self) -> &$pkt {
|
|
||||||
&self.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
impl From<$pkt> for $pk {
|
|
||||||
fn from(inp: $pkt) -> Self {
|
|
||||||
Self(inp)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
impl From<$pk> for $pkt {
|
|
||||||
fn from(inp: $pk) -> Self {
|
|
||||||
inp.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[doc = concat!("The private counterpart of a [`", stringify!($pk), "Key'].")]
|
#[doc = concat!("The private counterpart of a [`", stringify!($pk), "Key'].")]
|
||||||
$(#[$sk_meta])*
|
$(#[$sk_meta])*
|
||||||
|
#[derive(derive_more::From,derive_more::Into,derive_more::AsRef)]
|
||||||
pub struct $sk ($skt);
|
pub struct $sk ($skt);
|
||||||
|
|
||||||
impl AsRef<$skt> for $sk {
|
|
||||||
fn as_ref(&self) -> &$skt {
|
|
||||||
&self.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
impl From<$skt> for $sk {
|
|
||||||
fn from(inp: $skt) -> Self {
|
|
||||||
Self(inp)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
impl From<$sk> for $skt {
|
|
||||||
fn from(inp: $sk) -> $skt {
|
|
||||||
inp.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
impl std::fmt::Debug for $sk
|
impl std::fmt::Debug for $sk
|
||||||
{
|
{
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
|
Loading…
Reference in New Issue