Type Alias moonbeam_runtime::ParachainSystem
source · pub type ParachainSystem = Pallet<Runtime>;
Aliased Type§
struct ParachainSystem(/* private fields */);
Implementations
§impl<T> Pallet<T>where
T: Config,
impl<T> Pallet<T>where
T: Config,
pub fn set_validation_data(
origin: <T as Config>::RuntimeOrigin,
data: ParachainInherentData
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
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,
impl<T> Pallet<T>where
T: Config,
pub fn unincluded_segment_size_after(included_hash: <T as Config>::Hash) -> u32
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,
impl<T> Pallet<T>where
T: Config,
pub fn max_code_size() -> Option<u32>
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>
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
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>)
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)
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
)
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,
impl<T> Pallet<T>where
T: Config,
pub fn send_upward_message(
message: Vec<u8>
) -> Result<(u32, [u8; 32]), MessageSendError>
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
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,
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,
impl<T> StorageInfoTrait for Pallet<T>where
T: Config,
fn storage_info() -> Vec<StorageInfo>
§impl<T> FeeTracker for Pallet<T>where
T: Config,
impl<T> FeeTracker for Pallet<T>where
T: Config,
§fn get_fee_factor(_: <Pallet<T> as FeeTracker>::Id) -> FixedU128
fn get_fee_factor(_: <Pallet<T> as FeeTracker>::Id) -> FixedU128
§fn increase_fee_factor(
_: <Pallet<T> as FeeTracker>::Id,
message_size_factor: FixedU128
) -> FixedU128
fn increase_fee_factor( _: <Pallet<T> as FeeTracker>::Id, message_size_factor: FixedU128 ) -> FixedU128
§fn decrease_fee_factor(_: <Pallet<T> as FeeTracker>::Id) -> FixedU128
fn decrease_fee_factor(_: <Pallet<T> as FeeTracker>::Id) -> FixedU128
§impl<T> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number ) -> Weight
Hooks::on_initialize
].§impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§impl<T> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
)
fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
Hooks::on_finalize
].§impl<T> Callable<T> for Pallet<T>where
T: Config,
impl<T> Callable<T> for Pallet<T>where
T: Config,
type RuntimeCall = Call<T>
§impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
impl<T> OnRuntimeUpgrade for Pallet<T>where
T: Config,
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].§impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
)
fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number )
§impl<T> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
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
)
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
fn on_initialize( _n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number ) -> Weight
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
]). Read more§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read more§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
§impl<T> ProvideInherent for Pallet<T>where
T: Config,
impl<T> ProvideInherent for Pallet<T>where
T: Config,
§const INHERENT_IDENTIFIER: [u8; 8] = cumulus_primitives_parachain_inherent::INHERENT_IDENTIFIER
const INHERENT_IDENTIFIER: [u8; 8] = cumulus_primitives_parachain_inherent::INHERENT_IDENTIFIER
§fn create_inherent(
data: &InherentData
) -> Option<<Pallet<T> as ProvideInherent>::Call>
fn create_inherent( data: &InherentData ) -> Option<<Pallet<T> as ProvideInherent>::Call>
InherentData
. Read more§fn is_inherent(call: &<Pallet<T> as ProvideInherent>::Call) -> bool
fn is_inherent(call: &<Pallet<T> as ProvideInherent>::Call) -> bool
§fn is_inherent_required(
_: &InherentData
) -> Result<Option<Self::Error>, Self::Error>
fn is_inherent_required( _: &InherentData ) -> Result<Option<Self::Error>, Self::Error>
§fn check_inherent(_: &Self::Call, _: &InherentData) -> Result<(), Self::Error>
fn check_inherent(_: &Self::Call, _: &InherentData) -> Result<(), Self::Error>
§impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletInfoAccess for Pallet<T>where
T: Config,
§fn module_name() -> &'static str
fn module_name() -> &'static str
§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
§impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
impl<T> PalletsInfoAccess for Pallet<T>where
T: Config,
§impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
impl<T> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where
T: Config,
§impl<T> IntegrityTest for Pallet<T>where
T: Config,
impl<T> IntegrityTest for Pallet<T>where
T: Config,
§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].§impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
impl<T> BeforeAllRuntimeMigrations for Pallet<T>where
T: Config,
§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
§impl<T> GetStorageVersion for Pallet<T>where
T: Config,
impl<T> GetStorageVersion for Pallet<T>where
T: Config,
§type InCodeStorageVersion = StorageVersion
type InCodeStorageVersion = StorageVersion
§fn in_code_storage_version(
) -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion
fn in_code_storage_version( ) -> <Pallet<T> as GetStorageVersion>::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
§fn current_storage_version() -> Self::InCodeStorageVersion
fn current_storage_version() -> Self::InCodeStorageVersion
in_code_storage_version
and will be removed after March 2024.Self::current_storage_version
] instead. Read more§impl<T> UpwardMessageSender for Pallet<T>where
T: Config,
impl<T> UpwardMessageSender for Pallet<T>where
T: Config,
§impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
impl<T> WhitelistedStorageKeys for Pallet<T>where
T: Config,
§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
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,
impl<T> OnGenesis for Pallet<T>where
T: Config,
§fn on_genesis()
fn on_genesis()
impl<T> Eq for Pallet<T>
§impl<T> InspectMessageQueues for Pallet<T>where
T: Config,
impl<T> InspectMessageQueues for Pallet<T>where
T: Config,
§fn clear_messages()
fn clear_messages()
Self::get_messages()
will return only messages generated by said Runtime API.