referrerpolicy=no-referrer-when-downgrade
kitchensink_runtime

Type Alias SafeMode

Source
pub type SafeMode = Pallet<Runtime>;

Aliased Type§

struct SafeMode(/* private fields */);

Implementations

Source§

impl<T> Pallet<T>
where T: Config,

Source

pub fn enter(origin: <T as Config>::RuntimeOrigin) -> Result<(), DispatchError>

Enter safe-mode permissionlessly for Config::EnterDuration blocks.

Reserves Config::EnterDepositAmount from the caller’s account. Emits an Event::Entered event on success. Errors with Error::Entered if the safe-mode is already entered. Errors with Error::NotConfigured if the deposit amount is None.

Source

pub fn force_enter( origin: <T as Config>::RuntimeOrigin, ) -> Result<(), DispatchError>

Enter safe-mode by force for a per-origin configured number of blocks.

Emits an Event::Entered event on success. Errors with Error::Entered if the safe-mode is already entered.

Can only be called by the Config::ForceEnterOrigin origin.

Source

pub fn extend(origin: <T as Config>::RuntimeOrigin) -> Result<(), DispatchError>

Extend the safe-mode permissionlessly for Config::ExtendDuration blocks.

This accumulates on top of the current remaining duration. Reserves Config::ExtendDepositAmount from the caller’s account. Emits an Event::Extended event on success. Errors with Error::Exited if the safe-mode is entered. Errors with Error::NotConfigured if the deposit amount is None.

This may be called by any signed origin with Config::ExtendDepositAmount free currency to reserve. This call can be disabled for all origins by configuring Config::ExtendDepositAmount to None.

Source

pub fn force_extend( origin: <T as Config>::RuntimeOrigin, ) -> Result<(), DispatchError>

Extend the safe-mode by force for a per-origin configured number of blocks.

Emits an Event::Extended event on success. Errors with Error::Exited if the safe-mode is inactive.

Can only be called by the Config::ForceExtendOrigin origin.

Source

pub fn force_exit( origin: <T as Config>::RuntimeOrigin, ) -> Result<(), DispatchError>

Exit safe-mode by force.

Emits an Event::Exited with ExitReason::Force event on success. Errors with Error::Exited if the safe-mode is inactive.

Note: safe-mode will be automatically deactivated by Pallet::on_initialize hook after the block height is greater than the EnteredUntil storage item. Emits an Event::Exited with ExitReason::Timeout event when deactivated in the hook.

Source

pub fn force_slash_deposit( origin: <T as Config>::RuntimeOrigin, account: <T as Config>::AccountId, block: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), DispatchError>

Slash a deposit for an account that entered or extended safe-mode at a given historical block.

This can only be called while safe-mode is entered.

Emits a Event::DepositSlashed event on success. Errors with Error::Entered if safe-mode is entered.

Can only be called by the Config::ForceDepositOrigin origin.

Source

pub fn release_deposit( origin: <T as Config>::RuntimeOrigin, account: <T as Config>::AccountId, block: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), DispatchError>

Permissionlessly release a deposit for an account that entered safe-mode at a given historical block.

The call can be completely disabled by setting Config::ReleaseDelay to None. This cannot be called while safe-mode is entered and not until Config::ReleaseDelay blocks have passed since safe-mode was entered.

Emits a Event::DepositReleased event on success. Errors with Error::Entered if the safe-mode is entered. Errors with Error::CannotReleaseYet if Config::ReleaseDelay block have not passed since safe-mode was entered. Errors with Error::NoDeposit if the payee has no reserved currency at the block specified.

Source

pub fn force_release_deposit( origin: <T as Config>::RuntimeOrigin, account: <T as Config>::AccountId, block: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), DispatchError>

Force to release a deposit for an account that entered safe-mode at a given historical block.

This can be called while safe-mode is still entered.

Emits a Event::DepositReleased event on success. Errors with Error::Entered if safe-mode is entered. Errors with Error::NoDeposit if the payee has no reserved currency at the specified block.

Can only be called by the Config::ForceDepositOrigin origin.

Source§

impl<T> Pallet<T>
where T: Config,

Source

pub fn is_entered() -> bool

Return whether safe-mode is entered.

Source

pub fn is_allowed(call: &<T as Config>::RuntimeCall) -> bool

Return whether the given call is allowed to be dispatched.

Trait Implementations

Source§

impl<T> BeforeAllRuntimeMigrations for Pallet<T>
where T: Config,

Source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
Source§

impl<T> Benchmarking for Pallet<T>
where T: Config + Config, <T as Config>::Currency: Mutate<<T as Config>::AccountId>,

Source§

fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>

Get the benchmarks available for this pallet. Generally there is one benchmark per extrinsic, so these are sometimes just called “extrinsics”. Read more
Source§

fn run_benchmark( extrinsic: &[u8], c: &[(BenchmarkParameter, u32)], whitelist: &[TrackedStorageKey], verify: bool, internal_repeats: u32, ) -> Result<Vec<BenchmarkResult>, BenchmarkError>

Run the benchmarks for this pallet.
Source§

