Companion for substrate/pull/6896 (#1610)

* make polkadot work again,

* Fix build

* "Update Substrate"

Co-authored-by: parity-processbot <>
This commit is contained in:
Kian Paimani
2020-10-08 17:10:21 +02:00
committed by GitHub
parent c2941a2789
commit c5d041041f
9 changed files with 157 additions and 182 deletions
-31
View File
@@ -16,7 +16,6 @@
//! Auxillary struct/enums for polkadot runtime.
use sp_runtime::traits::Convert;
use frame_support::traits::{OnUnbalanced, Imbalance, Currency};
use crate::NegativeImbalance;
@@ -41,33 +40,3 @@ where
<frame_system::Module<R>>::deposit_event(pallet_balances::RawEvent::Deposit(author, numeric_amount));
}
}
/// Converter for currencies to votes.
pub struct CurrencyToVoteHandler<R>(sp_std::marker::PhantomData<R>);
impl<R> CurrencyToVoteHandler<R>
where
R: pallet_balances::Trait,
R::Balance: Into<u128>,
{
fn factor() -> u128 {
let issuance: u128 = <pallet_balances::Module<R>>::total_issuance().into();
(issuance / u64::max_value() as u128).max(1)
}
}
impl<R> Convert<u128, u64> for CurrencyToVoteHandler<R>
where
R: pallet_balances::Trait,
R::Balance: Into<u128>,
{
fn convert(x: u128) -> u64 { (x / Self::factor()) as u64 }
}
impl<R> Convert<u128, u128> for CurrencyToVoteHandler<R>
where
R: pallet_balances::Trait,
R::Balance: Into<u128>,
{
fn convert(x: u128) -> u128 { x * Self::factor() }
}
+7 -1
View File
@@ -45,7 +45,7 @@ pub use pallet_timestamp::Call as TimestampCall;
pub use pallet_balances::Call as BalancesCall;
/// Implementations of some helper traits passed into runtime modules as associated types.
pub use impls::{CurrencyToVoteHandler, ToAuthor};
pub use impls::ToAuthor;
pub type NegativeImbalance<T> = <pallet_balances::Module<T> as Currency<<T as frame_system::Trait>::AccountId>>::NegativeImbalance;
@@ -89,6 +89,12 @@ pub type SlowAdjustingFeeUpdate<R> = TargetedFeeAdjustment<
MinimumMultiplier
>;
/// The type used for currency conversion.
///
/// This must only be used as long as the balance type is u128.
pub type CurrencyToVote = frame_support::traits::U128CurrencyToVote;
static_assertions::assert_eq_size!(primitives::v1::Balance, u128);
/// A placeholder since there is currently no provided session key handler for parachain validator
/// keys.
pub struct ParachainSessionKeyPlaceholder<T>(sp_std::marker::PhantomData<T>);
@@ -395,7 +395,7 @@ mod tests {
impl pallet_staking::Trait for Test {
type RewardRemainder = ();
type CurrencyToVote = ();
type CurrencyToVote = frame_support::traits::SaturatingCurrencyToVote;
type Event = ();
type Currency = pallet_balances::Module<Test>;
type Slash = ();