anvil_zksync_traces/format/
numbers.rs1use std::fmt::{self, Display};
2
3use anvil_zksync_types::numbers::NumberExponentialRepr;
4use colored::Colorize;
5
6pub struct PrettyNumberExponentialRepr<'a>(pub &'a NumberExponentialRepr);
7
8impl Display for PrettyNumberExponentialRepr<'_> {
9 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
10 if self.0.value.inner.is_zero() {
11 write!(f, "0")
12 } else {
13 f.write_fmt(format_args!("{}", self.0.value))?;
14 if self.0.value.inner > 10_000.into() {
15 let exponential = format!("[{}]", self.0).dimmed();
16 f.write_fmt(format_args!(" {}", exponential))?;
17 }
18 Ok(())
19 }
20 }
21}