From b46970354535563334f20ba2a90237a68b0ffca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Mon, 11 Jan 2021 17:23:59 +0000 Subject: [PATCH 1/2] babe: initialize next authorities on genesis --- frame/babe/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/frame/babe/src/lib.rs b/frame/babe/src/lib.rs index 79b87cd5c018d..d604bfd57d1a3 100644 --- a/frame/babe/src/lib.rs +++ b/frame/babe/src/lib.rs @@ -674,6 +674,7 @@ impl Module { if !authorities.is_empty() { assert!(Authorities::get().is_empty(), "Authorities are already initialized!"); Authorities::put(authorities); + NextAuthorities::put(authorities); } } From cb7050f3d589c622e44374fa7670a497aaec8453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Mon, 11 Jan 2021 17:27:09 +0000 Subject: [PATCH 2/2] babe: add test for genesis authorities --- frame/babe/src/tests.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frame/babe/src/tests.rs b/frame/babe/src/tests.rs index 4bef98873444f..23e8bc765c804 100644 --- a/frame/babe/src/tests.rs +++ b/frame/babe/src/tests.rs @@ -255,6 +255,12 @@ fn can_enact_next_config() { #[test] fn can_fetch_current_and_next_epoch_data() { new_test_ext(5).execute_with(|| { + // genesis authorities should be used for the first and second epoch + assert_eq!( + Babe::current_epoch().authorities, + Babe::next_epoch().authorities, + ); + // 1 era = 3 epochs // 1 epoch = 3 slots // Eras start from 0.