From 122cb6038a9d83f69326237c6f3ae72b2b6a5e66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= <123550+andresilva@users.noreply.github.com> Date: Tue, 4 May 2021 10:29:44 +0100 Subject: [PATCH] primitives: remove random_seed from BlockBuilder API (#8718) * primitives: remove random_seed from BlockBuilderApi * node: remove random_seed * primitives: bump BlockBuilderApi version * client: rpc: fix test --- substrate/bin/node-template/runtime/src/lib.rs | 4 ---- substrate/bin/node/runtime/src/lib.rs | 6 +----- substrate/client/rpc/src/state/tests.rs | 2 +- substrate/primitives/block-builder/src/lib.rs | 10 +++++----- substrate/test-utils/runtime/src/lib.rs | 8 -------- 5 files changed, 7 insertions(+), 23 deletions(-) diff --git a/substrate/bin/node-template/runtime/src/lib.rs b/substrate/bin/node-template/runtime/src/lib.rs index d72a558e1dd..178918266a7 100644 --- a/substrate/bin/node-template/runtime/src/lib.rs +++ b/substrate/bin/node-template/runtime/src/lib.rs @@ -367,10 +367,6 @@ impl_runtime_apis! { ) -> sp_inherents::CheckInherentsResult { data.check_extrinsics(&block) } - - fn random_seed() -> <Block as BlockT>::Hash { - RandomnessCollectiveFlip::random_seed().0 - } } impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime { diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs index a8240679aea..2e543014937 100644 --- a/substrate/bin/node/runtime/src/lib.rs +++ b/substrate/bin/node/runtime/src/lib.rs @@ -32,7 +32,7 @@ use frame_support::{ DispatchClass, }, traits::{ - Currency, Imbalance, KeyOwnerProofSystem, OnUnbalanced, Randomness, LockIdentifier, + Currency, Imbalance, KeyOwnerProofSystem, OnUnbalanced, LockIdentifier, U128CurrencyToVote, }, }; @@ -1228,10 +1228,6 @@ impl_runtime_apis! { fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult { data.check_extrinsics(&block) } - - fn random_seed() -> <Block as BlockT>::Hash { - pallet_babe::RandomnessFromOneEpochAgo::<Runtime>::random_seed().0 - } } impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime { diff --git a/substrate/client/rpc/src/state/tests.rs b/substrate/client/rpc/src/state/tests.rs index b5d30b34139..cfc27c7bf52 100644 --- a/substrate/client/rpc/src/state/tests.rs +++ b/substrate/client/rpc/src/state/tests.rs @@ -467,7 +467,7 @@ fn should_return_runtime_version() { let result = "{\"specName\":\"test\",\"implName\":\"parity-test\",\"authoringVersion\":1,\ \"specVersion\":2,\"implVersion\":2,\"apis\":[[\"0xdf6acb689907609b\",3],\ - [\"0x37e397fc7c91f5e4\",1],[\"0xd2bc9897eed08f15\",2],[\"0x40fe3ad401f8959a\",4],\ + [\"0x37e397fc7c91f5e4\",1],[\"0xd2bc9897eed08f15\",2],[\"0x40fe3ad401f8959a\",5],\ [\"0xc6e9a76309f39b09\",1],[\"0xdd718d5cc53262d4\",1],[\"0xcbca25e39f142387\",2],\ [\"0xf78b278be53f454c\",2],[\"0xab3c0572291feb8b\",1],[\"0xbc9d89904f5b923f\",1]],\ \"transactionVersion\":1}"; diff --git a/substrate/primitives/block-builder/src/lib.rs b/substrate/primitives/block-builder/src/lib.rs index f51d041c9f1..3741b192006 100644 --- a/substrate/primitives/block-builder/src/lib.rs +++ b/substrate/primitives/block-builder/src/lib.rs @@ -19,29 +19,29 @@ #![cfg_attr(not(feature = "std"), no_std)] +use sp_inherents::{CheckInherentsResult, InherentData}; use sp_runtime::{traits::Block as BlockT, ApplyExtrinsicResult}; -use sp_inherents::{InherentData, CheckInherentsResult}; - sp_api::decl_runtime_apis! { /// The `BlockBuilder` api trait that provides the required functionality for building a block. - #[api_version(4)] + #[api_version(5)] pub trait BlockBuilder { /// Apply the given extrinsic. /// /// Returns an inclusion outcome which specifies if this extrinsic is included in /// this block or not. fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult; + /// Finish the current block. #[renamed("finalise_block", 3)] fn finalize_block() -> <Block as BlockT>::Header; + /// Generate inherent extrinsics. The inherent data will vary from chain to chain. fn inherent_extrinsics( inherent: InherentData, ) -> sp_std::vec::Vec<<Block as BlockT>::Extrinsic>; + /// Check that the inherents are valid. The inherent data will vary from chain to chain. fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult; - /// Generate a random seed. - fn random_seed() -> <Block as BlockT>::Hash; } } diff --git a/substrate/test-utils/runtime/src/lib.rs b/substrate/test-utils/runtime/src/lib.rs index dfd0ee6ae12..4afb313eef3 100644 --- a/substrate/test-utils/runtime/src/lib.rs +++ b/substrate/test-utils/runtime/src/lib.rs @@ -665,10 +665,6 @@ cfg_if! { fn check_inherents(_block: Block, _data: InherentData) -> CheckInherentsResult { CheckInherentsResult::new() } - - fn random_seed() -> <Block as BlockT>::Hash { - unimplemented!() - } } impl self::TestAPI<Block> for Runtime { @@ -922,10 +918,6 @@ cfg_if! { fn check_inherents(_block: Block, _data: InherentData) -> CheckInherentsResult { CheckInherentsResult::new() } - - fn random_seed() -> <Block as BlockT>::Hash { - unimplemented!() - } } impl self::TestAPI<Block> for Runtime { -- GitLab