From 8065116ba5e9cb79d02859b72c76dc1379401a25 Mon Sep 17 00:00:00 2001 From: thiolliere <gui.thiolliere@gmail.com> Date: Tue, 19 Feb 2019 17:13:59 +0100 Subject: [PATCH] Improve fees module (#1821) * remove amount associated * make a new trait to bound some arithmetics to balances or assets: It also remove arithmetic bounds of srml-support::traits::Currency. To update your code then use srml_support::traits::ArithmeticType like: `type Currency: ArithmeticType + Currency<Self::AccountId, Balance=BalanceOf<Self>>; ` with `type BalanceOf<T> = <<T as Trait>::Currency as ArithmeticType>::Type; ` * improve decl_storage when it explicit serde bound: basically don't try to be smarter than rust and just use where clause. --- .../substrate_test_runtime.compact.wasm | Bin 56872 -> 56887 bytes substrate/node-template/runtime/src/lib.rs | 1 - substrate/node/runtime/src/lib.rs | 3 +- .../release/node_runtime.compact.wasm | Bin 822578 -> 822694 bytes substrate/srml/balances/src/lib.rs | 8 ++- substrate/srml/contract/src/tests.rs | 1 - substrate/srml/council/src/seats.rs | 4 +- substrate/srml/democracy/src/lib.rs | 6 +- substrate/srml/executive/src/lib.rs | 1 - substrate/srml/fees/src/lib.rs | 27 +++++---- substrate/srml/fees/src/mock.rs | 9 ++- substrate/srml/staking/src/lib.rs | 6 +- .../procedural/src/storage/transformation.rs | 14 ++--- .../support/procedural/tools/src/syn_ext.rs | 54 ------------------ substrate/srml/support/src/traits.rs | 6 +- substrate/srml/treasury/src/lib.rs | 8 +-- 16 files changed, 48 insertions(+), 100 deletions(-) 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 23239e917eabf85bb24340d0747d52bad15d2723..8bd317e605a271cded36c515e80948ed531a7eda 100644 GIT binary patch delta 2960 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 delta 2981 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 diff --git a/substrate/node-template/runtime/src/lib.rs b/substrate/node-template/runtime/src/lib.rs index 39a18593f1e..7c680467072 100644 --- a/substrate/node-template/runtime/src/lib.rs +++ b/substrate/node-template/runtime/src/lib.rs @@ -165,7 +165,6 @@ impl balances::Trait for Runtime { } impl fees::Trait for Runtime { - type Amount = u128; type TransferAsset = Balances; type Event = Event; } diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs index 89f3a58030f..3f242dcc5b1 100644 --- a/substrate/node/runtime/src/lib.rs +++ b/substrate/node/runtime/src/lib.rs @@ -61,7 +61,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { impl_name: create_runtime_str!("substrate-node"), authoring_version: 10, spec_version: 29, - impl_version: 30, + impl_version: 31, apis: RUNTIME_API_VERSIONS, }; @@ -109,7 +109,6 @@ impl balances::Trait for Runtime { impl fees::Trait for Runtime { type Event = Event; - type Amount = Balance; type TransferAsset = Balances; } 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 b6ff057716ca4196181b2e7c1a221188c6837854..d320f9a372bff82472003f1075be115b1e34a9e5 100644 GIT binary patch delta 66511 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�V5|cbmB7gyxm-H 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 H%whiz4GmsK delta 66295 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⋙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 Q{c(Zsj#jkMiZT5E0kqY_O#lD@ diff --git a/substrate/srml/balances/src/lib.rs b/substrate/srml/balances/src/lib.rs index 554f92e868d..60fb5f6c007 100644 --- a/substrate/srml/balances/src/lib.rs +++ b/substrate/srml/balances/src/lib.rs @@ -29,7 +29,7 @@ use rstd::{cmp, result}; use parity_codec::Codec; use parity_codec_derive::{Encode, Decode}; use srml_support::{StorageValue, StorageMap, Parameter, decl_event, decl_storage, decl_module, ensure}; -use srml_support::traits::{UpdateBalanceOutcome, Currency, EnsureAccountLiquid, OnFreeBalanceZero}; +use srml_support::traits::{UpdateBalanceOutcome, Currency, EnsureAccountLiquid, OnFreeBalanceZero, ArithmeticType}; use srml_support::dispatch::Result; use primitives::traits::{Zero, SimpleArithmetic, As, StaticLookup, Member, CheckedAdd, CheckedSub, MaybeSerializeDebug, TransferAsset}; @@ -40,7 +40,7 @@ mod tests; pub trait Trait: system::Trait { /// The balance of an account. - type Balance: Parameter + Member + SimpleArithmetic + Codec + Default + Copy + As<usize> + As<u64>; + type Balance: Parameter + Member + SimpleArithmetic + Codec + Default + Copy + As<usize> + As<u64> + MaybeSerializeDebug; /// A function which is invoked when the free-balance has fallen below the existential deposit and /// has been reduced to zero. @@ -58,6 +58,10 @@ pub trait Trait: system::Trait { type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>; } +impl<T: Trait> ArithmeticType for Module<T> { + type Type = <T as Trait>::Balance; +} + decl_event!( pub enum Event<T> where <T as system::Trait>::AccountId, diff --git a/substrate/srml/contract/src/tests.rs b/substrate/srml/contract/src/tests.rs index 6febc2dec47..b49cbdcbaf1 100644 --- a/substrate/srml/contract/src/tests.rs +++ b/substrate/srml/contract/src/tests.rs @@ -91,7 +91,6 @@ impl consensus::Trait for Test { } impl fees::Trait for Test { type Event = MetaEvent; - type Amount = u64; type TransferAsset = Balances; } impl Trait for Test { diff --git a/substrate/srml/council/src/seats.rs b/substrate/srml/council/src/seats.rs index 6fd4f1cfec0..27a22bbf471 100644 --- a/substrate/srml/council/src/seats.rs +++ b/substrate/srml/council/src/seats.rs @@ -77,11 +77,11 @@ use system::{self, ensure_signed}; // after each vote as all but K entries are cleared. newly registering candidates must use cleared // entries before they increase the capacity. -use srml_support::decl_module; +use srml_support::{decl_module, traits::ArithmeticType}; pub type VoteIndex = u32; -type BalanceOf<T> = <<T as democracy::Trait>::Currency as Currency<<T as system::Trait>::AccountId>>::Balance; +type BalanceOf<T> = <<T as democracy::Trait>::Currency as ArithmeticType>::Type; pub trait Trait: democracy::Trait { type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>; diff --git a/substrate/srml/democracy/src/lib.rs b/substrate/srml/democracy/src/lib.rs index 5045a0ca3d8..539aa4227b0 100644 --- a/substrate/srml/democracy/src/lib.rs +++ b/substrate/srml/democracy/src/lib.rs @@ -24,7 +24,7 @@ use primitives::traits::{Zero, As}; use parity_codec_derive::{Encode, Decode}; use srml_support::{StorageValue, StorageMap, Parameter, Dispatchable, IsSubType}; use srml_support::{decl_module, decl_storage, decl_event, ensure}; -use srml_support::traits::{Currency, OnFreeBalanceZero, EnsureAccountLiquid}; +use srml_support::traits::{Currency, OnFreeBalanceZero, EnsureAccountLiquid, ArithmeticType}; use srml_support::dispatch::Result; use system::ensure_signed; @@ -65,10 +65,10 @@ impl Vote { } } -type BalanceOf<T> = <<T as Trait>::Currency as Currency<<T as system::Trait>::AccountId>>::Balance; +type BalanceOf<T> = <<T as Trait>::Currency as ArithmeticType>::Type; pub trait Trait: system::Trait + Sized { - type Currency: Currency<<Self as system::Trait>::AccountId>; + type Currency: ArithmeticType + Currency<<Self as system::Trait>::AccountId, Balance=BalanceOf<Self>>; type Proposal: Parameter + Dispatchable<Origin=Self::Origin> + IsSubType<Module<Self>>; diff --git a/substrate/srml/executive/src/lib.rs b/substrate/srml/executive/src/lib.rs index dfc369174fe..1638bc6e625 100644 --- a/substrate/srml/executive/src/lib.rs +++ b/substrate/srml/executive/src/lib.rs @@ -324,7 +324,6 @@ mod tests { } impl fees::Trait for Runtime { type Event = MetaEvent; - type Amount = u64; type TransferAsset = balances::Module<Runtime>; } diff --git a/substrate/srml/fees/src/lib.rs b/substrate/srml/fees/src/lib.rs index a86ea68cdb4..d6809bac30d 100644 --- a/substrate/srml/fees/src/lib.rs +++ b/substrate/srml/fees/src/lib.rs @@ -19,9 +19,9 @@ // Ensure we're `no_std` when compiling for Wasm. #![cfg_attr(not(feature = "std"), no_std)] -use srml_support::{dispatch::Result, Parameter, StorageMap, decl_event, decl_storage, decl_module}; +use srml_support::{dispatch::Result, traits::ArithmeticType, StorageMap, decl_event, decl_storage, decl_module}; use runtime_primitives::traits::{ - As, Member, SimpleArithmetic, ChargeBytesFee, ChargeFee, + As, ChargeBytesFee, ChargeFee, TransferAsset, CheckedAdd, CheckedSub, CheckedMul, Zero }; use system; @@ -29,15 +29,14 @@ use system; mod mock; mod tests; +type AssetOf<T> = <<T as Trait>::TransferAsset as ArithmeticType>::Type; + pub trait Trait: system::Trait { /// The overarching event type. type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>; - /// The unit for fee amount - type Amount: Member + Parameter + SimpleArithmetic + Default + Copy + As<u64>; - /// A function does the asset transfer between accounts - type TransferAsset: TransferAsset<Self::AccountId, Amount = Self::Amount>; + type TransferAsset: ArithmeticType + TransferAsset<Self::AccountId, Amount=AssetOf<Self>>; } decl_module! { @@ -58,7 +57,7 @@ decl_module! { } decl_event!( - pub enum Event<T> where <T as Trait>::Amount { + pub enum Event<T> where Amount = AssetOf<T> { /// Fee charged (extrinsic_index, fee_amount) Charged(u32, Amount), } @@ -67,22 +66,22 @@ decl_event!( decl_storage! { trait Store for Module<T: Trait> as Fees { /// The fee to be paid for making a transaction; the base. - pub TransactionBaseFee get(transaction_base_fee) config(): T::Amount; + pub TransactionBaseFee get(transaction_base_fee) config(): AssetOf<T>; /// The fee to be paid for making a transaction; the per-byte portion. - pub TransactionByteFee get(transaction_byte_fee) config(): T::Amount; + pub TransactionByteFee get(transaction_byte_fee) config(): AssetOf<T>; /// The `extrinsic_index => accumulated_fees` map, containing records to /// track the overall charged fees for each transaction. /// /// All records should be removed at finalise stage. - CurrentTransactionFee get(current_transaction_fee): map u32 => T::Amount; + CurrentTransactionFee get(current_transaction_fee): map u32 => AssetOf<T>; } } impl<T: Trait> ChargeBytesFee<T::AccountId> for Module<T> { fn charge_base_bytes_fee(transactor: &T::AccountId, encoded_len: usize) -> Result { let bytes_fee = Self::transaction_byte_fee().checked_mul( - &<T::Amount as As<u64>>::sa(encoded_len as u64) + &<AssetOf<T> as As<u64>>::sa(encoded_len as u64) ).ok_or_else(|| "bytes fee overflow")?; let overall = Self::transaction_base_fee().checked_add(&bytes_fee).ok_or_else(|| "bytes fee overflow")?; Self::charge_fee(transactor, overall) @@ -90,9 +89,9 @@ impl<T: Trait> ChargeBytesFee<T::AccountId> for Module<T> { } impl<T: Trait> ChargeFee<T::AccountId> for Module<T> { - type Amount = T::Amount; + type Amount = AssetOf<T>; - fn charge_fee(transactor: &T::AccountId, amount: T::Amount) -> Result { + fn charge_fee(transactor: &T::AccountId, amount: AssetOf<T>) -> Result { let extrinsic_index = <system::Module<T>>::extrinsic_index().ok_or_else(|| "no extrinsic index found")?; let current_fee = Self::current_transaction_fee(extrinsic_index); let new_fee = current_fee.checked_add(&amount).ok_or_else(|| "fee got overflow after charge")?; @@ -103,7 +102,7 @@ impl<T: Trait> ChargeFee<T::AccountId> for Module<T> { Ok(()) } - fn refund_fee(transactor: &T::AccountId, amount: T::Amount) -> Result { + fn refund_fee(transactor: &T::AccountId, amount: AssetOf<T>) -> Result { let extrinsic_index = <system::Module<T>>::extrinsic_index().ok_or_else(|| "no extrinsic index found")?; let current_fee = Self::current_transaction_fee(extrinsic_index); let new_fee = current_fee.checked_sub(&amount).ok_or_else(|| "fee got underflow after refund")?; diff --git a/substrate/srml/fees/src/mock.rs b/substrate/srml/fees/src/mock.rs index 46058e19218..dd93335eef0 100644 --- a/substrate/srml/fees/src/mock.rs +++ b/substrate/srml/fees/src/mock.rs @@ -25,7 +25,7 @@ use runtime_primitives::{ }; use primitives::{H256, Blake2Hasher}; use runtime_io; -use srml_support::{impl_outer_origin, impl_outer_event}; +use srml_support::{impl_outer_origin, impl_outer_event, traits::ArithmeticType}; use crate::{GenesisConfig, Module, Trait, system}; impl_outer_origin!{ @@ -52,6 +52,10 @@ impl<AccountId> TransferAsset<AccountId> for TransferAssetMock { fn add_to(_: &AccountId, _: Self::Amount) -> Result<(), &'static str> { Ok(()) } } +impl ArithmeticType for TransferAssetMock { + type Type = u64; +} + // Workaround for https://github.com/rust-lang/rust/issues/26925 . Remove when sorted. #[derive(Clone, PartialEq, Eq, Debug)] pub struct Test; @@ -69,8 +73,7 @@ impl system::Trait for Test { type Log = DigestItem; } impl Trait for Test { - type Amount = u64; - type Event =TestEvent; + type Event = TestEvent; type TransferAsset = TransferAssetMock; } diff --git a/substrate/srml/staking/src/lib.rs b/substrate/srml/staking/src/lib.rs index b22190eae36..34fa4f036c8 100644 --- a/substrate/srml/staking/src/lib.rs +++ b/substrate/srml/staking/src/lib.rs @@ -25,7 +25,7 @@ use parity_codec::HasCompact; use parity_codec_derive::{Encode, Decode}; use srml_support::{Parameter, StorageValue, StorageMap, dispatch::Result}; use srml_support::{decl_module, decl_event, decl_storage, ensure}; -use srml_support::traits::{Currency, OnDilution, EnsureAccountLiquid, OnFreeBalanceZero}; +use srml_support::traits::{Currency, OnDilution, EnsureAccountLiquid, OnFreeBalanceZero, ArithmeticType}; use session::OnSessionChange; use primitives::Perbill; use primitives::traits::{Zero, One, Bounded, As, StaticLookup}; @@ -67,11 +67,11 @@ impl<B: Default + HasCompact + Copy> Default for ValidatorPrefs<B> { } } -type BalanceOf<T> = <<T as Trait>::Currency as Currency<<T as system::Trait>::AccountId>>::Balance; +type BalanceOf<T> = <<T as Trait>::Currency as ArithmeticType>::Type; pub trait Trait: system::Trait + session::Trait { /// The staking balance. - type Currency: Currency<Self::AccountId>; + type Currency: ArithmeticType + Currency<Self::AccountId, Balance=BalanceOf<Self>>; /// Some tokens minted. type OnRewardMinted: OnDilution<BalanceOf<Self>>; diff --git a/substrate/srml/support/procedural/src/storage/transformation.rs b/substrate/srml/support/procedural/src/storage/transformation.rs index 736d39cae7b..f5eefb7844b 100644 --- a/substrate/srml/support/procedural/src/storage/transformation.rs +++ b/substrate/srml/support/procedural/src/storage/transformation.rs @@ -192,13 +192,10 @@ fn decl_store_extra_genesis( is_trait_needed = true; has_trait_field = true; } - for t in ext::get_non_bound_serde_derive_types(type_infos.value_type, &traitinstance) { - serde_complete_bound.insert(t); - } + + serde_complete_bound.insert(type_infos.value_type); if let DeclStorageTypeInfosKind::Map { key_type, .. } = type_infos.kind { - for t in ext::get_non_bound_serde_derive_types(key_type, &traitinstance) { - serde_complete_bound.insert(t); - } + serde_complete_bound.insert(key_type); } let storage_type = type_infos.typ.clone(); config_field.extend(match type_infos.kind { @@ -285,9 +282,7 @@ fn decl_store_extra_genesis( has_trait_field = true; } - for t in ext::get_non_bound_serde_derive_types(extra_type, &traitinstance).into_iter() { - serde_complete_bound.insert(t); - } + serde_complete_bound.insert(extra_type); let extrafield = &extra_field.content; genesis_extrafields.extend(quote!{ @@ -315,6 +310,7 @@ fn decl_store_extra_genesis( let serde_bug_bound = if !serde_complete_bound.is_empty() { let mut b_ser = String::new(); let mut b_dser = String::new(); + // panic!("{:#?}", serde_complete_bound); serde_complete_bound.into_iter().for_each(|bound| { let stype = quote!(#bound); b_ser.push_str(&format!("{} : {}::serde::Serialize, ", stype, scrate)); diff --git a/substrate/srml/support/procedural/tools/src/syn_ext.rs b/substrate/srml/support/procedural/tools/src/syn_ext.rs index 0ea403a6520..74233b2d0ba 100644 --- a/substrate/srml/support/procedural/tools/src/syn_ext.rs +++ b/substrate/srml/support/procedural/tools/src/syn_ext.rs @@ -327,57 +327,3 @@ pub fn has_parametric_type_def(typ: &syn::Type, ident: &Ident, default: bool) -> pub fn has_parametric_type(typ: &syn::Type, ident: &Ident) -> bool { has_parametric_type_def(typ, ident, true) } - -/// Get case where serde does not include bound with serde_derive macros: -/// see https://github.com/serde-rs/serde/issues/1454 -pub fn get_non_bound_serde_derive_types(typ: &syn::Type, t: &syn::Ident) -> Vec<syn::Type> { - let mut result = Vec::new(); - get_non_bound_serde_derive_types_inner(typ, t, &mut result); - result -} - -fn get_non_bound_serde_derive_types_inner(typ: &syn::Type, t: &syn::Ident, result: &mut Vec<syn::Type>) { - match *typ { - syn::Type::Path(ref path) => { - if heuristic_is_associated_path(&path.path,t) { - result.push(typ.clone()); - } - for p in path.path.segments.iter() { - if let syn::PathArguments::AngleBracketed(ref args) = p.arguments { - for a in args.args.iter() { - if let syn::GenericArgument::Type(ref ty) = a { - get_non_bound_serde_derive_types_inner(ty, t, result) - } - } - } - } - }, - syn::Type::Slice(ref inner) => get_non_bound_serde_derive_types_inner(&inner.elem, t, result), - syn::Type::Array(ref inner) => get_non_bound_serde_derive_types_inner(&inner.elem, t, result), - syn::Type::Ptr(ref inner) => get_non_bound_serde_derive_types_inner(&inner.elem, t, result), - syn::Type::Reference(ref inner) => get_non_bound_serde_derive_types_inner(&inner.elem, t, result), - syn::Type::BareFn(..) => (), - syn::Type::Never(..) => (), - syn::Type::Tuple(ref inner) => for e in inner.elems.iter() { - get_non_bound_serde_derive_types_inner(e, t, result) - }, - syn::Type::TraitObject(..) => (), - syn::Type::ImplTrait(..) => (), - syn::Type::Paren(ref inner) => get_non_bound_serde_derive_types_inner(&inner.elem, t, result), - syn::Type::Group(ref inner) => get_non_bound_serde_derive_types_inner(&inner.elem, t, result), - syn::Type::Infer(..) => (), - syn::Type::Macro(..) => (), - syn::Type::Verbatim(..) => (), - } - -} - -fn heuristic_is_associated_path(path: &syn::Path,t: &syn::Ident) -> bool { - - if let Some(syn::punctuated::Pair::Punctuated(s,_)) = path.segments.first() { - &s.ident == t - } else { - false - } - -} diff --git a/substrate/srml/support/src/traits.rs b/substrate/srml/support/src/traits.rs index 416ed4e959c..873f61e9611 100644 --- a/substrate/srml/support/src/traits.rs +++ b/substrate/srml/support/src/traits.rs @@ -79,10 +79,14 @@ pub enum UpdateBalanceOutcome { AccountKilled, } +pub trait ArithmeticType { + type Type: SimpleArithmetic + As<usize> + As<u64> + Codec + Copy + MaybeSerializeDebug + Default; +} + /// Abstraction over a fungible assets system. pub trait Currency<AccountId> { /// The balance of an account. - type Balance: SimpleArithmetic + As<usize> + As<u64> + Codec + Copy + MaybeSerializeDebug + Default; + type Balance; // PUBLIC IMMUTABLES diff --git a/substrate/srml/treasury/src/lib.rs b/substrate/srml/treasury/src/lib.rs index ad861ac7ece..4a8913bc4d9 100644 --- a/substrate/srml/treasury/src/lib.rs +++ b/substrate/srml/treasury/src/lib.rs @@ -22,12 +22,12 @@ use serde_derive::{Serialize, Deserialize}; use rstd::prelude::*; use srml_support::{StorageValue, StorageMap, decl_module, decl_storage, decl_event, ensure}; -use srml_support::traits::{Currency, OnDilution}; +use srml_support::traits::{Currency, OnDilution, ArithmeticType}; use runtime_primitives::{Permill, traits::{Zero, EnsureOrigin, StaticLookup}}; use parity_codec_derive::{Encode, Decode}; use system::ensure_signed; -type BalanceOf<T> = <<T as Trait>::Currency as Currency<<T as system::Trait>::AccountId>>::Balance; +type BalanceOf<T> = <<T as Trait>::Currency as ArithmeticType>::Type; /// Our module's configuration trait. All our types and consts go in here. If the /// module is dependent on specific other modules, then their configuration traits @@ -36,7 +36,7 @@ type BalanceOf<T> = <<T as Trait>::Currency as Currency<<T as system::Trait>::Ac /// `system::Trait` should always be included in our implied traits. pub trait Trait: system::Trait { /// The staking balance. - type Currency: Currency<Self::AccountId>; + type Currency: ArithmeticType + Currency<Self::AccountId, Balance=BalanceOf<Self>>; /// Origin from which approvals must come. type ApproveOrigin: EnsureOrigin<Self::Origin>; @@ -172,7 +172,7 @@ decl_storage! { decl_event!( pub enum Event<T> where - Balance = <<T as Trait>::Currency as Currency<<T as system::Trait>::AccountId>>::Balance, + Balance = BalanceOf<T>, <T as system::Trait>::AccountId { /// New proposal. -- GitLab