pub async fn fetch_chain(chain_name: &str) -> Result<Chain, Error>
Fetch a chain.json by chain name from the public registry. No caching or validation beyond JSON parsing.