mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 18:11:10 +00:00
Frame: Give Referendum SubmitOrigin argument (#14326)
* Referedum's SubmitOrigin should have an arg * Fixes * Nits and two extra utils * Fixes * Fixes
This commit is contained in:
@@ -65,8 +65,10 @@ use sp_std::{marker::PhantomData, prelude::*};
|
||||
|
||||
use frame_support::{
|
||||
dispatch::DispatchResultWithPostInfo,
|
||||
ensure,
|
||||
traits::{tokens::Balance as BalanceTrait, EnsureOrigin, Get, RankedMembers},
|
||||
ensure, impl_ensure_origin_with_arg_ignoring_arg,
|
||||
traits::{
|
||||
tokens::Balance as BalanceTrait, EnsureOrigin, EnsureOriginWithArg, Get, RankedMembers,
|
||||
},
|
||||
BoundedVec, RuntimeDebug,
|
||||
};
|
||||
|
||||
@@ -570,7 +572,7 @@ impl<T: Config<I>, I: 'static, const MIN_RANK: u16> EnsureOrigin<T::RuntimeOrigi
|
||||
type Success = T::AccountId;
|
||||
|
||||
fn try_origin(o: T::RuntimeOrigin) -> Result<Self::Success, T::RuntimeOrigin> {
|
||||
let who = frame_system::EnsureSigned::try_origin(o)?;
|
||||
let who = <frame_system::EnsureSigned<_> as EnsureOrigin<_>>::try_origin(o)?;
|
||||
match T::Members::rank_of(&who) {
|
||||
Some(rank) if rank >= MIN_RANK && Member::<T, I>::contains_key(&who) => Ok(who),
|
||||
_ => Err(frame_system::RawOrigin::Signed(who).into()),
|
||||
@@ -591,3 +593,9 @@ impl<T: Config<I>, I: 'static, const MIN_RANK: u16> EnsureOrigin<T::RuntimeOrigi
|
||||
Ok(frame_system::RawOrigin::Signed(who).into())
|
||||
}
|
||||
}
|
||||
|
||||
impl_ensure_origin_with_arg_ignoring_arg! {
|
||||
impl< { T: Config<I>, I: 'static, const MIN_RANK: u16, A } >
|
||||
EnsureOriginWithArg<T::RuntimeOrigin, A> for EnsureInducted<T, I, MIN_RANK>
|
||||
{}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user