[]Struct frame_system::Module

pub struct Module<T: Trait>(_);

Methods

impl<T: Trait> Module<T>

Can also be called using Call.

pub fn set_code(origin: T::Origin, new: Vec<u8>) -> DispatchResult

Set the new code.

impl<T: Trait + 'static> Module<T>[src]

pub fn account_nonce<K: EncodeLike<T::AccountId>>(key: K) -> T::Index[src]

Extrinsics nonce for accounts.

pub fn block_hash<K: EncodeLike<T::BlockNumber>>(key: K) -> T::Hash[src]

Map of block numbers to block hashes.

pub fn extrinsic_data<K: EncodeLike<u32>>(key: K) -> Vec<u8>[src]

Extrinsics data for the current block (maps an extrinsic's index to its data).

pub fn block_number() -> T::BlockNumber[src]

The current block number being processed. Set by execute_block.

pub fn parent_hash() -> T::Hash[src]

Hash of the previous block.

pub fn extrinsics_root() -> T::Hash[src]

Extrinsics root of the current block, also part of the block header.

pub fn digest() -> DigestOf<T>[src]

Digest of the current block, also part of the block header.

pub fn events() -> Vec<EventRecord<T::Event, T::Hash>>[src]

Events deposited for the current block.

pub fn event_count() -> u32[src]

The number of events in the Events<T> list.

pub fn event_topics<KArg1, KArg2>(
    k1: KArg1,
    k2: KArg2
) -> Vec<(T::BlockNumber, u32)> where
    KArg1: EncodeLike<()>,
    KArg2: EncodeLike<T::Hash>, 
[src]

impl<T: Trait> Module<T>[src]

pub fn deposit_event(event: impl Into<T::Event>)[src]

Deposits an event into this block's event record.

pub fn deposit_event_indexed(topics: &[T::Hash], event: T::Event)[src]

Deposits an event into this block's event record adding this event to the corresponding topic indexes.

This will update storage entries that correspond to the specified topics. It is expected that light-clients could subscribe to this topics.

pub fn extrinsic_index() -> Option<u32>[src]

Gets the index of extrinsic that is currently executing.

pub fn extrinsic_count() -> u32[src]

Gets extrinsics count.

pub fn all_extrinsics_weight() -> Weight[src]

Gets a total weight of all executed extrinsics.

pub fn all_extrinsics_len() -> u32[src]

pub fn register_extra_weight_unchecked(weight: Weight)[src]

Inform the system module of some additional weight that should be accounted for, in the current block.

NOTE: use with extra care; this function is made public only be used for certain modules that need it. A runtime that does not have dynamic calls should never need this and should stick to static weights. A typical use case for this is inner calls or smart contract calls. Furthermore, it only makes sense to use this when it is presumably cheap to provide the argument weight; In other words, if this function is to be used to account for some unknown, user provided call's weight, it would only make sense to use it if you are sure you can rapidly compute the weight of the inner call.

Even more dangerous is to note that this function does NOT take any action, if the new sum of block weight is more than the block weight limit. This is what the unchecked.

Another potential use-case could be for the on_initialise and on_finalize hooks.

If no previous weight exists, the function initializes the weight to zero.

pub fn initialize(
    number: &T::BlockNumber,
    parent_hash: &T::Hash,
    txs_root: &T::Hash,
    digest: &DigestOf<T>
)
[src]

Start the execution of a particular block.

pub fn finalize() -> T::Header[src]

Remove temporary "environment" entries in storage.

pub fn deposit_log(item: DigestItemOf<T>)[src]

Deposits a log and ensures it matches the block's log data.

pub fn externalities() -> TestExternalities[src]

Get the basic externalities for this module, useful for tests.

pub fn set_block_number(n: T::BlockNumber)[src]

Set the block number to something in particular. Can be used as an alternative to initialize for tests that don't need to bother with the other environment entries.

pub fn set_extrinsic_index(extrinsic_index: u32)[src]

Sets the index of extrinsic that is currently executing.

pub fn set_parent_hash(n: T::Hash)[src]

Set the parent hash number to something in particular. Can be used as an alternative to initialize for tests that don't need to bother with the other environment entries.

pub fn set_block_limits(weight: Weight, len: usize)[src]

Set the current block weight. This should only be used in some integration tests.

pub fn runtime_version() -> RuntimeVersion[src]

Return the chain's current runtime version.

pub fn inc_account_nonce(who: &T::AccountId)[src]

Increment a particular account's nonce by 1.

pub fn note_extrinsic(encoded_xt: Vec<u8>)[src]

Note what the extrinsic data of the current extrinsic index is. If this is called, then ensure derive_extrinsics is also called before block-building is completed.

NOTE: This function is called only when the block is being constructed locally. execute_block doesn't note any extrinsics.

pub fn note_applied_extrinsic(
    r: &DispatchOutcome,
    _encoded_len: u32,
    info: DispatchInfo
)
[src]

To be called immediately after an extrinsic has been applied.

pub fn note_finished_extrinsics()[src]

To be called immediately after note_applied_extrinsic of the last extrinsic of the block has been called.

pub fn derive_extrinsics()[src]

Remove all extrinsic data and save the extrinsics trie root.

Trait Implementations

impl<T: Trait> Callable<T> for Module<T>

type Call = Call<T>

impl<T: Clone + Trait> Clone for Module<T>

impl<T: Copy + Trait> Copy for Module<T>

impl<T: Trait> Debug for Module<T> where
    T: Debug

impl<T: Eq + Trait> Eq for Module<T>

impl<T: Trait> ModuleErrorMetadata for Module<T>

impl<T: Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>

impl<T: Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>

impl<T: Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>

impl<T: PartialEq + Trait> PartialEq<Module<T>> for Module<T>

impl<T: Trait> StructuralEq for Module<T>

impl<T: Trait> StructuralPartialEq for Module<T>

impl<T: Trait> WeighBlock<<T as Trait>::BlockNumber> for Module<T>

Auto Trait Implementations

impl<T> RefUnwindSafe for Module<T> where
    T: RefUnwindSafe

impl<T> Send for Module<T> where
    T: Send

impl<T> Sync for Module<T> where
    T: Sync

impl<T> Unpin for Module<T> where
    T: Unpin

impl<T> UnwindSafe for Module<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]