Struct polkadot_runtime_parachains::configuration::HostConfiguration [−][src]
pub struct HostConfiguration<BlockNumber> {Show 40 fields
pub max_code_size: u32,
pub max_head_data_size: u32,
pub max_upward_queue_count: u32,
pub max_upward_queue_size: u32,
pub max_upward_message_size: u32,
pub max_upward_message_num_per_candidate: u32,
pub hrmp_max_message_num_per_candidate: u32,
pub validation_upgrade_frequency: BlockNumber,
pub validation_upgrade_delay: BlockNumber,
pub max_pov_size: u32,
pub max_downward_message_size: u32,
pub ump_service_total_weight: Weight,
pub hrmp_max_parachain_outbound_channels: u32,
pub hrmp_max_parathread_outbound_channels: u32,
pub hrmp_sender_deposit: Balance,
pub hrmp_recipient_deposit: Balance,
pub hrmp_channel_max_capacity: u32,
pub hrmp_channel_max_total_size: u32,
pub hrmp_max_parachain_inbound_channels: u32,
pub hrmp_max_parathread_inbound_channels: u32,
pub hrmp_channel_max_message_size: u32,
pub code_retention_period: BlockNumber,
pub parathread_cores: u32,
pub parathread_retries: u32,
pub group_rotation_frequency: BlockNumber,
pub chain_availability_period: BlockNumber,
pub thread_availability_period: BlockNumber,
pub scheduling_lookahead: u32,
pub max_validators_per_core: Option<u32>,
pub max_validators: Option<u32>,
pub dispute_period: SessionIndex,
pub dispute_post_conclusion_acceptance_period: BlockNumber,
pub dispute_max_spam_slots: u32,
pub dispute_conclusion_by_time_out_period: BlockNumber,
pub no_show_slots: u32,
pub n_delay_tranches: u32,
pub zeroth_delay_tranche_width: u32,
pub needed_approvals: u32,
pub relay_vrf_modulo_samples: u32,
pub ump_max_individual_weight: Weight,
}
Expand description
All configuration of the runtime with respect to parachains and parathreads.
Fields
max_code_size: u32
The parameters that are required for the parachains. The maximum validation code size, in bytes.
max_head_data_size: u32
The maximum head-data size, in bytes.
max_upward_queue_count: u32
Total number of individual messages allowed in the parachain -> relay-chain message queue.
max_upward_queue_size: u32
Total size of messages allowed in the parachain -> relay-chain message queue before which no further messages may be added to it. If it exceeds this then the queue may contain only a single message.
max_upward_message_size: u32
The maximum size of an upward message that can be sent by a candidate.
This parameter affects the size upper bound of the CandidateCommitments
.
max_upward_message_num_per_candidate: u32
The maximum number of messages that a candidate can contain.
This parameter affects the size upper bound of the CandidateCommitments
.
hrmp_max_message_num_per_candidate: u32
The maximum number of outbound HRMP messages can be sent by a candidate.
This parameter affects the upper bound of size of CandidateCommitments
.
validation_upgrade_frequency: BlockNumber
The minimum frequency at which parachains can update their validation code.
validation_upgrade_delay: BlockNumber
The delay, in blocks, before a validation upgrade is applied.
max_pov_size: u32
The parameters that are not essential, but still may be of interest for parachains. The maximum POV block size, in bytes.
max_downward_message_size: u32
The maximum size of a message that can be put in a downward message queue.
Since we require receiving at least one DMP message the obvious upper bound of the size is the PoV size. Of course, there is a lot of other different things that a parachain may decide to do with its PoV so this value in practice will be picked as a fraction of the PoV size.
ump_service_total_weight: Weight
The amount of weight we wish to devote to the processing the dispatchable upward messages stage.
NOTE that this is a soft limit and could be exceeded.
hrmp_max_parachain_outbound_channels: u32
The maximum number of outbound HRMP channels a parachain is allowed to open.
hrmp_max_parathread_outbound_channels: u32
The maximum number of outbound HRMP channels a parathread is allowed to open.
hrmp_sender_deposit: Balance
The deposit that the sender should provide for opening an HRMP channel.
hrmp_recipient_deposit: Balance
The deposit that the recipient should provide for accepting opening an HRMP channel.
hrmp_channel_max_capacity: u32
The maximum number of messages allowed in an HRMP channel at once.
hrmp_channel_max_total_size: u32
The maximum total size of messages in bytes allowed in an HRMP channel at once.
hrmp_max_parachain_inbound_channels: u32
The maximum number of inbound HRMP channels a parachain is allowed to accept.
hrmp_max_parathread_inbound_channels: u32
The maximum number of inbound HRMP channels a parathread is allowed to accept.
hrmp_channel_max_message_size: u32
The maximum size of a message that could ever be put into an HRMP channel.
This parameter affects the upper bound of size of CandidateCommitments
.
code_retention_period: BlockNumber
Parameters that will unlikely be needed by parachains. How long to keep code on-chain, in blocks. This should be sufficiently long that disputes have concluded.
parathread_cores: u32
The amount of execution cores to dedicate to parathread execution.
parathread_retries: u32
The number of retries that a parathread author has to submit their block.
group_rotation_frequency: BlockNumber
How often parachain groups should be rotated across parachains.
Must be non-zero.
chain_availability_period: BlockNumber
The availability period, in blocks, for parachains. This is the amount of blocks after inclusion that validators have to make the block available and signal its availability to the chain.
Must be at least 1.
thread_availability_period: BlockNumber
The availability period, in blocks, for parathreads. Same as the chain_availability_period
,
but a differing timeout due to differing requirements.
Must be at least 1.
scheduling_lookahead: u32
The amount of blocks ahead to schedule parachains and parathreads.
max_validators_per_core: Option<u32>
The maximum number of validators to have per core.
None
means no maximum.
max_validators: Option<u32>
The maximum number of validators to use for parachain consensus, period.
None
means no maximum.
dispute_period: SessionIndex
The amount of sessions to keep for disputes.
dispute_post_conclusion_acceptance_period: BlockNumber
How long after dispute conclusion to accept statements.
dispute_max_spam_slots: u32
The maximum number of dispute spam slots
dispute_conclusion_by_time_out_period: BlockNumber
How long it takes for a dispute to conclude by time-out, if no supermajority is reached.
no_show_slots: u32
The amount of consensus slots that must pass between submitting an assignment and submitting an approval vote before a validator is considered a no-show.
Must be at least 1.
n_delay_tranches: u32
The number of delay tranches in total.
zeroth_delay_tranche_width: u32
The width of the zeroth delay tranche for approval assignments. This many delay tranches beyond 0 are all consolidated to form a wide 0 tranche.
needed_approvals: u32
The number of validators needed to approve a block.
relay_vrf_modulo_samples: u32
The number of samples to do of the RelayVRFModulo
approval assignment criterion.
ump_max_individual_weight: Weight
The maximum amount of weight any individual upward message may consume. Messages above this weight go into the overweight queue and may only be serviced explicitly.
Implementations
Checks that this instance is consistent with the requirements on each individual member.
Panic
This function panics if any member is not set properly.
Trait Implementations
impl<BlockNumber> Decode for HostConfiguration<BlockNumber> where
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
impl<BlockNumber> Decode for HostConfiguration<BlockNumber> where
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
BlockNumber: Decode,
impl<'de, BlockNumber> Deserialize<'de> for HostConfiguration<BlockNumber> where
BlockNumber: Deserialize<'de>,
impl<'de, BlockNumber> Deserialize<'de> for HostConfiguration<BlockNumber> where
BlockNumber: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<BlockNumber> Encode for HostConfiguration<BlockNumber> where
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
impl<BlockNumber> Encode for HostConfiguration<BlockNumber> where
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
impl<BlockNumber: PartialEq> PartialEq<HostConfiguration<BlockNumber>> for HostConfiguration<BlockNumber>
impl<BlockNumber: PartialEq> PartialEq<HostConfiguration<BlockNumber>> for HostConfiguration<BlockNumber>
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<BlockNumber> TypeInfo for HostConfiguration<BlockNumber> where
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
impl<BlockNumber> TypeInfo for HostConfiguration<BlockNumber> where
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
BlockNumber: TypeInfo + 'static,
impl<BlockNumber> EncodeLike<HostConfiguration<BlockNumber>> for HostConfiguration<BlockNumber> where
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
BlockNumber: Encode,
Auto Trait Implementations
impl<BlockNumber> RefUnwindSafe for HostConfiguration<BlockNumber> where
BlockNumber: RefUnwindSafe,
impl<BlockNumber> Send for HostConfiguration<BlockNumber> where
BlockNumber: Send,
impl<BlockNumber> Sync for HostConfiguration<BlockNumber> where
BlockNumber: Sync,
impl<BlockNumber> Unpin for HostConfiguration<BlockNumber> where
BlockNumber: Unpin,
impl<BlockNumber> UnwindSafe for HostConfiguration<BlockNumber> where
BlockNumber: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
Causes self
to use its Octal
implementation when Debug
-formatted.
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
Pipes by value. This is generally the method you want to use. Read more
Borrows self
and passes that borrow into the pipe function. Read more
Mutably borrows self
and passes that borrow into the pipe function. Read more
Borrows self
, then passes self.borrow()
into the pipe function. Read more
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
Borrows self
, then passes self.as_ref()
into the pipe function.
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
Borrows self
, then passes self.deref()
into the pipe function.
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.
Immutable access to the Borrow<B>
of a value. Read more
Mutable access to the BorrowMut<B>
of a value. Read more
Immutable access to the AsRef<R>
view of a value. Read more
Mutable access to the AsMut<R>
view of a value. Read more
Immutable access to the Deref::Target
of a value. Read more
Mutable access to the Deref::Target
of a value. Read more
Calls .tap()
only in debug builds, and is erased in release builds.
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
Calls .tap_deref()
only in debug builds, and is erased in release
builds. Read more
Provides immutable access to the reference for inspection.
Calls tap_ref
in debug builds, and does nothing in release builds.
Provides mutable access to the reference for modification.
Calls tap_ref_mut
in debug builds, and does nothing in release builds.
Provides immutable access to the borrow for inspection. Read more
Calls tap_borrow
in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
Immutably dereferences self
for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref
in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self
for modification.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more