Skip to main content

dpns_contract/v1/
mod.rs

1use crate::Error;
2use serde_json::Value;
3
4pub mod document_types {
5    pub mod domain {
6        pub const NAME: &str = "domain";
7
8        pub mod properties {
9            pub const LABEL: &str = "label";
10            pub const NORMALIZED_LABEL: &str = "normalizedLabel";
11            pub const PARENT_DOMAIN_NAME: &str = "parentDomainName";
12            pub const NORMALIZED_PARENT_DOMAIN_NAME: &str = "normalizedParentDomainName";
13            pub const PREORDER_SALT: &str = "preorderSalt";
14            pub const ALLOW_SUBDOMAINS: &str = "subdomainRules.allowSubdomains";
15            pub const RECORDS: &str = "records";
16            pub const IDENTITY: &str = "identity";
17            pub const DASH_UNIQUE_IDENTITY_ID: &str = "dashUniqueIdentityId";
18            pub const DASH_ALIAS_IDENTITY_ID: &str = "dashAliasIdentityId";
19        }
20    }
21}
22
23pub fn load_documents_schemas() -> Result<Value, Error> {
24    serde_json::from_str(include_str!("../../schema/v1/dpns-contract-documents.json"))
25        .map_err(Error::InvalidSchemaJson)
26}