zera-sdk 0.1.0

Rust SDK for ZERA transactions, validator APIs, and bridge workflows
Documentation
pub const API_SERVICE: &str = "zera_api.APIService";
pub const TXN_SERVICE: &str = "zera_txn.TXNService";
pub const VALIDATOR_SERVICE: &str = "zera_validator.ValidatorService";
pub const GUARDIAN_SERVICE: &str = "zera_guardian.GuardianService";

pub const API_PREFIX: &str = "/api";
pub const TXN_PREFIX: &str = "/txn";
pub const VALIDATOR_PREFIX: &str = "/validator";
pub const GUARDIAN_PREFIX: &str = "/guardian";

pub fn rewrite_service_path(service_name: &str, method_name: &str) -> Option<String> {
    let prefix = match service_name {
        API_SERVICE => API_PREFIX,
        TXN_SERVICE => TXN_PREFIX,
        VALIDATOR_SERVICE => VALIDATOR_PREFIX,
        GUARDIAN_SERVICE => GUARDIAN_PREFIX,
        _ => return None,
    };

    Some(format!("{prefix}/{method_name}"))
}

pub fn api_path(method_name: &str) -> String {
    format!("{API_PREFIX}/{method_name}")
}

pub fn txn_path(method_name: &str) -> String {
    format!("{TXN_PREFIX}/{method_name}")
}

pub fn guardian_path(method_name: &str) -> String {
    format!("{GUARDIAN_PREFIX}/{method_name}")
}