From 840a0c78606ea94d0f6e357a21c4e4e134cc0024 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 11 Apr 2023 19:09:34 +0200 Subject: [PATCH] chore: add ChainSpec convenience function for Hardfork timestamps (#2190) --- crates/primitives/src/chain/spec.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/crates/primitives/src/chain/spec.rs b/crates/primitives/src/chain/spec.rs index 0a2a25b3a6..ab4e013088 100644 --- a/crates/primitives/src/chain/spec.rs +++ b/crates/primitives/src/chain/spec.rs @@ -189,6 +189,18 @@ impl ChainSpec { self.hardforks.iter().map(|(f, b)| (*f, *b)) } + /// Convenience method to check if a fork is active at a given timestamp. + #[inline] + pub fn is_fork_active_at_timestamp(&self, fork: Hardfork, timestamp: u64) -> bool { + self.fork(fork).active_at_timestamp(timestamp) + } + + /// Convenience method to check if [Hardfork::Shanghai] is active at a given timestamp. + #[inline] + pub fn is_shanghai_activated_at_timestamp(&self, timestamp: u64) -> bool { + self.is_fork_active_at_timestamp(Hardfork::Shanghai, timestamp) + } + /// Creates a [`ForkFilter`](crate::ForkFilter) for the block described by [Head]. pub fn fork_filter(&self, head: Head) -> ForkFilter { let forks = self.forks_iter().filter_map(|(_, condition)| {