diff --git a/substrate/.gitlab-ci.yml b/substrate/.gitlab-ci.yml index 5e406b36c5c5b95399b307860ee5757626be7090..210bb447e4c7be529abf2782df52e78314147269 100644 --- a/substrate/.gitlab-ci.yml +++ b/substrate/.gitlab-ci.yml @@ -41,7 +41,7 @@ variables: &default-vars CI_IMAGE: "paritytech/ci-linux:production" # FIXME set to release CARGO_UNLEASH_INSTALL_PARAMS: "--version 1.0.0-alpha.12" - CARGO_UNLEASH_PKG_DEF: "--skip node node-* pallet-template pallet-example pallet-example-* subkey chain-spec-builder" + CARGO_UNLEASH_PKG_DEF: "--skip node node-* pallet-template pallet-example-* subkey chain-spec-builder" VAULT_SERVER_URL: "https://vault.parity-mgmt-vault.parity.io" VAULT_AUTH_PATH: "gitlab-parity-io-jwt" VAULT_AUTH_ROLE: "cicd_gitlab_parity_${CI_PROJECT_NAME}" @@ -482,9 +482,9 @@ test-frame-examples-compile-to-wasm: RUSTFLAGS: "-Cdebug-assertions=y" RUST_BACKTRACE: 1 script: - - cd frame/example-offchain-worker/ + - cd frame/examples/offchain-worker/ - cargo +nightly build --target=wasm32-unknown-unknown --no-default-features - - cd ../example + - cd ../basic - cargo +nightly build --target=wasm32-unknown-unknown --no-default-features - sccache -s diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 5e940b93f65f29ca14717c309cfe713c7023f2f9..a7bb471f90d8cf90af6a054afc555ceb1a11f3f3 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -5515,7 +5515,7 @@ dependencies = [ ] [[package]] -name = "pallet-example" +name = "pallet-example-basic" version = "4.0.0-dev" dependencies = [ "frame-benchmarking", diff --git a/substrate/Cargo.toml b/substrate/Cargo.toml index 07053a0ef3162f82ea65c65fda1eb7c4ea382182..ca60af692497de32421145dafefca8d224a47583 100644 --- a/substrate/Cargo.toml +++ b/substrate/Cargo.toml @@ -84,9 +84,9 @@ members = [ "frame/elections", "frame/election-provider-multi-phase", "frame/election-provider-support", - "frame/example", - "frame/example-offchain-worker", - "frame/example-parallel", + "frame/examples/basic", + "frame/examples/offchain-worker", + "frame/examples/parallel", "frame/executive", "frame/gilt", "frame/grandpa", diff --git a/substrate/frame/benchmarking/src/lib.rs b/substrate/frame/benchmarking/src/lib.rs index 258b40cbe6f0b570ef056eaab0ebaa690317de0b..088dbeb0bb78db8727618f0277028a78aefa02b8 100644 --- a/substrate/frame/benchmarking/src/lib.rs +++ b/substrate/frame/benchmarking/src/lib.rs @@ -1217,7 +1217,7 @@ macro_rules! impl_benchmark_test { /// This creates a test suite which runs the module's benchmarks. /// -/// When called in `pallet_example` as +/// When called in `pallet_example_basic` as /// /// ```rust,ignore /// impl_benchmark_test_suite!(Pallet, crate::tests::new_test_ext(), crate::tests::Test); @@ -1243,7 +1243,7 @@ macro_rules! impl_benchmark_test { /// } /// ``` /// -/// When called inside the `benchmarks` macro of the `pallet_example` as +/// When called inside the `benchmarks` macro of the `pallet_example_basic` as /// /// ```rust,ignore /// benchmarks! { diff --git a/substrate/frame/example/Cargo.toml b/substrate/frame/examples/basic/Cargo.toml similarity index 78% rename from substrate/frame/example/Cargo.toml rename to substrate/frame/examples/basic/Cargo.toml index 0b3a742de0dd7778edb9eb3f10354cf2b213d891..a4e8ffe3261cd776eb420917c9334e28884a9759 100644 --- a/substrate/frame/example/Cargo.toml +++ b/substrate/frame/examples/basic/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "pallet-example" +name = "pallet-example-basic" version = "4.0.0-dev" authors = ["Parity Technologies <admin@parity.io>"] edition = "2021" @@ -14,18 +14,19 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } -scale-info = { version = "1.0", default-features = false, features = ["derive"] } -frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" } -frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" } -pallet-balances = { version = "4.0.0-dev", default-features = false, path = "../balances" } -sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" } -sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" } -sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true } log = { version = "0.4.14", default-features = false } +scale-info = { version = "1.0", default-features = false, features = ["derive"] } + +frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../../benchmarking", optional = true } +frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" } +frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" } +pallet-balances = { version = "4.0.0-dev", default-features = false, path = "../../balances" } +sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" } +sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" } +sp-std = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/std" } [dev-dependencies] -sp-core = { version = "4.0.0-dev", path = "../../primitives/core", default-features = false } +sp-core = { version = "4.0.0-dev", path = "../../../primitives/core", default-features = false } [features] default = ["std"] diff --git a/substrate/frame/example/README.md b/substrate/frame/examples/basic/README.md similarity index 94% rename from substrate/frame/example/README.md rename to substrate/frame/examples/basic/README.md index e06dee78c3f81e34cf6f8ccbab63ff7793055462..358829192f11d3b39d0a55c535a80ab350e48f80 100644 --- a/substrate/frame/example/README.md +++ b/substrate/frame/examples/basic/README.md @@ -1,11 +1,13 @@ <!-- markdown-link-check-disable --> -# Example Pallet +# Basic Example Pallet <!-- Original author of paragraph: @gavofyork --> The Example: A simple example of a FRAME pallet demonstrating concepts, APIs and structures common to most FRAME runtimes. -Run `cargo doc --package pallet-example --open` to view this pallet's documentation. +Run `cargo doc --package pallet-example-basic --open` to view this pallet's documentation. + +**This pallet serves as an example and is not meant to be used in production.** ### Documentation Guidelines: @@ -34,7 +36,7 @@ Run `cargo doc --package pallet-example --open` to view this pallet's documentat ### Documentation Template:<br> -Copy and paste this template from frame/example/src/lib.rs into file +Copy and paste this template from frame/examples/basic/src/lib.rs into file `frame/<INSERT_CUSTOM_PALLET_NAME>/src/lib.rs` of your own custom pallet and complete it. <details><p><pre> // Add heading with custom pallet name @@ -46,9 +48,9 @@ Copy and paste this template from frame/example/src/lib.rs into file // Include the following links that shows what trait needs to be implemented to use the pallet // and the supported dispatchables that are documented in the Call enum. -- \[`<INSERT_CUSTOM_PALLET_NAME>::Config`](https://docs.rs/pallet-example/latest/pallet_example/trait.Config.html) -- \[`Call`](https://docs.rs/pallet-example/latest/pallet_example/enum.Call.html) -- \[`Module`](https://docs.rs/pallet-example/latest/pallet_example/struct.Module.html) +- \[`<INSERT_CUSTOM_PALLET_NAME>::Config`](https://docs.rs/pallet-example-basic/latest/pallet_example_basic/trait.Config.html) +- \[`Call`](https://docs.rs/pallet-example-basic/latest/pallet_example_basic/enum.Call.html) +- \[`Module`](https://docs.rs/pallet-example-basic/latest/pallet_example_basic/struct.Module.html) \## Overview diff --git a/substrate/frame/example/src/benchmarking.rs b/substrate/frame/examples/basic/src/benchmarking.rs similarity index 93% rename from substrate/frame/example/src/benchmarking.rs rename to substrate/frame/examples/basic/src/benchmarking.rs index e89c646e03f1a2449c0edbaa0e5e307e1d86c0ac..a031b15834d6317b488b8608f370f7d75f647f2f 100644 --- a/substrate/frame/example/src/benchmarking.rs +++ b/substrate/frame/examples/basic/src/benchmarking.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Benchmarking for pallet-example. +//! Benchmarking for pallet-example-basic. #![cfg(feature = "runtime-benchmarks")] @@ -23,7 +23,7 @@ use crate::*; use frame_benchmarking::{benchmarks, whitelisted_caller}; use frame_system::RawOrigin; -// To actually run this benchmark on pallet-example, we need to put this pallet into the +// To actually run this benchmark on pallet-example-basic, we need to put this pallet into the // runtime and compile it with `runtime-benchmarks` feature. The detail procedures are // documented at: // https://docs.substrate.io/v3/runtime/benchmarking#how-to-benchmark @@ -67,7 +67,7 @@ benchmarks! { } // This line generates test cases for benchmarking, and could be run by: - // `cargo test -p pallet-example --all-features`, you will see one line per case: + // `cargo test -p pallet-example-basic --all-features`, you will see one line per case: // `test benchmarking::bench_sort_vector ... ok` // `test benchmarking::bench_accumulate_dummy ... ok` // `test benchmarking::bench_set_dummy_benchmark ... ok` in the result. diff --git a/substrate/frame/example/src/lib.rs b/substrate/frame/examples/basic/src/lib.rs similarity index 99% rename from substrate/frame/example/src/lib.rs rename to substrate/frame/examples/basic/src/lib.rs index 981274b1ba739346202dd6a04c6ba55b5cdbf98e..b172acb66d3249de8511ec3ea2dc89dba4c10f82 100644 --- a/substrate/frame/example/src/lib.rs +++ b/substrate/frame/examples/basic/src/lib.rs @@ -16,13 +16,15 @@ // limitations under the License. //! <!-- markdown-link-check-disable --> -//! # Example Pallet +//! # Basic Example Pallet //! //! <!-- Original author of paragraph: @gavofyork --> //! The Example: A simple example of a FRAME pallet demonstrating //! concepts, APIs and structures common to most FRAME runtimes. //! -//! Run `cargo doc --package pallet-example --open` to view this pallet's documentation. +//! Run `cargo doc --package pallet-example-basic --open` to view this pallet's documentation. +//! +//! **This pallet serves as an example and is not meant to be used in production.** //! //! ### Documentation Guidelines: //! @@ -59,7 +61,7 @@ //! //! ### Documentation Template:<br> //! -//! Copy and paste this template from frame/example/src/lib.rs into file +//! Copy and paste this template from frame/examples/basic/src/lib.rs into file //! `frame/<INSERT_CUSTOM_PALLET_NAME>/src/lib.rs` of your own custom pallet and complete it. //! <details><p><pre> //! // Add heading with custom pallet name diff --git a/substrate/frame/example/src/tests.rs b/substrate/frame/examples/basic/src/tests.rs similarity index 92% rename from substrate/frame/example/src/tests.rs rename to substrate/frame/examples/basic/src/tests.rs index 4c2274572db81844902967ca764ab8a8fdd82e90..e069cccf8d800da9ae2c39b5846b5abfc2029d65 100644 --- a/substrate/frame/example/src/tests.rs +++ b/substrate/frame/examples/basic/src/tests.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Tests for pallet-example. +//! Tests for pallet-example-basic. use crate::*; use frame_support::{ @@ -32,7 +32,7 @@ use sp_runtime::{ BuildStorage, }; // Reexport crate as its pallet name for construct_runtime. -use crate as pallet_example; +use crate as pallet_example_basic; type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>; type Block = frame_system::mocking::MockBlock<Test>; @@ -46,7 +46,7 @@ frame_support::construct_runtime!( { System: frame_system::{Pallet, Call, Config, Storage, Event<T>}, Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>}, - Example: pallet_example::{Pallet, Call, Storage, Config<T>, Event<T>}, + Example: pallet_example_basic::{Pallet, Call, Storage, Config<T>, Event<T>}, } ); @@ -111,7 +111,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities { // We use default for brevity, but you can configure as desired if needed. system: Default::default(), balances: Default::default(), - example: pallet_example::GenesisConfig { + example: pallet_example_basic::GenesisConfig { dummy: 42, // we configure the map with (key, value) pairs. bar: vec![(1, 2), (2, 3)], @@ -163,7 +163,7 @@ fn set_dummy_works() { #[test] fn signed_ext_watch_dummy_works() { new_test_ext().execute_with(|| { - let call = pallet_example::Call::set_dummy { new_value: 10 }.into(); + let call = pallet_example_basic::Call::set_dummy { new_value: 10 }.into(); let info = DispatchInfo::default(); assert_eq!( @@ -192,14 +192,14 @@ fn counted_map_works() { #[test] fn weights_work() { // must have a defined weight. - let default_call = pallet_example::Call::<Test>::accumulate_dummy { increase_by: 10 }; + let default_call = pallet_example_basic::Call::<Test>::accumulate_dummy { increase_by: 10 }; let info1 = default_call.get_dispatch_info(); // aka. `let info = <Call<Test> as GetDispatchInfo>::get_dispatch_info(&default_call);` assert!(info1.weight > 0); // `set_dummy` is simpler than `accumulate_dummy`, and the weight // should be less. - let custom_call = pallet_example::Call::<Test>::set_dummy { new_value: 20 }; + let custom_call = pallet_example_basic::Call::<Test>::set_dummy { new_value: 20 }; let info2 = custom_call.get_dispatch_info(); assert!(info1.weight > info2.weight); } diff --git a/substrate/frame/example/src/weights.rs b/substrate/frame/examples/basic/src/weights.rs similarity index 93% rename from substrate/frame/example/src/weights.rs rename to substrate/frame/examples/basic/src/weights.rs index efcfdc6729b53e511a55f8dd200de1eb58fe470a..048f7f5a8b8e5b0228357db45d24a2e994c41e5c 100644 --- a/substrate/frame/example/src/weights.rs +++ b/substrate/frame/examples/basic/src/weights.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Autogenerated weights for pallet_example +//! Autogenerated weights for pallet_example_basic //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0 //! DATE: 2021-03-15, STEPS: `[100, ]`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: `[]` @@ -31,7 +31,7 @@ // --wasm-execution // compiled // --pallet -// pallet_example +// pallet_example_basic // --extrinsic // * // --steps @@ -52,14 +52,14 @@ use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use sp_std::marker::PhantomData; -/// Weight functions needed for pallet_example. +/// Weight functions needed for pallet_example_basic. pub trait WeightInfo { fn set_dummy_benchmark(b: u32, ) -> Weight; fn accumulate_dummy(b: u32, ) -> Weight; fn sort_vector(x: u32, ) -> Weight; } -/// Weights for pallet_example using the Substrate node and recommended hardware. +/// Weights for pallet_example_basic using the Substrate node and recommended hardware. pub struct SubstrateWeight<T>(PhantomData<T>); impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { fn set_dummy_benchmark(b: u32, ) -> Weight { diff --git a/substrate/frame/example-offchain-worker/Cargo.toml b/substrate/frame/examples/offchain-worker/Cargo.toml similarity index 82% rename from substrate/frame/example-offchain-worker/Cargo.toml rename to substrate/frame/examples/offchain-worker/Cargo.toml index ffcadca26e11e4079322d45c69a5e2f9aa3c0def..cb505ad42f2540df9b9f2df9f8c74301752c0b24 100644 --- a/substrate/frame/example-offchain-worker/Cargo.toml +++ b/substrate/frame/examples/offchain-worker/Cargo.toml @@ -14,16 +14,17 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } -scale-info = { version = "1.0", default-features = false, features = ["derive"] } -frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" } -frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" } -sp-core = { version = "4.0.0-dev", default-features = false, path = "../../primitives/core" } -sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore", optional = true } -sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" } -sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" } -sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" } lite-json = { version = "0.1", default-features = false } log = { version = "0.4.14", default-features = false } +scale-info = { version = "1.0", default-features = false, features = ["derive"] } + +frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" } +frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" } +sp-core = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/core" } +sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" } +sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore", optional = true } +sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" } +sp-std = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/std" } [features] default = ["std"] diff --git a/substrate/frame/example-offchain-worker/README.md b/substrate/frame/examples/offchain-worker/README.md similarity index 87% rename from substrate/frame/example-offchain-worker/README.md rename to substrate/frame/examples/offchain-worker/README.md index 5299027f39250d515d1b72e07b020f02c287c8ef..587431c92c0ed331ffac46e9acc79914f820ac8c 100644 --- a/substrate/frame/example-offchain-worker/README.md +++ b/substrate/frame/examples/offchain-worker/README.md @@ -1,5 +1,5 @@ <!-- markdown-link-check-disable --> -# Offchain Worker Example Module +# Offchain Worker Example Pallet The Offchain Worker Example: A simple pallet demonstrating concepts, APIs and structures common to most offchain workers. @@ -11,6 +11,8 @@ documentation. - [`Call`](./enum.Call.html) - [`Module`](./struct.Module.html) +**This pallet serves as an example showcasing Substrate off-chain worker and is not meant to be +used in production.** ## Overview diff --git a/substrate/frame/example-offchain-worker/src/lib.rs b/substrate/frame/examples/offchain-worker/src/lib.rs similarity index 99% rename from substrate/frame/example-offchain-worker/src/lib.rs rename to substrate/frame/examples/offchain-worker/src/lib.rs index 9b63ffa663ee28834a688d2793fa0ef8dbca8bed..e5f2e00d9a34408319191549c570e2a8979e1d13 100644 --- a/substrate/frame/example-offchain-worker/src/lib.rs +++ b/substrate/frame/examples/offchain-worker/src/lib.rs @@ -28,6 +28,8 @@ //! - [`Call`] //! - [`Pallet`] //! +//! **This pallet serves as an example showcasing Substrate off-chain worker and is not meant to +//! be used in production.** //! //! ## Overview //! @@ -40,6 +42,7 @@ //! Additional logic in OCW is put in place to prevent spamming the network with both signed //! and unsigned transactions, and custom `UnsignedValidator` makes sure that there is only //! one unsigned transaction floating in the network. + #![cfg_attr(not(feature = "std"), no_std)] use codec::{Decode, Encode}; diff --git a/substrate/frame/example-offchain-worker/src/tests.rs b/substrate/frame/examples/offchain-worker/src/tests.rs similarity index 100% rename from substrate/frame/example-offchain-worker/src/tests.rs rename to substrate/frame/examples/offchain-worker/src/tests.rs diff --git a/substrate/frame/example-parallel/Cargo.toml b/substrate/frame/examples/parallel/Cargo.toml similarity index 84% rename from substrate/frame/example-parallel/Cargo.toml rename to substrate/frame/examples/parallel/Cargo.toml index 169db35e65f1c37a2dc3b20f01032d0e51fd50d3..cf7f46b2322476437c6fec8b4a9e37941f168512 100644 --- a/substrate/frame/example-parallel/Cargo.toml +++ b/substrate/frame/examples/parallel/Cargo.toml @@ -14,13 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false } scale-info = { version = "1.0", default-features = false, features = ["derive"] } -frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" } -frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" } -sp-core = { version = "4.0.0-dev", default-features = false, path = "../../primitives/core" } -sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" } -sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" } -sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" } -sp-tasks = { version = "4.0.0-dev", default-features = false, path = "../../primitives/tasks" } + +frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" } +frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" } +sp-core = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/core" } +sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" } +sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" } +sp-std = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/std" } +sp-tasks = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/tasks" } [features] default = ["std"] diff --git a/substrate/frame/examples/parallel/README.md b/substrate/frame/examples/parallel/README.md new file mode 100644 index 0000000000000000000000000000000000000000..44b39a41507db177d78a35eac0cca9b498832bf9 --- /dev/null +++ b/substrate/frame/examples/parallel/README.md @@ -0,0 +1,7 @@ +<!-- markdown-link-check-disable --> +# Parallel Tasks Example Pallet + +This example pallet demonstrates parallelizing validation of the enlisted participants (see +`enlist_participants` dispatch). + +**This pallet serves as an example and is not meant to be used in production.** diff --git a/substrate/frame/example-parallel/src/lib.rs b/substrate/frame/examples/parallel/src/lib.rs similarity index 95% rename from substrate/frame/example-parallel/src/lib.rs rename to substrate/frame/examples/parallel/src/lib.rs index 9d191525f631e5d0b7f10fc9471860584da05360..51e022bed08b3938ec236fcf2021e39fc747083d 100644 --- a/substrate/frame/example-parallel/src/lib.rs +++ b/substrate/frame/examples/parallel/src/lib.rs @@ -15,10 +15,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Parallel tasks example +//! # Parallel Tasks Example Pallet //! -//! This example pallet parallelizes validation of the enlisted participants +//! This example pallet demonstrates parallelizing validation of the enlisted participants //! (see `enlist_participants` dispatch). +//! +//! **This pallet serves as an example and is not meant to be used in production.** #![cfg_attr(not(feature = "std"), no_std)] diff --git a/substrate/frame/example-parallel/src/tests.rs b/substrate/frame/examples/parallel/src/tests.rs similarity index 100% rename from substrate/frame/example-parallel/src/tests.rs rename to substrate/frame/examples/parallel/src/tests.rs