dpns_contract/
lib.rs

1mod error;
2pub mod v1;
3
4pub use crate::error::Error;
5use platform_value::{Identifier, IdentifierBytes32};
6use platform_version::version::PlatformVersion;
7use serde_json::Value;
8
9pub const ID_BYTES: [u8; 32] = [
10    230, 104, 198, 89, 175, 102, 174, 225, 231, 44, 24, 109, 222, 123, 91, 126, 10, 29, 113, 42, 9,
11    196, 13, 87, 33, 246, 34, 191, 83, 197, 49, 85,
12];
13
14pub const OWNER_ID_BYTES: [u8; 32] = [0; 32];
15
16pub const DPNS_DASH_TLD_DOCUMENT_ID: [u8; 32] = [
17    215, 242, 197, 63, 70, 169, 23, 171, 110, 91, 57, 162, 215, 188, 38, 11, 100, 146, 137, 69, 55,
18    68, 209, 224, 212, 242, 106, 141, 142, 255, 55, 207,
19];
20
21pub const DPNS_DASH_TLD_PREORDER_SALT: [u8; 32] = [
22    224, 181, 8, 197, 163, 104, 37, 162, 6, 105, 58, 31, 65, 74, 161, 62, 219, 236, 244, 60, 65,
23    227, 199, 153, 234, 158, 115, 123, 79, 154, 162, 38,
24];
25
26pub const ID: Identifier = Identifier(IdentifierBytes32(ID_BYTES));
27pub const OWNER_ID: Identifier = Identifier(IdentifierBytes32(OWNER_ID_BYTES));
28pub fn load_definitions(platform_version: &PlatformVersion) -> Result<Option<Value>, Error> {
29    match platform_version.system_data_contracts.withdrawals {
30        1 => Ok(None),
31        version => Err(Error::UnknownVersionMismatch {
32            method: "dpns_contract::load_definitions".to_string(),
33            known_versions: vec![1],
34            received: version,
35        }),
36    }
37}
38pub fn load_documents_schemas(platform_version: &PlatformVersion) -> Result<Value, Error> {
39    match platform_version.system_data_contracts.withdrawals {
40        1 => v1::load_documents_schemas(),
41        version => Err(Error::UnknownVersionMismatch {
42            method: "dpns_contract::load_documents_schemas".to_string(),
43            known_versions: vec![1],
44            received: version,
45        }),
46    }
47}