mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 03:31:05 +00:00
EnsureOrigin is a frame abstraction - it should be in frame_support (#5521)
* EnsureOrigin is a frame abstraction - it should be in frame_support * Fixes
This commit is contained in:
@@ -39,11 +39,11 @@
|
|||||||
use sp_std::{prelude::*, result};
|
use sp_std::{prelude::*, result};
|
||||||
use sp_core::u32_trait::Value as U32;
|
use sp_core::u32_trait::Value as U32;
|
||||||
use sp_runtime::RuntimeDebug;
|
use sp_runtime::RuntimeDebug;
|
||||||
use sp_runtime::traits::{Hash, EnsureOrigin};
|
use sp_runtime::traits::Hash;
|
||||||
use frame_support::weights::SimpleDispatchInfo;
|
use frame_support::weights::SimpleDispatchInfo;
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
dispatch::{Dispatchable, Parameter}, codec::{Encode, Decode},
|
dispatch::{Dispatchable, Parameter}, codec::{Encode, Decode},
|
||||||
traits::{Get, ChangeMembers, InitializeMembers}, decl_module, decl_event,
|
traits::{Get, ChangeMembers, InitializeMembers, EnsureOrigin}, decl_module, decl_event,
|
||||||
decl_storage, decl_error, ensure,
|
decl_storage, decl_error, ensure,
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_signed, ensure_root};
|
use frame_system::{self as system, ensure_signed, ensure_root};
|
||||||
|
|||||||
@@ -19,9 +19,9 @@
|
|||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use frame_benchmarking::{benchmarks, account};
|
use frame_benchmarking::{benchmarks, account};
|
||||||
use frame_support::traits::{Currency, Get};
|
use frame_support::traits::{Currency, Get, EnsureOrigin};
|
||||||
use frame_system::{RawOrigin, Module as System, self};
|
use frame_system::{RawOrigin, Module as System, self};
|
||||||
use sp_runtime::traits::{Bounded, EnsureOrigin, One};
|
use sp_runtime::traits::{Bounded, One};
|
||||||
|
|
||||||
use crate::Module as Democracy;
|
use crate::Module as Democracy;
|
||||||
|
|
||||||
|
|||||||
@@ -166,7 +166,7 @@
|
|||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
use sp_runtime::{
|
use sp_runtime::{
|
||||||
DispatchResult, DispatchError, RuntimeDebug,
|
DispatchResult, DispatchError, RuntimeDebug,
|
||||||
traits::{Zero, EnsureOrigin, Hash, Dispatchable, Saturating},
|
traits::{Zero, Hash, Dispatchable, Saturating},
|
||||||
};
|
};
|
||||||
use codec::{Ref, Encode, Decode};
|
use codec::{Ref, Encode, Decode};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
@@ -174,7 +174,7 @@ use frame_support::{
|
|||||||
weights::{SimpleDispatchInfo, Weight, WeighData},
|
weights::{SimpleDispatchInfo, Weight, WeighData},
|
||||||
traits::{
|
traits::{
|
||||||
Currency, ReservableCurrency, LockableCurrency, WithdrawReason, LockIdentifier, Get,
|
Currency, ReservableCurrency, LockableCurrency, WithdrawReason, LockIdentifier, Get,
|
||||||
OnUnbalanced, BalanceStatus, schedule::Named as ScheduleNamed
|
OnUnbalanced, BalanceStatus, schedule::Named as ScheduleNamed, EnsureOrigin
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_signed, ensure_root};
|
use frame_system::{self as system, ensure_signed, ensure_root};
|
||||||
|
|||||||
@@ -70,10 +70,10 @@ use sp_std::{fmt::Debug, ops::Add, iter::once};
|
|||||||
use enumflags2::BitFlags;
|
use enumflags2::BitFlags;
|
||||||
use codec::{Encode, Decode};
|
use codec::{Encode, Decode};
|
||||||
use sp_runtime::{DispatchResult, RuntimeDebug};
|
use sp_runtime::{DispatchResult, RuntimeDebug};
|
||||||
use sp_runtime::traits::{StaticLookup, EnsureOrigin, Zero, AppendZerosInput};
|
use sp_runtime::traits::{StaticLookup, Zero, AppendZerosInput};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
decl_module, decl_event, decl_storage, ensure, decl_error,
|
decl_module, decl_event, decl_storage, ensure, decl_error,
|
||||||
traits::{Currency, ReservableCurrency, OnUnbalanced, Get, BalanceStatus},
|
traits::{Currency, ReservableCurrency, OnUnbalanced, Get, BalanceStatus, EnsureOrigin},
|
||||||
weights::SimpleDispatchInfo,
|
weights::SimpleDispatchInfo,
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_signed, ensure_root};
|
use frame_system::{self as system, ensure_signed, ensure_root};
|
||||||
|
|||||||
@@ -25,11 +25,10 @@
|
|||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
decl_module, decl_storage, decl_event, decl_error,
|
decl_module, decl_storage, decl_event, decl_error,
|
||||||
traits::{ChangeMembers, InitializeMembers},
|
traits::{ChangeMembers, InitializeMembers, EnsureOrigin},
|
||||||
weights::SimpleDispatchInfo,
|
weights::SimpleDispatchInfo,
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_root, ensure_signed};
|
use frame_system::{self as system, ensure_root, ensure_signed};
|
||||||
use sp_runtime::traits::EnsureOrigin;
|
|
||||||
|
|
||||||
pub trait Trait<I=DefaultInstance>: frame_system::Trait {
|
pub trait Trait<I=DefaultInstance>: frame_system::Trait {
|
||||||
/// The overarching event type.
|
/// The overarching event type.
|
||||||
|
|||||||
@@ -40,11 +40,11 @@
|
|||||||
|
|
||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
use sp_runtime::{
|
use sp_runtime::{
|
||||||
traits::{StaticLookup, EnsureOrigin, Zero}
|
traits::{StaticLookup, Zero}
|
||||||
};
|
};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
decl_module, decl_event, decl_storage, ensure, decl_error,
|
decl_module, decl_event, decl_storage, ensure, decl_error,
|
||||||
traits::{Currency, ReservableCurrency, OnUnbalanced, Get},
|
traits::{Currency, EnsureOrigin, ReservableCurrency, OnUnbalanced, Get},
|
||||||
weights::SimpleDispatchInfo,
|
weights::SimpleDispatchInfo,
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_signed, ensure_root};
|
use frame_system::{self as system, ensure_signed, ensure_root};
|
||||||
|
|||||||
@@ -96,12 +96,12 @@ use sp_std::{
|
|||||||
};
|
};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
decl_module, decl_storage, decl_event, ensure, decl_error,
|
decl_module, decl_storage, decl_event, ensure, decl_error,
|
||||||
traits::{ChangeMembers, InitializeMembers, Currency, Get, ReservableCurrency},
|
traits::{EnsureOrigin, ChangeMembers, InitializeMembers, Currency, Get, ReservableCurrency},
|
||||||
weights::{Weight, SimpleDispatchInfo, WeighData},
|
weights::{Weight, SimpleDispatchInfo, WeighData},
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_root, ensure_signed};
|
use frame_system::{self as system, ensure_root, ensure_signed};
|
||||||
use sp_runtime::{
|
use sp_runtime::{
|
||||||
traits::{EnsureOrigin, AtLeast32Bit, MaybeSerializeDeserialize, Zero, StaticLookup},
|
traits::{AtLeast32Bit, MaybeSerializeDeserialize, Zero, StaticLookup},
|
||||||
};
|
};
|
||||||
|
|
||||||
type BalanceOf<T, I> = <<T as Trait<I>>::Currency as Currency<<T as frame_system::Trait>::AccountId>>::Balance;
|
type BalanceOf<T, I> = <<T as Trait<I>>::Currency as Currency<<T as frame_system::Trait>::AccountId>>::Balance;
|
||||||
|
|||||||
@@ -256,14 +256,14 @@ use codec::{Encode, Decode};
|
|||||||
use sp_runtime::{Percent, ModuleId, RuntimeDebug,
|
use sp_runtime::{Percent, ModuleId, RuntimeDebug,
|
||||||
traits::{
|
traits::{
|
||||||
StaticLookup, AccountIdConversion, Saturating, Zero, IntegerSquareRoot, Hash,
|
StaticLookup, AccountIdConversion, Saturating, Zero, IntegerSquareRoot, Hash,
|
||||||
TrailingZeroInput, CheckedSub, EnsureOrigin
|
TrailingZeroInput, CheckedSub
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
use frame_support::{decl_error, decl_module, decl_storage, decl_event, ensure, dispatch::DispatchResult};
|
use frame_support::{decl_error, decl_module, decl_storage, decl_event, ensure, dispatch::DispatchResult};
|
||||||
use frame_support::weights::{SimpleDispatchInfo, Weight, WeighData};
|
use frame_support::weights::{SimpleDispatchInfo, Weight, WeighData};
|
||||||
use frame_support::traits::{
|
use frame_support::traits::{
|
||||||
Currency, ReservableCurrency, Randomness, Get, ChangeMembers, BalanceStatus,
|
Currency, ReservableCurrency, Randomness, Get, ChangeMembers, BalanceStatus,
|
||||||
ExistenceRequirement::AllowDeath
|
ExistenceRequirement::AllowDeath, EnsureOrigin
|
||||||
};
|
};
|
||||||
use frame_system::{self as system, ensure_signed, ensure_root};
|
use frame_system::{self as system, ensure_signed, ensure_root};
|
||||||
|
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ use frame_support::{
|
|||||||
dispatch::{IsSubType, DispatchResult},
|
dispatch::{IsSubType, DispatchResult},
|
||||||
traits::{
|
traits::{
|
||||||
Currency, LockIdentifier, LockableCurrency, WithdrawReasons, OnUnbalanced, Imbalance, Get,
|
Currency, LockIdentifier, LockableCurrency, WithdrawReasons, OnUnbalanced, Imbalance, Get,
|
||||||
UnixTime, EstimateNextNewSession,
|
UnixTime, EstimateNextNewSession, EnsureOrigin,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
use pallet_session::historical;
|
use pallet_session::historical;
|
||||||
@@ -287,7 +287,7 @@ use sp_runtime::{
|
|||||||
curve::PiecewiseLinear,
|
curve::PiecewiseLinear,
|
||||||
traits::{
|
traits::{
|
||||||
Convert, Zero, StaticLookup, CheckedSub, Saturating, SaturatedConversion, AtLeast32Bit,
|
Convert, Zero, StaticLookup, CheckedSub, Saturating, SaturatedConversion, AtLeast32Bit,
|
||||||
EnsureOrigin, SignedExtension,
|
SignedExtension,
|
||||||
},
|
},
|
||||||
transaction_validity::{
|
transaction_validity::{
|
||||||
TransactionValidityError, TransactionValidity, ValidTransaction, InvalidTransaction,
|
TransactionValidityError, TransactionValidity, ValidTransaction, InvalidTransaction,
|
||||||
|
|||||||
@@ -22,9 +22,10 @@ use sp_std::{prelude::*, result, marker::PhantomData, ops::Div, fmt::Debug};
|
|||||||
use codec::{FullCodec, Codec, Encode, Decode, EncodeLike};
|
use codec::{FullCodec, Codec, Encode, Decode, EncodeLike};
|
||||||
use sp_core::u32_trait::Value as U32;
|
use sp_core::u32_trait::Value as U32;
|
||||||
use sp_runtime::{
|
use sp_runtime::{
|
||||||
RuntimeDebug,
|
RuntimeDebug, ConsensusEngineId, DispatchResult, DispatchError, traits::{
|
||||||
ConsensusEngineId, DispatchResult, DispatchError,
|
MaybeSerializeDeserialize, AtLeast32Bit, Saturating, TrailingZeroInput, Bounded, Zero,
|
||||||
traits::{MaybeSerializeDeserialize, AtLeast32Bit, Saturating, TrailingZeroInput, Bounded, Zero},
|
BadOrigin
|
||||||
|
},
|
||||||
};
|
};
|
||||||
use crate::dispatch::Parameter;
|
use crate::dispatch::Parameter;
|
||||||
use crate::storage::StorageMap;
|
use crate::storage::StorageMap;
|
||||||
@@ -1237,6 +1238,24 @@ pub mod schedule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Some sort of check on the origin is performed by this object.
|
||||||
|
pub trait EnsureOrigin<OuterOrigin> {
|
||||||
|
/// A return type.
|
||||||
|
type Success;
|
||||||
|
/// Perform the origin check.
|
||||||
|
fn ensure_origin(o: OuterOrigin) -> result::Result<Self::Success, BadOrigin> {
|
||||||
|
Self::try_origin(o).map_err(|_| BadOrigin)
|
||||||
|
}
|
||||||
|
/// Perform the origin check.
|
||||||
|
fn try_origin(o: OuterOrigin) -> result::Result<Self::Success, OuterOrigin>;
|
||||||
|
|
||||||
|
/// Returns an outer origin capable of passing `try_origin` check.
|
||||||
|
///
|
||||||
|
/// ** Should be used for benchmarking only!!! **
|
||||||
|
#[cfg(feature = "runtime-benchmarks")]
|
||||||
|
fn successful_origin() -> OuterOrigin;
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ use sp_runtime::{
|
|||||||
},
|
},
|
||||||
traits::{
|
traits::{
|
||||||
self, CheckEqual, AtLeast32Bit, Zero, SignedExtension, Lookup, LookupError,
|
self, CheckEqual, AtLeast32Bit, Zero, SignedExtension, Lookup, LookupError,
|
||||||
SimpleBitOps, Hash, Member, MaybeDisplay, EnsureOrigin, BadOrigin, SaturatedConversion,
|
SimpleBitOps, Hash, Member, MaybeDisplay, BadOrigin, SaturatedConversion,
|
||||||
MaybeSerialize, MaybeSerializeDeserialize, MaybeMallocSizeOf, StaticLookup, One, Bounded,
|
MaybeSerialize, MaybeSerializeDeserialize, MaybeMallocSizeOf, StaticLookup, One, Bounded,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -117,7 +117,7 @@ use frame_support::{
|
|||||||
decl_module, decl_event, decl_storage, decl_error, storage, Parameter, ensure, debug,
|
decl_module, decl_event, decl_storage, decl_error, storage, Parameter, ensure, debug,
|
||||||
traits::{
|
traits::{
|
||||||
Contains, Get, ModuleToIndex, OnNewAccount, OnKilledAccount, IsDeadAccount, Happened,
|
Contains, Get, ModuleToIndex, OnNewAccount, OnKilledAccount, IsDeadAccount, Happened,
|
||||||
StoredMap,
|
StoredMap, EnsureOrigin,
|
||||||
},
|
},
|
||||||
weights::{Weight, DispatchInfo, DispatchClass, SimpleDispatchInfo, FunctionOf},
|
weights::{Weight, DispatchInfo, DispatchClass, SimpleDispatchInfo, FunctionOf},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -95,8 +95,10 @@ mod benchmarking;
|
|||||||
|
|
||||||
use sp_std::{result, cmp};
|
use sp_std::{result, cmp};
|
||||||
use sp_inherents::{ProvideInherent, InherentData, InherentIdentifier};
|
use sp_inherents::{ProvideInherent, InherentData, InherentIdentifier};
|
||||||
|
#[cfg(feature = "std")]
|
||||||
|
use frame_support::debug;
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
Parameter, decl_storage, decl_module, debug,
|
Parameter, decl_storage, decl_module,
|
||||||
traits::{Time, UnixTime, Get},
|
traits::{Time, UnixTime, Get},
|
||||||
weights::SimpleDispatchInfo,
|
weights::SimpleDispatchInfo,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -96,9 +96,10 @@ use frame_support::traits::{
|
|||||||
ReservableCurrency, WithdrawReason
|
ReservableCurrency, WithdrawReason
|
||||||
};
|
};
|
||||||
use sp_runtime::{Permill, ModuleId, Percent, RuntimeDebug, traits::{
|
use sp_runtime::{Permill, ModuleId, Percent, RuntimeDebug, traits::{
|
||||||
Zero, EnsureOrigin, StaticLookup, AccountIdConversion, Saturating, Hash, BadOrigin
|
Zero, StaticLookup, AccountIdConversion, Saturating, Hash, BadOrigin
|
||||||
}};
|
}};
|
||||||
use frame_support::{weights::{Weight, WeighData, SimpleDispatchInfo}, traits::Contains};
|
use frame_support::weights::{Weight, WeighData, SimpleDispatchInfo};
|
||||||
|
use frame_support::traits::{Contains, EnsureOrigin};
|
||||||
use codec::{Encode, Decode};
|
use codec::{Encode, Decode};
|
||||||
use frame_system::{self as system, ensure_signed, ensure_root};
|
use frame_system::{self as system, ensure_signed, ensure_root};
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
//! Primitives for the runtime modules.
|
//! Primitives for the runtime modules.
|
||||||
|
|
||||||
use sp_std::prelude::*;
|
use sp_std::prelude::*;
|
||||||
use sp_std::{self, result, marker::PhantomData, convert::{TryFrom, TryInto}, fmt::Debug};
|
use sp_std::{self, marker::PhantomData, convert::{TryFrom, TryInto}, fmt::Debug};
|
||||||
use sp_io;
|
use sp_io;
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
@@ -147,24 +147,6 @@ impl From<BadOrigin> for &'static str {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Some sort of check on the origin is performed by this object.
|
|
||||||
pub trait EnsureOrigin<OuterOrigin> {
|
|
||||||
/// A return type.
|
|
||||||
type Success;
|
|
||||||
/// Perform the origin check.
|
|
||||||
fn ensure_origin(o: OuterOrigin) -> result::Result<Self::Success, BadOrigin> {
|
|
||||||
Self::try_origin(o).map_err(|_| BadOrigin)
|
|
||||||
}
|
|
||||||
/// Perform the origin check.
|
|
||||||
fn try_origin(o: OuterOrigin) -> result::Result<Self::Success, OuterOrigin>;
|
|
||||||
|
|
||||||
/// Returns an outer origin capable of passing `try_origin` check.
|
|
||||||
///
|
|
||||||
/// ** Should be used for benchmarking only!!! **
|
|
||||||
#[cfg(feature = "runtime-benchmarks")]
|
|
||||||
fn successful_origin() -> OuterOrigin;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// An error that indicates that a lookup failed.
|
/// An error that indicates that a lookup failed.
|
||||||
#[derive(Encode, Decode, RuntimeDebug)]
|
#[derive(Encode, Decode, RuntimeDebug)]
|
||||||
pub struct LookupError;
|
pub struct LookupError;
|
||||||
|
|||||||
Reference in New Issue
Block a user