pub fn purge_keys(origin: T::Origin) -> ::frame_support::dispatch::DispatchResult {
        let __within_span__ = {
            use ::tracing::__macro_support::Callsite as _;
            static CALLSITE: ::tracing::__macro_support::MacroCallsite = {
                use ::tracing::__macro_support::MacroCallsite;
                static META: ::tracing::Metadata<'static> = {
                    :: tracing_core :: metadata :: Metadata :: new ("purge_keys" , "pallet_session" , :: tracing :: Level :: TRACE , Some ("/Users/mmac/.cargo/git/checkouts/substrate-7e08433d4c370a21/4d28ebe/frame/session/src/lib.rs") , Some (515u32) , Some ("pallet_session") , :: tracing_core :: field :: FieldSet :: new (& [] , :: tracing_core :: callsite :: Identifier (& CALLSITE)) , :: tracing :: metadata :: Kind :: SPAN)
                };
                MacroCallsite::new(&META)
            };
            let mut interest = ::tracing::subscriber::Interest::never();
            if ::tracing::Level::TRACE <= ::tracing::level_filters::STATIC_MAX_LEVEL
                && ::tracing::Level::TRACE <= ::tracing::level_filters::LevelFilter::current()
                && {
                    interest = CALLSITE.interest();
                    !interest.is_never()
                }
                && CALLSITE.is_enabled(interest)
            {
                let meta = CALLSITE.metadata();
                ::tracing::Span::new(meta, &{ meta.fields().value_set(&[]) })
            } else {
                let span = CALLSITE.disabled_span();
                if match ::tracing::Level::TRACE {
                    ::tracing::Level::ERROR => ::tracing::log::Level::Error,
                    ::tracing::Level::WARN => ::tracing::log::Level::Warn,
                    ::tracing::Level::INFO => ::tracing::log::Level::Info,
                    ::tracing::Level::DEBUG => ::tracing::log::Level::Debug,
                    _ => ::tracing::log::Level::Trace,
                } <= ::tracing::log::STATIC_MAX_LEVEL
                {
                    if !::tracing::dispatcher::has_been_set() {
                        {
                            span.record_all(&{ CALLSITE.metadata().fields().value_set(&[]) });
                        }
                    } else {
                        {}
                    }
                } else {
                    {}
                };
                span
            }
        };
        let __tracing_guard__ = __within_span__.enter();
        {
            let who = ensure_signed(origin)?;
            Self::do_purge_keys(&who)?;
        }
        Ok(())
    }
/// Removes any session key(s) of the function caller.
/// This doesn't take effect until the next session.
///
/// The dispatch origin of this function must be signed.
///
/// # <weight>
/// - Complexity: `O(1)` in number of key types.
///   Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.
/// - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`
/// - DbWrites: `NextKeys`, `origin account`
/// - DbWrites per key id: `KeyOwner`
/// # </weight>
///
/// NOTE: Calling this function will bypass origin filters.
Removes any session key(s) of the function caller.
This doesn't take effect until the next session.

The dispatch origin of this function must be signed.
Removes any session key ( s ) of the function caller . This doesn ' t take effect until the next session . The dispatch origin of this function must be signed .
pub fn purge_keys(origin: T::Origin) -> ::frame_support::dispatch::DispatchResult {
        let __within_span__ = {
            use ::tracing::__macro_support::Callsite as _;
            static CALLSITE: ::tracing::__macro_support::MacroCallsite = {
                use ::tracing::__macro_support::MacroCallsite;
                static META: ::tracing::Metadata<'static> = {
                    :: tracing_core :: metadata :: Metadata :: new ("purge_keys" , "pallet_session" , :: tracing :: Level :: TRACE , Some ("/Users/mmac/.cargo/git/checkouts/substrate-7e08433d4c370a21/4d28ebe/frame/session/src/lib.rs") , Some (515u32) , Some ("pallet_session") , :: tracing_core :: field :: FieldSet :: new (& [] , :: tracing_core :: callsite :: Identifier (& CALLSITE)) , :: tracing :: metadata :: Kind :: SPAN)
                };
                MacroCallsite::new(&META)
            };
            let mut interest = ::tracing::subscriber::Interest::never();
            if ::tracing::Level::TRACE <= ::tracing::level_filters::STATIC_MAX_LEVEL
                && ::tracing::Level::TRACE <= ::tracing::level_filters::LevelFilter::current()
                && {
                    interest = CALLSITE.interest();
                    !interest.is_never()
                }
                && CALLSITE.is_enabled(interest)
            {
                let meta = CALLSITE.metadata();
                ::tracing::Span::new(meta, &{ meta.fields().value_set(&[]) })
            } else {
                let span = CALLSITE.disabled_span();
                if match ::tracing::Level::TRACE {
                    ::tracing::Level::ERROR => ::tracing::log::Level::Error,
                    ::tracing::Level::WARN => ::tracing::log::Level::Warn,
                    ::tracing::Level::INFO => ::tracing::log::Level::Info,
                    ::tracing::Level::DEBUG => ::tracing::log::Level::Debug,
                    _ => ::tracing::log::Level::Trace,
                } <= ::tracing::log::STATIC_MAX_LEVEL
                {
                    if !::tracing::dispatcher::has_been_set() {
                        {
                            span.record_all(&{ CALLSITE.metadata().fields().value_set(&[]) });
                        }
                    } else {
                        {}
                    }
                } else {
                    {}
                };
                span
            }
        };
        let __tracing_guard__ = __within_span__.enter();
        {
            let who = ensure_signed(origin)?;
            Self::do_purge_keys(&who)?;
        }
        Ok(())
    }
