zera-sdk 0.1.0

Rust SDK for ZERA transactions, validator APIs, and bridge workflows
Documentation
pub(crate) fn is_valid_contract_id(contract_id: &str) -> bool {
    if contract_id.is_empty() || !contract_id.starts_with('$') {
        return false;
    }

    let Some((symbolish, digits)) = contract_id[1..].rsplit_once('+') else {
        return false;
    };

    if symbolish.contains('-') {
        !symbolish.starts_with('-')
            && !symbolish.ends_with('-')
            && digits.len() == 6
            && digits.chars().all(|c| c.is_ascii_digit())
    } else {
        !symbolish.is_empty()
            && symbolish.chars().all(|c| c.is_ascii_alphabetic())
            && digits.len() == 4
            && digits.chars().all(|c| c.is_ascii_digit())
    }
}