runtime: use babe as randomness source (#2504)

* runtime: use babe as randomness source

* runtime: fix randomness api

* bridges: fix random_seed

* parachains: use mock TestRandomness from frame_support_test

* parachains: use mock TestRandomness from frame_support_test

* runtime: update randomness source in test-runtime

* runtime: remove unused import

* parachains: add todo to audit usage of randomness api

* "Update Substrate"

Co-authored-by: parity-processbot <>
This commit is contained in:
André Silva
2021-03-10 17:22:59 +00:00
committed by GitHub
parent 9331e06eda
commit b360360544
14 changed files with 201 additions and 179 deletions
@@ -81,7 +81,7 @@ pub trait Config:
+ hrmp::Config
{
/// A randomness beacon.
type Randomness: Randomness<Self::Hash>;
type Randomness: Randomness<Self::Hash, Self::BlockNumber>;
}
decl_storage! {
@@ -181,7 +181,9 @@ impl<T: Config> Module<T> {
let random_seed = {
let mut buf = [0u8; 32];
let random_hash = T::Randomness::random(&b"paras"[..]);
// TODO: audit usage of randomness API
// https://github.com/paritytech/polkadot/issues/2601
let (random_hash, _) = T::Randomness::random(&b"paras"[..]);
let len = sp_std::cmp::min(32, random_hash.as_ref().len());
buf[..len].copy_from_slice(&random_hash.as_ref()[..len]);
buf