feat: v0.1.1

This commit is contained in:
2025-01-23 00:13:00 +08:00
parent ebcf7b83d6
commit 84f66ae736
4 changed files with 138 additions and 32 deletions

View File

@@ -1,25 +1,35 @@
use rust_util::XResult;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Serialize, Deserialize)]
pub struct KeyMeta {
pub public_key_point_hex: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct KeyMap {
key_map: HashMap<String, String>,
pub key_map: HashMap<String, KeyMeta>,
}
impl KeyMap {
pub fn system() -> XResult<Self> {
pub fn system() -> Self {
let signing_keys = r##"
{
"yk-r1": "04dd3eebd906c9cf00b08ec29f7ed61804d1cc1d1352d9257b628191e08fc3717c4fae3298cd5c4829cec8bf3a946e7db60b7857e1287f6a0bae6b3f2342f007d0"
"yk-r1": {
"public_key_point_hex": "04dd3eebd906c9cf00b08ec29f7ed61804d1cc1d1352d9257b628191e08fc3717c4fae3298cd5c4829cec8bf3a946e7db60b7857e1287f6a0bae6b3f2342f007d0"
}
}
"##;
// unwrap should not happen
let key_map: HashMap<String, String> = serde_json::from_str(signing_keys).unwrap();
Ok(KeyMap { key_map })
let key_map: HashMap<String, KeyMeta> = serde_json::from_str(signing_keys).unwrap();
KeyMap { key_map }
}
pub fn find(&self, key_id: &str) -> Option<&String> {
pub fn from(key_map: HashMap<String, KeyMeta>) -> Self {
Self { key_map }
}
pub fn find(&self, key_id: &str) -> Option<&KeyMeta> {
self.key_map.get(key_id)
}
}