diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 651f4332c8..3b19903d9a 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -3085,6 +3085,7 @@ dependencies = [ "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-std 0.1.0", @@ -3105,6 +3106,7 @@ dependencies = [ "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", "pwasm-utils 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-sandbox 0.1.0", @@ -3390,6 +3392,7 @@ dependencies = [ "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-std 0.1.0", @@ -3403,18 +3406,13 @@ dependencies = [ name = "srml-upgrade-key" version = "0.1.0" dependencies = [ - "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-std 0.1.0", "srml-consensus 0.1.0", "srml-support 0.1.0", - "srml-support-procedural 0.1.0", "srml-system 0.1.0", - "substrate-primitives 0.1.0", ] [[package]] diff --git a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index 4da496043f..5a4170542a 100644 Binary files a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm and b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm differ diff --git a/substrate/node-template/runtime/wasm/Cargo.lock b/substrate/node-template/runtime/wasm/Cargo.lock index 0f458de977..fb0369e036 100644 --- a/substrate/node-template/runtime/wasm/Cargo.lock +++ b/substrate/node-template/runtime/wasm/Cargo.lock @@ -1163,6 +1163,7 @@ dependencies = [ "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0", "sr-std 0.1.0", "srml-support 0.1.0", diff --git a/substrate/node/runtime/wasm/Cargo.lock b/substrate/node/runtime/wasm/Cargo.lock index 56b44736b5..764523e3d4 100644 --- a/substrate/node/runtime/wasm/Cargo.lock +++ b/substrate/node/runtime/wasm/Cargo.lock @@ -1177,6 +1177,7 @@ dependencies = [ "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0", "sr-std 0.1.0", "srml-support 0.1.0", @@ -1194,6 +1195,7 @@ dependencies = [ "parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)", "pwasm-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-sandbox 0.1.0", @@ -1455,31 +1457,25 @@ dependencies = [ "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 0.1.0", + "serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", "sr-primitives 0.1.0", "sr-std 0.1.0", "srml-balances 0.1.0", "srml-support 0.1.0", "srml-system 0.1.0", - "substrate-primitives 0.1.0", ] [[package]] name = "srml-upgrade-key" version = "0.1.0" dependencies = [ - "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-codec-derive 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)", - "sr-io 0.1.0", "sr-primitives 0.1.0", "sr-std 0.1.0", "srml-consensus 0.1.0", "srml-support 0.1.0", - "srml-support-procedural 0.1.0", "srml-system 0.1.0", - "substrate-primitives 0.1.0", ] [[package]] diff --git a/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm b/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm index a0162190b2..3892ca679a 100644 Binary files a/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm and b/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm differ diff --git a/substrate/srml/assets/src/lib.rs b/substrate/srml/assets/src/lib.rs index 42adc4d73d..ad78dd5085 100644 --- a/substrate/srml/assets/src/lib.rs +++ b/substrate/srml/assets/src/lib.rs @@ -19,11 +19,7 @@ // Ensure we're `no_std` when compiling for Wasm. #![cfg_attr(not(feature = "std"), no_std)] -// Needed for type-safe access to storage DB. -#[macro_use] -extern crate srml_support as runtime_support; - -use runtime_support::{StorageValue, StorageMap, Parameter}; +use srml_support::{StorageValue, StorageMap, Parameter, decl_module, decl_event, decl_storage, ensure}; use primitives::traits::{Member, SimpleArithmetic, Zero, StaticLookup}; use system::ensure_signed; @@ -131,6 +127,7 @@ mod tests { use super::*; use runtime_io::with_externalities; + use srml_support::{impl_outer_origin, assert_ok, assert_noop}; use substrate_primitives::{H256, Blake2Hasher}; // The testing primitives are very useful for avoiding having to work with signatures // or public keys. `u64` is used as the `AccountId` and no `Signature`s are required. diff --git a/substrate/srml/aura/src/lib.rs b/substrate/srml/aura/src/lib.rs index dadb6a567a..dfece22e7a 100644 --- a/substrate/srml/aura/src/lib.rs +++ b/substrate/srml/aura/src/lib.rs @@ -18,13 +18,11 @@ #![cfg_attr(not(feature = "std"), no_std)] -#[macro_use] -extern crate srml_support as runtime_support; - pub use timestamp; use rstd::{result, prelude::*}; -use runtime_support::storage::StorageValue; +use srml_support::storage::StorageValue; +use srml_support::{decl_storage, decl_module}; use primitives::traits::{As, Zero}; use timestamp::OnTimestampSet; #[cfg(feature = "std")] diff --git a/substrate/srml/aura/src/mock.rs b/substrate/srml/aura/src/mock.rs index a1b5a2e596..04b5d35efe 100644 --- a/substrate/srml/aura/src/mock.rs +++ b/substrate/srml/aura/src/mock.rs @@ -19,6 +19,7 @@ #![cfg(test)] use primitives::{BuildStorage, traits::IdentityLookup, testing::{Digest, DigestItem, Header, UintAuthorityId}}; +use srml_support::impl_outer_origin; use runtime_io; use substrate_primitives::{H256, Blake2Hasher}; use crate::{Trait, Module}; diff --git a/substrate/srml/balances/src/lib.rs b/substrate/srml/balances/src/lib.rs index 5449901f75..9aab3dacc9 100644 --- a/substrate/srml/balances/src/lib.rs +++ b/substrate/srml/balances/src/lib.rs @@ -24,15 +24,12 @@ #![cfg_attr(not(feature = "std"), no_std)] -#[macro_use] -extern crate srml_support as runtime_support; - use rstd::prelude::*; use rstd::{cmp, result}; use parity_codec::Codec; -use runtime_support::{StorageValue, StorageMap, Parameter}; -use runtime_support::traits::{UpdateBalanceOutcome, Currency, EnsureAccountLiquid, OnFreeBalanceZero}; -use runtime_support::dispatch::Result; +use srml_support::{StorageValue, StorageMap, Parameter, decl_module, decl_event, decl_storage}; +use srml_support::traits::{UpdateBalanceOutcome, Currency, EnsureAccountLiquid, OnFreeBalanceZero}; +use srml_support::dispatch::Result; use primitives::traits::{Zero, SimpleArithmetic, MakePayment, As, StaticLookup, Member, CheckedAdd, CheckedSub, MaybeSerializeDebug}; use system::{IsDeadAccount, OnNewAccount, ensure_signed}; diff --git a/substrate/srml/balances/src/mock.rs b/substrate/srml/balances/src/mock.rs index 89524c1f10..da3d30c034 100644 --- a/substrate/srml/balances/src/mock.rs +++ b/substrate/srml/balances/src/mock.rs @@ -22,6 +22,7 @@ use primitives::BuildStorage; use primitives::{traits::{IdentityLookup}, testing::{Digest, DigestItem, Header}}; use substrate_primitives::{H256, Blake2Hasher}; use runtime_io; +use srml_support::impl_outer_origin; use crate::{GenesisConfig, Module, Trait}; impl_outer_origin!{ diff --git a/substrate/srml/balances/src/tests.rs b/substrate/srml/balances/src/tests.rs index 781366bf38..6105d43759 100644 --- a/substrate/srml/balances/src/tests.rs +++ b/substrate/srml/balances/src/tests.rs @@ -21,6 +21,7 @@ use super::*; use mock::{Balances, ExtBuilder, Runtime, System}; use runtime_io::with_externalities; +use srml_support::{assert_noop, assert_ok, assert_err}; #[test] fn default_indexing_on_new_accounts_should_not_work2() { diff --git a/substrate/srml/consensus/Cargo.toml b/substrate/srml/consensus/Cargo.toml index 7775481b94..13ae8bff0e 100644 --- a/substrate/srml/consensus/Cargo.toml +++ b/substrate/srml/consensus/Cargo.toml @@ -7,6 +7,7 @@ edition = "2018" [dependencies] hex-literal = "0.1.0" serde = { version = "1.0", default-features = false } +serde_derive = { version = "1.0", optional = true } parity-codec = { version = "3.0", default-features = false } parity-codec-derive = { version = "3.0", default-features = false } substrate-primitives = { path = "../../core/primitives", default-features = false } @@ -23,6 +24,7 @@ runtime_io = { package = "sr-io", path = "../../core/sr-io", default-features = default = ["std"] std = [ "serde/std", + "serde_derive", "parity-codec/std", "substrate-primitives/std", "rstd/std", diff --git a/substrate/srml/consensus/src/lib.rs b/substrate/srml/consensus/src/lib.rs index 33c483ee9c..869fe2a051 100644 --- a/substrate/srml/consensus/src/lib.rs +++ b/substrate/srml/consensus/src/lib.rs @@ -18,16 +18,15 @@ #![cfg_attr(not(feature = "std"), no_std)] -#[macro_use] -extern crate srml_support as runtime_support; - +#[cfg(feature = "std")] +use serde_derive::Serialize; use rstd::prelude::*; use parity_codec as codec; use codec::Encode; use parity_codec_derive::{Encode, Decode}; -use runtime_support::{storage, Parameter}; -use runtime_support::storage::StorageValue; -use runtime_support::storage::unhashed::StorageVec; +use srml_support::{storage, Parameter, decl_storage, decl_module}; +use srml_support::storage::StorageValue; +use srml_support::storage::unhashed::StorageVec; use primitives::traits::{MaybeSerializeDebug, Member}; use substrate_primitives::storage::well_known_keys; use system::{ensure_signed, ensure_inherent}; diff --git a/substrate/srml/consensus/src/mock.rs b/substrate/srml/consensus/src/mock.rs index b948b62afb..0cdf4ef2c6 100644 --- a/substrate/srml/consensus/src/mock.rs +++ b/substrate/srml/consensus/src/mock.rs @@ -19,6 +19,7 @@ #![cfg(test)] use primitives::{BuildStorage, traits::IdentityLookup, testing::{Digest, DigestItem, Header, UintAuthorityId}}; +use srml_support::impl_outer_origin; use runtime_io; use substrate_primitives::{H256, Blake2Hasher}; use crate::{GenesisConfig, Trait, Module}; diff --git a/substrate/srml/contract/Cargo.toml b/substrate/srml/contract/Cargo.toml index 17d58752f3..291d65ba35 100644 --- a/substrate/srml/contract/Cargo.toml +++ b/substrate/srml/contract/Cargo.toml @@ -6,6 +6,7 @@ edition = "2018" [dependencies] serde = { version = "1.0", default-features = false } +serde_derive = { version = "1.0", optional = true } pwasm-utils = { version = "0.6.1", default-features = false } parity-codec = { version = "3.0", default-features = false } parity-codec-derive = { version = "3.0", default-features = false } @@ -30,6 +31,7 @@ consensus = { package = "srml-consensus", path = "../consensus", default-feature default = ["std"] std = [ "serde/std", + "serde_derive", "parity-codec/std", "parity-codec-derive/std", "substrate-primitives/std", diff --git a/substrate/srml/contract/src/account_db.rs b/substrate/srml/contract/src/account_db.rs index cc252586ea..0614ebe035 100644 --- a/substrate/srml/contract/src/account_db.rs +++ b/substrate/srml/contract/src/account_db.rs @@ -21,7 +21,7 @@ use {balances, system}; use rstd::cell::RefCell; use rstd::collections::btree_map::{BTreeMap, Entry}; use rstd::prelude::*; -use runtime_support::{StorageMap, StorageDoubleMap, traits::UpdateBalanceOutcome}; +use srml_support::{StorageMap, StorageDoubleMap, traits::UpdateBalanceOutcome}; pub struct ChangeEntry { balance: Option, diff --git a/substrate/srml/contract/src/exec.rs b/substrate/srml/contract/src/exec.rs index 5d96b5eb10..046d107533 100644 --- a/substrate/srml/contract/src/exec.rs +++ b/substrate/srml/contract/src/exec.rs @@ -21,7 +21,7 @@ use crate::gas::{GasMeter, Token, approx_gas_for_balance}; use rstd::prelude::*; use runtime_primitives::traits::{CheckedAdd, CheckedSub, Zero}; use timestamp; -use runtime_support::traits::EnsureAccountLiquid; +use srml_support::traits::EnsureAccountLiquid; pub type BalanceOf = ::Balance; pub type AccountIdOf = ::AccountId; diff --git a/substrate/srml/contract/src/gas.rs b/substrate/srml/contract/src/gas.rs index d42640dd2e..0c9b422a67 100644 --- a/substrate/srml/contract/src/gas.rs +++ b/substrate/srml/contract/src/gas.rs @@ -18,7 +18,7 @@ use crate::{GasSpent, Module, Trait}; use balances; use runtime_primitives::BLOCK_FULL; use runtime_primitives::traits::{As, CheckedMul, CheckedSub, Zero}; -use runtime_support::StorageValue; +use srml_support::StorageValue; #[cfg(test)] use std::{any::Any, fmt::Debug}; diff --git a/substrate/srml/contract/src/lib.rs b/substrate/srml/contract/src/lib.rs index e1b51eb753..b5f5f2c00e 100644 --- a/substrate/srml/contract/src/lib.rs +++ b/substrate/srml/contract/src/lib.rs @@ -52,14 +52,6 @@ #![cfg_attr(not(feature = "std"), no_std)] -// We need these `extern crate` to be placed here otherwise there will be errors. -// TODO: https://github.com/paritytech/substrate/issues/1509 -#[macro_use] -extern crate parity_codec_derive; -extern crate parity_codec as codec; -#[macro_use] -extern crate srml_support as runtime_support; - #[macro_use] mod gas; @@ -73,13 +65,16 @@ mod tests; use crate::exec::ExecutionContext; use crate::account_db::AccountDb; +#[cfg(feature = "std")] +use serde_derive::{Serialize, Deserialize}; use rstd::prelude::*; use rstd::marker::PhantomData; -use codec::Codec; +use parity_codec::Codec; +use parity_codec_derive::{Encode, Decode}; use runtime_primitives::traits::{Hash, As, SimpleArithmetic,Bounded, StaticLookup}; -use runtime_support::dispatch::{Result, Dispatchable}; -use runtime_support::{Parameter, StorageMap, StorageValue, StorageDoubleMap}; -use runtime_support::traits::OnFreeBalanceZero; +use srml_support::dispatch::{Result, Dispatchable}; +use srml_support::{Parameter, StorageMap, StorageValue, StorageDoubleMap, decl_module, decl_event, decl_storage}; +use srml_support::traits::OnFreeBalanceZero; use system::{ensure_signed, RawOrigin}; use runtime_io::{blake2_256, twox_128}; use timestamp; @@ -144,7 +139,7 @@ where pub struct DefaultDispatchFeeComputor(PhantomData); impl ComputeDispatchFee for DefaultDispatchFeeComputor { fn compute_dispatch_fee(call: &T::Call) -> T::Balance { - let encoded_len = codec::Encode::encode(&call).len(); + let encoded_len = parity_codec::Encode::encode(&call).len(); let base_fee = >::transaction_base_fee(); let byte_fee = >::transaction_byte_fee(); base_fee + byte_fee * >::sa(encoded_len as u64) diff --git a/substrate/srml/contract/src/tests.rs b/substrate/srml/contract/src/tests.rs index 339dd26e4f..8931e37d8b 100644 --- a/substrate/srml/contract/src/tests.rs +++ b/substrate/srml/contract/src/tests.rs @@ -24,7 +24,7 @@ use runtime_primitives::testing::{Digest, DigestItem, H256, Header, UintAuthorit use runtime_primitives::traits::{BlakeTwo256, IdentityLookup}; use runtime_primitives::BuildStorage; use runtime_io; -use runtime_support::{StorageMap, StorageDoubleMap}; +use srml_support::{StorageMap, StorageDoubleMap, assert_ok, impl_outer_event, impl_outer_dispatch, impl_outer_origin}; use substrate_primitives::{Blake2Hasher}; use system::{self, Phase, EventRecord}; use {wabt, balances, consensus}; @@ -40,6 +40,7 @@ mod contract { // needs to give a name for the current crate. // This hack is required for `impl_outer_event!`. pub use super::super::*; + use srml_support::impl_outer_event; } impl_outer_event! { pub enum MetaEvent for Test { @@ -347,7 +348,7 @@ const HASH_DISPATCH_CALL: [u8; 32] = hex!("49dfdcaf9c1553be10634467e95b8e71a3bc1 fn dispatch_call() { // This test can fail due to the encoding changes. In case it becomes too annoying // let's rewrite so as we use this module controlled call or we serialize it in runtime. - let encoded = codec::Encode::encode(&Call::Balances(balances::Call::transfer(CHARLIE, 50))); + let encoded = parity_codec::Encode::encode(&Call::Balances(balances::Call::transfer(CHARLIE, 50))); assert_eq!(&encoded[..], &hex!("00000300000000000000C8")[..]); let wasm = wabt::wat2wasm(CODE_DISPATCH_CALL).unwrap(); diff --git a/substrate/srml/contract/src/wasm/code_cache.rs b/substrate/srml/contract/src/wasm/code_cache.rs index c95bbee4c2..195da15745 100644 --- a/substrate/srml/contract/src/wasm/code_cache.rs +++ b/substrate/srml/contract/src/wasm/code_cache.rs @@ -30,7 +30,7 @@ use crate::wasm::{prepare, runtime::Env, PrefabWasmModule}; use crate::{CodeHash, CodeStorage, PristineCode, Schedule, Trait}; use rstd::prelude::*; use runtime_primitives::traits::{As, CheckedMul, Hash, Bounded}; -use runtime_support::StorageMap; +use srml_support::StorageMap; /// Gas metering token that used for charging storing code into the code storage. /// diff --git a/substrate/srml/contract/src/wasm/mod.rs b/substrate/srml/contract/src/wasm/mod.rs index bec50dac07..5348df1ad3 100644 --- a/substrate/srml/contract/src/wasm/mod.rs +++ b/substrate/srml/contract/src/wasm/mod.rs @@ -23,6 +23,7 @@ use crate::exec::{Ext, EmptyOutputBuf, VmExecResult}; use crate::gas::GasMeter; use rstd::prelude::*; +use parity_codec_derive::{Encode, Decode}; use sandbox; #[macro_use] diff --git a/substrate/srml/contract/src/wasm/runtime.rs b/substrate/srml/contract/src/wasm/runtime.rs index fc13211f95..9f515ee84e 100644 --- a/substrate/srml/contract/src/wasm/runtime.rs +++ b/substrate/srml/contract/src/wasm/runtime.rs @@ -23,7 +23,7 @@ use sandbox; use system; use rstd::prelude::*; use rstd::mem; -use codec::{Decode, Encode}; +use parity_codec::{Decode, Encode}; use runtime_primitives::traits::{As, CheckedMul, Bounded}; /// Enumerates all possible *special* trap conditions. diff --git a/substrate/srml/support/procedural/Cargo.toml b/substrate/srml/support/procedural/Cargo.toml index 206ce708f9..b01b45a445 100644 --- a/substrate/srml/support/procedural/Cargo.toml +++ b/substrate/srml/support/procedural/Cargo.toml @@ -2,6 +2,7 @@ name = "srml-support-procedural" version = "0.1.0" authors = ["Parity Technologies "] +edition = "2018" [lib] proc-macro = true diff --git a/substrate/srml/support/procedural/src/lib.rs b/substrate/srml/support/procedural/src/lib.rs index e2e4668d93..552b31fcf9 100644 --- a/substrate/srml/support/procedural/src/lib.rs +++ b/substrate/srml/support/procedural/src/lib.rs @@ -21,16 +21,6 @@ #![recursion_limit="256"] extern crate proc_macro; -extern crate proc_macro2; - -#[macro_use] -extern crate syn; - -#[macro_use] -extern crate quote; - -#[macro_use] -extern crate srml_support_procedural_tools; mod storage; diff --git a/substrate/srml/support/procedural/src/storage/mod.rs b/substrate/srml/support/procedural/src/storage/mod.rs index b230b13402..a39b75836a 100644 --- a/substrate/srml/support/procedural/src/storage/mod.rs +++ b/substrate/srml/support/procedural/src/storage/mod.rs @@ -19,8 +19,9 @@ // end::description[] use srml_support_procedural_tools::syn_ext as ext; +use srml_support_procedural_tools::{ToTokens, Parse, custom_keyword, custom_keyword_impl}; -use syn::Ident; +use syn::{Ident, Token}; use syn::token::CustomKeyword; pub mod transformation; diff --git a/substrate/srml/support/procedural/src/storage/transformation.rs b/substrate/srml/support/procedural/src/storage/transformation.rs index 3c1083569e..219671b936 100644 --- a/substrate/srml/support/procedural/src/storage/transformation.rs +++ b/substrate/srml/support/procedural/src/storage/transformation.rs @@ -31,8 +31,10 @@ use syn::{ parse::{ Error, Result, - } + }, + parse_macro_input, }; +use quote::quote; use super::*; diff --git a/substrate/srml/support/procedural/tools/Cargo.toml b/substrate/srml/support/procedural/tools/Cargo.toml index c773bc65d8..399755bcbb 100644 --- a/substrate/srml/support/procedural/tools/Cargo.toml +++ b/substrate/srml/support/procedural/tools/Cargo.toml @@ -2,6 +2,7 @@ name = "srml-support-procedural-tools" version = "0.1.0" authors = ["Parity Technologies "] +edition = "2018" [dependencies] srml-support-procedural-tools-derive = { path = "./derive" } diff --git a/substrate/srml/support/procedural/tools/derive/Cargo.toml b/substrate/srml/support/procedural/tools/derive/Cargo.toml index d55659442e..aa6e6e736e 100644 --- a/substrate/srml/support/procedural/tools/derive/Cargo.toml +++ b/substrate/srml/support/procedural/tools/derive/Cargo.toml @@ -2,6 +2,7 @@ name = "srml-support-procedural-tools-derive" version = "0.1.0" authors = ["Parity Technologies "] +edition = "2018" [lib] proc-macro = true diff --git a/substrate/srml/support/procedural/tools/derive/src/lib.rs b/substrate/srml/support/procedural/tools/derive/src/lib.rs index 604cba4582..fdaee5dcee 100644 --- a/substrate/srml/support/procedural/tools/derive/src/lib.rs +++ b/substrate/srml/support/procedural/tools/derive/src/lib.rs @@ -18,21 +18,14 @@ //! Use to derive parsing for parsing struct. // end::description[] - #![recursion_limit = "128"] -#[macro_use] -extern crate syn; - -#[macro_use] -extern crate quote; - extern crate proc_macro; -extern crate proc_macro2; use proc_macro::TokenStream; use proc_macro2::Span; - +use syn::parse_macro_input; +use quote::quote; pub(crate) fn fields_idents( fields: impl Iterator, diff --git a/substrate/srml/support/procedural/tools/src/lib.rs b/substrate/srml/support/procedural/tools/src/lib.rs index a768f5ea0b..2d76a25491 100644 --- a/substrate/srml/support/procedural/tools/src/lib.rs +++ b/substrate/srml/support/procedural/tools/src/lib.rs @@ -18,17 +18,11 @@ //! Proc macro helpers for procedural macros // end::description[] -extern crate syn; -#[macro_use] -extern crate quote; -extern crate proc_macro2; - extern crate proc_macro; -#[macro_use] extern crate srml_support_procedural_tools_derive; - // reexport proc macros pub use srml_support_procedural_tools_derive::*; +pub use quote; pub mod syn_ext; @@ -68,10 +62,10 @@ fn generate_hidden_includes_mod_name(unique_id: &str) -> Ident { /// Generates the access to the `subtrate_client` crate. pub fn generate_crate_access(unique_id: &str, def_crate: &str) -> TokenStream { if ::std::env::var("CARGO_PKG_NAME").unwrap() == def_crate { - quote!( crate ) + quote::quote!( crate ) } else { let mod_name = generate_hidden_includes_mod_name(unique_id); - quote!( self::#mod_name::hidden_include ) + quote::quote!( self::#mod_name::hidden_include ) }.into() } @@ -82,7 +76,7 @@ pub fn generate_hidden_includes(unique_id: &str, def_crate: &str, crate_id: &str TokenStream::new() } else { let mod_name = generate_hidden_includes_mod_name(unique_id); - quote!( + quote::quote!( #[doc(hidden)] mod #mod_name { pub extern crate #crate_id as hidden_include; diff --git a/substrate/srml/support/procedural/tools/src/syn_ext.rs b/substrate/srml/support/procedural/tools/src/syn_ext.rs index 80ae16e358..0ea403a652 100644 --- a/substrate/srml/support/procedural/tools/src/syn_ext.rs +++ b/substrate/srml/support/procedural/tools/src/syn_ext.rs @@ -25,9 +25,10 @@ use syn::parse::{ }; use syn::token::CustomKeyword; use proc_macro2::TokenStream as T2; -use quote::ToTokens; +use quote::{ToTokens, quote}; use std::iter::once; use syn::Ident; +use srml_support_procedural_tools_derive::{ToTokens, Parse}; /// stop parsing here getting remaining token as content /// Warn duplicate stream (part of) diff --git a/substrate/srml/support/src/lib.rs b/substrate/srml/support/src/lib.rs index 2c79631172..bba2dcb221 100644 --- a/substrate/srml/support/src/lib.rs +++ b/substrate/srml/support/src/lib.rs @@ -74,7 +74,7 @@ macro_rules! fail { macro_rules! ensure { ( $x:expr, $y:expr ) => {{ if !$x { - fail!($y); + $crate::fail!($y); } }} } @@ -84,7 +84,7 @@ macro_rules! ensure { macro_rules! assert_noop { ( $x:expr , $y:expr ) => { let h = runtime_io::storage_root(); - assert_err!($x, $y); + $crate::assert_err!($x, $y); assert_eq!(h, runtime_io::storage_root()); } } diff --git a/substrate/srml/treasury/Cargo.toml b/substrate/srml/treasury/Cargo.toml index 3ffb39b99c..13f4972135 100644 --- a/substrate/srml/treasury/Cargo.toml +++ b/substrate/srml/treasury/Cargo.toml @@ -2,31 +2,34 @@ name = "srml-treasury" version = "0.1.0" authors = ["Parity Technologies "] +edition = "2018" [dependencies] hex-literal = "0.1.0" serde = { version = "1.0", default-features = false } +serde_derive = { version = "1.0", optional = true } parity-codec = { version = "3.0", default-features = false } parity-codec-derive = { version = "3.0", default-features = false } -substrate-primitives = { path = "../../core/primitives", default-features = false } -sr-std = { path = "../../core/sr-std", default-features = false } -sr-io = { path = "../../core/sr-io", default-features = false } -sr-primitives = { path = "../../core/sr-primitives", default-features = false } +rstd = { package = "sr-std", path = "../../core/sr-std", default-features = false } +runtime_primitives = { package = "sr-primitives", path = "../../core/sr-primitives", default-features = false } srml-support = { path = "../support", default-features = false } -srml-system = { path = "../system", default-features = false } -srml-balances = { path = "../balances", default-features = false } +system = { package = "srml-system", path = "../system", default-features = false } +balances = { package = "srml-balances", path = "../balances", default-features = false } + +[dev-dependencies] +runtime_io = { package = "sr-io", path = "../../core/sr-io", default-features = false } +substrate-primitives = { path = "../../core/primitives", default-features = false } [features] default = ["std"] std = [ "serde/std", + "serde_derive", "parity-codec/std", "parity-codec-derive/std", - "substrate-primitives/std", - "sr-std/std", - "sr-io/std", - "sr-primitives/std", + "rstd/std", + "runtime_primitives/std", "srml-support/std", - "srml-system/std", - "srml-balances/std", + "system/std", + "balances/std", ] diff --git a/substrate/srml/treasury/src/lib.rs b/substrate/srml/treasury/src/lib.rs index 8f0c7f5e8e..f93c2324e4 100644 --- a/substrate/srml/treasury/src/lib.rs +++ b/substrate/srml/treasury/src/lib.rs @@ -18,32 +18,13 @@ #![cfg_attr(not(feature = "std"), no_std)] -extern crate sr_std as rstd; - -#[macro_use] -extern crate srml_support as runtime_support; - -#[cfg(test)] -extern crate sr_io as runtime_io; -#[cfg(test)] -extern crate substrate_primitives; -#[cfg(test)] -extern crate srml_balances as balances; - #[cfg(feature = "std")] -extern crate serde; - -#[macro_use] -extern crate parity_codec_derive; - -extern crate parity_codec as codec; -extern crate sr_primitives as runtime_primitives; -extern crate srml_system as system; - +use serde_derive::{Serialize, Deserialize}; use rstd::prelude::*; -use runtime_support::{StorageValue, StorageMap}; -use runtime_support::traits::{Currency, OnDilution}; +use srml_support::{StorageValue, StorageMap, decl_module, decl_storage, decl_event, ensure}; +use srml_support::traits::{Currency, OnDilution}; use runtime_primitives::{Permill, traits::{Zero, EnsureOrigin, StaticLookup}}; +use parity_codec_derive::{Encode, Decode}; use system::ensure_signed; type BalanceOf = <::Currency as Currency<::AccountId>>::Balance; @@ -277,6 +258,7 @@ mod tests { use super::*; use runtime_io::with_externalities; + use srml_support::{impl_outer_origin, assert_ok, assert_noop}; use substrate_primitives::{H256, Blake2Hasher}; use runtime_primitives::BuildStorage; use runtime_primitives::traits::{BlakeTwo256, OnFinalise, IdentityLookup}; diff --git a/substrate/srml/upgrade-key/Cargo.toml b/substrate/srml/upgrade-key/Cargo.toml index 7233b3dbd6..07320bb9b9 100644 --- a/substrate/srml/upgrade-key/Cargo.toml +++ b/substrate/srml/upgrade-key/Cargo.toml @@ -2,32 +2,25 @@ name = "srml-upgrade-key" version = "0.1.0" authors = ["Parity Technologies "] +edition = "2018" [dependencies] -hex-literal = "0.1.0" serde = { version = "1.0", default-features = false } parity-codec = { version = "3.0", default-features = false } -parity-codec-derive = { version = "3.0", default-features = false } -substrate-primitives = { path = "../../core/primitives", default-features = false } sr-std = { path = "../../core/sr-std", default-features = false } -sr-io = { path = "../../core/sr-io", default-features = false } sr-primitives = { path = "../../core/sr-primitives", default-features = false } srml-support = { path = "../support", default-features = false } -srml-support-procedural = { path = "../support/procedural" } -srml-system = { path = "../system", default-features = false } -srml-consensus = { path = "../consensus", default-features = false } +system = { package = "srml-system", path = "../system", default-features = false } +consensus = { package = "srml-consensus", path = "../consensus", default-features = false } [features] default = ["std"] std = [ "serde/std", "parity-codec/std", - "parity-codec-derive/std", "sr-std/std", - "sr-io/std", "sr-primitives/std", - "substrate-primitives/std", "srml-support/std", - "srml-system/std", - "srml-consensus/std", + "system/std", + "consensus/std", ] diff --git a/substrate/srml/upgrade-key/src/lib.rs b/substrate/srml/upgrade-key/src/lib.rs index ab46321d8e..a55251186b 100644 --- a/substrate/srml/upgrade-key/src/lib.rs +++ b/substrate/srml/upgrade-key/src/lib.rs @@ -19,23 +19,9 @@ #![cfg_attr(not(feature = "std"), no_std)] -extern crate sr_std; -#[cfg(test)] -extern crate sr_io; -#[cfg(test)] -extern crate substrate_primitives; -extern crate sr_primitives; -extern crate parity_codec_derive; -extern crate parity_codec as codec; -#[macro_use] -extern crate srml_support as support; - -extern crate srml_system as system; -extern crate srml_consensus as consensus; - use sr_std::prelude::*; use sr_primitives::traits::StaticLookup; -use support::StorageValue; +use srml_support::{StorageValue, decl_module, decl_event, decl_storage, ensure}; use system::ensure_signed; pub trait Trait: consensus::Trait + system::Trait {