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())
}
}