diff --git a/Cargo.lock b/Cargo.lock index 6cca0a018ca72..cb06fd157e0bc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1189,9 +1189,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70d3ad08698a0568b0562f22710fe6bfc1f4a61a367c77d0398c562eadd453a" +checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" dependencies = [ "smallvec", ] @@ -1440,9 +1440,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "comfy-table" -version = "7.0.0" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9e1f7e5d046697d34b593bdba8ee31f4649366e452a2ccabb3baf3511e503d1" +checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b" dependencies = [ "strum", "strum_macros", @@ -1894,18 +1894,32 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d4ba9852b42210c7538b75484f9daa0655e9a3ac04f693747bb0f02cf3cfe16" +checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2" dependencies = [ "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", "fiat-crypto", - "packed_simd_2", "platforms", + "rustc_version 0.4.0", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + [[package]] name = "cxx" version = "1.0.95" @@ -2353,6 +2367,16 @@ dependencies = [ "signature 1.6.4", ] +[[package]] +name = "ed25519" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.1.0", +] + [[package]] name = "ed25519-dalek" version = "1.0.1" @@ -2360,13 +2384,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ "curve25519-dalek 3.2.0", - "ed25519", + "ed25519 1.5.3", "rand 0.7.3", "serde", "sha2 0.9.9", "zeroize", ] +[[package]] +name = "ed25519-dalek" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +dependencies = [ + "curve25519-dalek 4.0.0", + "ed25519 2.2.2", + "serde", + "sha2 0.10.7", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -2878,6 +2915,7 @@ dependencies = [ "frame-support", "frame-system", "frame-try-runtime", + "log", "pallet-balances", "pallet-transaction-payment", "parity-scale-codec", @@ -2957,6 +2995,7 @@ dependencies = [ "sp-genesis-builder", "sp-inherents", "sp-io", + "sp-metadata-ir", "sp-runtime", "sp-staking", "sp-state-machine", @@ -3009,6 +3048,7 @@ version = "3.0.0" dependencies = [ "frame-benchmarking", "frame-executive", + "frame-metadata", "frame-support", "frame-support-test-pallet", "frame-system", @@ -3021,6 +3061,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-io", + "sp-metadata-ir", "sp-runtime", "sp-state-machine", "sp-std", @@ -4364,12 +4405,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - [[package]] name = "libm" version = "0.2.7" @@ -4505,7 +4540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e2d584751cecb2aabaa56106be6be91338a60a0f4e420cf2af639204f596fc1" dependencies = [ "bs58", - "ed25519-dalek", + "ed25519-dalek 1.0.1", "log", "multiaddr", "multihash", @@ -5951,7 +5986,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm 0.2.7", + "libm", ] [[package]] @@ -6067,16 +6102,6 @@ dependencies = [ "sha2 0.10.7", ] -[[package]] -name = "packed_simd_2" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" -dependencies = [ - "cfg-if", - "libm 0.1.4", -] - [[package]] name = "pallet-alliance" version = "4.0.0-dev" @@ -6182,6 +6207,7 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "pallet-balances", "parity-scale-codec", "scale-info", @@ -6212,6 +6238,7 @@ version = "4.0.0-dev" dependencies = [ "frame-support", "frame-system", + "log", "pallet-timestamp", "parity-scale-codec", "scale-info", @@ -6357,6 +6384,7 @@ dependencies = [ "frame-election-provider-support", "frame-support", "frame-system", + "log", "pallet-authorship", "pallet-balances", "pallet-offences", @@ -6373,6 +6401,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", + "sp-state-machine", "sp-std", ] @@ -6397,6 +6426,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", + "sp-state-machine", "sp-std", ] @@ -6968,6 +6998,7 @@ dependencies = [ "frame-support", "frame-system", "itertools", + "log", "parity-scale-codec", "scale-info", "sp-core", @@ -7236,6 +7267,7 @@ dependencies = [ "scale-info", "sp-core", "sp-io", + "sp-metadata-ir", "sp-runtime", "sp-std", ] @@ -7459,6 +7491,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", + "sp-state-machine", "sp-std", "sp-trie", ] @@ -9045,9 +9078,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.100.1" +version = "0.100.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab" dependencies = [ "ring 0.16.20", "untrusted", @@ -10921,14 +10954,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ccba027ba85743e09d15c03296797cad56395089b832b48b5a5217880f57733" +checksum = "0c9d1425eb528a21de2755c75af4c9b5d57f50a0d4c3b7f1828a4cd03f8ba155" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.1", + "curve25519-dalek 4.0.0", "rand_core 0.6.4", "ring 0.16.20", "rustc_version 0.4.0", @@ -11467,8 +11500,7 @@ name = "sp-io" version = "23.0.0" dependencies = [ "bytes", - "ed25519", - "ed25519-dalek", + "ed25519-dalek 2.0.0", "libsecp256k1", "log", "parity-scale-codec", @@ -11754,8 +11786,8 @@ name = "sp-statement-store" version = "4.0.0-dev" dependencies = [ "aes-gcm 0.10.2", - "curve25519-dalek 3.2.0", - "ed25519-dalek", + "curve25519-dalek 4.0.0", + "ed25519-dalek 2.0.0", "hkdf", "parity-scale-codec", "rand 0.8.5", @@ -11769,7 +11801,7 @@ dependencies = [ "sp-runtime-interface", "sp-std", "thiserror", - "x25519-dalek 2.0.0-pre.1", + "x25519-dalek 2.0.0", ] [[package]] @@ -13529,7 +13561,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624e6333e861ef49095d2d678b76ebf30b06bf37effca845be7e5b87c90071b7" dependencies = [ "downcast-rs", - "libm 0.2.7", + "libm", "num-traits", "paste", ] @@ -13901,7 +13933,7 @@ dependencies = [ "tokio", "webpki 0.21.4", "webrtc-util", - "x25519-dalek 2.0.0-pre.1", + "x25519-dalek 2.0.0", "x509-parser 0.13.2", ] @@ -14299,12 +14331,13 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0-pre.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" +checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" dependencies = [ - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.0.0", "rand_core 0.6.4", + "serde", "zeroize", ] diff --git a/bin/node/runtime/src/lib.rs b/bin/node/runtime/src/lib.rs index 4e1b6d4e8bec0..b536b9547b71f 100644 --- a/bin/node/runtime/src/lib.rs +++ b/bin/node/runtime/src/lib.rs @@ -47,7 +47,7 @@ use frame_support::{ }, ConstantMultiplier, IdentityFee, Weight, }, - BoundedVec, PalletId, RuntimeDebug, + BoundedVec, PalletId, }; use frame_system::{ limits::{BlockLength, BlockWeights}, @@ -78,6 +78,7 @@ use sp_runtime::{ }, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, ApplyExtrinsicResult, FixedPointNumber, FixedU128, Perbill, Percent, Permill, Perquintill, + RuntimeDebug, }; use sp_std::prelude::*; #[cfg(any(feature = "std", test))] @@ -1265,6 +1266,7 @@ impl pallet_contracts::Config for Runtime { type CodeHashLockupDepositPercent = CodeHashLockupDepositPercent; #[cfg(feature = "unsafe-debug")] type Debug = (); + type Environment = (); } impl pallet_sudo::Config for Runtime { diff --git a/client/consensus/manual-seal/src/lib.rs b/client/consensus/manual-seal/src/lib.rs index c3b891b84e893..1e5db966e66db 100644 --- a/client/consensus/manual-seal/src/lib.rs +++ b/client/consensus/manual-seal/src/lib.rs @@ -173,7 +173,7 @@ pub async fn run_manual_seal( SC: SelectChain + 'static, TP: TransactionPool, CIDP: CreateInherentDataProviders, - P: Send + Sync + 'static, + P: codec::Encode + Send + Sync + 'static, { while let Some(command) = commands_stream.next().await { match command { @@ -231,7 +231,7 @@ pub async fn run_instant_seal( SC: SelectChain + 'static, TP: TransactionPool, CIDP: CreateInherentDataProviders, - P: Send + Sync + 'static, + P: codec::Encode + Send + Sync + 'static, { // instant-seal creates blocks as soon as transactions are imported // into the transaction pool. @@ -281,7 +281,7 @@ pub async fn run_instant_seal_and_finalize( SC: SelectChain + 'static, TP: TransactionPool, CIDP: CreateInherentDataProviders, - P: Send + Sync + 'static, + P: codec::Encode + Send + Sync + 'static, { // Creates and finalizes blocks as soon as transactions are imported // into the transaction pool. @@ -459,7 +459,8 @@ mod tests { needs_justification: false, bad_justification: false, is_new_best: true, - } + }, + proof_size: 0 } ); // assert that there's a new block in the db. @@ -549,7 +550,8 @@ mod tests { needs_justification: false, bad_justification: false, is_new_best: true, - } + }, + proof_size: created_block.proof_size } ); // assert that there's a new block in the db. @@ -625,7 +627,8 @@ mod tests { needs_justification: false, bad_justification: false, is_new_best: true, - } + }, + proof_size: 0 } ); // assert that there's a new block in the db. @@ -711,7 +714,8 @@ mod tests { needs_justification: false, bad_justification: false, is_new_best: true - } + }, + proof_size: 0 } ); diff --git a/client/consensus/manual-seal/src/rpc.rs b/client/consensus/manual-seal/src/rpc.rs index 85abcdc08574b..c0b3af69bedf4 100644 --- a/client/consensus/manual-seal/src/rpc.rs +++ b/client/consensus/manual-seal/src/rpc.rs @@ -97,6 +97,8 @@ pub struct CreatedBlock { pub hash: Hash, /// some extra details about the import operation pub aux: ImportedAux, + /// uncompacted storage proof size (zero mean that there is no proof) + pub proof_size: usize, } impl ManualSeal { diff --git a/client/consensus/manual-seal/src/seal_block.rs b/client/consensus/manual-seal/src/seal_block.rs index 4b6230c3efc3d..716e889ec0395 100644 --- a/client/consensus/manual-seal/src/seal_block.rs +++ b/client/consensus/manual-seal/src/seal_block.rs @@ -83,7 +83,7 @@ pub async fn seal_block( TP: TransactionPool, SC: SelectChain, CIDP: CreateInherentDataProviders, - P: Send + Sync + 'static, + P: codec::Encode + Send + Sync + 'static, { let future = async { if pool.status().ready == 0 && !create_empty { @@ -131,6 +131,7 @@ pub async fn seal_block( let (header, body) = proposal.block.deconstruct(); let proof = proposal.proof; + let proof_size = proof.encoded_size(); let mut params = BlockImportParams::new(BlockOrigin::Own, header.clone()); params.body = Some(body); params.finalized = finalize; @@ -149,8 +150,11 @@ pub async fn seal_block( post_header.digest_mut().logs.extend(params.post_digests.iter().cloned()); match block_import.import_block(params).await? { - ImportResult::Imported(aux) => - Ok(CreatedBlock { hash: ::Header::hash(&post_header), aux }), + ImportResult::Imported(aux) => Ok(CreatedBlock { + hash: ::Header::hash(&post_header), + aux, + proof_size, + }), other => Err(other.into()), } }; diff --git a/frame/alliance/src/lib.rs b/frame/alliance/src/lib.rs index c103f975f23be..1986354a0941c 100644 --- a/frame/alliance/src/lib.rs +++ b/frame/alliance/src/lib.rs @@ -94,6 +94,7 @@ pub mod migration; mod types; pub mod weights; +use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::pallet_prelude::*; use frame_system::pallet_prelude::*; use sp_runtime::{ @@ -103,13 +104,11 @@ use sp_runtime::{ use sp_std::{convert::TryInto, prelude::*}; use frame_support::{ - codec::{Decode, Encode, MaxEncodedLen}, dispatch::{ DispatchError, DispatchResult, DispatchResultWithPostInfo, Dispatchable, GetDispatchInfo, PostDispatchInfo, }, ensure, - scale_info::TypeInfo, traits::{ ChangeMembers, Currency, Get, InitializeMembers, IsSubType, OnUnbalanced, ReservableCurrency, @@ -117,6 +116,7 @@ use frame_support::{ weights::Weight, }; use pallet_identity::IdentityField; +use scale_info::TypeInfo; pub use pallet::*; pub use types::*; diff --git a/frame/asset-conversion/src/lib.rs b/frame/asset-conversion/src/lib.rs index 3a16ab875c06a..d1d68f3e10fbb 100644 --- a/frame/asset-conversion/src/lib.rs +++ b/frame/asset-conversion/src/lib.rs @@ -147,6 +147,9 @@ pub mod pallet { /// Type that identifies either the native currency or a token class from `Assets`. /// `Ord` is added because of `get_pool_id`. + /// + /// The pool's `AccountId` is derived from this type. Any changes to the type may + /// necessitate a migration. type MultiAssetId: AssetId + Ord + From; /// Type to convert an `AssetId` into `MultiAssetId`. @@ -1193,7 +1196,9 @@ pub mod pallet { () ); } else { - let MultiAssetIdConversionResult::Converted(asset_id) = T::MultiAssetIdConverter::try_convert(asset) else { + let MultiAssetIdConversionResult::Converted(asset_id) = + T::MultiAssetIdConverter::try_convert(asset) + else { return Err(()) }; let minimal = T::Assets::minimum_balance(asset_id); diff --git a/frame/asset-conversion/src/tests.rs b/frame/asset-conversion/src/tests.rs index 80faf5363b011..450a074ec3675 100644 --- a/frame/asset-conversion/src/tests.rs +++ b/frame/asset-conversion/src/tests.rs @@ -66,7 +66,11 @@ fn pool_assets() -> Vec { fn create_tokens(owner: u128, tokens: Vec>) { for token_id in tokens { - let MultiAssetIdConversionResult::Converted(asset_id) = NativeOrAssetIdConverter::try_convert(&token_id) else { unreachable!("invalid token") }; + let MultiAssetIdConversionResult::Converted(asset_id) = + NativeOrAssetIdConverter::try_convert(&token_id) + else { + unreachable!("invalid token") + }; assert_ok!(Assets::force_create(RuntimeOrigin::root(), asset_id, owner, false, 1)); } } diff --git a/frame/asset-conversion/src/types.rs b/frame/asset-conversion/src/types.rs index 7cd9743ff04b8..9c28bd7666b71 100644 --- a/frame/asset-conversion/src/types.rs +++ b/frame/asset-conversion/src/types.rs @@ -21,6 +21,10 @@ use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_std::{cmp::Ordering, marker::PhantomData}; +/// Pool ID. +/// +/// The pool's `AccountId` is derived from this type. Any changes to the type may necessitate a +/// migration. pub(super) type PoolIdOf = (::MultiAssetId, ::MultiAssetId); /// Stores the lp_token asset id a particular pool has been assigned. diff --git a/frame/asset-rate/src/benchmarking.rs b/frame/asset-rate/src/benchmarking.rs index 0e13697806043..12edcf5aee025 100644 --- a/frame/asset-rate/src/benchmarking.rs +++ b/frame/asset-rate/src/benchmarking.rs @@ -25,6 +25,7 @@ use frame_benchmarking::v2::*; use frame_support::assert_ok; use frame_system::RawOrigin; use sp_core::crypto::FromEntropy; +use sp_std::vec; /// Trait describing the factory function for the `AssetKind` parameter. pub trait AssetKindFactory { diff --git a/frame/assets/Cargo.toml b/frame/assets/Cargo.toml index 4bef7195958f9..adf78b118a084 100644 --- a/frame/assets/Cargo.toml +++ b/frame/assets/Cargo.toml @@ -14,6 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false } +log = { version = "0.4.17", default-features = false } scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } sp-std = { version = "8.0.0", default-features = false, path = "../../primitives/std" } # Needed for various traits. In our case, `OnFinalize`. @@ -34,6 +35,7 @@ pallet-balances = { version = "4.0.0-dev", path = "../balances" } default = ["std"] std = [ "codec/std", + "log/std", "scale-info/std", "sp-core/std", "sp-std/std", diff --git a/frame/assets/src/migration.rs b/frame/assets/src/migration.rs index d854a64afb57f..efe77714c524d 100644 --- a/frame/assets/src/migration.rs +++ b/frame/assets/src/migration.rs @@ -16,7 +16,8 @@ // limitations under the License. use super::*; -use frame_support::{log, traits::OnRuntimeUpgrade}; +use frame_support::traits::OnRuntimeUpgrade; +use log; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; diff --git a/frame/aura/Cargo.toml b/frame/aura/Cargo.toml index 99c8c2fb497f0..0c2b812c43d03 100644 --- a/frame/aura/Cargo.toml +++ b/frame/aura/Cargo.toml @@ -14,6 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] } +log = { version = "0.4.17", default-features = false } scale-info = { version = "2.5.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" } @@ -31,6 +32,7 @@ sp-io = { version = "23.0.0", path = "../../primitives/io" } default = ["std"] std = [ "codec/std", + "log/std", "frame-support/std", "frame-system/std", "pallet-timestamp/std", diff --git a/frame/aura/src/lib.rs b/frame/aura/src/lib.rs index 641d5fc47e90e..b314a3601e15f 100644 --- a/frame/aura/src/lib.rs +++ b/frame/aura/src/lib.rs @@ -40,10 +40,10 @@ use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ - log, traits::{DisabledValidators, FindAuthor, Get, OnTimestampSet, OneSessionHandler}, BoundedSlice, BoundedVec, ConsensusEngineId, Parameter, }; +use log; use sp_consensus_aura::{AuthorityIndex, ConsensusLog, Slot, AURA_ENGINE_ID}; use sp_runtime::{ generic::DigestItem, diff --git a/frame/balances/src/tests/mod.rs b/frame/balances/src/tests/mod.rs index 45f34110a6e9e..cefc6e9e8f51f 100644 --- a/frame/balances/src/tests/mod.rs +++ b/frame/balances/src/tests/mod.rs @@ -30,7 +30,6 @@ use frame_support::{ StorageMapShim, StoredMap, WhitelistedStorageKeys, }, weights::{IdentityFee, Weight}, - RuntimeDebug, }; use frame_system::{self as system, RawOrigin}; use pallet_transaction_payment::{ChargeTransactionPayment, CurrencyAdapter, Multiplier}; @@ -39,7 +38,8 @@ use sp_core::{hexdisplay::HexDisplay, H256}; use sp_io; use sp_runtime::{ traits::{BadOrigin, IdentityLookup, SignedExtension, Zero}, - ArithmeticError, BuildStorage, DispatchError, DispatchResult, FixedPointNumber, TokenError, + ArithmeticError, BuildStorage, DispatchError, DispatchResult, FixedPointNumber, RuntimeDebug, + TokenError, }; use std::collections::BTreeSet; diff --git a/frame/balances/src/types.rs b/frame/balances/src/types.rs index 389124402a8f1..cd100d0df6c6d 100644 --- a/frame/balances/src/types.rs +++ b/frame/balances/src/types.rs @@ -20,12 +20,9 @@ use crate::{Config, CreditOf, Event, Pallet}; use codec::{Decode, Encode, MaxEncodedLen}; use core::ops::BitOr; -use frame_support::{ - traits::{Imbalance, LockIdentifier, OnUnbalanced, WithdrawReasons}, - RuntimeDebug, -}; +use frame_support::traits::{Imbalance, LockIdentifier, OnUnbalanced, WithdrawReasons}; use scale_info::TypeInfo; -use sp_runtime::Saturating; +use sp_runtime::{RuntimeDebug, Saturating}; /// Simplified reasons for withdrawing balance. #[derive(Encode, Decode, Clone, Copy, PartialEq, Eq, RuntimeDebug, MaxEncodedLen, TypeInfo)] diff --git a/frame/beefy-mmr/Cargo.toml b/frame/beefy-mmr/Cargo.toml index 5691a5d735272..97ad80fa7ac6a 100644 --- a/frame/beefy-mmr/Cargo.toml +++ b/frame/beefy-mmr/Cargo.toml @@ -26,6 +26,7 @@ sp-io = { version = "23.0.0", default-features = false, path = "../../primitives sp-runtime = { version = "24.0.0", default-features = false, path = "../../primitives/runtime" } sp-std = { version = "8.0.0", default-features = false, path = "../../primitives/std" } sp-api = { version = "4.0.0-dev", default-features = false, path = "../../primitives/api" } +sp-state-machine = { version = "0.28.0", default-features = false, path = "../../primitives/state-machine" } [dev-dependencies] array-bytes = "6.1" @@ -51,7 +52,8 @@ std = [ "sp-runtime/std", "sp-std/std", "sp-api/std", - "sp-staking/std" + "sp-staking/std", + "sp-state-machine/std" ] try-runtime = [ "frame-support/try-runtime", diff --git a/frame/beefy-mmr/src/mock.rs b/frame/beefy-mmr/src/mock.rs index 2c37ad4483f6b..b2d8758a04be6 100644 --- a/frame/beefy-mmr/src/mock.rs +++ b/frame/beefy-mmr/src/mock.rs @@ -20,18 +20,18 @@ use std::vec; use codec::Encode; use frame_support::{ construct_runtime, parameter_types, - sp_io::TestExternalities, traits::{ConstU16, ConstU32, ConstU64}, - BasicExternalities, }; use sp_consensus_beefy::mmr::MmrLeafVersion; use sp_core::H256; +use sp_io::TestExternalities; use sp_runtime::{ app_crypto::ecdsa::Public, impl_opaque_keys, traits::{BlakeTwo256, ConvertInto, IdentityLookup, Keccak256, OpaqueKeys}, BuildStorage, }; +use sp_state_machine::BasicExternalities; use crate as pallet_beefy_mmr; diff --git a/frame/beefy/Cargo.toml b/frame/beefy/Cargo.toml index 9f331f74f778f..91cb8e072ca11 100644 --- a/frame/beefy/Cargo.toml +++ b/frame/beefy/Cargo.toml @@ -10,6 +10,7 @@ homepage = "https://substrate.io" [dependencies] codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] } +log = { version = "0.4.17", default-features = false } scale-info = { version = "2.5.0", default-features = false, features = ["derive", "serde"] } serde = { version = "1.0.163", optional = true } frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" } @@ -32,11 +33,13 @@ pallet-timestamp = { version = "4.0.0-dev", path = "../timestamp" } sp-core = { version = "21.0.0", path = "../../primitives/core" } sp-io = { version = "23.0.0", path = "../../primitives/io" } sp-staking = { version = "4.0.0-dev", path = "../../primitives/staking" } +sp-state-machine = { version = "0.28.0", default-features = false, path = "../../primitives/state-machine" } [features] default = ["std"] std = [ "codec/std", + "log/std", "frame-support/std", "frame-system/std", "pallet-authorship/std", @@ -54,7 +57,8 @@ std = [ "pallet-staking/std", "pallet-timestamp/std", "sp-core/std", - "sp-io/std" + "sp-io/std", + "sp-state-machine/std" ] try-runtime = [ "frame-support/try-runtime", diff --git a/frame/beefy/src/equivocation.rs b/frame/beefy/src/equivocation.rs index 84c62fc47f50a..0a7ede327c9e6 100644 --- a/frame/beefy/src/equivocation.rs +++ b/frame/beefy/src/equivocation.rs @@ -35,10 +35,7 @@ //! definition. use codec::{self as codec, Decode, Encode}; -use frame_support::{ - log, - traits::{Get, KeyOwnerProofSystem}, -}; +use frame_support::traits::{Get, KeyOwnerProofSystem}; use frame_system::pallet_prelude::BlockNumberFor; use log::{error, info}; use sp_consensus_beefy::{EquivocationProof, ValidatorSetId, KEY_TYPE as BEEFY_KEY_TYPE}; diff --git a/frame/beefy/src/lib.rs b/frame/beefy/src/lib.rs index 35d3273e1ef76..77e74436dd671 100644 --- a/frame/beefy/src/lib.rs +++ b/frame/beefy/src/lib.rs @@ -21,7 +21,6 @@ use codec::{Encode, MaxEncodedLen}; use frame_support::{ dispatch::{DispatchResultWithPostInfo, Pays}, - log, pallet_prelude::*, traits::{Get, OneSessionHandler}, weights::Weight, @@ -31,6 +30,7 @@ use frame_system::{ ensure_none, ensure_signed, pallet_prelude::{BlockNumberFor, OriginFor}, }; +use log; use sp_runtime::{ generic::DigestItem, traits::{IsMember, Member}, diff --git a/frame/beefy/src/mock.rs b/frame/beefy/src/mock.rs index f2d8415bc01f7..b55a65dbd73af 100644 --- a/frame/beefy/src/mock.rs +++ b/frame/beefy/src/mock.rs @@ -23,12 +23,11 @@ use frame_election_provider_support::{ }; use frame_support::{ construct_runtime, parameter_types, - sp_io::TestExternalities, traits::{ConstU16, ConstU32, ConstU64, KeyOwnerProofSystem, OnFinalize, OnInitialize}, - BasicExternalities, }; use pallet_session::historical as pallet_session_historical; use sp_core::{crypto::KeyTypeId, ConstU128, H256}; +use sp_io::TestExternalities; use sp_runtime::{ app_crypto::ecdsa::Public, curve::PiecewiseLinear, @@ -38,6 +37,7 @@ use sp_runtime::{ BuildStorage, Perbill, }; use sp_staking::{EraIndex, SessionIndex}; +use sp_state_machine::BasicExternalities; use crate as pallet_beefy; diff --git a/frame/benchmarking/src/v1.rs b/frame/benchmarking/src/v1.rs index d9f1c7dde0059..c8c50515c0a04 100644 --- a/frame/benchmarking/src/v1.rs +++ b/frame/benchmarking/src/v1.rs @@ -446,13 +446,13 @@ macro_rules! benchmarks_iter { >:: [< new_call_variant_ $dispatch >] ( $($arg),* ); - let __benchmarked_call_encoded = $crate::frame_support::codec::Encode::encode( + let __benchmarked_call_encoded = $crate::frame_support::__private::codec::Encode::encode( &__call ); }: { let __call_decoded = < Call - as $crate::frame_support::codec::Decode + as $crate::frame_support::__private::codec::Decode >::decode(&mut &__benchmarked_call_encoded[..]) .expect("call is encoded above, encoding must be correct"); let __origin = $crate::to_origin!($origin $(, $origin_type)?); diff --git a/frame/collective/src/lib.rs b/frame/collective/src/lib.rs index 1084091173934..ac6ad39eac5a4 100644 --- a/frame/collective/src/lib.rs +++ b/frame/collective/src/lib.rs @@ -42,13 +42,13 @@ #![cfg_attr(not(feature = "std"), no_std)] #![recursion_limit = "128"] +use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_io::storage; use sp_runtime::{traits::Hash, RuntimeDebug}; use sp_std::{marker::PhantomData, prelude::*, result}; use frame_support::{ - codec::{Decode, Encode, MaxEncodedLen}, dispatch::{ DispatchError, DispatchResult, DispatchResultWithPostInfo, Dispatchable, GetDispatchInfo, Pays, PostDispatchInfo, diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index a511ac81a73b7..f67e4d7035ef8 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -103,7 +103,7 @@ pub mod weights; #[cfg(test)] mod tests; use crate::{ - exec::{AccountIdOf, ErrorOrigin, ExecError, Executable, Key, Stack as ExecStack}, + exec::{AccountIdOf, ErrorOrigin, ExecError, Executable, Key, MomentOf, Stack as ExecStack}, gas::GasMeter, storage::{meter::Meter as StorageMeter, ContractInfo, DeletionQueueManager}, wasm::{CodeInfo, WasmBlob}, @@ -122,9 +122,13 @@ use frame_support::{ ConstU32, Contains, Get, Randomness, Time, }, weights::Weight, - BoundedVec, RuntimeDebug, RuntimeDebugNoBound, + BoundedVec, DefaultNoBound, RuntimeDebugNoBound, +}; +use frame_system::{ + ensure_signed, + pallet_prelude::{BlockNumberFor, OriginFor}, + EventRecord, Pallet as System, }; -use frame_system::{ensure_signed, pallet_prelude::OriginFor, EventRecord, Pallet as System}; use pallet_contracts_primitives::{ Code, CodeUploadResult, CodeUploadReturnValue, ContractAccessError, ContractExecResult, ContractInstantiateResult, ContractResult, ExecReturnValue, GetStorageResult, @@ -132,7 +136,10 @@ use pallet_contracts_primitives::{ }; use scale_info::TypeInfo; use smallvec::Array; -use sp_runtime::traits::{Convert, Hash, Saturating, StaticLookup, Zero}; +use sp_runtime::{ + traits::{Convert, Hash, Saturating, StaticLookup, Zero}, + RuntimeDebug, +}; use sp_std::{fmt::Debug, prelude::*}; pub use crate::{ @@ -179,6 +186,36 @@ const SENTINEL: u32 = u32::MAX; /// Example: `RUST_LOG=runtime::contracts=debug my_code --dev` const LOG_TARGET: &str = "runtime::contracts"; +/// Wrapper around `PhantomData` to prevent it being filtered by `scale-info`. +/// +/// `scale-info` filters out `PhantomData` fields because usually we are only interested +/// in sized types. However, when trying to communicate **types** as opposed to **values** +/// we want to have those zero sized types be included. +#[derive(Encode, Decode, DefaultNoBound, TypeInfo)] +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +pub struct EnvironmentType(PhantomData); + +/// List of all runtime configurable types that are used in the communication between +/// `pallet-contracts` and any given contract. +/// +/// Since those types are configurable they can vary between +/// chains all using `pallet-contracts`. Hence we need a mechanism to communicate those types +/// in a way that can be consumed by offchain tooling. +/// +/// This type only exists in order to appear in the metadata where it can be read by +/// offchain tooling. +#[derive(Encode, Decode, DefaultNoBound, TypeInfo)] +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[scale_info(skip_type_params(T))] +pub struct Environment { + account_id: EnvironmentType>, + balance: EnvironmentType>, + hash: EnvironmentType<::Hash>, + hasher: EnvironmentType<::Hashing>, + timestamp: EnvironmentType>, + block_number: EnvironmentType>, +} + #[frame_support::pallet] pub mod pallet { use super::*; @@ -360,6 +397,13 @@ pub mod pallet { /// Do **not** use it in a production environment or for benchmarking purposes. #[cfg(feature = "unsafe-debug")] type Debug: unsafe_debug::UnsafeDebug; + + /// Type that bundles together all the runtime configurable interface types. + /// + /// This is not a real config. We just mention the type here as constant so that + /// its type appears in the metadata. Only valid value is `()`. + #[pallet::constant] + type Environment: Get>; } #[pallet::hooks] diff --git a/frame/contracts/src/migration.rs b/frame/contracts/src/migration.rs index d8ebc25ed9a22..3e3d6f37884c7 100644 --- a/frame/contracts/src/migration.rs +++ b/frame/contracts/src/migration.rs @@ -69,7 +69,6 @@ include!(concat!(env!("OUT_DIR"), "/migration_codegen.rs")); use crate::{weights::WeightInfo, Config, Error, MigrationInProgress, Pallet, Weight, LOG_TARGET}; use codec::{Codec, Decode}; use frame_support::{ - codec, pallet_prelude::*, traits::{ConstU32, OnRuntimeUpgrade}, }; diff --git a/frame/contracts/src/migration/v09.rs b/frame/contracts/src/migration/v09.rs index e6c6642955642..98fcccc2c0bec 100644 --- a/frame/contracts/src/migration/v09.rs +++ b/frame/contracts/src/migration/v09.rs @@ -23,7 +23,7 @@ use crate::{ CodeHash, Config, Determinism, Pallet, Weight, LOG_TARGET, }; use codec::{Decode, Encode}; -use frame_support::{codec, pallet_prelude::*, storage_alias, DefaultNoBound, Identity}; +use frame_support::{pallet_prelude::*, storage_alias, DefaultNoBound, Identity}; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; use sp_std::prelude::*; diff --git a/frame/contracts/src/migration/v10.rs b/frame/contracts/src/migration/v10.rs index e33c8d080ad9f..f02e28f6fde32 100644 --- a/frame/contracts/src/migration/v10.rs +++ b/frame/contracts/src/migration/v10.rs @@ -27,7 +27,6 @@ use crate::{ use codec::{Decode, Encode}; use core::cmp::{max, min}; use frame_support::{ - codec, pallet_prelude::*, storage_alias, traits::{ diff --git a/frame/contracts/src/migration/v11.rs b/frame/contracts/src/migration/v11.rs index 8123d73aee560..a5b11f6e08977 100644 --- a/frame/contracts/src/migration/v11.rs +++ b/frame/contracts/src/migration/v11.rs @@ -27,7 +27,7 @@ use crate::{ use sp_runtime::TryRuntimeError; use codec::{Decode, Encode}; -use frame_support::{codec, pallet_prelude::*, storage_alias, DefaultNoBound}; +use frame_support::{pallet_prelude::*, storage_alias, DefaultNoBound}; use sp_std::{marker::PhantomData, prelude::*}; mod old { use super::*; diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 75018f943d100..eb045aa42e9d7 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -25,7 +25,7 @@ use crate::{ }; use codec::{Decode, Encode}; use frame_support::{ - codec, pallet_prelude::*, storage_alias, traits::ReservableCurrency, DefaultNoBound, Identity, + pallet_prelude::*, storage_alias, traits::ReservableCurrency, DefaultNoBound, Identity, }; use scale_info::prelude::format; use sp_core::hexdisplay::HexDisplay; diff --git a/frame/contracts/src/migration/v13.rs b/frame/contracts/src/migration/v13.rs index 774b04a9c65d7..dd2eb12eb62a5 100644 --- a/frame/contracts/src/migration/v13.rs +++ b/frame/contracts/src/migration/v13.rs @@ -24,7 +24,7 @@ use crate::{ AccountIdOf, BalanceOf, CodeHash, Config, Pallet, TrieId, Weight, LOG_TARGET, }; use codec::{Decode, Encode}; -use frame_support::{codec, pallet_prelude::*, storage_alias, DefaultNoBound}; +use frame_support::{pallet_prelude::*, storage_alias, DefaultNoBound}; use sp_runtime::BoundedBTreeMap; use sp_std::prelude::*; diff --git a/frame/contracts/src/migration/v14.rs b/frame/contracts/src/migration/v14.rs index 0daa0ceb5548a..efb49dff4f10a 100644 --- a/frame/contracts/src/migration/v14.rs +++ b/frame/contracts/src/migration/v14.rs @@ -32,7 +32,6 @@ use environmental::Vec; #[cfg(feature = "try-runtime")] use frame_support::traits::fungible::{Inspect, InspectHold}; use frame_support::{ - codec, pallet_prelude::*, storage_alias, traits::{fungible::MutateHold, ReservableCurrency}, diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 5c8fca43ab746..b421bbf3e3093 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -481,6 +481,7 @@ impl Config for Test { type MaxDelegateDependencies = MaxDelegateDependencies; #[cfg(feature = "unsafe-debug")] type Debug = unsafe_debug::TestDebugger; + type Environment = (); } pub const ALICE: AccountId32 = AccountId32::new([1u8; 32]); diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 9d29da70a87d9..ca23ab9fe5dd0 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -26,11 +26,14 @@ use crate::{ use bitflags::bitflags; use codec::{Decode, DecodeLimit, Encode, MaxEncodedLen}; -use frame_support::{dispatch::DispatchError, ensure, traits::Get, weights::Weight, RuntimeDebug}; +use frame_support::{dispatch::DispatchError, ensure, traits::Get, weights::Weight}; use pallet_contracts_primitives::{ExecReturnValue, ReturnFlags}; use pallet_contracts_proc_macro::define_env; use sp_io::hashing::{blake2_128, blake2_256, keccak_256, sha2_256}; -use sp_runtime::traits::{Bounded, Zero}; +use sp_runtime::{ + traits::{Bounded, Zero}, + RuntimeDebug, +}; use sp_std::{fmt, prelude::*}; use wasmi::{core::HostError, errors::LinkerError, Linker, Memory, Store}; diff --git a/frame/core-fellowship/src/lib.rs b/frame/core-fellowship/src/lib.rs index 8f3d9633fcf22..5eb7bf8caba0e 100644 --- a/frame/core-fellowship/src/lib.rs +++ b/frame/core-fellowship/src/lib.rs @@ -61,6 +61,7 @@ use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_arithmetic::traits::{Saturating, Zero}; +use sp_runtime::RuntimeDebug; use sp_std::{marker::PhantomData, prelude::*}; use frame_support::{ @@ -69,7 +70,7 @@ use frame_support::{ traits::{ tokens::Balance as BalanceTrait, EnsureOrigin, EnsureOriginWithArg, Get, RankedMembers, }, - BoundedVec, RuntimeDebug, + BoundedVec, }; #[cfg(test)] diff --git a/frame/democracy/src/migrations/v1.rs b/frame/democracy/src/migrations/v1.rs index 27a500a615cff..c27f437901b7e 100644 --- a/frame/democracy/src/migrations/v1.rs +++ b/frame/democracy/src/migrations/v1.rs @@ -159,7 +159,7 @@ mod test { tests::{Test as T, *}, types::*, }; - use frame_support::bounded_vec; + use sp_runtime::bounded_vec; #[allow(deprecated)] #[test] diff --git a/frame/election-provider-multi-phase/src/mock.rs b/frame/election-provider-multi-phase/src/mock.rs index 82c7279879feb..05d151e51ecc5 100644 --- a/frame/election-provider-multi-phase/src/mock.rs +++ b/frame/election-provider-multi-phase/src/mock.rs @@ -23,7 +23,7 @@ use frame_election_provider_support::{ }; pub use frame_support::{assert_noop, assert_ok, pallet_prelude::GetDefault}; use frame_support::{ - bounded_vec, parameter_types, + parameter_types, traits::{ConstU32, Hooks}, weights::{constants, Weight}, BoundedVec, @@ -42,6 +42,7 @@ use sp_npos_elections::{ ElectionResult, EvaluateSupport, }; use sp_runtime::{ + bounded_vec, testing::Header, traits::{BlakeTwo256, IdentityLookup}, BuildStorage, PerU16, diff --git a/frame/election-provider-multi-phase/src/unsigned.rs b/frame/election-provider-multi-phase/src/unsigned.rs index e21e6c5e6d229..5eeac26fb1323 100644 --- a/frame/election-provider-multi-phase/src/unsigned.rs +++ b/frame/election-provider-multi-phase/src/unsigned.rs @@ -985,11 +985,10 @@ mod tests { use codec::Decode; use frame_benchmarking::Zero; use frame_election_provider_support::IndexAssignment; - use frame_support::{ - assert_noop, assert_ok, bounded_vec, dispatch::Dispatchable, traits::OffchainWorker, - }; + use frame_support::{assert_noop, assert_ok, dispatch::Dispatchable, traits::OffchainWorker}; use sp_npos_elections::ElectionScore; use sp_runtime::{ + bounded_vec, offchain::storage_lock::{BlockAndTime, StorageLock}, traits::ValidateUnsigned, ModuleError, PerU16, Perbill, diff --git a/frame/election-provider-support/src/lib.rs b/frame/election-provider-support/src/lib.rs index 577ac9c0b65a9..2e9ee3b8a48b5 100644 --- a/frame/election-provider-support/src/lib.rs +++ b/frame/election-provider-support/src/lib.rs @@ -82,7 +82,7 @@ //! # use frame_election_provider_support::{*, data_provider}; //! # use sp_npos_elections::{Support, Assignment}; //! # use frame_support::traits::ConstU32; -//! # use frame_support::bounded_vec; +//! # use sp_runtime::bounded_vec; //! //! type AccountId = u64; //! type Balance = u64; @@ -177,14 +177,17 @@ pub mod bounds; pub mod onchain; pub mod traits; -use sp_runtime::traits::{Bounded, Saturating, Zero}; +use sp_runtime::{ + traits::{Bounded, Saturating, Zero}, + RuntimeDebug, +}; use sp_std::{fmt::Debug, prelude::*}; pub use bounds::DataProviderBounds; pub use codec::{Decode, Encode}; /// Re-export the solution generation macro. pub use frame_election_provider_solution_type::generate_solution_type; -pub use frame_support::{traits::Get, weights::Weight, BoundedVec, RuntimeDebug}; +pub use frame_support::{traits::Get, weights::Weight, BoundedVec}; /// Re-export some type as they are used in the interface. pub use sp_arithmetic::PerThing; pub use sp_npos_elections::{ diff --git a/frame/election-provider-support/src/onchain.rs b/frame/election-provider-support/src/onchain.rs index 21ee710ea304d..8ac245a360bb5 100644 --- a/frame/election-provider-support/src/onchain.rs +++ b/frame/election-provider-support/src/onchain.rs @@ -254,7 +254,8 @@ mod tests { } mod mock_data_provider { - use frame_support::{bounded_vec, traits::ConstU32}; + use frame_support::traits::ConstU32; + use sp_runtime::bounded_vec; use super::*; use crate::{data_provider, VoterOf}; diff --git a/frame/elections-phragmen/src/lib.rs b/frame/elections-phragmen/src/lib.rs index b23ddda4e8d1c..6912649bd122d 100644 --- a/frame/elections-phragmen/src/lib.rs +++ b/frame/elections-phragmen/src/lib.rs @@ -107,6 +107,7 @@ use frame_support::{ }, weights::Weight, }; +use log; use scale_info::TypeInfo; use sp_npos_elections::{ElectionResult, ExtendedBalance}; use sp_runtime::{ @@ -309,7 +310,7 @@ pub mod pallet { frame_support::weights::constants::WEIGHT_REF_TIME_PER_SECOND as f32 }; - frame_support::log::debug!( + log::debug!( target: LOG_TARGET, "election weight {}s ({:?}) // chain's block weight {}s ({:?})", to_seconds(&election_weight), diff --git a/frame/elections-phragmen/src/migrations/v3.rs b/frame/elections-phragmen/src/migrations/v3.rs index 204614a5b46cb..cdca1138ebbd2 100644 --- a/frame/elections-phragmen/src/migrations/v3.rs +++ b/frame/elections-phragmen/src/migrations/v3.rs @@ -21,8 +21,9 @@ use super::super::LOG_TARGET; use crate::{Config, Pallet}; use codec::{Decode, Encode, FullCodec}; use frame_support::{ - pallet_prelude::ValueQuery, traits::StorageVersion, weights::Weight, RuntimeDebug, Twox64Concat, + pallet_prelude::ValueQuery, traits::StorageVersion, weights::Weight, Twox64Concat, }; +use sp_runtime::RuntimeDebug; use sp_std::prelude::*; #[derive(Encode, Decode, Clone, Default, RuntimeDebug, PartialEq)] diff --git a/frame/executive/Cargo.toml b/frame/executive/Cargo.toml index fa466dd2041ea..71ec08472d63b 100644 --- a/frame/executive/Cargo.toml +++ b/frame/executive/Cargo.toml @@ -16,6 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"] codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [ "derive", ] } +log = { version = "0.4.17", default-features = false } scale-info = { version = "2.5.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" } @@ -40,6 +41,7 @@ default = ["std"] with-tracing = ["sp-tracing/with-tracing"] std = [ "codec/std", + "log/std", "frame-support/std", "frame-system/std", "frame-try-runtime/std", diff --git a/frame/executive/src/lib.rs b/frame/executive/src/lib.rs index 4e24717a39e93..1d9afdfa60aa4 100644 --- a/frame/executive/src/lib.rs +++ b/frame/executive/src/lib.rs @@ -138,6 +138,8 @@ use sp_runtime::{ }; use sp_std::{marker::PhantomData, prelude::*}; +#[cfg(feature = "try-runtime")] +use log; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; @@ -252,7 +254,7 @@ where signature_check: bool, select: frame_try_runtime::TryStateSelect, ) -> Result { - frame_support::log::info!( + log::info!( target: LOG_TARGET, "try-runtime: executing block #{:?} / state root check: {:?} / signature check: {:?} / try-state-select: {:?}", block.header().number(), @@ -289,7 +291,7 @@ where for e in extrinsics { if let Err(err) = try_apply_extrinsic(e.clone()) { - frame_support::log::error!( + log::error!( target: LOG_TARGET, "executing transaction {:?} failed due to {:?}. Aborting the rest of the block execution.", e, err, @@ -308,7 +310,7 @@ where BlockNumberFor, >>::try_state(*header.number(), select) .map_err(|e| { - frame_support::log::error!(target: LOG_TARGET, "failure: {:?}", e); + log::error!(target: LOG_TARGET, "failure: {:?}", e); e })?; drop(_guard); @@ -338,7 +340,7 @@ where ); } - frame_support::log::info!( + log::info!( target: LOG_TARGET, "try-runtime: Block #{:?} successfully executed", header.number(), diff --git a/frame/lottery/src/lib.rs b/frame/lottery/src/lib.rs index a6a94b4ab19af..c9c0254042424 100644 --- a/frame/lottery/src/lib.rs +++ b/frame/lottery/src/lib.rs @@ -61,12 +61,12 @@ use frame_support::{ pallet_prelude::MaxEncodedLen, storage::bounded_vec::BoundedVec, traits::{Currency, ExistenceRequirement::KeepAlive, Get, Randomness, ReservableCurrency}, - PalletId, RuntimeDebug, + PalletId, }; pub use pallet::*; use sp_runtime::{ traits::{AccountIdConversion, Saturating, Zero}, - ArithmeticError, DispatchError, + ArithmeticError, DispatchError, RuntimeDebug, }; use sp_std::prelude::*; pub use weights::WeightInfo; diff --git a/frame/membership/src/lib.rs b/frame/membership/src/lib.rs index 24b9fb5fe9069..6fb61f0e491be 100644 --- a/frame/membership/src/lib.rs +++ b/frame/membership/src/lib.rs @@ -525,12 +525,13 @@ mod tests { use sp_core::H256; use sp_runtime::{ + bounded_vec, traits::{BadOrigin, BlakeTwo256, IdentityLookup}, BuildStorage, }; use frame_support::{ - assert_noop, assert_ok, bounded_vec, ord_parameter_types, parameter_types, + assert_noop, assert_ok, ord_parameter_types, parameter_types, traits::{ConstU32, ConstU64, StorageVersion}, }; use frame_system::EnsureSignedBy; diff --git a/frame/merkle-mountain-range/Cargo.toml b/frame/merkle-mountain-range/Cargo.toml index 1d7739eb93c2c..82a24904cc92d 100644 --- a/frame/merkle-mountain-range/Cargo.toml +++ b/frame/merkle-mountain-range/Cargo.toml @@ -13,6 +13,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false } +log = { version = "0.4.17", default-features = false } scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, path = "../benchmarking" } frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" } @@ -32,6 +33,7 @@ itertools = "0.10.3" default = ["std"] std = [ "codec/std", + "log/std", "frame-benchmarking?/std", "frame-support/std", "frame-system/std", diff --git a/frame/merkle-mountain-range/src/lib.rs b/frame/merkle-mountain-range/src/lib.rs index 2edef9a35d57a..664f4bc73901b 100644 --- a/frame/merkle-mountain-range/src/lib.rs +++ b/frame/merkle-mountain-range/src/lib.rs @@ -56,8 +56,9 @@ //! NOTE This pallet is experimental and not proven to work in production. #![cfg_attr(not(feature = "std"), no_std)] -use frame_support::{log, weights::Weight}; +use frame_support::weights::Weight; use frame_system::pallet_prelude::{BlockNumberFor, HeaderFor}; +use log; use sp_mmr_primitives::utils; use sp_runtime::{ traits::{self, One, Saturating}, diff --git a/frame/merkle-mountain-range/src/mmr/storage.rs b/frame/merkle-mountain-range/src/mmr/storage.rs index d7466784e4ab8..03039be83ac1a 100644 --- a/frame/merkle-mountain-range/src/mmr/storage.rs +++ b/frame/merkle-mountain-range/src/mmr/storage.rs @@ -18,7 +18,7 @@ //! An MMR storage implementation. use codec::Encode; -use frame_support::log::{debug, trace}; +use log::{debug, trace}; use sp_core::offchain::StorageKind; use sp_io::offchain_index; use sp_mmr_primitives::{mmr_lib, mmr_lib::helper, utils::NodesUtils}; diff --git a/frame/multisig/src/lib.rs b/frame/multisig/src/lib.rs index ab117315f8985..e4426c64b4125 100644 --- a/frame/multisig/src/lib.rs +++ b/frame/multisig/src/lib.rs @@ -57,14 +57,14 @@ use frame_support::{ ensure, traits::{Currency, Get, ReservableCurrency}, weights::Weight, - BoundedVec, RuntimeDebug, + BoundedVec, }; use frame_system::{self as system, pallet_prelude::BlockNumberFor, RawOrigin}; use scale_info::TypeInfo; use sp_io::hashing::blake2_256; use sp_runtime::{ traits::{Dispatchable, TrailingZeroInput, Zero}, - DispatchError, + DispatchError, RuntimeDebug, }; use sp_std::prelude::*; pub use weights::WeightInfo; diff --git a/frame/nfts/src/lib.rs b/frame/nfts/src/lib.rs index 333fe97dd4a1e..92b27432ab215 100644 --- a/frame/nfts/src/lib.rs +++ b/frame/nfts/src/lib.rs @@ -662,7 +662,7 @@ pub mod pallet { /// /// The origin must be Signed and the sender must have sufficient funds free. /// - /// `ItemDeposit` funds of sender are reserved. + /// `CollectionDeposit` funds of sender are reserved. /// /// Parameters: /// - `admin`: The admin of this collection. The admin is the initial address of each @@ -844,6 +844,7 @@ pub mod pallet { MintType::HolderOf(collection_id) => { let MintWitness { owned_item, .. } = witness_data.clone().ok_or(Error::::WitnessRequired)?; + let owned_item = owned_item.ok_or(Error::::BadWitness)?; let owns_item = Account::::contains_key(( &caller, diff --git a/frame/nfts/src/migration.rs b/frame/nfts/src/migration.rs index a4529148e35b6..f90d332062a2c 100644 --- a/frame/nfts/src/migration.rs +++ b/frame/nfts/src/migration.rs @@ -16,7 +16,8 @@ // limitations under the License. use super::*; -use frame_support::{log, traits::OnRuntimeUpgrade}; +use frame_support::traits::OnRuntimeUpgrade; +use log; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; diff --git a/frame/nfts/src/tests.rs b/frame/nfts/src/tests.rs index c94e75d343930..f7879570a4cb7 100644 --- a/frame/nfts/src/tests.rs +++ b/frame/nfts/src/tests.rs @@ -427,7 +427,7 @@ fn mint_should_work() { 1, 42, account(2), - Some(MintWitness { owned_item: 42, ..Default::default() }) + Some(MintWitness { owned_item: Some(42), ..Default::default() }) ), Error::::BadWitness ); @@ -436,7 +436,7 @@ fn mint_should_work() { 1, 42, account(2), - Some(MintWitness { owned_item: 43, ..Default::default() }) + Some(MintWitness { owned_item: Some(43), ..Default::default() }) )); // can't mint twice @@ -446,7 +446,7 @@ fn mint_should_work() { 1, 46, account(2), - Some(MintWitness { owned_item: 43, ..Default::default() }) + Some(MintWitness { owned_item: Some(43), ..Default::default() }) ), Error::::AlreadyClaimed ); diff --git a/frame/nfts/src/types.rs b/frame/nfts/src/types.rs index f083b116fe938..5a9f6ae2f0e21 100644 --- a/frame/nfts/src/types.rs +++ b/frame/nfts/src/types.rs @@ -133,7 +133,7 @@ impl CollectionDetails { #[derive(Clone, Encode, Decode, Default, Eq, PartialEq, RuntimeDebug, TypeInfo)] pub struct MintWitness { /// Provide the id of the item in a required collection. - pub owned_item: ItemId, + pub owned_item: Option, /// The price specified in mint settings. pub mint_price: Option, } diff --git a/frame/nomination-pools/src/tests.rs b/frame/nomination-pools/src/tests.rs index ac8fa5c4dbc0c..d0fe4e40a18b7 100644 --- a/frame/nomination-pools/src/tests.rs +++ b/frame/nomination-pools/src/tests.rs @@ -17,9 +17,9 @@ use super::*; use crate::{mock::*, Event}; -use frame_support::{assert_err, assert_noop, assert_ok, assert_storage_noop, bounded_btree_map}; +use frame_support::{assert_err, assert_noop, assert_ok, assert_storage_noop}; use pallet_balances::Event as BEvent; -use sp_runtime::{traits::Dispatchable, FixedU128}; +use sp_runtime::{bounded_btree_map, traits::Dispatchable, FixedU128}; macro_rules! unbonding_pools_with_era { ($($k:expr => $v:expr),* $(,)?) => {{ @@ -3260,7 +3260,7 @@ mod pool_withdraw_unbonded { mod withdraw_unbonded { use super::*; - use frame_support::bounded_btree_map; + use sp_runtime::bounded_btree_map; #[test] fn withdraw_unbonded_works_against_slashed_no_era_sub_pool() { diff --git a/frame/nomination-pools/test-staking/src/lib.rs b/frame/nomination-pools/test-staking/src/lib.rs index 1587492582143..9108da510a3a5 100644 --- a/frame/nomination-pools/test-staking/src/lib.rs +++ b/frame/nomination-pools/test-staking/src/lib.rs @@ -19,14 +19,14 @@ mod mock; -use frame_support::{assert_noop, assert_ok, bounded_btree_map, traits::Currency}; +use frame_support::{assert_noop, assert_ok, traits::Currency}; use mock::*; use pallet_nomination_pools::{ BondedPools, Error as PoolsError, Event as PoolsEvent, LastPoolId, PoolMember, PoolMembers, PoolState, }; use pallet_staking::{CurrentEra, Event as StakingEvent, Payee, RewardDestination}; -use sp_runtime::traits::Zero; +use sp_runtime::{bounded_btree_map, traits::Zero}; #[test] fn pool_lifecycle_e2e() { diff --git a/frame/paged-list/Cargo.toml b/frame/paged-list/Cargo.toml index 3d7010d331b2e..d2b3db0080c33 100644 --- a/frame/paged-list/Cargo.toml +++ b/frame/paged-list/Cargo.toml @@ -24,11 +24,23 @@ sp-runtime = { version = "24.0.0", default-features = false, path = "../../primi sp-std = { version = "8.0.0", default-features = false, path = "../../primitives/std" } sp-core = { version = "21.0.0", path = "../../primitives/core", default-features = false } sp-io = { version = "23.0.0", path = "../../primitives/io", default-features = false } +sp-metadata-ir = { version = "0.1.0", default-features = false, optional = true, path = "../../primitives/metadata-ir" } [features] default = ["std"] -std = ["codec/std", "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "scale-info/std", "sp-core/std", "sp-io/std", "sp-runtime/std", "sp-std/std"] +std = [ + "codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "scale-info/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "sp-metadata-ir/std" +] runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks"] @@ -37,3 +49,7 @@ try-runtime = [ "frame-system/try-runtime", "sp-runtime/try-runtime" ] + +frame-metadata = [ + "sp-metadata-ir" +] diff --git a/frame/paged-list/src/paged_list.rs b/frame/paged-list/src/paged_list.rs index 37ebe80d93448..3597c3dea6823 100644 --- a/frame/paged-list/src/paged_list.rs +++ b/frame/paged-list/src/paged_list.rs @@ -408,12 +408,12 @@ where pub(crate) mod mock { pub use super::*; pub use frame_support::{ - metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}, parameter_types, storage::{types::ValueQuery, StorageList as _}, StorageNoopGuard, }; pub use sp_io::{hashing::twox_128, TestExternalities}; + pub use sp_metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}; parameter_types! { pub const ValuesPerNewPage: u32 = 5; diff --git a/frame/preimage/src/migration.rs b/frame/preimage/src/migration.rs index 46e555498cd2d..0f3337e39bf50 100644 --- a/frame/preimage/src/migration.rs +++ b/frame/preimage/src/migration.rs @@ -192,7 +192,7 @@ mod test { use super::*; use crate::mock::{Test as T, *}; - use frame_support::bounded_vec; + use sp_runtime::bounded_vec; #[test] fn migration_works() { diff --git a/frame/preimage/src/tests.rs b/frame/preimage/src/tests.rs index 63a178c408a3f..fa621c8f5589e 100644 --- a/frame/preimage/src/tests.rs +++ b/frame/preimage/src/tests.rs @@ -23,12 +23,13 @@ use super::*; use crate::mock::*; use frame_support::{ - assert_err, assert_noop, assert_ok, assert_storage_noop, bounded_vec, + assert_err, assert_noop, assert_ok, assert_storage_noop, traits::{Bounded, BoundedInline, Hash as PreimageHash}, StorageNoopGuard, }; use pallet_balances::Error as BalancesError; use sp_core::{blake2_256, H256}; +use sp_runtime::bounded_vec; /// Returns one `Inline`, `Lookup` and `Legacy` item each with different data and hash. pub fn make_bounded_values() -> (Bounded>, Bounded>, Bounded>) { diff --git a/frame/proxy/src/lib.rs b/frame/proxy/src/lib.rs index 33e9fcfade35a..586d52fb62bdd 100644 --- a/frame/proxy/src/lib.rs +++ b/frame/proxy/src/lib.rs @@ -38,7 +38,6 @@ use frame_support::{ dispatch::{DispatchError, GetDispatchInfo}, ensure, traits::{Currency, Get, InstanceFilter, IsSubType, IsType, OriginTrait, ReservableCurrency}, - RuntimeDebug, }; use frame_system::{self as system, ensure_signed, pallet_prelude::BlockNumberFor}; pub use pallet::*; @@ -46,7 +45,7 @@ use scale_info::TypeInfo; use sp_io::hashing::blake2_256; use sp_runtime::{ traits::{Dispatchable, Hash, Saturating, StaticLookup, TrailingZeroInput, Zero}, - DispatchResult, + DispatchResult, RuntimeDebug, }; use sp_std::prelude::*; pub use weights::WeightInfo; diff --git a/frame/proxy/src/tests.rs b/frame/proxy/src/tests.rs index 4b055a3935b95..48a2a4ed0cc33 100644 --- a/frame/proxy/src/tests.rs +++ b/frame/proxy/src/tests.rs @@ -27,10 +27,9 @@ use frame_support::{ assert_noop, assert_ok, derive_impl, dispatch::DispatchError, traits::{ConstU32, ConstU64, Contains}, - RuntimeDebug, }; use sp_core::H256; -use sp_runtime::{traits::BlakeTwo256, BuildStorage}; +use sp_runtime::{traits::BlakeTwo256, BuildStorage, RuntimeDebug}; type Block = frame_system::mocking::MockBlock; diff --git a/frame/ranked-collective/src/lib.rs b/frame/ranked-collective/src/lib.rs index fe1308cd034f4..d94932a1dac71 100644 --- a/frame/ranked-collective/src/lib.rs +++ b/frame/ranked-collective/src/lib.rs @@ -41,6 +41,7 @@ #![cfg_attr(not(feature = "std"), no_std)] #![recursion_limit = "128"] +use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_arithmetic::traits::Saturating; use sp_runtime::{ @@ -51,7 +52,6 @@ use sp_runtime::{ use sp_std::{marker::PhantomData, prelude::*}; use frame_support::{ - codec::{Decode, Encode, MaxEncodedLen}, dispatch::{DispatchError, DispatchResultWithPostInfo, PostDispatchInfo}, ensure, impl_ensure_origin_with_arg_ignoring_arg, traits::{EnsureOrigin, EnsureOriginWithArg, PollStatus, Polling, RankedMembers, VoteTally}, diff --git a/frame/recovery/src/lib.rs b/frame/recovery/src/lib.rs index 9c01d25d4f76b..5673147c8e005 100644 --- a/frame/recovery/src/lib.rs +++ b/frame/recovery/src/lib.rs @@ -152,13 +152,16 @@ use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; -use sp_runtime::traits::{CheckedAdd, CheckedMul, Dispatchable, SaturatedConversion, StaticLookup}; +use sp_runtime::{ + traits::{CheckedAdd, CheckedMul, Dispatchable, SaturatedConversion, StaticLookup}, + RuntimeDebug, +}; use sp_std::prelude::*; use frame_support::{ dispatch::{GetDispatchInfo, PostDispatchInfo}, traits::{BalanceStatus, Currency, ReservableCurrency}, - BoundedVec, RuntimeDebug, + BoundedVec, }; pub use pallet::*; diff --git a/frame/recovery/src/tests.rs b/frame/recovery/src/tests.rs index 85024d0bc4a9d..93df07015852e 100644 --- a/frame/recovery/src/tests.rs +++ b/frame/recovery/src/tests.rs @@ -18,12 +18,12 @@ //! Tests for the module. use super::*; -use frame_support::{assert_noop, assert_ok, bounded_vec, traits::Currency}; +use frame_support::{assert_noop, assert_ok, traits::Currency}; use mock::{ new_test_ext, run_to_block, Balances, BalancesCall, MaxFriends, Recovery, RecoveryCall, RuntimeCall, RuntimeOrigin, Test, }; -use sp_runtime::traits::BadOrigin; +use sp_runtime::{bounded_vec, traits::BadOrigin}; #[test] fn basic_setup_works() { diff --git a/frame/salary/src/lib.rs b/frame/salary/src/lib.rs index 53dd7224909a8..75d6fdd329ac8 100644 --- a/frame/salary/src/lib.rs +++ b/frame/salary/src/lib.rs @@ -23,7 +23,7 @@ use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_arithmetic::traits::{Saturating, Zero}; -use sp_runtime::Perbill; +use sp_runtime::{Perbill, RuntimeDebug}; use sp_std::{marker::PhantomData, prelude::*}; use frame_support::{ @@ -33,7 +33,6 @@ use frame_support::{ tokens::{GetSalary, Pay, PaymentStatus}, RankedMembers, }, - RuntimeDebug, }; #[cfg(test)] diff --git a/frame/scored-pool/src/mock.rs b/frame/scored-pool/src/mock.rs index d8c6ef9b0f444..591c910488b16 100644 --- a/frame/scored-pool/src/mock.rs +++ b/frame/scored-pool/src/mock.rs @@ -21,12 +21,13 @@ use super::*; use crate as pallet_scored_pool; use frame_support::{ - bounded_vec, construct_runtime, ord_parameter_types, parameter_types, + construct_runtime, ord_parameter_types, parameter_types, traits::{ConstU32, ConstU64}, }; use frame_system::EnsureSignedBy; use sp_core::H256; use sp_runtime::{ + bounded_vec, traits::{BlakeTwo256, IdentityLookup}, BuildStorage, }; diff --git a/frame/session/Cargo.toml b/frame/session/Cargo.toml index 0858ae6656540..a2a04e76a9f91 100644 --- a/frame/session/Cargo.toml +++ b/frame/session/Cargo.toml @@ -27,6 +27,7 @@ sp-session = { version = "4.0.0-dev", default-features = false, path = "../../pr sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking", features = ["serde"] } sp-std = { version = "8.0.0", default-features = false, path = "../../primitives/std" } sp-trie = { version = "22.0.0", default-features = false, optional = true, path = "../../primitives/trie" } +sp-state-machine = { version = "0.28.0", default-features = false, path = "../../primitives/state-machine" } [features] default = ["historical", "std"] @@ -45,6 +46,7 @@ std = [ "sp-staking/std", "sp-std/std", "sp-trie/std", + "sp-state-machine/std", ] try-runtime = [ "frame-support/try-runtime", diff --git a/frame/session/benchmarking/Cargo.toml b/frame/session/benchmarking/Cargo.toml index a26cacc561e82..81e4c2ff590b1 100644 --- a/frame/session/benchmarking/Cargo.toml +++ b/frame/session/benchmarking/Cargo.toml @@ -13,6 +13,7 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] +codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false } rand = { version = "0.8.5", default-features = false, features = ["std_rng"] } frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../../benchmarking" } frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" } diff --git a/frame/session/benchmarking/src/lib.rs b/frame/session/benchmarking/src/lib.rs index cbf5d67ba567c..722bb14fb56ed 100644 --- a/frame/session/benchmarking/src/lib.rs +++ b/frame/session/benchmarking/src/lib.rs @@ -26,11 +26,9 @@ mod mock; use sp_runtime::traits::{One, StaticLookup, TrailingZeroInput}; use sp_std::{prelude::*, vec}; +use codec::Decode; use frame_benchmarking::v1::benchmarks; -use frame_support::{ - codec::Decode, - traits::{Get, KeyOwnerProofSystem, OnInitialize}, -}; +use frame_support::traits::{Get, KeyOwnerProofSystem, OnInitialize}; use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin}; use pallet_session::{historical::Pallet as Historical, Pallet as Session, *}; use pallet_staking::{ diff --git a/frame/session/src/historical/mod.rs b/frame/session/src/historical/mod.rs index 04129e4eba130..d74e9dd0b7c54 100644 --- a/frame/session/src/historical/mod.rs +++ b/frame/session/src/historical/mod.rs @@ -378,11 +378,9 @@ pub(crate) mod tests { }; use sp_runtime::{key_types::DUMMY, testing::UintAuthorityId, BuildStorage}; + use sp_state_machine::BasicExternalities; - use frame_support::{ - traits::{KeyOwnerProofSystem, OnInitialize}, - BasicExternalities, - }; + use frame_support::traits::{KeyOwnerProofSystem, OnInitialize}; type Historical = Pallet; diff --git a/frame/session/src/historical/offchain.rs b/frame/session/src/historical/offchain.rs index c44eea2f374c0..1b4d53b74b45e 100644 --- a/frame/session/src/historical/offchain.rs +++ b/frame/session/src/historical/offchain.rs @@ -150,11 +150,9 @@ mod tests { offchain::{testing::TestOffchainExt, OffchainDbExt, OffchainWorkerExt, StorageKind}, }; use sp_runtime::{testing::UintAuthorityId, BuildStorage}; + use sp_state_machine::BasicExternalities; - use frame_support::{ - traits::{KeyOwnerProofSystem, OnInitialize}, - BasicExternalities, - }; + use frame_support::traits::{KeyOwnerProofSystem, OnInitialize}; type Historical = Pallet; diff --git a/frame/session/src/lib.rs b/frame/session/src/lib.rs index d2b1c2b744674..1c0093c1df64f 100644 --- a/frame/session/src/lib.rs +++ b/frame/session/src/lib.rs @@ -115,8 +115,8 @@ mod mock; mod tests; pub mod weights; +use codec::{Decode, MaxEncodedLen}; use frame_support::{ - codec::{Decode, MaxEncodedLen}, dispatch::{DispatchError, DispatchResult}, ensure, traits::{ diff --git a/frame/session/src/mock.rs b/frame/session/src/mock.rs index b45ebfd25c44a..2db54e1a59756 100644 --- a/frame/session/src/mock.rs +++ b/frame/session/src/mock.rs @@ -32,11 +32,11 @@ use sp_runtime::{ BuildStorage, }; use sp_staking::SessionIndex; +use sp_state_machine::BasicExternalities; use frame_support::{ parameter_types, traits::{ConstU32, ConstU64}, - BasicExternalities, }; impl_opaque_keys! { diff --git a/frame/staking/src/migrations.rs b/frame/staking/src/migrations.rs index 0a27290daacd8..332da506f01ed 100644 --- a/frame/staking/src/migrations.rs +++ b/frame/staking/src/migrations.rs @@ -296,7 +296,7 @@ pub mod v10 { pub mod v9 { use super::*; #[cfg(feature = "try-runtime")] - use frame_support::codec::{Decode, Encode}; + use codec::{Decode, Encode}; #[cfg(feature = "try-runtime")] use sp_std::vec::Vec; diff --git a/frame/staking/src/tests.rs b/frame/staking/src/tests.rs index 29539cbb84cf7..fd7dabac74d8d 100644 --- a/frame/staking/src/tests.rs +++ b/frame/staking/src/tests.rs @@ -23,7 +23,7 @@ use frame_election_provider_support::{ ElectionProvider, SortedListProvider, Support, }; use frame_support::{ - assert_noop, assert_ok, assert_storage_noop, bounded_vec, + assert_noop, assert_ok, assert_storage_noop, dispatch::{extract_actual_weight, GetDispatchInfo, WithPostDispatchInfo}, pallet_prelude::*, traits::{Currency, Get, ReservableCurrency}, @@ -31,7 +31,7 @@ use frame_support::{ use mock::*; use pallet_balances::Error as BalancesError; use sp_runtime::{ - assert_eq_error_rate, + assert_eq_error_rate, bounded_vec, traits::{BadOrigin, Dispatchable}, Perbill, Percent, Rounding, TokenError, }; diff --git a/frame/state-trie-migration/src/lib.rs b/frame/state-trie-migration/src/lib.rs index c5b41cd9a4439..e22a47458b7d5 100644 --- a/frame/state-trie-migration/src/lib.rs +++ b/frame/state-trie-migration/src/lib.rs @@ -1268,8 +1268,8 @@ mod mock { #[cfg(test)] mod test { use super::{mock::*, *}; - use frame_support::{bounded_vec, dispatch::*}; - use sp_runtime::{traits::Bounded, StateVersion}; + use frame_support::dispatch::*; + use sp_runtime::{bounded_vec, traits::Bounded, StateVersion}; #[test] fn fails_if_no_migration() { diff --git a/frame/support/Cargo.toml b/frame/support/Cargo.toml index da6ee19e04a0d..5d1dbd710223a 100644 --- a/frame/support/Cargo.toml +++ b/frame/support/Cargo.toml @@ -28,6 +28,7 @@ sp-inherents = { version = "4.0.0-dev", default-features = false, path = "../../ sp-staking = { version = "4.0.0-dev", default-features = false, path = "../../primitives/staking" } sp-weights = { version = "20.0.0", default-features = false, path = "../../primitives/weights" } sp-debug-derive = { default-features = false, path = "../../primitives/debug-derive" } +sp-metadata-ir = { version = "0.1.0", default-features = false, path = "../../primitives/metadata-ir" } tt-call = "1.0.8" macro_magic = "0.4.2" frame-support-procedural = { version = "4.0.0-dev", default-features = false, path = "./procedural" } @@ -76,7 +77,8 @@ std = [ "environmental/std", "sp-genesis-builder/std", "frame-system/std", - "sp-debug-derive/std" + "sp-debug-derive/std", + "sp-metadata-ir/std" ] runtime-benchmarks = [ "frame-system/runtime-benchmarks", diff --git a/frame/support/procedural/Cargo.toml b/frame/support/procedural/Cargo.toml index 1d201d5a87fc5..f596713e5f115 100644 --- a/frame/support/procedural/Cargo.toml +++ b/frame/support/procedural/Cargo.toml @@ -17,7 +17,7 @@ proc-macro = true [dependencies] derive-syn-parse = "0.1.5" Inflector = "0.11.4" -cfg-expr = "0.15.1" +cfg-expr = "0.15.4" itertools = "0.10.3" proc-macro2 = "1.0.56" quote = "1.0.28" diff --git a/frame/support/procedural/src/benchmark.rs b/frame/support/procedural/src/benchmark.rs index 9f28e7129d2e1..5a5bafa0929c6 100644 --- a/frame/support/procedural/src/benchmark.rs +++ b/frame/support/procedural/src/benchmark.rs @@ -724,7 +724,7 @@ fn expand_benchmark( Ok(ident) => ident, Err(err) => return err.to_compile_error().into(), }; - let codec = quote!(#krate::frame_support::codec); + let codec = quote!(#krate::frame_support::__private::codec); let traits = quote!(#krate::frame_support::traits); let setup_stmts = benchmark_def.setup_stmts; let verify_stmts = benchmark_def.verify_stmts; diff --git a/frame/support/procedural/src/construct_runtime/expand/call.rs b/frame/support/procedural/src/construct_runtime/expand/call.rs index cc4841418beec..cbf2ea9078535 100644 --- a/frame/support/procedural/src/construct_runtime/expand/call.rs +++ b/frame/support/procedural/src/construct_runtime/expand/call.rs @@ -68,10 +68,10 @@ pub fn expand_outer_dispatch( #[derive( Clone, PartialEq, Eq, - #scrate::codec::Encode, - #scrate::codec::Decode, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, + #scrate::__private::codec::Decode, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] pub enum RuntimeCall { #variant_defs @@ -166,7 +166,7 @@ pub fn expand_outer_dispatch( type PostInfo = #scrate::dispatch::PostDispatchInfo; fn dispatch(self, origin: RuntimeOrigin) -> #scrate::dispatch::DispatchResultWithPostInfo { if !::filter_call(&origin, &self) { - return #scrate::sp_std::result::Result::Err( + return #scrate::__private::sp_std::result::Result::Err( #system_path::Error::<#runtime>::CallFiltered.into() ); } diff --git a/frame/support/procedural/src/construct_runtime/expand/config.rs b/frame/support/procedural/src/construct_runtime/expand/config.rs index 440e856221a36..ffe55bceb80ef 100644 --- a/frame/support/procedural/src/construct_runtime/expand/config.rs +++ b/frame/support/procedural/src/construct_runtime/expand/config.rs @@ -67,8 +67,8 @@ pub fn expand_outer_config( #types - use #scrate::serde as __genesis_config_serde_import__; - #[derive(#scrate::serde::Serialize, #scrate::serde::Deserialize, Default)] + use #scrate::__private::serde as __genesis_config_serde_import__; + #[derive(#scrate::__private::serde::Serialize, #scrate::__private::serde::Deserialize, Default)] #[serde(rename_all = "camelCase")] #[serde(deny_unknown_fields)] #[serde(crate = "__genesis_config_serde_import__")] @@ -86,7 +86,7 @@ pub fn expand_outer_config( &self, storage: &mut #scrate::sp_runtime::Storage, ) -> std::result::Result<(), String> { - #scrate::BasicExternalities::execute_with_storage(storage, || { + #scrate::__private::BasicExternalities::execute_with_storage(storage, || { ::build(&self); Ok(()) }) diff --git a/frame/support/procedural/src/construct_runtime/expand/freeze_reason.rs b/frame/support/procedural/src/construct_runtime/expand/freeze_reason.rs index d357fab72115b..b142f8e84c92f 100644 --- a/frame/support/procedural/src/construct_runtime/expand/freeze_reason.rs +++ b/frame/support/procedural/src/construct_runtime/expand/freeze_reason.rs @@ -38,9 +38,9 @@ pub fn expand_outer_freeze_reason(pallet_decls: &[Pallet], scrate: &TokenStream) /// A reason for placing a freeze on funds. #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, - #scrate::codec::Encode, #scrate::codec::Decode, #scrate::codec::MaxEncodedLen, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, #scrate::__private::codec::Decode, #scrate::__private::codec::MaxEncodedLen, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] pub enum RuntimeFreezeReason { #( #freeze_reason_variants )* diff --git a/frame/support/procedural/src/construct_runtime/expand/hold_reason.rs b/frame/support/procedural/src/construct_runtime/expand/hold_reason.rs index 6acfe5382f18a..ed7183c4a150d 100644 --- a/frame/support/procedural/src/construct_runtime/expand/hold_reason.rs +++ b/frame/support/procedural/src/construct_runtime/expand/hold_reason.rs @@ -38,9 +38,9 @@ pub fn expand_outer_hold_reason(pallet_decls: &[Pallet], scrate: &TokenStream) - /// A reason for placing a hold on funds. #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, - #scrate::codec::Encode, #scrate::codec::Decode, #scrate::codec::MaxEncodedLen, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, #scrate::__private::codec::Decode, #scrate::__private::codec::MaxEncodedLen, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] pub enum RuntimeHoldReason { #( #hold_reason_variants )* diff --git a/frame/support/procedural/src/construct_runtime/expand/inherent.rs b/frame/support/procedural/src/construct_runtime/expand/inherent.rs index 1dc51d9cd2bc4..a77aad66dcfc2 100644 --- a/frame/support/procedural/src/construct_runtime/expand/inherent.rs +++ b/frame/support/procedural/src/construct_runtime/expand/inherent.rs @@ -58,17 +58,17 @@ pub fn expand_outer_inherent( trait InherentDataExt { fn create_extrinsics(&self) -> - #scrate::sp_std::vec::Vec<<#block as #scrate::sp_runtime::traits::Block>::Extrinsic>; + #scrate::__private::sp_std::vec::Vec<<#block as #scrate::sp_runtime::traits::Block>::Extrinsic>; fn check_extrinsics(&self, block: &#block) -> #scrate::inherent::CheckInherentsResult; } impl InherentDataExt for #scrate::inherent::InherentData { fn create_extrinsics(&self) -> - #scrate::sp_std::vec::Vec<<#block as #scrate::sp_runtime::traits::Block>::Extrinsic> + #scrate::__private::sp_std::vec::Vec<<#block as #scrate::sp_runtime::traits::Block>::Extrinsic> { use #scrate::inherent::ProvideInherent; - let mut inherents = #scrate::sp_std::vec::Vec::new(); + let mut inherents = #scrate::__private::sp_std::vec::Vec::new(); #( #pallet_attrs @@ -91,7 +91,7 @@ pub fn expand_outer_inherent( use #scrate::traits::{IsSubType, ExtrinsicCall}; use #scrate::sp_runtime::traits::Block as _; use #scrate::_private::sp_inherents::Error; - use #scrate::log; + use #scrate::__private::log; let mut result = #scrate::inherent::CheckInherentsResult::new(); diff --git a/frame/support/procedural/src/construct_runtime/expand/lock_id.rs b/frame/support/procedural/src/construct_runtime/expand/lock_id.rs index d7031dcaf552b..ba35147a051fb 100644 --- a/frame/support/procedural/src/construct_runtime/expand/lock_id.rs +++ b/frame/support/procedural/src/construct_runtime/expand/lock_id.rs @@ -38,9 +38,9 @@ pub fn expand_outer_lock_id(pallet_decls: &[Pallet], scrate: &TokenStream) -> To /// An identifier for each lock placed on funds. #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, - #scrate::codec::Encode, #scrate::codec::Decode, #scrate::codec::MaxEncodedLen, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, #scrate::__private::codec::Decode, #scrate::__private::codec::MaxEncodedLen, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] pub enum RuntimeLockId { #( #lock_id_variants )* diff --git a/frame/support/procedural/src/construct_runtime/expand/metadata.rs b/frame/support/procedural/src/construct_runtime/expand/metadata.rs index 0975fedb35d5b..0e76f9a92469a 100644 --- a/frame/support/procedural/src/construct_runtime/expand/metadata.rs +++ b/frame/support/procedural/src/construct_runtime/expand/metadata.rs @@ -61,7 +61,7 @@ pub fn expand_runtime_metadata( quote! { #attr - #scrate::metadata_ir::PalletMetadataIR { + #scrate::__private::metadata_ir::PalletMetadataIR { name: stringify!(#name), index: #index, storage: #storage, @@ -77,7 +77,7 @@ pub fn expand_runtime_metadata( quote! { impl #runtime { - fn metadata_ir() -> #scrate::metadata_ir::MetadataIR { + fn metadata_ir() -> #scrate::__private::metadata_ir::MetadataIR { // Each runtime must expose the `runtime_metadata()` to fetch the runtime API metadata. // The function is implemented by calling `impl_runtime_apis!`. // @@ -96,23 +96,23 @@ pub fn expand_runtime_metadata( // `Deref` needs a reference for resolving the function call. let rt = #runtime; - let ty = #scrate::scale_info::meta_type::<#extrinsic>(); - let address_ty = #scrate::scale_info::meta_type::< + let ty = #scrate::__private::scale_info::meta_type::<#extrinsic>(); + let address_ty = #scrate::__private::scale_info::meta_type::< <<#extrinsic as #scrate::sp_runtime::traits::Extrinsic>::SignaturePayload as #scrate::sp_runtime::traits::SignaturePayload>::SignatureAddress >(); - let call_ty = #scrate::scale_info::meta_type::< + let call_ty = #scrate::__private::scale_info::meta_type::< <#extrinsic as #scrate::sp_runtime::traits::Extrinsic>::Call >(); - let signature_ty = #scrate::scale_info::meta_type::< + let signature_ty = #scrate::__private::scale_info::meta_type::< <<#extrinsic as #scrate::sp_runtime::traits::Extrinsic>::SignaturePayload as #scrate::sp_runtime::traits::SignaturePayload>::Signature >(); - let extra_ty = #scrate::scale_info::meta_type::< + let extra_ty = #scrate::__private::scale_info::meta_type::< <<#extrinsic as #scrate::sp_runtime::traits::Extrinsic>::SignaturePayload as #scrate::sp_runtime::traits::SignaturePayload>::SignatureExtra >(); - #scrate::metadata_ir::MetadataIR { - pallets: #scrate::sp_std::vec![ #(#pallets),* ], - extrinsic: #scrate::metadata_ir::ExtrinsicMetadataIR { + #scrate::__private::metadata_ir::MetadataIR { + pallets: #scrate::__private::sp_std::vec![ #(#pallets),* ], + extrinsic: #scrate::__private::metadata_ir::ExtrinsicMetadataIR { ty, version: <#extrinsic as #scrate::sp_runtime::traits::ExtrinsicMetadata>::VERSION, address_ty, @@ -125,39 +125,39 @@ pub fn expand_runtime_metadata( >::SignedExtensions as #scrate::sp_runtime::traits::SignedExtension >::metadata() .into_iter() - .map(|meta| #scrate::metadata_ir::SignedExtensionMetadataIR { + .map(|meta| #scrate::__private::metadata_ir::SignedExtensionMetadataIR { identifier: meta.identifier, ty: meta.ty, additional_signed: meta.additional_signed, }) .collect(), }, - ty: #scrate::scale_info::meta_type::<#runtime>(), + ty: #scrate::__private::scale_info::meta_type::<#runtime>(), apis: (&rt).runtime_metadata(), - outer_enums: #scrate::metadata_ir::OuterEnumsIR { - call_enum_ty: #scrate::scale_info::meta_type::< + outer_enums: #scrate::__private::metadata_ir::OuterEnumsIR { + call_enum_ty: #scrate::__private::scale_info::meta_type::< <#runtime as #system_path::Config>::RuntimeCall >(), - event_enum_ty: #scrate::scale_info::meta_type::(), - error_enum_ty: #scrate::scale_info::meta_type::(), + event_enum_ty: #scrate::__private::scale_info::meta_type::(), + error_enum_ty: #scrate::__private::scale_info::meta_type::(), } } } - pub fn metadata() -> #scrate::metadata::RuntimeMetadataPrefixed { + pub fn metadata() -> #scrate::__private::metadata::RuntimeMetadataPrefixed { // Note: this always returns the V14 version. The runtime API function // must be deprecated. - #scrate::metadata_ir::into_v14(#runtime::metadata_ir()) + #scrate::__private::metadata_ir::into_v14(#runtime::metadata_ir()) } - pub fn metadata_at_version(version: u32) -> Option<#scrate::OpaqueMetadata> { - #scrate::metadata_ir::into_version(#runtime::metadata_ir(), version).map(|prefixed| { - #scrate::OpaqueMetadata::new(prefixed.into()) + pub fn metadata_at_version(version: u32) -> Option<#scrate::__private::OpaqueMetadata> { + #scrate::__private::metadata_ir::into_version(#runtime::metadata_ir(), version).map(|prefixed| { + #scrate::__private::OpaqueMetadata::new(prefixed.into()) }) } - pub fn metadata_versions() -> #scrate::sp_std::vec::Vec { - #scrate::metadata_ir::supported_versions() + pub fn metadata_versions() -> #scrate::__private::sp_std::vec::Vec { + #scrate::__private::metadata_ir::supported_versions() } } } @@ -220,8 +220,8 @@ fn expand_pallet_metadata_events( quote! { Some( - #scrate::metadata_ir::PalletEventMetadataIR { - ty: #scrate::scale_info::meta_type::<#pallet_event>() + #scrate::__private::metadata_ir::PalletEventMetadataIR { + ty: #scrate::__private::scale_info::meta_type::<#pallet_event>() } ) } diff --git a/frame/support/procedural/src/construct_runtime/expand/origin.rs b/frame/support/procedural/src/construct_runtime/expand/origin.rs index 0eaa73f603068..b421d2aaffabe 100644 --- a/frame/support/procedural/src/construct_runtime/expand/origin.rs +++ b/frame/support/procedural/src/construct_runtime/expand/origin.rs @@ -105,25 +105,25 @@ pub fn expand_outer_origin( #[derive(Clone)] pub struct RuntimeOrigin { caller: OriginCaller, - filter: #scrate::sp_std::rc::Rc::RuntimeCall) -> bool>>, + filter: #scrate::__private::sp_std::rc::Rc::RuntimeCall) -> bool>>, } #[cfg(not(feature = "std"))] - impl #scrate::sp_std::fmt::Debug for RuntimeOrigin { + impl #scrate::__private::sp_std::fmt::Debug for RuntimeOrigin { fn fmt( &self, - fmt: &mut #scrate::sp_std::fmt::Formatter, - ) -> #scrate::sp_std::result::Result<(), #scrate::sp_std::fmt::Error> { + fmt: &mut #scrate::__private::sp_std::fmt::Formatter, + ) -> #scrate::__private::sp_std::result::Result<(), #scrate::__private::sp_std::fmt::Error> { fmt.write_str("") } } #[cfg(feature = "std")] - impl #scrate::sp_std::fmt::Debug for RuntimeOrigin { + impl #scrate::__private::sp_std::fmt::Debug for RuntimeOrigin { fn fmt( &self, - fmt: &mut #scrate::sp_std::fmt::Formatter, - ) -> #scrate::sp_std::result::Result<(), #scrate::sp_std::fmt::Error> { + fmt: &mut #scrate::__private::sp_std::fmt::Formatter, + ) -> #scrate::__private::sp_std::result::Result<(), #scrate::__private::sp_std::fmt::Error> { fmt.debug_struct("Origin") .field("caller", &self.caller) .field("filter", &"[function ptr]") @@ -139,7 +139,7 @@ pub fn expand_outer_origin( fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static) { let f = self.filter.clone(); - self.filter = #scrate::sp_std::rc::Rc::new(Box::new(move |call| { + self.filter = #scrate::__private::sp_std::rc::Rc::new(Box::new(move |call| { f(call) && filter(call) })); } @@ -150,7 +150,7 @@ pub fn expand_outer_origin( as #scrate::traits::Contains<<#runtime as #system_path::Config>::RuntimeCall> >::contains; - self.filter = #scrate::sp_std::rc::Rc::new(Box::new(filter)); + self.filter = #scrate::__private::sp_std::rc::Rc::new(Box::new(filter)); } fn set_caller_from(&mut self, other: impl Into) { @@ -197,8 +197,8 @@ pub fn expand_outer_origin( } #[derive( - Clone, PartialEq, Eq, #scrate::RuntimeDebug, #scrate::codec::Encode, - #scrate::codec::Decode, #scrate::scale_info::TypeInfo, #scrate::codec::MaxEncodedLen, + Clone, PartialEq, Eq, #scrate::__private::RuntimeDebug, #scrate::__private::codec::Encode, + #scrate::__private::codec::Decode, #scrate::__private::scale_info::TypeInfo, #scrate::__private::codec::MaxEncodedLen, )] #[allow(non_camel_case_types)] pub enum OriginCaller { @@ -206,7 +206,7 @@ pub fn expand_outer_origin( system(#system_path::Origin<#runtime>), #caller_variants #[allow(dead_code)] - Void(#scrate::Void) + Void(#scrate::__private::Void) } // For backwards compatibility and ease of accessing these functions. @@ -252,7 +252,7 @@ pub fn expand_outer_origin( impl TryFrom for #system_path::Origin<#runtime> { type Error = OriginCaller; fn try_from(x: OriginCaller) - -> #scrate::sp_std::result::Result<#system_path::Origin<#runtime>, OriginCaller> + -> #scrate::__private::sp_std::result::Result<#system_path::Origin<#runtime>, OriginCaller> { if let OriginCaller::system(l) = x { Ok(l) @@ -275,7 +275,7 @@ pub fn expand_outer_origin( fn from(x: OriginCaller) -> Self { let mut o = RuntimeOrigin { caller: x, - filter: #scrate::sp_std::rc::Rc::new(Box::new(|_| true)), + filter: #scrate::__private::sp_std::rc::Rc::new(Box::new(|_| true)), }; #scrate::traits::OriginTrait::reset_filter(&mut o); @@ -284,7 +284,7 @@ pub fn expand_outer_origin( } } - impl From for #scrate::sp_std::result::Result<#system_path::Origin<#runtime>, RuntimeOrigin> { + impl From for #scrate::__private::sp_std::result::Result<#system_path::Origin<#runtime>, RuntimeOrigin> { /// NOTE: converting to pallet origin loses the origin filter information. fn from(val: RuntimeOrigin) -> Self { if let OriginCaller::system(l) = val.caller { @@ -394,7 +394,7 @@ fn expand_origin_pallet_conversions( } #attr - impl From for #scrate::sp_std::result::Result<#pallet_origin, RuntimeOrigin> { + impl From for #scrate::__private::sp_std::result::Result<#pallet_origin, RuntimeOrigin> { /// NOTE: converting to pallet origin loses the origin filter information. fn from(val: RuntimeOrigin) -> Self { if let OriginCaller::#variant_name(l) = val.caller { @@ -410,7 +410,7 @@ fn expand_origin_pallet_conversions( type Error = OriginCaller; fn try_from( x: OriginCaller, - ) -> #scrate::sp_std::result::Result<#pallet_origin, OriginCaller> { + ) -> #scrate::__private::sp_std::result::Result<#pallet_origin, OriginCaller> { if let OriginCaller::#variant_name(l) = x { Ok(l) } else { @@ -424,7 +424,7 @@ fn expand_origin_pallet_conversions( type Error = (); fn try_from( x: &'a OriginCaller, - ) -> #scrate::sp_std::result::Result<&'a #pallet_origin, ()> { + ) -> #scrate::__private::sp_std::result::Result<&'a #pallet_origin, ()> { if let OriginCaller::#variant_name(l) = x { Ok(&l) } else { @@ -438,7 +438,7 @@ fn expand_origin_pallet_conversions( type Error = (); fn try_from( x: &'a RuntimeOrigin, - ) -> #scrate::sp_std::result::Result<&'a #pallet_origin, ()> { + ) -> #scrate::__private::sp_std::result::Result<&'a #pallet_origin, ()> { if let OriginCaller::#variant_name(l) = &x.caller { Ok(&l) } else { diff --git a/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs b/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs index b78360d5fc052..df69c19a4b617 100644 --- a/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs +++ b/frame/support/procedural/src/construct_runtime/expand/outer_enums.rs @@ -159,10 +159,10 @@ pub fn expand_outer_enum( #[derive( #event_custom_derives - #scrate::codec::Encode, - #scrate::codec::Decode, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, + #scrate::__private::codec::Decode, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] #[allow(non_camel_case_types)] pub enum #enum_name_ident { @@ -247,7 +247,7 @@ fn expand_enum_conversion( impl TryInto<#pallet_enum> for #enum_name_ident { type Error = (); - fn try_into(self) -> #scrate::sp_std::result::Result<#pallet_enum, Self::Error> { + fn try_into(self) -> #scrate::__private::sp_std::result::Result<#pallet_enum, Self::Error> { match self { Self::#variant_name(evt) => Ok(evt), _ => Err(()), @@ -273,8 +273,8 @@ fn generate_error_impl(scrate: &TokenStream, enum_ty: OuterEnumType) -> TokenStr pub fn from_dispatch_error(err: #scrate::sp_runtime::DispatchError) -> Option { let #scrate::sp_runtime::DispatchError::Module(module_error) = err else { return None }; - let bytes = #scrate::codec::Encode::encode(&module_error); - #scrate::codec::Decode::decode(&mut &bytes[..]).ok() + let bytes = #scrate::__private::codec::Encode::encode(&module_error); + #scrate::__private::codec::Decode::decode(&mut &bytes[..]).ok() } } } diff --git a/frame/support/procedural/src/construct_runtime/expand/slash_reason.rs b/frame/support/procedural/src/construct_runtime/expand/slash_reason.rs index abffb97d43981..2a3283230ad84 100644 --- a/frame/support/procedural/src/construct_runtime/expand/slash_reason.rs +++ b/frame/support/procedural/src/construct_runtime/expand/slash_reason.rs @@ -38,9 +38,9 @@ pub fn expand_outer_slash_reason(pallet_decls: &[Pallet], scrate: &TokenStream) /// A reason for slashing funds. #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, - #scrate::codec::Encode, #scrate::codec::Decode, #scrate::codec::MaxEncodedLen, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, #scrate::__private::codec::Decode, #scrate::__private::codec::MaxEncodedLen, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] pub enum RuntimeSlashReason { #( #slash_reason_variants )* diff --git a/frame/support/procedural/src/construct_runtime/mod.rs b/frame/support/procedural/src/construct_runtime/mod.rs index efc2244154479..f42dd837e3a95 100644 --- a/frame/support/procedural/src/construct_runtime/mod.rs +++ b/frame/support/procedural/src/construct_runtime/mod.rs @@ -94,11 +94,11 @@ //! ``` //! This call has some implicit pallet parts, thus it will expand to: //! ```ignore -//! frame_support::tt_call! { +//! frame_support::__private::tt_call! { //! macro = [{ pallet_balances::tt_default_parts }] //! ~~> frame_support::match_and_insert! { //! target = [{ -//! frame_support::tt_call! { +//! frame_support::__private::tt_call! { //! macro = [{ frame_system::tt_default_parts }] //! ~~> frame_support::match_and_insert! { //! target = [{ @@ -280,7 +280,7 @@ fn construct_runtime_implicit_to_explicit( let pallet_name = &pallet.name; let pallet_instance = pallet.instance.as_ref().map(|instance| quote::quote!(::<#instance>)); expansion = quote::quote!( - #frame_support::tt_call! { + #frame_support::__private::tt_call! { macro = [{ #pallet_path::tt_default_parts }] frame_support = [{ #frame_support }] ~~> #frame_support::match_and_insert! { @@ -316,7 +316,7 @@ fn construct_runtime_explicit_to_explicit_expanded( let pallet_name = &pallet.name; let pallet_instance = pallet.instance.as_ref().map(|instance| quote::quote!(::<#instance>)); expansion = quote::quote!( - #frame_support::tt_call! { + #frame_support::__private::tt_call! { macro = [{ #pallet_path::tt_extra_parts }] frame_support = [{ #frame_support }] ~~> #frame_support::match_and_insert! { @@ -428,7 +428,7 @@ fn construct_runtime_final_expansion( #[derive( Clone, Copy, PartialEq, Eq, #scrate::sp_runtime::RuntimeDebug, - #scrate::scale_info::TypeInfo + #scrate::__private::scale_info::TypeInfo )] pub struct #name; impl #scrate::sp_runtime::traits::GetRuntimeBlockType for #name { @@ -453,7 +453,7 @@ fn construct_runtime_final_expansion( #[doc(hidden)] trait InternalConstructRuntime { #[inline(always)] - fn runtime_metadata(&self) -> #scrate::sp_std::vec::Vec<#scrate::metadata_ir::RuntimeApiMetadataIR> { + fn runtime_metadata(&self) -> #scrate::__private::sp_std::vec::Vec<#scrate::__private::metadata_ir::RuntimeApiMetadataIR> { Default::default() } } @@ -700,10 +700,10 @@ fn decl_pallet_runtime_setup( impl #scrate::traits::PalletInfo for PalletInfo { fn index() -> Option { - let type_id = #scrate::sp_std::any::TypeId::of::