pub fn purge_keys ( origin : T :: Origin ) -> :: frame_support :: dispatch :: DispatchResult { let __within_span__ = { use :: tracing :: __macro_support :: Callsite as _ ; static CALLSITE : :: tracing :: __macro_support :: MacroCallsite = { use :: tracing :: __macro_support :: MacroCallsite ; static META : :: tracing :: Metadata < ' static > = { :: tracing_core :: metadata :: Metadata :: new ( " " , " " , :: tracing :: Level :: TRACE , Some ( " " ) , Some ( 515u32 ) , Some ( " " ) , :: tracing_core :: field :: FieldSet :: new ( & [ ] , :: tracing_core :: callsite :: Identifier ( & CALLSITE ) ) , :: tracing :: metadata :: Kind :: SPAN ) } ; MacroCallsite :: new ( & META ) } ; let mut interest = :: tracing :: subscriber :: Interest :: never ( ) ; if :: tracing :: Level :: TRACE <= :: tracing :: level_filters :: STATIC_MAX_LEVEL && :: tracing :: Level :: TRACE <= :: tracing :: level_filters :: LevelFilter :: current ( ) && { interest = CALLSITE . interest ( ) ; ! interest . is_never ( ) } && CALLSITE . is_enabled ( interest ) { let meta = CALLSITE . metadata ( ) ; :: tracing :: Span :: new ( meta , & { meta . fields ( ) . value_set ( & [ ] ) } ) } else { let span = CALLSITE . disabled_span ( ) ; if match :: tracing :: Level :: TRACE { :: tracing :: Level :: ERROR => :: tracing :: log :: Level :: Error , :: tracing :: Level :: WARN => :: tracing :: log :: Level :: Warn , :: tracing :: Level :: INFO => :: tracing :: log :: Level :: Info , :: tracing :: Level :: DEBUG => :: tracing :: log :: Level :: Debug , _ => :: tracing :: log :: Level :: Trace , } <= :: tracing :: log :: STATIC_MAX_LEVEL { if ! :: tracing :: dispatcher :: has_been_set ( ) { { span . record_all ( & { CALLSITE . metadata ( ) . fields ( ) . value_set ( & [ ] ) } ) ; } } else { { } } } else { { } } ; span } } ; let __tracing_guard__ = __within_span__ . enter ( ) ; { let who = ensure_signed ( origin ) ? ; Self :: do_purge_keys ( & who ) ? ; } Ok ( ( ) ) }
Removes any session key(s) of the function caller.
Removes any session key ( s ) of the function caller .
origin
T::Origin
origin
T::Origin
<weight>
`O(1)` in number of key types.
Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.
DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`
DbWrites: `NextKeys`, `origin account`
DbWrites per key id: `KeyOwner`
` O ( 1 ) ` in number of key types . Actual cost depends on the number of length of ` T :: Keys :: key_ids () ` which is fixed . DbReads : ` T :: ValidatorIdOf ` ` NextKeys ` ` origin account ` DbWrites : ` NextKeys ` ` origin account ` DbWrites per key id : ` KeyOwner `
</weight>
Calling this function will bypass origin filters.
Calling this function will bypass origin filters .