Implement Display trait for ChainId and DidPkh
This commit is contained in:
parent
241351c2bf
commit
3f3518001d
2 changed files with 13 additions and 10 deletions
|
@ -1,5 +1,6 @@
|
|||
/// https://github.com/w3c-ccg/did-pkh/blob/main/did-pkh-method-draft.md
|
||||
use std::convert::TryInto;
|
||||
use std::fmt;
|
||||
use std::str::FromStr;
|
||||
|
||||
use regex::Regex;
|
||||
|
@ -8,6 +9,9 @@ use crate::utils::caip2::ChainId;
|
|||
use crate::utils::currencies::Currency;
|
||||
use super::did::DidParseError;
|
||||
|
||||
// https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-10.md#syntax
|
||||
const DID_PKH_RE: &str = r"did:pkh:(?P<network>[-a-z0-9]{3,8}):(?P<chain>[-a-zA-Z0-9]{1,32}):(?P<address>[a-zA-Z0-9]{1,64})";
|
||||
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
pub struct DidPkh {
|
||||
pub chain_id: ChainId,
|
||||
|
@ -29,20 +33,18 @@ impl DidPkh {
|
|||
}
|
||||
}
|
||||
|
||||
impl ToString for DidPkh {
|
||||
fn to_string(&self) -> String {
|
||||
format!(
|
||||
impl fmt::Display for DidPkh {
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
let did_str = format!(
|
||||
"did:pkh:{}:{}:{}",
|
||||
self.chain_id.namespace,
|
||||
self.chain_id.reference,
|
||||
self.address,
|
||||
)
|
||||
);
|
||||
write!(formatter, "{}", did_str)
|
||||
}
|
||||
}
|
||||
|
||||
// https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-10.md#syntax
|
||||
const DID_PKH_RE: &str = r"did:pkh:(?P<network>[-a-z0-9]{3,8}):(?P<chain>[-a-zA-Z0-9]{1,32}):(?P<address>[a-zA-Z0-9]{1,64})";
|
||||
|
||||
impl FromStr for DidPkh {
|
||||
type Err = DidParseError;
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/// https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-2.md
|
||||
use std::fmt;
|
||||
use std::str::FromStr;
|
||||
|
||||
use regex::Regex;
|
||||
|
@ -59,9 +60,9 @@ impl FromStr for ChainId {
|
|||
}
|
||||
}
|
||||
|
||||
impl ToString for ChainId {
|
||||
fn to_string(&self) -> String {
|
||||
format!("{}:{}", self.namespace, self.reference)
|
||||
impl fmt::Display for ChainId {
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(formatter, "{}:{}", self.namespace, self.reference)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue