SHOWING: First 60
use super::*;
#[derive(Boilerplate)]
pub(crate) struct ClockSvg {
height: Height,
hour: f64,
minute: f64,
second: f64,
}
impl ClockSvg {
pub(crate) fn new(height: Height) -> Self {
let min = height.min(Epoch::FIRST_POST_SUBSIDY.starting_height());
Self {
height,
hour: f64::from(min.n() % Epoch::FIRST_POST_SUBSIDY.starting_height().n())
/ f64::from(Epoch::FIRST_POST_SUBSIDY.starting_height().n())
* 360.0,
minute: f64::from(min.n() % SUBSIDY_HALVING_INTERVAL) / f64::from(SUBSIDY_HALVING_INTERVAL)
* 360.0,
second: f64::from(height.period_offset()) / f64::from(DIFFCHANGE_INTERVAL) * 360.0,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn second() {
pretty_assert_eq!(ClockSvg::new(Height(0)).second, 0.0);
pretty_assert_eq!(ClockSvg::new(Height(504)).second, 90.0);
pretty_assert_eq!(ClockSvg::new(Height(1008)).second, 180.0);
pretty_assert_eq!(ClockSvg::new(Height(1512)).second, 270.0);
pretty_assert_eq!(ClockSvg::new(Height(2016)).second, 0.0);
#44,985,316text{"p": "tap","op": "dmt-mint","dep":"4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0","tick": "nat","blk": "888}#42,503,195textdmt-mint.nat#42,499,892taptransfer11,000.dogs#41,618,024brc-20mint5.dfsn#41,330,912brc-20mint5.dfsn#41,330,911brc-20mint5.dfsn#41,330,910brc-20mint5.dfsn#41,330,909brc-20mint5.dfsn#41,330,908brc-20mint5.dfsn#41,330,907brc-20mint5.dfsn#41,330,906brc-20mint5.dfsn#41,330,905brc-20mint5.dfsn#41,330,904brc-20mint5.dfsn#41,330,903brc-20mint5.dfsn#41,330,902brc-20mint5.dfsn#41,330,901brc-20mint5.dfsn#41,330,900brc-20mint5.dfsn#41,330,899brc-20mint5.dfsn#41,330,898brc-20mint5.dfsn#41,330,897brc-20mint5.dfsn#41,330,896brc-20mint5.dfsn#41,330,895brc-20mint5.dfsn#41,330,894brc-20mint5.dfsn#41,330,893brc-20mint5.dfsn#41,318,740brc-20mint5.dfsn#41,318,738brc-20mint5.dfsn#41,318,737brc-20mint5.dfsn#41,318,736brc-20mint5.dfsn#41,318,735brc-20mint5.dfsn#41,318,732brc-20