(); + let type_id = #scrate::__private::sp_std::any::TypeId::of::

(); #( #pallet_attrs - if type_id == #scrate::sp_std::any::TypeId::of::<#names>() { + if type_id == #scrate::__private::sp_std::any::TypeId::of::<#names>() { return Some(#indices) } )* @@ -712,10 +712,10 @@ fn decl_pallet_runtime_setup( } fn name() -> Option<&'static str> { - let type_id = #scrate::sp_std::any::TypeId::of::

(); + let type_id = #scrate::__private::sp_std::any::TypeId::of::

(); #( #pallet_attrs - if type_id == #scrate::sp_std::any::TypeId::of::<#names>() { + if type_id == #scrate::__private::sp_std::any::TypeId::of::<#names>() { return Some(#name_strings) } )* @@ -724,10 +724,10 @@ fn decl_pallet_runtime_setup( } fn module_name() -> Option<&'static str> { - let type_id = #scrate::sp_std::any::TypeId::of::

(); + let type_id = #scrate::__private::sp_std::any::TypeId::of::

(); #( #pallet_attrs - if type_id == #scrate::sp_std::any::TypeId::of::<#names>() { + if type_id == #scrate::__private::sp_std::any::TypeId::of::<#names>() { return Some(#module_names) } )* @@ -736,10 +736,10 @@ fn decl_pallet_runtime_setup( } fn crate_version() -> Option<#scrate::traits::CrateVersion> { - let type_id = #scrate::sp_std::any::TypeId::of::

