consensus-slots: cleanup SlotDuration config (#10878)

* consensus-slots: cleanup the SlotDuration config

* fix tests

* address review comments
This commit is contained in:
André Silva
2022-02-22 19:39:16 +00:00
committed by GitHub
parent f00404bfd6
commit 2561e11ed7
19 changed files with 161 additions and 191 deletions
@@ -58,12 +58,11 @@ impl InherentDataProvider {
/// Creates the inherent data provider by calculating the slot from the given
/// `timestamp` and `duration`.
pub fn from_timestamp_and_duration(
pub fn from_timestamp_and_slot_duration(
timestamp: sp_timestamp::Timestamp,
duration: std::time::Duration,
slot_duration: sp_consensus_slots::SlotDuration,
) -> Self {
let slot =
InherentType::from((timestamp.as_duration().as_millis() / duration.as_millis()) as u64);
let slot = InherentType::from_timestamp(timestamp, slot_duration);
Self { slot }
}
+1 -26
View File
@@ -62,7 +62,7 @@ pub mod ed25519 {
pub type AuthorityId = app_ed25519::Public;
}
pub use sp_consensus_slots::Slot;
pub use sp_consensus_slots::{Slot, SlotDuration};
/// The `ConsensusEngineId` of AuRa.
pub const AURA_ENGINE_ID: ConsensusEngineId = [b'a', b'u', b'r', b'a'];
@@ -93,28 +93,3 @@ sp_api::decl_runtime_apis! {
fn authorities() -> Vec<AuthorityId>;
}
}
/// Aura slot duration.
///
/// Internally stored as milliseconds.
#[derive(sp_runtime::RuntimeDebug, Encode, Decode, PartialEq, Clone, Copy)]
pub struct SlotDuration(u64);
impl SlotDuration {
/// Initialize from the given milliseconds.
pub fn from_millis(val: u64) -> Self {
Self(val)
}
/// Returns the slot duration in milli seconds.
pub fn get(&self) -> u64 {
self.0
}
}
#[cfg(feature = "std")]
impl sp_consensus::SlotData for SlotDuration {
fn slot_duration(&self) -> std::time::Duration {
std::time::Duration::from_millis(self.0)
}
}