libmonero 0.1.9

Batteries-included Monero Library
Documentation
/*
 * This file is part of Monume's library libmonero
 *
 * Copyright (c) 2023-2024, Monume (monume.xyz)
 * All Rights Reserved
 * The code is distributed under MIT license, see LICENSE file for details.
 * Generated by Monume
 *
 */

//! # Utils
//! 
//! This module contains utility functions like address validation etc.

use regex::Regex;

/// Checks if the given address is valid, returns true if it is, false otherwise
/// 
/// Example:
/// ```
/// use libmonero::utils::is_valid_addr;
/// 
/// let result: bool = is_valid_addr("42XUaeqehJTfM1wpW5prsJiQYobDUQG5FfzVe47sYa8LZG3wPwybySuC6kwADuLJJDg86k8yfcp6h963Ck8NEfWdAjfJyVB");
/// assert_eq!(result, true);
/// 
/// let result_invalid: bool = is_valid_addr("12342XUaeqehJTfM1wpW5prsJiQYobDUQG5FfzVe47sYa8LZG3wPwybySuC6kwADuLJJDg86k8yfcp6h963Ck8NEfWdAjfJyVB");
/// assert_eq!(result_invalid, false);
/// ```
pub fn is_valid_addr(address: &str) -> bool {
    let r = Regex::new(r"^[48][0-9AB][1-9A-HJ-NP-Za-km-z]{93}$").unwrap();
    r.is_match(address)
}