chore: Improved formatting e0631d3f
stevedylandev · 2025-07-08 22:45 1 file(s) · +35 −17
src/main.rs +35 −17
149 149
  networks
150 150
}
151 151
152 +
fn format_balance_smart(balance: f64, symbol: &str) -> String {
153 +
    let formatted = if balance >= 1_000_000.0 {
154 +
        format!("{:.2}M", balance / 1_000_000.0)
155 +
    } else if balance >= 1_000.0 {
156 +
        format!("{:.2}K", balance / 1_000.0)
157 +
    } else if balance >= 1.0 {
158 +
        format!("{:.2}", balance)
159 +
    } else if balance > 0.0 {
160 +
        format!("{:.6}", balance).trim_end_matches('0').trim_end_matches('.').to_string()
161 +
    } else {
162 +
        "0".to_string()
163 +
    };
164 +
165 +
    format!("{} {}", formatted, symbol)
166 +
}
167 +
152 168
async fn fetch_balance(
153 169
  client: &Client,
154 170
  address: &str,
240 256
}
241 257
242 258
fn get_eth_logo() -> &'static str {
243 -
r#"    --------------4%--------------
244 -
    -------------44HH-------------
245 -
    ------------444HHH------------
246 -
    -----------4444HHHH-----------
247 -
    ---------~44444HHHHH~---------
248 -
    --------4444444HHHHHHW--------
249 -
    -------4444HHHHWWWWHHHH-------
250 -
    ------KHHHHHHHHWWWWWWWWW------
251 -
    ---------HHHHHHWWWWWW---------
252 -
    -------44---HHHWWW---HH-------
253 -
    --------~444?----4HHH~--------
254 -
    ----------44444HHHHH----------
255 -
    -----------L444HHHq-----------
256 -
    -------------44HH-------------
257 -
    --------------4H--------------"#
259 +
r#"------------------------------
260 +
--------------4%--------------
261 +
-------------44HH-------------
262 +
------------444HHH------------
263 +
-----------4444HHHH-----------
264 +
---------~44444HHHHH~---------
265 +
--------4444444HHHHHHW--------
266 +
-------4444HHHHWWWWHHHH-------
267 +
------KHHHHHHHHWWWWWWWWW------
268 +
---------HHHHHHWWWWWW---------
269 +
-------44---HHHWWW---HH-------
270 +
--------~444?----4HHH~--------
271 +
----------44444HHHHH----------
272 +
-----------L444HHHq-----------
273 +
-------------44HH-------------
274 +
--------------4H--------------
275 +
------------------------------"#
258 276
}
259 277
260 278
async fn fetch_all_balances(
401 419
      for balance in balances {
402 420
        match balance {
403 421
          BalanceResult::Native(eth_balance, network_name) => {
404 -
            let balance_str = format!("{:.4} ETH", eth_balance);
422 +
            let balance_str = format_balance_smart(eth_balance, "ETH");
405 423
            network_balances.entry(network_name).or_default().push(balance_str);
406 424
          },
407 425
          BalanceResult::Token(token_balance) => {
408 -
            let balance_str = format!("{:.4} {}", token_balance.balance, token_balance.symbol);
426 +
            let balance_str = format_balance_smart(token_balance.balance, &token_balance.symbol);
409 427
            network_balances.entry(token_balance.network_name).or_default().push(balance_str);
410 428
          }
411 429
        }