eth_icons/modules/
smoldapp.rs1use crate::{IconQuery, IconSource};
2
3#[derive(Clone)]
5pub struct Smoldapp;
6
7#[async_trait::async_trait]
8impl IconSource for Smoldapp {
9 fn name(&self) -> &'static str {
10 "smoldapp"
11 }
12
13 fn url(&self, query: &IconQuery) -> Option<String> {
14 match query {
15 IconQuery::Network(network_id) => Some(format!(
16 "https://raw.githubusercontent.com/smoldapp/tokenassets/main/chains/{}/logo.svg",
17 network_id
18 )),
19 IconQuery::Native(network_id) => {
20 if *network_id != 1 {
21 return None;
22 }
23 Some("https://raw.githubusercontent.com/smoldapp/tokenassets/main/tokens/1/0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/logo.svg".to_string())
24 }
25 IconQuery::ERC20(network_id, address) => Some(format!(
26 "https://raw.githubusercontent.com/smoldapp/tokenassets/main/tokens/{}/{}/logo.svg",
27 network_id,
28 address.to_lowercase()
29 )),
30 }
31 }
32}