use oxinsider::{Client, ListLeaderboardParams};
#[tokio::main]
async fn main() -> oxinsider::Result<()> {
let client = Client::from_env()?;
let discovery = client.get_api_discovery().await?;
println!("docs: {}", discovery.data.docs_url);
let health = client.get_health(&Default::default()).await?;
println!("health: {:?}", health.data.status);
if !client.has_credential() {
println!("set OXINSIDER_API_KEY to read the leaderboard");
return Ok(());
}
let board = client
.list_leaderboard(&ListLeaderboardParams::default().limit(5))
.await?;
for entry in &board.data {
let grade = entry.grade.as_ref().map_or("ungraded", |grade| grade.as_str());
println!("{grade:>8} {}", entry.address);
}
Ok(())
}