Remove use of trait Store from all pallets and deprecate it. (#13535)

* Remove use of trait Store from staking pallet

* Remove use of trait Store from bounties pallet

* Remove use of trait Store from collective pallet

* Remove use of trait Store from babe pallet

* Remove use of trait Store from assets pallet

* Remove use of trait Store from grandpa pallet

* Remove use of trait Store from balances pallet

* Remove use of trait Store from authorship pallet

* Remove use of trait Store from authority-discovery pallet

* Remove use of trait Store from atomic-swap pallet

* Remove use of trait Store from sudo pallet

* Remove use of trait Store from scheduler pallet

* Remove use of trait Store from scored-pool pallet

* Remove use of trait Store from society pallet

* Remove use of trait Store from lottery pallet

* Remove use of trait Store from executive pallet

* Remove use of trait Store from democracy pallet

* Remove use of trait Store from elections-phragmen pallet

* Remove use of trait Store from indices pallet

* Remove use of trait Store from identity pallet

* Remove use of trait Store from multisig pallet

* Remove use of trait Store from merkle-mountain-range pallet

* Remove use of trait Store from im-online pallet

* Remove use of trait Store from membership pallet

* Remove use of trait Store from nicks pallet

* Remove use of trait Store from session pallet

* Remove use of trait Store from transaction-payment pallet

* Remove use of trait Store from utility pallet

* Remove use of trait Store from child-bounties pallet

* Remove use of trait Store from nis pallet

* Remove use of trait Store from nfts pallet

* Remove use of trait Store from conviction-voting pallet

* Remove use of trait Store from treasury pallet

* Remove use of trait Store from vesting pallet

* Remove use of trait Store from preimage pallet

* Remove use of trait Store from uniques pallet

* Remove use of trait Store from ranked-collective pallet

* Remove use of trait Store from beefy-mmr pallet

* Remove use of trait Store from referenda pallet

* Remove use of trait Store from whitelist pallet

* Remove use of trait Store from alliance pallet

* Remove use of trait Store from nomination-pools pallet

* Remove use of trait Store from state-trie-migration pallet

* Remove use of trait Store from message-queue pallet

* Remove use of trait Store from root-offences pallet

* Remove use of trait Store from root-testing pallet

* Remove use of trait Store from timestamps pallet

* Remove use of trait Store from system pallet

* Remove use of trait Store from offences pallet

* Remove use of trait Store from recovery pallet

* Remove use of trait Store from node-authorization pallet

* Remove use of trait Store from proxy pallet

* Remove use of trait Store from benchmarking pallet

* Remove use of trait Store from bags-list pallet

* Add deprecated warning in store_trait

* Change warning message

* Run cargo fmt

* Fix warning and update tests

* Remove unnecessary allow deprecated

* Remove use of trait Store

* Fix mismatch in expected output

* Minor update to warning message for deprecation of generate_store with Store trait attribute

* Fixes as per review comments

* Fixes as per review suggestions

* Remove use of Store trait from core-fellowship pallet

* Fix type in store_trait.rs

* Fixes as pre review comment
This commit is contained in:
Vivek Pandya
2023-03-13 21:00:05 +05:30
committed by GitHub
parent f6b9e056ae
commit 2009821cde
89 changed files with 119 additions and 168 deletions
@@ -158,7 +158,6 @@ pub mod pallet {
}
#[pallet::pallet]
#[pallet::generate_store(pub(crate) trait Store)]
#[pallet::storage_version(STORAGE_VERSION)]
pub struct Pallet<T>(_);
@@ -496,7 +495,6 @@ pub mod pallet2 {
}
#[pallet::pallet]
#[pallet::generate_store(pub(crate) trait Store)]
#[pallet::without_storage_info]
pub struct Pallet<T>(_);
@@ -946,15 +944,6 @@ fn validate_unsigned_expand() {
assert_eq!(validity, ValidTransaction::default());
}
#[test]
fn trait_store_expand() {
TestExternalities::default().execute_with(|| {
<pallet::Pallet<Runtime> as pallet::Store>::Value::get();
<pallet::Pallet<Runtime> as pallet::Store>::Map::get(1);
<pallet::Pallet<Runtime> as pallet::Store>::DoubleMap::get(1, 2);
})
}
#[test]
fn pallet_expand_deposit_event() {
TestExternalities::default().execute_with(|| {
@@ -46,7 +46,6 @@ pub mod pallet {
}
#[pallet::pallet]
#[pallet::generate_store(pub(crate) trait Store)]
pub struct Pallet<T, I = ()>(PhantomData<(T, I)>);
#[pallet::hooks]
@@ -260,7 +259,6 @@ pub mod pallet2 {
}
#[pallet::pallet]
#[pallet::generate_store(pub(crate) trait Store)]
pub struct Pallet<T, I = ()>(PhantomData<(T, I)>);
#[pallet::event]
@@ -0,0 +1,11 @@
#[frame_support::pallet]
mod pallet {
#[pallet::config]
pub trait Config: frame_system::Config {}
#[pallet::pallet]
#[pallet::generate_store(trait Store)]
pub struct Pallet<T>(core::marker::PhantomData<T>);
}
fn main() {}
@@ -0,0 +1,9 @@
error: use of deprecated struct `pallet::_::Store`:
Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon.
Check https://github.com/paritytech/substrate/pull/13535 for more details.
--> tests/pallet_ui/deprecated_store_attr.rs:7:3
|
7 | #[pallet::generate_store(trait Store)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D deprecated` implied by `-D warnings`
@@ -8,7 +8,6 @@ mod pallet {
pub trait Config: frame_system::Config {}
#[pallet::pallet]
#[pallet::generate_store(trait Store)]
pub struct Pallet<T>(core::marker::PhantomData<T>);
#[pallet::hooks]
@@ -1,5 +1,5 @@
error: Invalid duplicated attribute
--> $DIR/duplicate_call_attr.rs:23:12
--> $DIR/duplicate_call_attr.rs:22:12
|
23 | #[pallet::call]
22 | #[pallet::call]
| ^^^^
@@ -6,7 +6,6 @@ mod pallet {
pub trait Config: frame_system::Config {}
#[pallet::pallet]
#[pallet::generate_store(trait Store)]
pub struct Pallet<T>(core::marker::PhantomData<T>);
#[pallet::storage]
@@ -1,47 +1,47 @@
error: Duplicate storage prefixes found for `Foo`
--> $DIR/duplicate_storage_prefix.rs:16:29
--> $DIR/duplicate_storage_prefix.rs:15:29
|
16 | #[pallet::storage_prefix = "Foo"]
15 | #[pallet::storage_prefix = "Foo"]
| ^^^^^
error: Duplicate storage prefixes found for `Foo`
--> $DIR/duplicate_storage_prefix.rs:13:7
--> $DIR/duplicate_storage_prefix.rs:12:7
|
13 | type Foo<T> = StorageValue<_, u8>;
12 | type Foo<T> = StorageValue<_, u8>;
| ^^^
error: Duplicate storage prefixes found for `CounterForBar`, used for counter associated to counted storage map
--> $DIR/duplicate_storage_prefix.rs:23:7
--> $DIR/duplicate_storage_prefix.rs:22:7
|
23 | type Bar<T> = CountedStorageMap<_, Twox64Concat, u16, u16>;
22 | type Bar<T> = CountedStorageMap<_, Twox64Concat, u16, u16>;
| ^^^
error: Duplicate storage prefixes found for `CounterForBar`
--> $DIR/duplicate_storage_prefix.rs:20:7
--> $DIR/duplicate_storage_prefix.rs:19:7
|
20 | type CounterForBar<T> = StorageValue<_, u16>;
19 | type CounterForBar<T> = StorageValue<_, u16>;
| ^^^^^^^^^^^^^
error[E0412]: cannot find type `_GeneratedPrefixForStorageFoo` in this scope
--> $DIR/duplicate_storage_prefix.rs:13:7
--> $DIR/duplicate_storage_prefix.rs:12:7
|
13 | type Foo<T> = StorageValue<_, u8>;
12 | type Foo<T> = StorageValue<_, u8>;
| ^^^ not found in this scope
error[E0412]: cannot find type `_GeneratedPrefixForStorageNotFoo` in this scope
--> $DIR/duplicate_storage_prefix.rs:17:7
--> $DIR/duplicate_storage_prefix.rs:16:7
|
17 | type NotFoo<T> = StorageValue<_, u16>;
16 | type NotFoo<T> = StorageValue<_, u16>;
| ^^^^^^ not found in this scope
error[E0412]: cannot find type `_GeneratedPrefixForStorageCounterForBar` in this scope
--> $DIR/duplicate_storage_prefix.rs:20:7
--> $DIR/duplicate_storage_prefix.rs:19:7
|
20 | type CounterForBar<T> = StorageValue<_, u16>;
19 | type CounterForBar<T> = StorageValue<_, u16>;
| ^^^^^^^^^^^^^ not found in this scope
error[E0412]: cannot find type `_GeneratedPrefixForStorageBar` in this scope
--> $DIR/duplicate_storage_prefix.rs:23:7
--> $DIR/duplicate_storage_prefix.rs:22:7
|
23 | type Bar<T> = CountedStorageMap<_, Twox64Concat, u16, u16>;
22 | type Bar<T> = CountedStorageMap<_, Twox64Concat, u16, u16>;
| ^^^ not found in this scope
@@ -1,5 +1,5 @@
error: Unexpected duplicated attribute
--> $DIR/duplicate_store_attr.rs:12:12
--> tests/pallet_ui/duplicate_store_attr.rs:12:3
|
12 | #[pallet::generate_store(trait Store)]
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1,5 +1,15 @@
error: use of deprecated struct `pallet::_::Store`:
Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon.
Check https://github.com/paritytech/substrate/pull/13535 for more details.
--> tests/pallet_ui/store_trait_leak_private.rs:11:3
|
11 | #[pallet::generate_store(pub trait Store)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D deprecated` implied by `-D warnings`
error[E0446]: private type `_GeneratedPrefixForStorageFoo<T>` in public interface
--> $DIR/store_trait_leak_private.rs:11:37
--> tests/pallet_ui/store_trait_leak_private.rs:11:37
|
11 | #[pallet::generate_store(pub trait Store)]
| ^^^^^ can't leak private type