1use std::time::{SystemTime, UNIX_EPOCH};
2
3static DA_UNIX_EPOCH: u128 = 170141184475152167957503069145530368000;
5static DA_SECOND: u128 = 18446744073709551616;
7
8pub fn unix_time_to_da(unix_time: u64) -> u128 {
10 let time_since_epoch = (unix_time as u128 * DA_SECOND) / 1000;
11 DA_UNIX_EPOCH + time_since_epoch
12}
13
14pub fn get_current_time() -> u64 {
16 SystemTime::now()
17 .duration_since(UNIX_EPOCH)
18 .unwrap()
19 .as_millis() as u64
20}
21
22pub fn get_current_da_time() -> u128 {
24 let unix_time = get_current_time();
25 unix_time_to_da(unix_time)
26}
27
28pub fn index_dec_to_ud(index: &str) -> String {
31 let index_split: Vec<&str> = index.split("/").collect();
33 let mut udindex = String::new();
34 for i in 0..index_split.len() {
36 if index_split[i].len() > 0 {
37 let mut rev: String = index_split[i].chars().rev().collect();
38 let mut out = String::new();
39 while rev.len() >= 3 {
40 let chunk: String = rev.drain(..3).collect();
41 out += &chunk;
42 if rev.len() > 0 {
43 out += ".";
44 }
45 }
46 out += &rev;
47 let seg: String = out.chars().rev().collect();
48 udindex += &format!("/{}", &seg);
49 }
50 }
51 udindex
52}