diff --git a/radicle/src/identity/did.rs b/radicle/src/identity/did.rs index d01078f3..b24f251c 100644 --- a/radicle/src/identity/did.rs +++ b/radicle/src/identity/did.rs @@ -46,12 +46,26 @@ impl From for Did { } } +impl From for crypto::PublicKey { + fn from(Did(key): Did) -> Self { + key + } +} + impl From for String { fn from(other: Did) -> Self { other.encode() } } +impl FromStr for Did { + type Err = DidError; + + fn from_str(s: &str) -> Result { + Self::decode(s) + } +} + impl TryFrom for Did { type Error = DidError;