(); + let type_id = #scrate::__private::sp_std::any::TypeId::of::

(); #( #pallet_attrs - if type_id == #scrate::sp_std::any::TypeId::of::<#names>() { + if type_id == #scrate::__private::sp_std::any::TypeId::of::<#names>() { return Some( <#pallet_structs as #scrate::traits::PalletInfoAccess>::crate_version() ) @@ -760,7 +760,7 @@ fn decl_integrity_test(scrate: &TokenStream2) -> TokenStream2 { #[test] pub fn runtime_integrity_tests() { - #scrate::sp_tracing::try_init_simple(); + #scrate::__private::sp_tracing::try_init_simple(); ::integrity_test(); } } @@ -781,7 +781,7 @@ fn decl_static_assertions( ); quote! { - #scrate::tt_call! { + #scrate::__private::tt_call! { macro = [{ #path::tt_error_token }] frame_support = [{ #scrate }] ~~> #scrate::assert_error_encoded_size! { diff --git a/frame/support/procedural/src/pallet/expand/call.rs b/frame/support/procedural/src/pallet/expand/call.rs index aa6a8e09f5250..6489949ed5c33 100644 --- a/frame/support/procedural/src/pallet/expand/call.rs +++ b/frame/support/procedural/src/pallet/expand/call.rs @@ -275,9 +275,9 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream { #frame_support::CloneNoBound, #frame_support::EqNoBound, #frame_support::PartialEqNoBound, - #frame_support::codec::Encode, - #frame_support::codec::Decode, - #frame_support::scale_info::TypeInfo, + #frame_support::__private::codec::Encode, + #frame_support::__private::codec::Decode, + #frame_support::__private::scale_info::TypeInfo, )] #[codec(encode_bound())] #[codec(decode_bound())] @@ -287,7 +287,7 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] #[codec(skip)] __Ignore( - #frame_support::sp_std::marker::PhantomData<(#type_use_gen,)>, + #frame_support::__private::sp_std::marker::PhantomData<(#type_use_gen,)>, #frame_support::Never, ), #( @@ -394,8 +394,8 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream { match self { #( Self::#fn_name { #( #args_name_pattern, )* } => { - #frame_support::sp_tracing::enter_span!( - #frame_support::sp_tracing::trace_span!(stringify!(#fn_name)) + #frame_support::__private::sp_tracing::enter_span!( + #frame_support::__private::sp_tracing::trace_span!(stringify!(#fn_name)) ); #maybe_allow_attrs <#pallet_ident<#type_use_gen>>::#fn_name(origin, #( #args_name, )* ) @@ -419,8 +419,8 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream { impl<#type_impl_gen> #pallet_ident<#type_use_gen> #where_clause { #[doc(hidden)] - pub fn call_functions() -> #frame_support::metadata_ir::PalletCallMetadataIR { - #frame_support::scale_info::meta_type::<#call_ident<#type_use_gen>>().into() + pub fn call_functions() -> #frame_support::__private::metadata_ir::PalletCallMetadataIR { + #frame_support::__private::scale_info::meta_type::<#call_ident<#type_use_gen>>().into() } } ) diff --git a/frame/support/procedural/src/pallet/expand/constants.rs b/frame/support/procedural/src/pallet/expand/constants.rs index 6e1cd3df627f3..57fa8b7f3cd9a 100644 --- a/frame/support/procedural/src/pallet/expand/constants.rs +++ b/frame/support/procedural/src/pallet/expand/constants.rs @@ -54,7 +54,7 @@ pub fn expand_constants(def: &mut Def) -> proc_macro2::TokenStream { default_byte_impl: quote::quote!( let value = <::#ident as #frame_support::traits::Get<#const_type>>::get(); - #frame_support::codec::Encode::encode(&value) + #frame_support::__private::codec::Encode::encode(&value) ), metadata_name: None, } @@ -69,7 +69,7 @@ pub fn expand_constants(def: &mut Def) -> proc_macro2::TokenStream { doc: const_.doc.clone(), default_byte_impl: quote::quote!( let value = >::#ident(); - #frame_support::codec::Encode::encode(&value) + #frame_support::__private::codec::Encode::encode(&value) ), metadata_name: const_.metadata_name.clone(), } @@ -85,11 +85,11 @@ pub fn expand_constants(def: &mut Def) -> proc_macro2::TokenStream { let default_byte_impl = &const_.default_byte_impl; quote::quote!({ - #frame_support::metadata_ir::PalletConstantMetadataIR { + #frame_support::__private::metadata_ir::PalletConstantMetadataIR { name: #ident_str, - ty: #frame_support::scale_info::meta_type::<#const_type>(), + ty: #frame_support::__private::scale_info::meta_type::<#const_type>(), value: { #default_byte_impl }, - docs: #frame_support::sp_std::vec![ #( #doc ),* ], + docs: #frame_support::__private::sp_std::vec![ #( #doc ),* ], } }) }); @@ -99,9 +99,9 @@ pub fn expand_constants(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] pub fn pallet_constants_metadata() - -> #frame_support::sp_std::vec::Vec<#frame_support::metadata_ir::PalletConstantMetadataIR> + -> #frame_support::__private::sp_std::vec::Vec<#frame_support::__private::metadata_ir::PalletConstantMetadataIR> { - #frame_support::sp_std::vec![ #( #consts ),* ] + #frame_support::__private::sp_std::vec![ #( #consts ),* ] } } ) diff --git a/frame/support/procedural/src/pallet/expand/documentation.rs b/frame/support/procedural/src/pallet/expand/documentation.rs index 4e6347e83bb73..ec19f889a9f20 100644 --- a/frame/support/procedural/src/pallet/expand/documentation.rs +++ b/frame/support/procedural/src/pallet/expand/documentation.rs @@ -163,9 +163,9 @@ pub fn expand_documentation(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] pub fn pallet_documentation_metadata() - -> #frame_support::sp_std::vec::Vec<&'static str> + -> #frame_support::__private::sp_std::vec::Vec<&'static str> { - #frame_support::sp_std::vec![ #( #docs ),* ] + #frame_support::__private::sp_std::vec![ #( #docs ),* ] } } ) diff --git a/frame/support/procedural/src/pallet/expand/error.rs b/frame/support/procedural/src/pallet/expand/error.rs index 376a6a9f51c6d..d3aa0b762bc52 100644 --- a/frame/support/procedural/src/pallet/expand/error.rs +++ b/frame/support/procedural/src/pallet/expand/error.rs @@ -44,7 +44,7 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { $caller:tt frame_support = [{ $($frame_support:ident)::* }] } => { - $($frame_support::)*tt_return! { + $($frame_support::)*__private::tt_return! { $caller } }; @@ -62,7 +62,7 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] #[codec(skip)] __Ignore( - #frame_support::sp_std::marker::PhantomData<(#type_use_gen)>, + #frame_support::__private::sp_std::marker::PhantomData<(#type_use_gen)>, #frame_support::Never, ) ); @@ -98,9 +98,9 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { // derive TypeInfo for error metadata error_item.attrs.push(syn::parse_quote! { #[derive( - #frame_support::codec::Encode, - #frame_support::codec::Decode, - #frame_support::scale_info::TypeInfo, + #frame_support::__private::codec::Encode, + #frame_support::__private::codec::Decode, + #frame_support::__private::scale_info::TypeInfo, #frame_support::PalletError, )] }); @@ -115,11 +115,11 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { } quote::quote_spanned!(error.attr_span => - impl<#type_impl_gen> #frame_support::sp_std::fmt::Debug for #error_ident<#type_use_gen> + impl<#type_impl_gen> #frame_support::__private::sp_std::fmt::Debug for #error_ident<#type_use_gen> #config_where_clause { - fn fmt(&self, f: &mut #frame_support::sp_std::fmt::Formatter<'_>) - -> #frame_support::sp_std::fmt::Result + fn fmt(&self, f: &mut #frame_support::__private::sp_std::fmt::Formatter<'_>) + -> #frame_support::__private::sp_std::fmt::Result { f.write_str(self.as_str()) } @@ -148,7 +148,7 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { #config_where_clause { fn from(err: #error_ident<#type_use_gen>) -> Self { - use #frame_support::codec::Encode; + use #frame_support::__private::codec::Encode; let index = < ::PalletInfo as #frame_support::traits::PalletInfo @@ -172,7 +172,7 @@ pub fn expand_error(def: &mut Def) -> proc_macro2::TokenStream { $caller:tt frame_support = [{ $($frame_support:ident)::* }] } => { - $($frame_support::)*tt_return! { + $($frame_support::)*__private::tt_return! { $caller error = [{ #error_ident }] } diff --git a/frame/support/procedural/src/pallet/expand/event.rs b/frame/support/procedural/src/pallet/expand/event.rs index f94bdef332d9d..fbb699b4d41cc 100644 --- a/frame/support/procedural/src/pallet/expand/event.rs +++ b/frame/support/procedural/src/pallet/expand/event.rs @@ -87,7 +87,7 @@ pub fn expand_event(def: &mut Def) -> proc_macro2::TokenStream { #[doc(hidden)] #[codec(skip)] __Ignore( - #frame_support::sp_std::marker::PhantomData<(#event_use_gen)>, + #frame_support::__private::sp_std::marker::PhantomData<(#event_use_gen)>, #frame_support::Never, ) ); @@ -109,9 +109,9 @@ pub fn expand_event(def: &mut Def) -> proc_macro2::TokenStream { #frame_support::EqNoBound, #frame_support::PartialEqNoBound, #frame_support::RuntimeDebugNoBound, - #frame_support::codec::Encode, - #frame_support::codec::Decode, - #frame_support::scale_info::TypeInfo, + #frame_support::__private::codec::Encode, + #frame_support::__private::codec::Decode, + #frame_support::__private::scale_info::TypeInfo, )] )); diff --git a/frame/support/procedural/src/pallet/expand/genesis_build.rs b/frame/support/procedural/src/pallet/expand/genesis_build.rs index f54d308fce304..15ddfcf1d49d4 100644 --- a/frame/support/procedural/src/pallet/expand/genesis_build.rs +++ b/frame/support/procedural/src/pallet/expand/genesis_build.rs @@ -39,7 +39,7 @@ pub fn expand_genesis_build(def: &mut Def) -> proc_macro2::TokenStream { impl<#type_impl_gen> #frame_support::sp_runtime::BuildStorage for #gen_cfg_ident<#gen_cfg_use_gen> #where_clause { fn assimilate_storage(&self, storage: &mut sp_runtime::Storage) -> std::result::Result<(), std::string::String> { - #frame_support::BasicExternalities::execute_with_storage(storage, || { + #frame_support::__private::BasicExternalities::execute_with_storage(storage, || { self.build(); Ok(()) }) diff --git a/frame/support/procedural/src/pallet/expand/genesis_config.rs b/frame/support/procedural/src/pallet/expand/genesis_config.rs index cbe47bd8505f6..b00f9bcd1a662 100644 --- a/frame/support/procedural/src/pallet/expand/genesis_config.rs +++ b/frame/support/procedural/src/pallet/expand/genesis_config.rs @@ -79,7 +79,7 @@ pub fn expand_genesis_config(def: &mut Def) -> proc_macro2::TokenStream { let genesis_config_item = &mut def.item.content.as_mut().expect("Checked by def parser").1[genesis_config.index]; - let serde_crate = format!("{}::serde", frame_support); + let serde_crate = format!("{}::__private::serde", frame_support); match genesis_config_item { syn::Item::Enum(syn::ItemEnum { attrs, .. }) | diff --git a/frame/support/procedural/src/pallet/expand/hooks.rs b/frame/support/procedural/src/pallet/expand/hooks.rs index d2d2b2967fafb..2825756f270f0 100644 --- a/frame/support/procedural/src/pallet/expand/hooks.rs +++ b/frame/support/procedural/src/pallet/expand/hooks.rs @@ -38,7 +38,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { let log_runtime_upgrade = if has_runtime_upgrade { // a migration is defined here. quote::quote! { - #frame_support::log::info!( + #frame_support::__private::log::info!( target: #frame_support::LOG_TARGET, "⚠️ {} declares internal migrations (which *might* execute). \ On-chain `{:?}` vs current storage version `{:?}`", @@ -50,7 +50,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { } else { // default. quote::quote! { - #frame_support::log::debug!( + #frame_support::__private::log::debug!( target: #frame_support::LOG_TARGET, "✅ no migration for {}", pallet_name, @@ -64,7 +64,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { as #frame_support::traits::PalletInfo >::name::().expect("No name found for the pallet! This usually means that the pallet wasn't added to `construct_runtime!`."); - #frame_support::log::debug!( + #frame_support::__private::log::debug!( target: #frame_support::LOG_TARGET, "🩺 try-state pallet {:?}", pallet_name, @@ -97,7 +97,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { #frame_support::traits::PalletInfo >::name::().unwrap_or(""); - #frame_support::log::error!( + #frame_support::__private::log::error!( target: #frame_support::LOG_TARGET, "{}: On chain storage version {:?} doesn't match current storage version {:?}.", pallet_name, @@ -119,7 +119,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { #frame_support::traits::PalletInfo >::name::().unwrap_or(""); - #frame_support::log::error!( + #frame_support::__private::log::error!( target: #frame_support::LOG_TARGET, "{}: On chain storage version {:?} is set to non zero, \ while the pallet is missing the `#[pallet::storage_version(VERSION)]` attribute.", @@ -141,8 +141,8 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { for #pallet_ident<#type_use_gen> #where_clause { fn on_finalize(n: #frame_system::pallet_prelude::BlockNumberFor::) { - #frame_support::sp_tracing::enter_span!( - #frame_support::sp_tracing::trace_span!("on_finalize") + #frame_support::__private::sp_tracing::enter_span!( + #frame_support::__private::sp_tracing::trace_span!("on_finalize") ); < Self as #frame_support::traits::Hooks< @@ -175,8 +175,8 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { fn on_initialize( n: #frame_system::pallet_prelude::BlockNumberFor:: ) -> #frame_support::weights::Weight { - #frame_support::sp_tracing::enter_span!( - #frame_support::sp_tracing::trace_span!("on_initialize") + #frame_support::__private::sp_tracing::enter_span!( + #frame_support::__private::sp_tracing::trace_span!("on_initialize") ); < Self as #frame_support::traits::Hooks< @@ -191,8 +191,8 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { for #pallet_ident<#type_use_gen> #where_clause { fn on_runtime_upgrade() -> #frame_support::weights::Weight { - #frame_support::sp_tracing::enter_span!( - #frame_support::sp_tracing::trace_span!("on_runtime_update") + #frame_support::__private::sp_tracing::enter_span!( + #frame_support::__private::sp_tracing::trace_span!("on_runtime_update") ); // log info about the upgrade. @@ -211,7 +211,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<#frame_support::sp_std::vec::Vec, #frame_support::sp_runtime::TryRuntimeError> { + fn pre_upgrade() -> Result<#frame_support::__private::sp_std::vec::Vec, #frame_support::sp_runtime::TryRuntimeError> { < Self as @@ -220,7 +220,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { } #[cfg(feature = "try-runtime")] - fn post_upgrade(state: #frame_support::sp_std::vec::Vec) -> Result<(), #frame_support::sp_runtime::TryRuntimeError> { + fn post_upgrade(state: #frame_support::__private::sp_std::vec::Vec) -> Result<(), #frame_support::sp_runtime::TryRuntimeError> { #post_storage_version_check < @@ -251,7 +251,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream { for #pallet_ident<#type_use_gen> #where_clause { fn integrity_test() { - #frame_support::sp_io::TestExternalities::default().execute_with(|| { + #frame_support::__private::sp_io::TestExternalities::default().execute_with(|| { < Self as #frame_support::traits::Hooks< #frame_system::pallet_prelude::BlockNumberFor:: diff --git a/frame/support/procedural/src/pallet/expand/pallet_struct.rs b/frame/support/procedural/src/pallet/expand/pallet_struct.rs index 800e23388c1af..e519e34d1dfd9 100644 --- a/frame/support/procedural/src/pallet/expand/pallet_struct.rs +++ b/frame/support/procedural/src/pallet/expand/pallet_struct.rs @@ -54,7 +54,7 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { if let Some(field) = pallet_item.fields.iter_mut().next() { if field.ty == syn::parse_quote!(_) { field.ty = syn::parse_quote!( - #frame_support::sp_std::marker::PhantomData<(#type_use_gen)> + #frame_support::__private::sp_std::marker::PhantomData<(#type_use_gen)> ); } } @@ -82,9 +82,9 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { quote::quote_spanned!(def.pallet_struct.attr_span => impl<#type_impl_gen> #pallet_ident<#type_use_gen> #config_where_clause { #[doc(hidden)] - pub fn error_metadata() -> Option<#frame_support::metadata_ir::PalletErrorMetadataIR> { - Some(#frame_support::metadata_ir::PalletErrorMetadataIR { - ty: #frame_support::scale_info::meta_type::<#error_ident<#type_use_gen>>() + pub fn error_metadata() -> Option<#frame_support::__private::metadata_ir::PalletErrorMetadataIR> { + Some(#frame_support::__private::metadata_ir::PalletErrorMetadataIR { + ty: #frame_support::__private::scale_info::meta_type::<#error_ident<#type_use_gen>>() }) } } @@ -93,7 +93,7 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { quote::quote_spanned!(def.pallet_struct.attr_span => impl<#type_impl_gen> #pallet_ident<#type_use_gen> #config_where_clause { #[doc(hidden)] - pub fn error_metadata() -> Option<#frame_support::metadata_ir::PalletErrorMetadataIR> { + pub fn error_metadata() -> Option<#frame_support::__private::metadata_ir::PalletErrorMetadataIR> { None } } @@ -139,10 +139,10 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { #storages_where_clauses { fn storage_info() - -> #frame_support::sp_std::vec::Vec<#frame_support::traits::StorageInfo> + -> #frame_support::__private::sp_std::vec::Vec<#frame_support::traits::StorageInfo> { #[allow(unused_mut)] - let mut res = #frame_support::sp_std::vec![]; + let mut res = #frame_support::__private::sp_std::vec![]; #( #(#storage_cfg_attrs)* @@ -179,8 +179,8 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { let whitelisted_storage_keys_impl = quote::quote![ use #frame_support::traits::{StorageInfoTrait, TrackedStorageKey, WhitelistedStorageKeys}; impl<#type_impl_gen> WhitelistedStorageKeys for #pallet_ident<#type_use_gen> #storages_where_clauses { - fn whitelisted_storage_keys() -> #frame_support::sp_std::vec::Vec { - use #frame_support::sp_std::vec; + fn whitelisted_storage_keys() -> #frame_support::__private::sp_std::vec::Vec { + use #frame_support::__private::sp_std::vec; vec![#( TrackedStorageKey::new(#whitelisted_storage_idents::<#type_use_gen>::hashed_key().to_vec()) ),*] @@ -264,7 +264,7 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { #config_where_clause { fn count() -> usize { 1 } - fn infos() -> #frame_support::sp_std::vec::Vec<#frame_support::traits::PalletInfoData> { + fn infos() -> #frame_support::__private::sp_std::vec::Vec<#frame_support::traits::PalletInfoData> { use #frame_support::traits::PalletInfoAccess; let item = #frame_support::traits::PalletInfoData { index: Self::index(), @@ -272,7 +272,7 @@ pub fn expand_pallet_struct(def: &mut Def) -> proc_macro2::TokenStream { module_name: Self::module_name(), crate_version: Self::crate_version(), }; - #frame_support::sp_std::vec![item] + #frame_support::__private::sp_std::vec![item] } } diff --git a/frame/support/procedural/src/pallet/expand/storage.rs b/frame/support/procedural/src/pallet/expand/storage.rs index f3c394d731f5c..1a941f6cb3f5c 100644 --- a/frame/support/procedural/src/pallet/expand/storage.rs +++ b/frame/support/procedural/src/pallet/expand/storage.rs @@ -421,7 +421,7 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream { #(#cfg_attrs)* { <#full_ident as #frame_support::storage::StorageEntryMetadataBuilder>::build_metadata( - #frame_support::sp_std::vec![ + #frame_support::__private::sp_std::vec![ #( #docs, )* ], &mut entries, @@ -492,7 +492,7 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream { impl<#type_impl_gen> #pallet_ident<#type_use_gen> #completed_where_clause { #[doc = #getter_doc_line] pub fn #getter(k: KArg) -> #query where - KArg: #frame_support::codec::EncodeLike<#key>, + KArg: #frame_support::__private::codec::EncodeLike<#key>, { < #full_ident as #frame_support::storage::StorageMap<#key, #value> @@ -518,7 +518,7 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream { impl<#type_impl_gen> #pallet_ident<#type_use_gen> #completed_where_clause { #[doc = #getter_doc_line] pub fn #getter(k: KArg) -> #query where - KArg: #frame_support::codec::EncodeLike<#key>, + KArg: #frame_support::__private::codec::EncodeLike<#key>, { // NOTE: we can't use any trait here because CountedStorageMap // doesn't implement any. @@ -544,8 +544,8 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream { impl<#type_impl_gen> #pallet_ident<#type_use_gen> #completed_where_clause { #[doc = #getter_doc_line] pub fn #getter(k1: KArg1, k2: KArg2) -> #query where - KArg1: #frame_support::codec::EncodeLike<#key1>, - KArg2: #frame_support::codec::EncodeLike<#key2>, + KArg1: #frame_support::__private::codec::EncodeLike<#key1>, + KArg2: #frame_support::__private::codec::EncodeLike<#key2>, { < #full_ident as @@ -791,8 +791,8 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream { #completed_where_clause { #[doc(hidden)] - pub fn storage_metadata() -> #frame_support::metadata_ir::PalletStorageMetadataIR { - #frame_support::metadata_ir::PalletStorageMetadataIR { + pub fn storage_metadata() -> #frame_support::__private::metadata_ir::PalletStorageMetadataIR { + #frame_support::__private::metadata_ir::PalletStorageMetadataIR { prefix: < ::PalletInfo as #frame_support::traits::PalletInfo @@ -800,7 +800,7 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream { .expect("No name found for the pallet in the runtime! This usually means that the pallet wasn't added to `construct_runtime!`."), entries: { #[allow(unused_mut)] - let mut entries = #frame_support::sp_std::vec![]; + let mut entries = #frame_support::__private::sp_std::vec![]; #( #entries_builder )* entries }, diff --git a/frame/support/procedural/src/pallet/expand/tt_default_parts.rs b/frame/support/procedural/src/pallet/expand/tt_default_parts.rs index 356bdbf67e923..86db56c776dfe 100644 --- a/frame/support/procedural/src/pallet/expand/tt_default_parts.rs +++ b/frame/support/procedural/src/pallet/expand/tt_default_parts.rs @@ -96,7 +96,7 @@ pub fn expand_tt_default_parts(def: &mut Def) -> proc_macro2::TokenStream { $caller:tt frame_support = [{ $($frame_support:ident)::* }] } => { - $($frame_support)*::tt_return! { + $($frame_support)*::__private::tt_return! { $caller tokens = [{ expanded::{ @@ -126,7 +126,7 @@ pub fn expand_tt_default_parts(def: &mut Def) -> proc_macro2::TokenStream { $caller:tt frame_support = [{ $($frame_support:ident)::* }] } => { - $($frame_support)*::tt_return! { + $($frame_support)*::__private::tt_return! { $caller tokens = [{ expanded::{ diff --git a/frame/support/procedural/src/pallet/parse/composite.rs b/frame/support/procedural/src/pallet/parse/composite.rs index 2bbfcd2e998ab..cb554a116175c 100644 --- a/frame/support/procedural/src/pallet/parse/composite.rs +++ b/frame/support/procedural/src/pallet/parse/composite.rs @@ -120,9 +120,9 @@ impl CompositeDef { let derive_attr: syn::Attribute = syn::parse_quote! { #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, - #scrate::codec::Encode, #scrate::codec::Decode, #scrate::codec::MaxEncodedLen, - #scrate::scale_info::TypeInfo, - #scrate::RuntimeDebug, + #scrate::__private::codec::Encode, #scrate::__private::codec::Decode, #scrate::__private::codec::MaxEncodedLen, + #scrate::__private::scale_info::TypeInfo, + #scrate::__private::RuntimeDebug, )] }; item.attrs.push(derive_attr); diff --git a/frame/support/procedural/src/pallet_error.rs b/frame/support/procedural/src/pallet_error.rs index 246a5bd4a219a..7fd02240a628a 100644 --- a/frame/support/procedural/src/pallet_error.rs +++ b/frame/support/procedural/src/pallet_error.rs @@ -124,7 +124,7 @@ fn generate_field_types( res = Some(None); } else if meta.path.is_ident("compact") { let field_ty = &field.ty; - res = Some(Some(quote::quote!(#scrate::codec::Compact<#field_ty>))); + res = Some(Some(quote::quote!(#scrate::__private::codec::Compact<#field_ty>))); } else if meta.path.is_ident("compact") { res = Some(Some(meta.value()?.parse()?)); } diff --git a/frame/support/procedural/src/storage_alias.rs b/frame/support/procedural/src/storage_alias.rs index d1d1aba47998e..a3f21806e18b9 100644 --- a/frame/support/procedural/src/storage_alias.rs +++ b/frame/support/procedural/src/storage_alias.rs @@ -622,7 +622,7 @@ fn generate_storage_instance( quote! { #visibility struct #counter_name< #impl_generics >( - #crate_::sp_std::marker::PhantomData<(#type_generics)> + #crate_::__private::sp_std::marker::PhantomData<(#type_generics)> ) #where_clause; impl<#impl_generics> #crate_::traits::StorageInstance @@ -647,7 +647,7 @@ fn generate_storage_instance( let code = quote! { #[allow(non_camel_case_types)] #visibility struct #name< #impl_generics >( - #crate_::sp_std::marker::PhantomData<(#type_generics)> + #crate_::__private::sp_std::marker::PhantomData<(#type_generics)> ) #where_clause; impl<#impl_generics> #crate_::traits::StorageInstance diff --git a/frame/support/procedural/src/tt_macro.rs b/frame/support/procedural/src/tt_macro.rs index 69b5eb3d5521a..01611f5dc4a4d 100644 --- a/frame/support/procedural/src/tt_macro.rs +++ b/frame/support/procedural/src/tt_macro.rs @@ -49,9 +49,9 @@ impl syn::parse::Parse for CreateTtReturnMacroDef { } /// A proc macro that accepts a name and any number of key-value pairs, to be used to create a -/// declarative macro that follows tt-call conventions and simply calls [`tt_call::tt_return`], -/// accepting an optional `frame-support` argument and returning the key-value pairs that were -/// supplied to the proc macro. +/// declarative macro that follows tt-call conventions and simply calls +/// [`tt_call::tt_return`], accepting an optional `frame-support` argument and returning +/// the key-value pairs that were supplied to the proc macro. /// /// # Example /// ```ignore @@ -67,7 +67,7 @@ impl syn::parse::Parse for CreateTtReturnMacroDef { /// $caller:tt /// $(frame_support = [{ $($frame_support:ident)::* }])? /// } => { -/// frame_support::tt_return! { +/// frame_support::__private::tt_return! { /// $caller /// foo = [{ bar }] /// } @@ -94,7 +94,7 @@ pub fn create_tt_return_macro(input: proc_macro::TokenStream) -> proc_macro::Tok $caller:tt $(frame_support = [{ $($frame_support:ident)::* }])? } => { - #frame_support::tt_return! { + #frame_support::__private::tt_return! { $caller #( #keys = [{ #values }] diff --git a/frame/support/src/dispatch.rs b/frame/support/src/dispatch.rs index e462066a84605..0388a9adb3948 100644 --- a/frame/support/src/dispatch.rs +++ b/frame/support/src/dispatch.rs @@ -18,31 +18,30 @@ //! Dispatch system. Contains a macro for defining runtime modules and //! generating values representing lazy module function calls. -pub use crate::{ - codec::{ - Codec, Decode, Encode, EncodeAsRef, EncodeLike, HasCompact, Input, MaxEncodedLen, Output, - }, - scale_info::TypeInfo, - sp_std::{ - fmt, marker, - prelude::{Clone, Eq, PartialEq, Vec}, - result, - }, - traits::{ - CallMetadata, GetCallIndex, GetCallMetadata, GetCallName, GetStorageVersion, - UnfilteredDispatchable, - }, +pub use crate::traits::{ + CallMetadata, GetCallIndex, GetCallMetadata, GetCallName, GetStorageVersion, + UnfilteredDispatchable, }; +pub use codec::{ + Codec, Decode, Encode, EncodeAsRef, EncodeLike, HasCompact, Input, MaxEncodedLen, Output, +}; +pub use scale_info::TypeInfo; +pub use sp_runtime::{ + traits::Dispatchable, transaction_validity::TransactionPriority, DispatchError, RuntimeDebug, +}; +pub use sp_std::{ + fmt, marker, + prelude::{Clone, Eq, PartialEq, Vec}, + result, +}; +pub use sp_weights::Weight; + #[cfg(feature = "std")] use serde::{Deserialize, Serialize}; use sp_runtime::{ generic::{CheckedExtrinsic, UncheckedExtrinsic}, traits::SignedExtension, }; -pub use sp_runtime::{ - traits::Dispatchable, transaction_validity::TransactionPriority, DispatchError, RuntimeDebug, -}; -pub use sp_weights::Weight; /// The return type of a `Dispatchable` in frame. When returned explicitly from /// a dispatchable function it allows overriding the default `PostDispatchInfo` diff --git a/frame/support/src/hash.rs b/frame/support/src/hash.rs index 115ce605d542e..9c48f4b187ad3 100644 --- a/frame/support/src/hash.rs +++ b/frame/support/src/hash.rs @@ -17,9 +17,9 @@ //! Hash utilities. -use crate::metadata_ir; use codec::{Codec, MaxEncodedLen}; use sp_io::hashing::{blake2_128, blake2_256, twox_128, twox_256, twox_64}; +use sp_metadata_ir as metadata_ir; use sp_std::prelude::Vec; // This trait must be kept coherent with frame-support-procedural HasherKind usage diff --git a/frame/support/src/lib.rs b/frame/support/src/lib.rs index 0c416c73766c8..eee68233f3a56 100644 --- a/frame/support/src/lib.rs +++ b/frame/support/src/lib.rs @@ -32,38 +32,30 @@ /// Export ourself as `frame_support` to make tests happy. extern crate self as frame_support; +/// Private exports that are being used by macros. +/// +/// The exports are not stable and should not be relied on. #[doc(hidden)] -pub use sp_tracing; - -#[doc(hidden)] -pub use codec; -#[doc(hidden)] -pub use frame_metadata as metadata; -#[doc(hidden)] -pub use log; -#[doc(hidden)] -pub use paste; -#[doc(hidden)] -pub use scale_info; -pub use serde; -pub use sp_api::metadata_ir; -pub use sp_core::{OpaqueMetadata, Void}; -#[doc(hidden)] -pub use sp_core_hashing_proc_macro; -#[doc(hidden)] -pub use sp_io::{self, storage::root as storage_root}; -#[cfg(feature = "std")] -#[doc(hidden)] -pub use sp_runtime::{bounded_btree_map, bounded_vec}; -#[doc(hidden)] -pub use sp_runtime::{RuntimeDebug, StateVersion}; -#[cfg(feature = "std")] -#[doc(hidden)] -pub use sp_state_machine::BasicExternalities; -#[doc(hidden)] -pub use sp_std; -#[doc(hidden)] -pub use tt_call::*; +pub mod __private { + pub use codec; + pub use frame_metadata as metadata; + pub use log; + pub use paste; + pub use scale_info; + pub use serde; + pub use sp_core::{OpaqueMetadata, Void}; + pub use sp_core_hashing_proc_macro; + pub use sp_io::{self, storage::root as storage_root}; + pub use sp_metadata_ir as metadata_ir; + #[cfg(feature = "std")] + pub use sp_runtime::{bounded_btree_map, bounded_vec}; + pub use sp_runtime::{RuntimeDebug, StateVersion}; + #[cfg(feature = "std")] + pub use sp_state_machine::BasicExternalities; + pub use sp_std; + pub use sp_tracing; + pub use tt_call::*; +} #[macro_use] pub mod dispatch; @@ -255,7 +247,7 @@ macro_rules! parameter_types { ) => ( $( #[ $attr ] )* $vis struct $name $( - < $($ty_params),* >( $($crate::sp_std::marker::PhantomData<$ty_params>),* ) + < $($ty_params),* >( $($crate::__private::sp_std::marker::PhantomData<$ty_params>),* ) )?; $crate::parameter_types!(IMPL_CONST $name , $type , $value $( $(, $ty_params)* )?); $crate::parameter_types!( $( $rest )* ); @@ -267,7 +259,7 @@ macro_rules! parameter_types { ) => ( $( #[ $attr ] )* $vis struct $name $( - < $($ty_params),* >( $($crate::sp_std::marker::PhantomData<$ty_params>),* ) + < $($ty_params),* >( $($crate::__private::sp_std::marker::PhantomData<$ty_params>),* ) )?; $crate::parameter_types!(IMPL $name, $type, $value $( $(, $ty_params)* )?); $crate::parameter_types!( $( $rest )* ); @@ -279,7 +271,7 @@ macro_rules! parameter_types { ) => ( $( #[ $attr ] )* $vis struct $name $( - < $($ty_params),* >( $($crate::sp_std::marker::PhantomData<$ty_params>),* ) + < $($ty_params),* >( $($crate::__private::sp_std::marker::PhantomData<$ty_params>),* ) )?; $crate::parameter_types!(IMPL_STORAGE $name, $type, $value $( $(, $ty_params)* )?); $crate::parameter_types!( $( $rest )* ); @@ -332,7 +324,7 @@ macro_rules! parameter_types { impl< $($ty_params),* > $name< $($ty_params),* > { /// Returns the key for this parameter type. pub fn key() -> [u8; 16] { - $crate::sp_core_hashing_proc_macro::twox_128!(b":", $name, b":") + $crate::__private::sp_core_hashing_proc_macro::twox_128!(b":", $name, b":") } /// Set the value of this parameter type in the storage. @@ -397,7 +389,7 @@ macro_rules! parameter_types_impl_thread_local { $crate::parameter_types_impl_thread_local!( IMPL_THREAD_LOCAL $( $vis, $name, $type, $value, )* ); - $crate::paste::item! { + $crate::__private::paste::item! { $crate::parameter_types!( $( $( #[ $attr ] )* @@ -432,7 +424,7 @@ macro_rules! parameter_types_impl_thread_local { } }; (IMPL_THREAD_LOCAL $( $vis:vis, $name:ident, $type:ty, $value:expr, )* ) => { - $crate::paste::item! { + $crate::__private::paste::item! { thread_local! { $( pub static [<$name:snake:upper>]: std::cell::RefCell<$type> = @@ -462,7 +454,7 @@ macro_rules! ord_parameter_types { (IMPL $name:ident , $type:ty , $value:expr) => { impl $crate::traits::SortedMembers<$type> for $name { fn contains(t: &$type) -> bool { &$value == t } - fn sorted_members() -> $crate::sp_std::prelude::Vec<$type> { vec![$value] } + fn sorted_members() -> $crate::__private::sp_std::prelude::Vec<$type> { vec![$value] } fn count() -> usize { 1 } #[cfg(feature = "runtime-benchmarks")] fn add(_: &$type) {} @@ -485,9 +477,9 @@ macro_rules! runtime_print { ($($arg:tt)+) => { { use core::fmt::Write; - let mut w = $crate::sp_std::Writer::default(); + let mut w = $crate::__private::sp_std::Writer::default(); let _ = core::write!(&mut w, $($arg)+); - $crate::sp_io::misc::print_utf8(&w.inner()) + $crate::__private::sp_io::misc::print_utf8(&w.inner()) } } } @@ -684,9 +676,13 @@ macro_rules! assert_noop { $x:expr, $y:expr $(,)? ) => { - let h = $crate::storage_root($crate::StateVersion::V1); + let h = $crate::__private::storage_root($crate::__private::StateVersion::V1); $crate::assert_err!($x, $y); - assert_eq!(h, $crate::storage_root($crate::StateVersion::V1), "storage has been mutated"); + assert_eq!( + h, + $crate::__private::storage_root($crate::__private::StateVersion::V1), + "storage has been mutated" + ); }; } @@ -699,9 +695,9 @@ macro_rules! assert_storage_noop { ( $x:expr ) => { - let h = $crate::storage_root($crate::StateVersion::V1); + let h = $crate::__private::storage_root($crate::__private::StateVersion::V1); $x; - assert_eq!(h, $crate::storage_root($crate::StateVersion::V1)); + assert_eq!(h, $crate::__private::storage_root($crate::__private::StateVersion::V1)); }; } @@ -801,10 +797,10 @@ pub mod _private { pub mod testing_prelude { pub use super::{ assert_err, assert_err_ignore_postinfo, assert_err_with_weight, assert_error_encoded_size, - assert_noop, assert_ok, assert_storage_noop, bounded_btree_map, bounded_vec, - parameter_types, traits::Get, + assert_noop, assert_ok, assert_storage_noop, parameter_types, traits::Get, }; pub use sp_arithmetic::assert_eq_error_rate; + pub use sp_runtime::{bounded_btree_map, bounded_vec}; } /// Prelude to be used alongside pallet macro, for ease of use. @@ -830,7 +826,7 @@ pub mod pallet_prelude { IsType, PalletInfoAccess, StorageInfoTrait, StorageVersion, TypedGet, }, Blake2_128, Blake2_128Concat, Blake2_256, CloneNoBound, DebugNoBound, EqNoBound, Identity, - PartialEqNoBound, RuntimeDebug, RuntimeDebugNoBound, Twox128, Twox256, Twox64Concat, + PartialEqNoBound, RuntimeDebugNoBound, Twox128, Twox256, Twox64Concat, }; pub use codec::{Decode, Encode, MaxEncodedLen}; pub use frame_support::pallet_macros::*; @@ -844,7 +840,7 @@ pub mod pallet_prelude { TransactionTag, TransactionValidity, TransactionValidityError, UnknownTransaction, ValidTransaction, }, - MAX_MODULE_ERROR_ENCODED_SIZE, + RuntimeDebug, MAX_MODULE_ERROR_ENCODED_SIZE, }; pub use sp_std::marker::PhantomData; pub use sp_weights::Weight; diff --git a/frame/support/src/storage/bounded_vec.rs b/frame/support/src/storage/bounded_vec.rs index 59b716b3ae5c6..06c58915a94d1 100644 --- a/frame/support/src/storage/bounded_vec.rs +++ b/frame/support/src/storage/bounded_vec.rs @@ -35,8 +35,9 @@ impl> StorageTryAppend for BoundedVec { #[cfg(test)] pub mod test { use super::*; - use crate::{bounded_vec, traits::ConstU32, Twox128}; + use crate::{traits::ConstU32, Twox128}; use sp_io::TestExternalities; + use sp_runtime::bounded_vec; #[crate::storage_alias] type Foo = StorageValue>>; diff --git a/frame/support/src/storage/child.rs b/frame/support/src/storage/child.rs index 76b9c554d65f9..e54002d18db3d 100644 --- a/frame/support/src/storage/child.rs +++ b/frame/support/src/storage/child.rs @@ -21,10 +21,10 @@ // NOTE: could replace unhashed by having only one kind of storage (top trie being the child info // of null length parent storage key). -pub use crate::sp_io::{KillStorageResult, MultiRemovalResults}; -use crate::sp_std::prelude::*; use codec::{Codec, Decode, Encode}; pub use sp_core::storage::{ChildInfo, ChildType, StateVersion}; +pub use sp_io::{KillStorageResult, MultiRemovalResults}; +use sp_std::prelude::*; /// Return the value of the item in storage under `key`, or `None` if there is no explicit entry. pub fn get(child_info: &ChildInfo, key: &[u8]) -> Option { diff --git a/frame/support/src/storage/storage_noop_guard.rs b/frame/support/src/storage/storage_noop_guard.rs index f2fb60027ec37..d00e6e18ecc48 100644 --- a/frame/support/src/storage/storage_noop_guard.rs +++ b/frame/support/src/storage/storage_noop_guard.rs @@ -41,7 +41,7 @@ pub struct StorageNoopGuard(sp_std::vec::Vec); impl Default for StorageNoopGuard { fn default() -> Self { - Self(frame_support::storage_root(frame_support::StateVersion::V1)) + Self(sp_io::storage::root(sp_runtime::StateVersion::V1)) } } @@ -52,7 +52,7 @@ impl Drop for StorageNoopGuard { return } assert_eq!( - frame_support::storage_root(frame_support::StateVersion::V1), + sp_io::storage::root(sp_runtime::StateVersion::V1), self.0, "StorageNoopGuard detected wrongful storage changes.", ); diff --git a/frame/support/src/storage/types/counted_map.rs b/frame/support/src/storage/types/counted_map.rs index 081f99fa16b0b..5b750a74098b8 100644 --- a/frame/support/src/storage/types/counted_map.rs +++ b/frame/support/src/storage/types/counted_map.rs @@ -18,7 +18,6 @@ //! Storage counted map type. use crate::{ - metadata_ir::StorageEntryMetadataIR, storage::{ generator::StorageMap as _, types::{ @@ -32,6 +31,7 @@ use crate::{ }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen, Ref}; use sp_io::MultiRemovalResults; +use sp_metadata_ir::StorageEntryMetadataIR; use sp_runtime::traits::Saturating; use sp_std::prelude::*; @@ -512,11 +512,11 @@ mod test { use super::*; use crate::{ hash::*, - metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}, storage::{bounded_vec::BoundedVec, types::ValueQuery}, traits::ConstU32, }; use sp_io::{hashing::twox_128, TestExternalities}; + use sp_metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}; struct Prefix; impl StorageInstance for Prefix { diff --git a/frame/support/src/storage/types/counted_nmap.rs b/frame/support/src/storage/types/counted_nmap.rs index 43a243cc5d681..7dbcb74f00053 100644 --- a/frame/support/src/storage/types/counted_nmap.rs +++ b/frame/support/src/storage/types/counted_nmap.rs @@ -29,7 +29,7 @@ use crate::{ Never, }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen, Ref}; -use sp_api::metadata_ir::StorageEntryMetadataIR; +use sp_metadata_ir::StorageEntryMetadataIR; use sp_runtime::traits::Saturating; use sp_std::prelude::*; @@ -638,8 +638,8 @@ mod test { hash::{StorageHasher as _, *}, storage::types::{Key as NMapKey, ValueQuery}, }; - use sp_api::metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}; use sp_io::{hashing::twox_128, TestExternalities}; + use sp_metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}; struct Prefix; impl StorageInstance for Prefix { diff --git a/frame/support/src/storage/types/double_map.rs b/frame/support/src/storage/types/double_map.rs index 08ac1709c4b68..e787921841032 100644 --- a/frame/support/src/storage/types/double_map.rs +++ b/frame/support/src/storage/types/double_map.rs @@ -19,7 +19,6 @@ //! StoragePrefixedDoubleMap traits and their methods directly. use crate::{ - metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}, storage::{ types::{OptionQuery, QueryKindTrait, StorageEntryMetadataBuilder}, KeyLenOf, StorageAppend, StorageDecodeLength, StoragePrefixedMap, StorageTryAppend, @@ -29,6 +28,7 @@ use crate::{ }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; use sp_arithmetic::traits::SaturatedConversion; +use sp_metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}; use sp_std::prelude::*; /// A type that allow to store values for `(key1, key2)` couple. Similar to `StorageMap` but allow @@ -734,12 +734,9 @@ where #[cfg(test)] mod test { use super::*; - use crate::{ - hash::*, - metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}, - storage::types::ValueQuery, - }; + use crate::{hash::*, storage::types::ValueQuery}; use sp_io::{hashing::twox_128, TestExternalities}; + use sp_metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}; struct Prefix; impl StorageInstance for Prefix { diff --git a/frame/support/src/storage/types/key.rs b/frame/support/src/storage/types/key.rs index ec055aba803ec..90cf09dd1d341 100755 --- a/frame/support/src/storage/types/key.rs +++ b/frame/support/src/storage/types/key.rs @@ -41,7 +41,7 @@ pub trait KeyGenerator { type HashFn: FnOnce(&[u8]) -> Vec; type HArg; - const HASHER_METADATA: &'static [crate::metadata_ir::StorageHasherIR]; + const HASHER_METADATA: &'static [sp_metadata_ir::StorageHasherIR]; /// Given a `key` tuple, calculate the final key by encoding each element individually and /// hashing them using the corresponding hasher in the `KeyGenerator`. @@ -74,7 +74,7 @@ impl KeyGenerator for Key type HashFn = Box Vec>; type HArg = (Self::HashFn,); - const HASHER_METADATA: &'static [crate::metadata_ir::StorageHasherIR] = &[H::METADATA]; + const HASHER_METADATA: &'static [sp_metadata_ir::StorageHasherIR] = &[H::METADATA]; fn final_key + TupleToEncodedIter>(key: KArg) -> Vec { H::hash(&key.to_encoded_iter().next().expect("should have at least one element!")) @@ -114,7 +114,7 @@ impl KeyGenerator for Tuple { for_tuples!( type HArg = ( #(Tuple::HashFn),* ); ); type HashFn = Box Vec>; - const HASHER_METADATA: &'static [crate::metadata_ir::StorageHasherIR] = + const HASHER_METADATA: &'static [sp_metadata_ir::StorageHasherIR] = &[for_tuples!( #(Tuple::Hasher::METADATA),* )]; fn final_key + TupleToEncodedIter>(key: KArg) -> Vec { diff --git a/frame/support/src/storage/types/map.rs b/frame/support/src/storage/types/map.rs index c919dc6745d78..816b90162f644 100644 --- a/frame/support/src/storage/types/map.rs +++ b/frame/support/src/storage/types/map.rs @@ -19,7 +19,6 @@ //! methods directly. use crate::{ - metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}, storage::{ types::{OptionQuery, QueryKindTrait, StorageEntryMetadataBuilder}, KeyLenOf, StorageAppend, StorageDecodeLength, StoragePrefixedMap, StorageTryAppend, @@ -29,6 +28,7 @@ use crate::{ }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; use sp_arithmetic::traits::SaturatedConversion; +use sp_metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}; use sp_std::prelude::*; /// A type that allow to store value for given key. Allowing to insert/remove/iterate on values. @@ -511,10 +511,10 @@ mod test { use super::*; use crate::{ hash::*, - metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}, storage::{types::ValueQuery, IterableStorageMap}, }; use sp_io::{hashing::twox_128, TestExternalities}; + use sp_metadata_ir::{StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR}; struct Prefix; impl StorageInstance for Prefix { diff --git a/frame/support/src/storage/types/mod.rs b/frame/support/src/storage/types/mod.rs index 99b0455fc6748..c7f2557099b36 100644 --- a/frame/support/src/storage/types/mod.rs +++ b/frame/support/src/storage/types/mod.rs @@ -18,8 +18,8 @@ //! Storage types to build abstraction on storage, they implements storage traits such as //! StorageMap and others. -use crate::metadata_ir::{StorageEntryMetadataIR, StorageEntryModifierIR}; use codec::FullCodec; +use sp_metadata_ir::{StorageEntryMetadataIR, StorageEntryModifierIR}; use sp_std::prelude::*; mod counted_map; diff --git a/frame/support/src/storage/types/nmap.rs b/frame/support/src/storage/types/nmap.rs index 0fac1fc933706..e9a4b12dd43a1 100755 --- a/frame/support/src/storage/types/nmap.rs +++ b/frame/support/src/storage/types/nmap.rs @@ -19,7 +19,6 @@ //! traits and their methods directly. use crate::{ - metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}, storage::{ types::{ EncodeLikeTuple, HasKeyPrefix, HasReversibleKeyPrefix, OptionQuery, QueryKindTrait, @@ -30,6 +29,7 @@ use crate::{ traits::{Get, GetDefault, StorageInfo, StorageInstance}, }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; +use sp_metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}; use sp_runtime::SaturatedConversion; use sp_std::prelude::*; @@ -620,10 +620,10 @@ mod test { use super::*; use crate::{ hash::{StorageHasher as _, *}, - metadata_ir::{StorageEntryModifierIR, StorageHasherIR}, storage::types::{Key as NMapKey, ValueQuery}, }; use sp_io::{hashing::twox_128, TestExternalities}; + use sp_metadata_ir::{StorageEntryModifierIR, StorageHasherIR}; struct Prefix; impl StorageInstance for Prefix { diff --git a/frame/support/src/storage/types/value.rs b/frame/support/src/storage/types/value.rs index d5fbb0656bbd1..14be6bb402e38 100644 --- a/frame/support/src/storage/types/value.rs +++ b/frame/support/src/storage/types/value.rs @@ -18,7 +18,6 @@ //! Storage value type. Implements StorageValue trait and its method directly. use crate::{ - metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}, storage::{ generator::StorageValue as StorageValueT, types::{OptionQuery, QueryKindTrait, StorageEntryMetadataBuilder}, @@ -28,6 +27,7 @@ use crate::{ }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; use sp_arithmetic::traits::SaturatedConversion; +use sp_metadata_ir::{StorageEntryMetadataIR, StorageEntryTypeIR}; use sp_std::prelude::*; /// A type that allow to store a value. @@ -278,8 +278,9 @@ where #[cfg(test)] mod test { use super::*; - use crate::{metadata_ir::StorageEntryModifierIR, storage::types::ValueQuery}; + use crate::storage::types::ValueQuery; use sp_io::{hashing::twox_128, TestExternalities}; + use sp_metadata_ir::StorageEntryModifierIR; struct Prefix; impl StorageInstance for Prefix { diff --git a/frame/support/src/tests/mod.rs b/frame/support/src/tests/mod.rs index cb4b4e82418b1..5ba9aef7fad16 100644 --- a/frame/support/src/tests/mod.rs +++ b/frame/support/src/tests/mod.rs @@ -16,11 +16,11 @@ // limitations under the License. use super::*; -use crate::metadata_ir::{ +use sp_io::{MultiRemovalResults, TestExternalities}; +use sp_metadata_ir::{ PalletStorageMetadataIR, StorageEntryMetadataIR, StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR, }; -use sp_io::{MultiRemovalResults, TestExternalities}; use sp_runtime::{generic, traits::BlakeTwo256, BuildStorage}; pub use self::frame_system::{pallet_prelude::*, Config, Pallet}; diff --git a/frame/support/src/traits/filter.rs b/frame/support/src/traits/filter.rs index 91efafef2f971..44f9f136cfc2a 100644 --- a/frame/support/src/traits/filter.rs +++ b/frame/support/src/traits/filter.rs @@ -103,7 +103,7 @@ macro_rules! impl_filter_stack { mod $module { #[allow(unused_imports)] use super::*; - use $crate::sp_std::{boxed::Box, cell::RefCell, mem::{swap, take}, vec::Vec}; + use $crate::__private::sp_std::{boxed::Box, cell::RefCell, mem::{swap, take}, vec::Vec}; use $crate::traits::filter::{Contains, FilterStack}; thread_local! { diff --git a/frame/support/src/traits/hooks.rs b/frame/support/src/traits/hooks.rs index e58f836070b75..6163c048e75d8 100644 --- a/frame/support/src/traits/hooks.rs +++ b/frame/support/src/traits/hooks.rs @@ -164,13 +164,13 @@ impl OnRuntimeUpgrade for Tuple { /// that occur. #[cfg(feature = "try-runtime")] fn try_on_runtime_upgrade(checks: bool) -> Result { - let mut weight = Weight::zero(); + let mut cumulative_weight = Weight::zero(); let mut errors = Vec::new(); for_tuples!(#( match Tuple::try_on_runtime_upgrade(checks) { - Ok(weight) => { weight.saturating_add(weight); }, + Ok(weight) => { cumulative_weight.saturating_accrue(weight); }, Err(err) => { errors.push(err); }, } )*); @@ -194,7 +194,7 @@ impl OnRuntimeUpgrade for Tuple { return Err("Detected multiple errors while executing `try_on_runtime_upgrade`, check the logs!".into()) } - Ok(weight) + Ok(cumulative_weight) } /// [`OnRuntimeUpgrade::pre_upgrade`] should not be used on a tuple. diff --git a/frame/support/src/traits/misc.rs b/frame/support/src/traits/misc.rs index 85eb7b47e26da..eb704de4353c7 100644 --- a/frame/support/src/traits/misc.rs +++ b/frame/support/src/traits/misc.rs @@ -42,7 +42,7 @@ pub const DEFENSIVE_OP_INTERNAL_ERROR: &str = "Defensive failure has been trigge #[macro_export] macro_rules! defensive { () => { - frame_support::log::error!( + frame_support::__private::log::error!( target: "runtime", "{}", $crate::traits::DEFENSIVE_OP_PUBLIC_ERROR @@ -50,7 +50,7 @@ macro_rules! defensive { debug_assert!(false, "{}", $crate::traits::DEFENSIVE_OP_INTERNAL_ERROR); }; ($error:expr $(,)?) => { - frame_support::log::error!( + frame_support::__private::log::error!( target: "runtime", "{}: {:?}", $crate::traits::DEFENSIVE_OP_PUBLIC_ERROR, @@ -59,7 +59,7 @@ macro_rules! defensive { debug_assert!(false, "{}: {:?}", $crate::traits::DEFENSIVE_OP_INTERNAL_ERROR, $error); }; ($error:expr, $proof:expr $(,)?) => { - frame_support::log::error!( + frame_support::__private::log::error!( target: "runtime", "{}: {:?}: {:?}", $crate::traits::DEFENSIVE_OP_PUBLIC_ERROR, diff --git a/frame/support/src/traits/preimages.rs b/frame/support/src/traits/preimages.rs index db8abdbdc79bb..3e78116202b4f 100644 --- a/frame/support/src/traits/preimages.rs +++ b/frame/support/src/traits/preimages.rs @@ -279,7 +279,8 @@ impl StorePreimage for () { #[cfg(test)] mod tests { use super::*; - use crate::{bounded_vec, BoundedVec}; + use crate::BoundedVec; + use sp_runtime::bounded_vec; #[test] fn bounded_size_is_correct() { diff --git a/frame/support/src/traits/storage.rs b/frame/support/src/traits/storage.rs index 829cd31e4c370..64eddf51b7fab 100644 --- a/frame/support/src/traits/storage.rs +++ b/frame/support/src/traits/storage.rs @@ -17,11 +17,10 @@ //! Traits for encoding data related to pallet's storage items. -use crate::sp_std::collections::btree_set::BTreeSet; use impl_trait_for_tuples::impl_for_tuples; pub use sp_core::storage::TrackedStorageKey; -use sp_runtime::traits::Saturating; -use sp_std::prelude::*; +use sp_runtime::{traits::Saturating, RuntimeDebug}; +use sp_std::{collections::btree_set::BTreeSet, prelude::*}; /// An instance of a pallet in the storage. /// @@ -61,7 +60,7 @@ pub trait StorageInstance { /// Metadata about storage from the runtime. #[derive( - codec::Encode, codec::Decode, crate::RuntimeDebug, Eq, PartialEq, Clone, scale_info::TypeInfo, + codec::Encode, codec::Decode, RuntimeDebug, Eq, PartialEq, Clone, scale_info::TypeInfo, )] pub struct StorageInfo { /// Encoded string of pallet name. diff --git a/frame/support/src/traits/try_runtime.rs b/frame/support/src/traits/try_runtime.rs index cb18f9d5b71c0..31aebeeb4d99b 100644 --- a/frame/support/src/traits/try_runtime.rs +++ b/frame/support/src/traits/try_runtime.rs @@ -175,7 +175,7 @@ impl TryState { impl KeyOwnerProofSystem for () { // The proof and identification tuples is any bottom type to guarantee that the methods of this // implementation can never be called or return anything other than `None`. - type Proof = crate::Void; - type IdentificationTuple = crate::Void; + type Proof = sp_core::Void; + type IdentificationTuple = sp_core::Void; fn prove(_key: Key) -> Option { None diff --git a/frame/support/test/Cargo.toml b/frame/support/test/Cargo.toml index af4d3afd4da98..f6b665b1c7b3b 100644 --- a/frame/support/test/Cargo.toml +++ b/frame/support/test/Cargo.toml @@ -16,6 +16,7 @@ static_assertions = "1.1.0" serde = { version = "1.0.163", default-features = false, features = ["derive"] } codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] } scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } +frame-metadata = { version = "16.0.0", default-features = false, features = ["current"] } sp-api = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/api" } sp-arithmetic = { version = "16.0.0", default-features = false, path = "../../../primitives/arithmetic" } sp-io = { version = "23.0.0", path = "../../../primitives/io", default-features = false } @@ -26,6 +27,7 @@ sp-runtime = { version = "24.0.0", default-features = false, path = "../../../pr sp-core = { version = "21.0.0", default-features = false, path = "../../../primitives/core" } sp-std = { version = "8.0.0", default-features = false, path = "../../../primitives/std" } sp-version = { version = "22.0.0", default-features = false, path = "../../../primitives/version" } +sp-metadata-ir = { version = "0.1.0", default-features = false, path = "../../../primitives/metadata-ir" } trybuild = { version = "1.0.74", features = [ "diff" ] } pretty_assertions = "1.3.0" rustversion = "1.0.6" @@ -46,13 +48,15 @@ std = [ "serde/std", "sp-api/std", "sp-arithmetic/std", + "frame-metadata/std", "sp-core/std", "sp-io/std", "sp-runtime/std", "sp-std/std", "sp-version/std", "test-pallet/std", - "sp-state-machine/std" + "sp-state-machine/std", + "sp-metadata-ir/std" ] experimental = ["frame-support/experimental"] try-runtime = [ diff --git a/frame/support/test/tests/construct_runtime.rs b/frame/support/test/tests/construct_runtime.rs index ff207ddf977c6..a14276fa4d2ff 100644 --- a/frame/support/test/tests/construct_runtime.rs +++ b/frame/support/test/tests/construct_runtime.rs @@ -636,7 +636,7 @@ fn call_subtype_conversion() { #[test] fn test_metadata() { - use frame_support::metadata::{v14::*, *}; + use frame_metadata::{v14::*, *}; use scale_info::meta_type; use sp_core::Encode; diff --git a/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr b/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr index 946277e9068e3..0aee2cbceb9a1 100644 --- a/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr +++ b/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr @@ -374,7 +374,7 @@ note: required by a bound in `Result` | | pub enum Result { | ^ required by this bound in `Result` - = note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::codec::Decode` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `Runtime: Config` is not satisfied in `RuntimeEvent` --> tests/construct_runtime_ui/deprecated_where_block.rs:3:1 @@ -439,4 +439,4 @@ note: required by a bound in `Result` | | pub enum Result { | ^ required by this bound in `Result` - = note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::codec::Decode` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info) + = note: this error originates in the derive macro `self::sp_api_hidden_includes_construct_runtime::hidden_include::__private::codec::Decode` which comes from the expansion of the macro `construct_runtime` (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/frame/support/test/tests/instance.rs b/frame/support/test/tests/instance.rs index 2fb6d7658d6ab..43a93df9dea49 100644 --- a/frame/support/test/tests/instance.rs +++ b/frame/support/test/tests/instance.rs @@ -20,14 +20,14 @@ use frame_support::{ derive_impl, inherent::{InherentData, InherentIdentifier, MakeFatalError, ProvideInherent}, - metadata_ir::{ - PalletStorageMetadataIR, StorageEntryMetadataIR, StorageEntryModifierIR, - StorageEntryTypeIR, StorageHasherIR, - }, traits::ConstU32, }; use frame_system::pallet_prelude::BlockNumberFor; use sp_core::sr25519; +use sp_metadata_ir::{ + PalletStorageMetadataIR, StorageEntryMetadataIR, StorageEntryModifierIR, StorageEntryTypeIR, + StorageHasherIR, +}; use sp_runtime::{ generic, traits::{BlakeTwo256, Verify}, diff --git a/frame/support/test/tests/pallet.rs b/frame/support/test/tests/pallet.rs index cb78bded1a358..8c85cd5695953 100644 --- a/frame/support/test/tests/pallet.rs +++ b/frame/support/test/tests/pallet.rs @@ -1378,7 +1378,7 @@ fn migrate_from_pallet_version_to_storage_version() { #[test] fn metadata() { use codec::Decode; - use frame_support::metadata::{v15::*, *}; + use frame_metadata::{v15::*, *}; fn maybe_docs(doc: Vec<&'static str>) -> Vec<&'static str> { if cfg!(feature = "no-metadata-docs") { @@ -1860,7 +1860,7 @@ fn metadata() { #[test] fn metadata_at_version() { - use frame_support::metadata::*; + use frame_metadata::*; use sp_core::Decode; // Metadata always returns the V14.3 diff --git a/frame/support/test/tests/pallet_instance.rs b/frame/support/test/tests/pallet_instance.rs index 4ecb9bcb58ae9..be675a562cec5 100644 --- a/frame/support/test/tests/pallet_instance.rs +++ b/frame/support/test/tests/pallet_instance.rs @@ -721,7 +721,7 @@ fn pallet_on_genesis() { #[test] fn metadata() { - use frame_support::metadata::{v14::*, *}; + use frame_metadata::{v14::*, *}; let system_pallet_metadata = PalletMetadata { index: 0, diff --git a/frame/support/test/tests/runtime_metadata.rs b/frame/support/test/tests/runtime_metadata.rs index 50bad87d32eb0..a545735f2b1e8 100644 --- a/frame/support/test/tests/runtime_metadata.rs +++ b/frame/support/test/tests/runtime_metadata.rs @@ -15,13 +15,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -use frame_support::{ - metadata_ir::{ - RuntimeApiMetadataIR, RuntimeApiMethodMetadataIR, RuntimeApiMethodParamMetadataIR, - }, - traits::ConstU32, -}; +use frame_support::traits::ConstU32; use scale_info::{form::MetaForm, meta_type}; +use sp_metadata_ir::{ + RuntimeApiMetadataIR, RuntimeApiMethodMetadataIR, RuntimeApiMethodParamMetadataIR, +}; use sp_runtime::traits::Block as BlockT; pub type BlockNumber = u64; diff --git a/frame/system/src/migrations/mod.rs b/frame/system/src/migrations/mod.rs index 6f873061dbab9..945bbc5395525 100644 --- a/frame/system/src/migrations/mod.rs +++ b/frame/system/src/migrations/mod.rs @@ -22,8 +22,8 @@ use crate::{Config, Pallet}; use codec::{Decode, Encode, FullCodec}; use frame_support::{ pallet_prelude::ValueQuery, traits::PalletInfoAccess, weights::Weight, Blake2_128Concat, - RuntimeDebug, }; +use sp_runtime::RuntimeDebug; use sp_std::prelude::*; /// Type used to encode the number of references an account has. diff --git a/frame/system/src/offchain.rs b/frame/system/src/offchain.rs index 313a557c44d76..dd4ac6782a55e 100644 --- a/frame/system/src/offchain.rs +++ b/frame/system/src/offchain.rs @@ -57,10 +57,10 @@ #![warn(missing_docs)] use codec::Encode; -use frame_support::RuntimeDebug; use sp_runtime::{ app_crypto::RuntimeAppPublic, traits::{Extrinsic as ExtrinsicT, IdentifyAccount, One}, + RuntimeDebug, }; use sp_std::{collections::btree_set::BTreeSet, prelude::*}; diff --git a/primitives/io/Cargo.toml b/primitives/io/Cargo.toml index 8590778714121..3a9a573456668 100644 --- a/primitives/io/Cargo.toml +++ b/primitives/io/Cargo.toml @@ -33,9 +33,7 @@ tracing = { version = "0.1.29", default-features = false } tracing-core = { version = "0.1.28", default-features = false} # Required for backwards compatibility reason, but only used for verifying when `UseDalekExt` is set. -ed25519-dalek = { version = "1.0.1", default-features = false, optional = true } -# Force the usage of ed25519, this is being used in `ed25519-dalek`. -ed25519 = { version = "1.5.2", optional = true } +ed25519-dalek = { version = "2.0.0", default-features = false, optional = true } [build-dependencies] rustversion = "1.0.6" @@ -58,7 +56,6 @@ std = [ "tracing-core/std", "log", "ed25519-dalek", - "ed25519", "sp-keystore/std" ] diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index 0bc434a2a59fc..ec098a155c9c5 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -825,11 +825,11 @@ pub trait Crypto { { use ed25519_dalek::Verifier; - let Ok(public_key) = ed25519_dalek::PublicKey::from_bytes(&pub_key.0) else { + let Ok(public_key) = ed25519_dalek::VerifyingKey::from_bytes(&pub_key.0) else { return false }; - let Ok(sig) = ed25519_dalek::Signature::from_bytes(&sig.0) else { return false }; + let sig = ed25519_dalek::Signature::from_bytes(&sig.0); public_key.verify(msg, &sig).is_ok() } else { diff --git a/primitives/statement-store/Cargo.toml b/primitives/statement-store/Cargo.toml index c3e620ab22c2d..d5612eaca8c19 100644 --- a/primitives/statement-store/Cargo.toml +++ b/primitives/statement-store/Cargo.toml @@ -25,9 +25,9 @@ sp-externalities = { version = "0.19.0", default-features = false, path = "../ex thiserror = { version = "1.0", optional = true } # ECIES dependencies -ed25519-dalek = { version = "1.0", optional = true } -x25519-dalek = { version = "2.0.0-pre.1", optional = true } -curve25519-dalek = { version = "3.2", optional = true } +ed25519-dalek = { version = "2.0.0", optional = true } +x25519-dalek = { version = "2.0.0", optional = true, features = ["static_secrets"] } +curve25519-dalek = { version = "4.0.0", optional = true } aes-gcm = { version = "0.10", optional = true } hkdf = { version = "0.12.0", optional = true } sha2 = { version = "0.10.7", optional = true } diff --git a/primitives/statement-store/src/ecies.rs b/primitives/statement-store/src/ecies.rs index 4afd583e03c80..80a040fd4c8e0 100644 --- a/primitives/statement-store/src/ecies.rs +++ b/primitives/statement-store/src/ecies.rs @@ -71,7 +71,7 @@ fn kdf(shared_secret: &[u8]) -> [u8; AES_KEY_LEN] { /// Encrypt `plaintext` with the given public x25519 public key. Decryption can be performed with /// the matching secret key. pub fn encrypt_x25519(pk: &PublicKey, plaintext: &[u8]) -> Result, Error> { - let ephemeral_sk = x25519_dalek::StaticSecret::new(OsRng); + let ephemeral_sk = x25519_dalek::StaticSecret::random_from_rng(OsRng); let ephemeral_pk = x25519_dalek::PublicKey::from(&ephemeral_sk); let mut shared_secret = ephemeral_sk.diffie_hellman(pk).to_bytes().to_vec(); @@ -135,7 +135,7 @@ mod test { #[test] fn basic_x25519_encryption() { - let sk = SecretKey::new(OsRng); + let sk = SecretKey::random_from_rng(OsRng); let pk = PublicKey::from(&sk); let plain_message = b"An important secret message"; @@ -159,7 +159,7 @@ mod test { #[test] fn fails_on_bad_data() { - let sk = SecretKey::new(OsRng); + let sk = SecretKey::random_from_rng(OsRng); let pk = PublicKey::from(&sk); let plain_message = b"An important secret message"; diff --git a/utils/frame/benchmarking-cli/Cargo.toml b/utils/frame/benchmarking-cli/Cargo.toml index b7970613d1a11..0ebfbc3cdaf31 100644 --- a/utils/frame/benchmarking-cli/Cargo.toml +++ b/utils/frame/benchmarking-cli/Cargo.toml @@ -17,7 +17,7 @@ array-bytes = "6.1" chrono = "0.4" clap = { version = "4.2.5", features = ["derive"] } codec = { package = "parity-scale-codec", version = "3.6.1" } -comfy-table = { version = "7.0.0", default-features = false } +comfy-table = { version = "7.0.1", default-features = false } handlebars = "4.2.2" Inflector = "0.11.4" itertools = "0.10.3"