pub enum SystemCall<T>where
T: Config,{
remark {
remark: Vec<u8>,
},
set_heap_pages {
pages: u64,
},
set_code {
code: Vec<u8>,
},
set_code_without_checks {
code: Vec<u8>,
},
set_storage {
items: Vec<(Vec<u8>, Vec<u8>)>,
},
kill_storage {
keys: Vec<Vec<u8>>,
},
kill_prefix {
prefix: Vec<u8>,
subkeys: u32,
},
remark_with_event {
remark: Vec<u8>,
},
authorize_upgrade {
code_hash: <T as Config>::Hash,
},
authorize_upgrade_without_checks {
code_hash: <T as Config>::Hash,
},
apply_authorized_upgrade {
code: Vec<u8>,
},
// some variants omitted
}
Expand description
Contains a variant per dispatchable extrinsic that this pallet has.
Variants§
remark
Make some on-chain remark.
Can be executed by every origin
.
set_heap_pages
Set the number of pages in the WebAssembly environment’s heap.
set_code
Set the new runtime code.
set_code_without_checks
Set the new runtime code without doing any checks of the given code
.
Note that runtime upgrades will not run if this is called with a not-increasing spec version!
set_storage
Set some items of storage.
kill_storage
Kill some items from storage.
kill_prefix
Kill all storage items with a key that starts with the given prefix.
NOTE: We rely on the Root origin to provide us the number of subkeys under the prefix we are removing to accurately calculate the weight of this function.
remark_with_event
Make some on-chain remark and emit event.
Fields
Authorize an upgrade to a given code_hash
for the runtime. The runtime can be supplied
later.
This call requires Root origin.
Fields
Authorize an upgrade to a given code_hash
for the runtime. The runtime can be supplied
later.
WARNING: This authorizes an upgrade that will take place without any safety checks, for
example that the spec name remains the same and that the version number increases. Not
recommended for normal use. Use authorize_upgrade
instead.
This call requires Root origin.
Fields
Provide the preimage (runtime binary) code
for an upgrade that has been authorized.
If the authorization required a version check, this call will ensure the spec name remains unchanged and that the spec version has increased.
Depending on the runtime’s OnSetCode
configuration, this function may directly apply
the new code
in the same block or attempt to schedule the upgrade.
All origins are allowed.
Implementations§
§impl<T> Call<T>where
T: Config,
impl<T> Call<T>where
T: Config,
pub fn new_call_variant_remark(remark: Vec<u8>) -> Call<T>
pub fn new_call_variant_remark(remark: Vec<u8>) -> Call<T>
Create a call with the variant remark
.
pub fn new_call_variant_set_heap_pages(pages: u64) -> Call<T>
pub fn new_call_variant_set_heap_pages(pages: u64) -> Call<T>
Create a call with the variant set_heap_pages
.
pub fn new_call_variant_set_code(code: Vec<u8>) -> Call<T>
pub fn new_call_variant_set_code(code: Vec<u8>) -> Call<T>
Create a call with the variant set_code
.
pub fn new_call_variant_set_code_without_checks(code: Vec<u8>) -> Call<T>
pub fn new_call_variant_set_code_without_checks(code: Vec<u8>) -> Call<T>
Create a call with the variant set_code_without_checks
.
pub fn new_call_variant_set_storage(items: Vec<(Vec<u8>, Vec<u8>)>) -> Call<T>
pub fn new_call_variant_set_storage(items: Vec<(Vec<u8>, Vec<u8>)>) -> Call<T>
Create a call with the variant set_storage
.
pub fn new_call_variant_kill_storage(keys: Vec<Vec<u8>>) -> Call<T>
pub fn new_call_variant_kill_storage(keys: Vec<Vec<u8>>) -> Call<T>
Create a call with the variant kill_storage
.
pub fn new_call_variant_kill_prefix(prefix: Vec<u8>, subkeys: u32) -> Call<T>
pub fn new_call_variant_kill_prefix(prefix: Vec<u8>, subkeys: u32) -> Call<T>
Create a call with the variant kill_prefix
.
pub fn new_call_variant_remark_with_event(remark: Vec<u8>) -> Call<T>
pub fn new_call_variant_remark_with_event(remark: Vec<u8>) -> Call<T>
Create a call with the variant remark_with_event
.
Create a call with the variant authorize_upgrade
.
Create a call with the variant authorize_upgrade_without_checks
.
Create a call with the variant apply_authorized_upgrade
.
Trait Implementations§
§impl<T> CheckIfFeeless for Call<T>where
T: Config,
impl<T> CheckIfFeeless for Call<T>where
T: Config,
§fn is_feeless(&self, origin: &<Call<T> as CheckIfFeeless>::Origin) -> bool
fn is_feeless(&self, origin: &<Call<T> as CheckIfFeeless>::Origin) -> bool
#[pallet::feeless_if]
§impl<T> Decode for Call<T>where
T: Config,
impl<T> Decode for Call<T>where
T: Config,
§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Call<T>, Error>where
__CodecInputEdqy: Input,
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Call<T>, Error>where
__CodecInputEdqy: Input,
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
§impl<T> Encode for Call<T>where
T: Config,
impl<T> Encode for Call<T>where
T: Config,
§fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)where
__CodecOutputEdqy: Output + ?Sized,
fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)where
__CodecOutputEdqy: Output + ?Sized,
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
§impl<T> GetCallIndex for Call<T>where
T: Config,
impl<T> GetCallIndex for Call<T>where
T: Config,
§fn get_call_index(&self) -> u8
fn get_call_index(&self) -> u8
§fn get_call_indices() -> &'static [u8] ⓘ
fn get_call_indices() -> &'static [u8] ⓘ
GetCallName
].§impl<T> GetCallName for Call<T>where
T: Config,
impl<T> GetCallName for Call<T>where
T: Config,
§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
GetCallIndex
].§impl<T> GetDispatchInfo for Call<T>where
T: Config,
impl<T> GetDispatchInfo for Call<T>where
T: Config,
§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo
, containing relevant information of this dispatch. Read more§impl<T> TypeInfo for Call<T>where
T: Config + 'static,
PhantomData<(T,)>: TypeInfo + 'static,
<T as Config>::Hash: TypeInfo + 'static,
impl<T> TypeInfo for Call<T>where
T: Config + 'static,
PhantomData<(T,)>: TypeInfo + 'static,
<T as Config>::Hash: TypeInfo + 'static,
§impl<T> UnfilteredDispatchable for Call<T>where
T: Config,
impl<T> UnfilteredDispatchable for Call<T>where
T: Config,
§type RuntimeOrigin = <T as Config>::RuntimeOrigin
type RuntimeOrigin = <T as Config>::RuntimeOrigin
frame_system::Config::RuntimeOrigin
).§fn dispatch_bypass_filter(
self,
origin: <Call<T> as UnfilteredDispatchable>::RuntimeOrigin
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
fn dispatch_bypass_filter( self, origin: <Call<T> as UnfilteredDispatchable>::RuntimeOrigin ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
impl<T> EncodeLike for Call<T>where
T: Config,
impl<T> Eq for Call<T>where
T: Config,
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where
T: RefUnwindSafe,
<T as Config>::Hash: RefUnwindSafe,
impl<T> Send for Call<T>where
T: Send,
impl<T> Sync for Call<T>where
T: Sync,
impl<T> Unpin for Call<T>
impl<T> UnwindSafe for Call<T>where
T: UnwindSafe,
<T as Config>::Hash: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere
T: Codec,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read more§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.