impl<T> Callable<T> for Pallet<T>
where T: Config,

Source§

impl<T> Clone for Pallet<T>

Source§

fn clone(&self) -> Pallet<T>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Contains<<T as Config>::RuntimeCall> for Pallet<T>

Source§

fn contains(call: &<T as Config>::RuntimeCall) -> bool

Return whether the given call is allowed to be dispatched.

Source§

impl<T> Debug for Pallet<T>

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<T> DispatchViewFunction for Pallet<T>
where T: Config,

Source§

fn dispatch_view_function<O>( id: &ViewFunctionId, input: &mut &[u8], output: &mut O, ) -> Result<(), ViewFunctionDispatchError>
where O: Output,

Source§

impl<T> GetStorageVersion for Pallet<T>
where T: Config,

Source§

type InCodeStorageVersion = NoStorageVersionSet

This type is generated by the pallet macro. Read more
Source§

fn in_code_storage_version() -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion

Returns the in-code storage version as specified in the storage_version attribute, or NoStorageVersionSet if the attribute is missing.
Source§

fn on_chain_storage_version() -> StorageVersion

Returns the storage version of the pallet as last set in the actual on-chain storage.
Source§

fn current_storage_version() -> Self::InCodeStorageVersion

👎Deprecated: This method has been renamed to in_code_storage_version and will be removed after March 2024.
DEPRECATED: Use Self::current_storage_version instead. Read more
Source§

impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn on_initialize( current: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Weight

Automatically exits safe-mode when the current block number is greater than EnteredUntil.

Source§

fn on_finalize(_n: BlockNumber)

Block finalization hook. This is called at the very end of block execution. Read more
Source§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before Hooks::on_finalize). Read more
Source§

fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)

A hook to run logic after inherent application. Read more
Source§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by the FRAME Executive pallet. Read more
Source§

fn try_state(_n: BlockNumber) -> Result<(), DispatchError>

Execute the sanity checks of this pallet, per block. Read more
Source§

fn pre_upgrade() -> Result<Vec<u8>, DispatchError>

Execute some pre-checks prior to a runtime upgrade. Read more
Source§

fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>

Execute some post-checks after a runtime upgrade. Read more
Source§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main blockchain execution. Read more
Source§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
Source§

impl<T> IntegrityTest for Pallet<T>
where T: Config,

Source§

impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, )

This function is being called after every block import (when fully synced). Read more
Source§

impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, )

Source§

impl<T> OnGenesis for Pallet<T>
where T: Config,

Source§

fn on_genesis()

Something that should happen at genesis.
Source§

impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn on_idle( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, remaining_weight: Weight, ) -> Weight

Source§

impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Weight

Source§

impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn on_poll( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, weight: &mut WeightMeter, )

Code to execute every now and then at the beginning of the block after inherent application. Read more
Source§

impl<T> OnRuntimeUpgrade for Pallet<T>
where T: Config,

Source§

fn on_runtime_upgrade() -> Weight

Source§

fn pre_upgrade() -> Result<Vec<u8>, DispatchError>

Source§

fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>

Source§

fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>

The expected and default behavior of this method is to handle executing pre_upgrade -> on_runtime_upgrade -> post_upgrade hooks for a migration. Read more
Source§

impl<T> PalletInfoAccess for Pallet<T>
where T: Config,

Source§

fn index() -> usize

Index of the pallet as configured in the runtime.
Source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
Source§

fn name_hash() -> [u8; 16]

Two128 hash of name.
Source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
Source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
Source§

impl<T> PalletsInfoAccess for Pallet<T>
where T: Config,

Source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
Source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
Source§

impl<T> PartialEq for Pallet<T>

Source§

fn eq(&self, other: &Pallet<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> SafeMode for Pallet<T>
where T: Config,

Source§

type BlockNumber = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number

Block number type.
Source§

fn is_entered() -> bool

Whether safe mode is entered.
Source§

fn remaining() -> Option<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>

How many more blocks safe mode will stay entered. Read more
Source§

fn enter( duration: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), SafeModeError>

Enter safe mode for duration blocks. Read more
Source§

fn extend( duration: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), SafeModeError>

Extend safe mode for duration blocks. Read more
Source§

fn exit() -> Result<(), SafeModeError>

Exit safe mode immediately. Read more
Source§

impl<T> StorageInfoTrait for Pallet<T>
where T: Config,

Source§

impl<T> TryDecodeEntireStorage for Pallet<T>
where T: Config,

Source§

fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>

Decode the entire data under the given storage, returning Ok(bytes_decoded) if success.
Source§

impl<T> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
where T: Config,

Source§

fn try_state( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, _s: Select, ) -> Result<(), DispatchError>

Execute the state checks.
Source§

impl<T> ViewFunctionIdPrefix for Pallet<T>
where T: Config,

Source§

fn prefix() -> [u8; 16]

Source§

impl<T> WhitelistedStorageKeys for Pallet<T>
where T: Config,

Source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that should be whitelisted during benchmarking. This means that those keys will be excluded from the benchmarking performance calculation.
Source§

impl<T> Eq for Pallet<T>