diff --git a/frame/support/procedural/src/storage/storage_struct.rs b/frame/support/procedural/src/storage/storage_struct.rs index c1af0ee0701fb..338f3a461e8bc 100644 --- a/frame/support/procedural/src/storage/storage_struct.rs +++ b/frame/support/procedural/src/storage/storage_struct.rs @@ -267,7 +267,7 @@ pub fn decl_and_impl(def: &DeclStorageDefExt) -> TokenStream { use #scrate::sp_runtime::SaturatedConversion; let max_size = < - #value_type as #scrate::traits::MaxEncodedLen + #value_type as #scrate::codec::MaxEncodedLen >::max_encoded_len() .saturated_into(); @@ -301,7 +301,7 @@ pub fn decl_and_impl(def: &DeclStorageDefExt) -> TokenStream { >::Hasher::max_len::<#key>(); let max_size = < - #value_type as #scrate::traits::MaxEncodedLen + #value_type as #scrate::codec::MaxEncodedLen >::max_encoded_len() .saturating_add(key_max_size) .saturated_into(); @@ -342,7 +342,7 @@ pub fn decl_and_impl(def: &DeclStorageDefExt) -> TokenStream { >::Hasher2::max_len::<#key2>(); let max_size = < - #value_type as #scrate::traits::MaxEncodedLen + #value_type as #scrate::codec::MaxEncodedLen >::max_encoded_len() .saturating_add(key1_max_size) .saturating_add(key2_max_size) @@ -378,7 +378,7 @@ pub fn decl_and_impl(def: &DeclStorageDefExt) -> TokenStream { >::key_max_encoded_len(); let max_size = < - #value_type as #scrate::traits::MaxEncodedLen + #value_type as #scrate::codec::MaxEncodedLen >::max_encoded_len() .saturating_add(key_max_size) .saturated_into(); diff --git a/frame/support/src/hash.rs b/frame/support/src/hash.rs index 5c4bfb34f5f96..1425760051d25 100644 --- a/frame/support/src/hash.rs +++ b/frame/support/src/hash.rs @@ -17,10 +17,9 @@ //! Hash utilities. -use codec::Codec; +use codec::{Codec, MaxEncodedLen}; use sp_std::prelude::Vec; use sp_io::hashing::{blake2_128, blake2_256, twox_64, twox_128, twox_256}; -use crate::traits::MaxEncodedLen; // This trait must be kept coherent with frame-support-procedural HasherKind usage pub trait Hashable: Sized { diff --git a/frame/support/src/lib.rs b/frame/support/src/lib.rs index 6a75c39bdb8c9..dc1bd45952d19 100644 --- a/frame/support/src/lib.rs +++ b/frame/support/src/lib.rs @@ -1245,7 +1245,7 @@ pub mod pallet_prelude { RuntimeDebug, storage, traits::{ Get, Hooks, IsType, GetPalletVersion, EnsureOrigin, PalletInfoAccess, StorageInfoTrait, - ConstU32, GetDefault, MaxEncodedLen, + ConstU32, GetDefault, }, dispatch::{DispatchResultWithPostInfo, Parameter, DispatchError, DispatchResult}, weights::{DispatchClass, Pays, Weight}, @@ -1255,7 +1255,7 @@ pub mod pallet_prelude { }, storage::bounded_vec::BoundedVec, }; - pub use codec::{Encode, Decode}; + pub use codec::{Encode, Decode, MaxEncodedLen}; pub use crate::inherent::{InherentData, InherentIdentifier, ProvideInherent}; pub use sp_runtime::{ traits::{MaybeSerializeDeserialize, Member, ValidateUnsigned}, diff --git a/frame/support/src/storage/bounded_btree_map.rs b/frame/support/src/storage/bounded_btree_map.rs index 8c50557618eec..308651dff6298 100644 --- a/frame/support/src/storage/bounded_btree_map.rs +++ b/frame/support/src/storage/bounded_btree_map.rs @@ -23,9 +23,9 @@ use sp_std::{ }; use crate::{ storage::StorageDecodeLength, - traits::{Get, MaxEncodedLen}, + traits::Get, }; -use codec::{Encode, Decode}; +use codec::{Encode, Decode, MaxEncodedLen}; /// A bounded map based on a B-Tree. /// diff --git a/frame/support/src/storage/bounded_btree_set.rs b/frame/support/src/storage/bounded_btree_set.rs index f551a3cbfa38e..c67f8207f1699 100644 --- a/frame/support/src/storage/bounded_btree_set.rs +++ b/frame/support/src/storage/bounded_btree_set.rs @@ -23,9 +23,9 @@ use sp_std::{ }; use crate::{ storage::StorageDecodeLength, - traits::{Get, MaxEncodedLen}, + traits::Get, }; -use codec::{Encode, Decode}; +use codec::{Encode, Decode, MaxEncodedLen}; /// A bounded set based on a B-Tree. /// diff --git a/frame/support/src/storage/bounded_vec.rs b/frame/support/src/storage/bounded_vec.rs index d1c042b5db17f..589fe0920744d 100644 --- a/frame/support/src/storage/bounded_vec.rs +++ b/frame/support/src/storage/bounded_vec.rs @@ -20,13 +20,13 @@ use sp_std::prelude::*; use sp_std::{convert::TryFrom, fmt, marker::PhantomData}; -use codec::{Encode, Decode, EncodeLike}; +use codec::{Encode, Decode, EncodeLike, MaxEncodedLen}; use core::{ ops::{Deref, Index, IndexMut}, slice::SliceIndex, }; use crate::{ - traits::{Get, MaxEncodedLen}, + traits::Get, storage::{StorageDecodeLength, StorageTryAppend}, }; diff --git a/frame/support/src/storage/types/double_map.rs b/frame/support/src/storage/types/double_map.rs index 6f03e9b8b2dd0..8faca5771e627 100644 --- a/frame/support/src/storage/types/double_map.rs +++ b/frame/support/src/storage/types/double_map.rs @@ -18,13 +18,13 @@ //! Storage map type. Implements StorageDoubleMap, StorageIterableDoubleMap, //! StoragePrefixedDoubleMap traits and their methods directly. -use codec::{Decode, Encode, EncodeLike, FullCodec}; +use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; use crate::{ storage::{ StorageAppend, StorageTryAppend, StorageDecodeLength, StoragePrefixedMap, types::{OptionQuery, QueryKindTrait, OnEmptyGetter}, }, - traits::{GetDefault, StorageInstance, Get, MaxEncodedLen, StorageInfo}, + traits::{GetDefault, StorageInstance, Get, StorageInfo}, }; use frame_metadata::{DefaultByteGetter, StorageEntryModifier}; use sp_arithmetic::traits::SaturatedConversion; diff --git a/frame/support/src/storage/types/key.rs b/frame/support/src/storage/types/key.rs index a770d1b0fceab..d8a9a71734ab5 100755 --- a/frame/support/src/storage/types/key.rs +++ b/frame/support/src/storage/types/key.rs @@ -17,8 +17,8 @@ //! Storage key type. -use crate::{hash::{ReversibleStorageHasher, StorageHasher}, traits::MaxEncodedLen}; -use codec::{Encode, EncodeLike, FullCodec}; +use crate::hash::{ReversibleStorageHasher, StorageHasher}; +use codec::{Encode, EncodeLike, FullCodec, MaxEncodedLen}; use paste::paste; use sp_std::prelude::*; diff --git a/frame/support/src/storage/types/map.rs b/frame/support/src/storage/types/map.rs index db3a5e73c9cb1..2de6c3151f97f 100644 --- a/frame/support/src/storage/types/map.rs +++ b/frame/support/src/storage/types/map.rs @@ -18,13 +18,13 @@ //! Storage map type. Implements StorageMap, StorageIterableMap, StoragePrefixedMap traits and their //! methods directly. -use codec::{FullCodec, Decode, EncodeLike, Encode}; +use codec::{FullCodec, Decode, EncodeLike, Encode, MaxEncodedLen}; use crate::{ storage::{ StorageAppend, StorageTryAppend, StorageDecodeLength, StoragePrefixedMap, types::{OptionQuery, QueryKindTrait, OnEmptyGetter}, }, - traits::{GetDefault, StorageInstance, Get, MaxEncodedLen, StorageInfo}, + traits::{GetDefault, StorageInstance, Get, StorageInfo}, }; use frame_metadata::{DefaultByteGetter, StorageEntryModifier}; use sp_arithmetic::traits::SaturatedConversion; diff --git a/frame/support/src/storage/types/nmap.rs b/frame/support/src/storage/types/nmap.rs index a9fc121d42d2e..f07924be8ce32 100755 --- a/frame/support/src/storage/types/nmap.rs +++ b/frame/support/src/storage/types/nmap.rs @@ -26,9 +26,9 @@ use crate::{ }, KeyGenerator, PrefixIterator, StorageAppend, StorageDecodeLength, StoragePrefixedMap, }, - traits::{Get, GetDefault, StorageInstance, StorageInfo, MaxEncodedLen}, + traits::{Get, GetDefault, StorageInstance, StorageInfo}, }; -use codec::{Decode, Encode, EncodeLike, FullCodec}; +use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; use frame_metadata::{DefaultByteGetter, StorageEntryModifier}; use sp_runtime::SaturatedConversion; use sp_std::prelude::*; diff --git a/frame/support/src/storage/types/value.rs b/frame/support/src/storage/types/value.rs index 5b37066fc3942..625ce22735f49 100644 --- a/frame/support/src/storage/types/value.rs +++ b/frame/support/src/storage/types/value.rs @@ -17,13 +17,13 @@ //! Storage value type. Implements StorageValue trait and its method directly. -use codec::{FullCodec, Decode, EncodeLike, Encode}; +use codec::{FullCodec, Decode, EncodeLike, Encode, MaxEncodedLen}; use crate::{ storage::{ StorageAppend, StorageTryAppend, StorageDecodeLength, types::{OptionQuery, QueryKindTrait, OnEmptyGetter}, }, - traits::{GetDefault, StorageInstance, MaxEncodedLen, StorageInfo}, + traits::{GetDefault, StorageInstance, StorageInfo}, }; use frame_metadata::{DefaultByteGetter, StorageEntryModifier}; use sp_arithmetic::traits::SaturatedConversion; diff --git a/frame/support/src/storage/weak_bounded_vec.rs b/frame/support/src/storage/weak_bounded_vec.rs index ca2271df43419..e5a4843000bbf 100644 --- a/frame/support/src/storage/weak_bounded_vec.rs +++ b/frame/support/src/storage/weak_bounded_vec.rs @@ -20,13 +20,13 @@ use sp_std::prelude::*; use sp_std::{convert::TryFrom, fmt, marker::PhantomData}; -use codec::{Encode, Decode}; +use codec::{Encode, Decode, MaxEncodedLen}; use core::{ ops::{Deref, Index, IndexMut}, slice::SliceIndex, }; use crate::{ - traits::{Get, MaxEncodedLen}, + traits::Get, storage::{StorageDecodeLength, StorageTryAppend}, }; diff --git a/frame/support/src/traits.rs b/frame/support/src/traits.rs index f1a5bea7cad5d..ef5391ffbc3c8 100644 --- a/frame/support/src/traits.rs +++ b/frame/support/src/traits.rs @@ -81,6 +81,3 @@ pub use dispatch::{EnsureOrigin, OriginTrait, UnfilteredDispatchable}; mod voting; pub use voting::{CurrencyToVote, SaturatingCurrencyToVote, U128CurrencyToVote}; - -// for backwards-compatibility with existing imports -pub use codec::MaxEncodedLen; diff --git a/frame/support/src/traits/tokens/currency.rs b/frame/support/src/traits/tokens/currency.rs index a00e99b0c4ac3..7882d04c035bf 100644 --- a/frame/support/src/traits/tokens/currency.rs +++ b/frame/support/src/traits/tokens/currency.rs @@ -22,7 +22,7 @@ use sp_runtime::traits::MaybeSerializeDeserialize; use crate::dispatch::{DispatchResult, DispatchError}; use super::misc::{Balance, WithdrawReasons, ExistenceRequirement}; use super::imbalance::{Imbalance, SignedImbalance}; -use frame_support::traits::MaxEncodedLen; +use codec::MaxEncodedLen; mod reservable; pub use reservable::{ReservableCurrency, NamedReservableCurrency}; diff --git a/frame/system/src/lib.rs b/frame/system/src/lib.rs index 17ea3a71bec8c..08a325dd97c81 100644 --- a/frame/system/src/lib.rs +++ b/frame/system/src/lib.rs @@ -88,7 +88,7 @@ use frame_support::{ Parameter, storage, traits::{ SortedMembers, Get, PalletInfo, OnNewAccount, OnKilledAccount, HandleLifetime, - StoredMap, EnsureOrigin, OriginTrait, Filter, MaxEncodedLen, + StoredMap, EnsureOrigin, OriginTrait, Filter, }, weights::{ Weight, RuntimeDbWeight, DispatchInfo, DispatchClass, @@ -96,7 +96,7 @@ use frame_support::{ }, dispatch::{DispatchResultWithPostInfo, DispatchResult}, }; -use codec::{Encode, Decode, FullCodec, EncodeLike}; +use codec::{Encode, Decode, FullCodec, EncodeLike, MaxEncodedLen}; #[cfg(feature = "std")] use frame_support::traits::GenesisBuild;