pub type ParachainSystem = Pallet<Runtime>;

Aliased Type§

struct ParachainSystem(/* private fields */);

Implementations

§

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

pub fn set_validation_data( origin: <T as Config>::RuntimeOrigin, data: ParachainInherentData ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>

Set the current validation data.

This should be invoked exactly once per block. It will panic at the finalization phase if the call was not invoked.

The dispatch origin for this call must be Inherent

As a side effect, this function upgrades the current validation function if the appropriate time has come.

pub fn sudo_send_upward_message( origin: <T as Config>::RuntimeOrigin, message: Vec<u8> ) -> Result<(), DispatchError>

§

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

pub fn unincluded_segment_size_after(included_hash: <T as Config>::Hash) -> u32

Get the unincluded segment size after the given hash.

If the unincluded segment doesn’t contain the given hash, this returns the length of the entire unincluded segment.

This is intended to be used for determining how long the unincluded segment would be in runtime APIs related to authoring.

§

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

pub fn max_code_size() -> Option<u32>

The maximum code size permitted, in bytes.

Returns None if the relay chain parachain host configuration hasn’t been submitted yet.

pub fn schedule_code_upgrade( validation_function: Vec<u8> ) -> Result<(), DispatchError>

The implementation of the runtime upgrade functionality for parachains.

pub fn collect_collation_info( header: &<<T as Config>::Block as HeaderProvider>::HeaderT ) -> CollationInfo

Returns the [CollationInfo] of the current active block.

The given header is the header of the built block we are collecting the collation info for.

This is expected to be used by the CollectCollationInfo runtime api.

pub fn set_custom_validation_head_data(head_data: Vec<u8>)

Set a custom head data that should be returned as result of validate_block.

This will overwrite the head data that is returned as result of validate_block while validating a PoV on the relay chain. Normally the head data that is being returned by validate_block is the header of the block that is validated, thus it can be enacted as the new best block. However, for features like forking it can be useful to overwrite the head data with a custom header.

§Attention

This should only be used when you are sure what you are doing as this can brick your Parachain.

pub fn open_outbound_hrmp_channel_for_benchmarks_or_tests(target_parachain: Id)

Open HRMP channel for using it in benchmarks or tests.

The caller assumes that the pallet will accept regular outbound message to the sibling target_parachain after this call. No other assumptions are made.

pub fn open_custom_outbound_hrmp_channel_for_benchmarks_or_tests( target_parachain: Id, channel: AbridgedHrmpChannel )

Open HRMP channel for using it in benchmarks or tests.

The caller assumes that the pallet will accept regular outbound message to the sibling target_parachain after this call. No other assumptions are made.

§

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

pub fn send_upward_message( message: Vec<u8> ) -> Result<(u32, [u8; 32]), MessageSendError>

Puts a message in the PendingUpwardMessages storage item. The message will be later sent in on_finalize. Checks host configuration to see if message is too big. Increases the delivery fee factor if the queue is sufficiently (see [ump_constants::THRESHOLD_FACTOR]) congested.

pub fn last_relay_block_number() -> u32

Get the relay chain block number which was used as an anchor for the last block in this chain.

Trait Implementations

§

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

§

fn get_channel_status(id: Id) -> ChannelStatus

§

fn get_channel_info(id: Id) -> Option<ChannelInfo>

§

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

§

fn storage_info() -> Vec<StorageInfo>

§

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

§

type Id = ()

Type used for assigning different fee factors to different destinations
§

fn get_fee_factor(_: <Pallet<T> as FeeTracker>::Id) -> FixedU128

Returns the evolving exponential fee factor which will be used to calculate the delivery fees.
§

fn increase_fee_factor( _: <Pallet<T> as FeeTracker>::Id, message_size_factor: FixedU128 ) -> FixedU128

Increases the delivery fee factor by a factor based on message size and records the result. Read more
§

fn decrease_fee_factor(_: <Pallet<T> as FeeTracker>::Id) -> FixedU128

Decreases the delivery fee factor by a constant factor and records the result. Read more
§

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

§

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

See [Hooks::on_initialize].
§

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

§

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
§

impl<T> Debug for Pallet<T>

§

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

Formats the value using the given formatter. Read more
§

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

§

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

See [Hooks::on_finalize].
§

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

§

type RuntimeCall = Call<T>

§

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

§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
§

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

§

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
§

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

§

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

Handles actually sending upward messages by moving them from PendingUpwardMessages to UpwardMessages. Decreases the delivery fee factor if after sending messages, the queue total size is less than the threshold (see [ump_constants::THRESHOLD_FACTOR]). Also does the sending for HRMP messages it takes from OutboundXcmpMessageSource.

§

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

Block initialization hook. This is called at the very beginning of block execution. Read more
§

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
§

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

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

fn on_runtime_upgrade() -> Weight

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

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
§

fn integrity_test()

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

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

§

type Call = Call<T>

The call type of the pallet.
§

type Error = MakeFatalError<()>

The error returned by check_inherent.
§

const INHERENT_IDENTIFIER: [u8; 8] = cumulus_primitives_parachain_inherent::INHERENT_IDENTIFIER

The inherent identifier used by this inherent.
§

fn create_inherent( data: &InherentData ) -> Option<<Pallet<T> as ProvideInherent>::Call>

Create an inherent out of the given InherentData. Read more
§

fn is_inherent(call: &<Pallet<T> as ProvideInherent>::Call) -> bool

Return whether the call is an inherent call. Read more
§

fn is_inherent_required( _: &InherentData ) -> Result<Option<Self::Error>, Self::Error>

Determines whether this inherent is required in this block. Read more
§

fn check_inherent(_: &Self::Call, _: &InherentData) -> Result<(), Self::Error>

Check whether the given inherent is valid. Checking the inherent is optional and can be omitted by using the default implementation. Read more
§

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

§

fn index() -> usize

Index of the pallet as configured in the runtime.
§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
§

fn name_hash() -> [u8; 16]

Two128 hash of name.
§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
§

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

§

fn count() -> usize

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

fn infos() -> Vec<PalletInfoData>

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

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

§

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

See [Hooks::on_idle].
§

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

§

fn integrity_test()

See [Hooks::integrity_test].
§

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

§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
§

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

§

type InCodeStorageVersion = StorageVersion

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

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.
§

fn on_chain_storage_version() -> StorageVersion

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

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
§

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

§

fn send_upward_message( message: Vec<u8> ) -> Result<(u32, [u8; 32]), MessageSendError>

Send the given UMP message; return the expected number of blocks before the message will be dispatched or an error if the message cannot be sent. return the hash of the message sent
§

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

§

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.
§

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

§

fn on_genesis()

Something that should happen at genesis.
§

impl<T> PartialEq for Pallet<T>

§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl<T> Eq for Pallet<T>

§

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

§

fn clear_messages()

Clear the queues at the beginning of Runtime API call, so that subsequent Self::get_messages() will return only messages generated by said Runtime API.
§

fn get_messages() -> Vec<(VersionedLocation, Vec<VersionedXcm<()>>)>

Get queued messages and their destinations.
§

impl<T> Clone for Pallet<T>

§

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
§

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