use core::time::Duration;
use fuel_core_types::tai64::{
Tai64,
Tai64N,
};
#[derive(Debug, Clone, Copy)]
pub struct Config {
pub temporal_registry_retention: Duration,
}
impl Config {
pub fn is_timestamp_accessible(
&self,
block_timestamp: Tai64,
key_timestamp: Tai64,
) -> anyhow::Result<bool> {
let block = Tai64N(block_timestamp, 0);
let key = Tai64N(key_timestamp, 0);
let duration = block
.duration_since(&key)
.map_err(|_| anyhow::anyhow!("Invalid timestamp ordering"))?;
Ok(duration <= self.temporal_registry_retention)
}
}