mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 06:21:02 +00:00
Use a BoundedVec in ValidationResult (#6603)
* Use a `BoundedVec` in `ValidationResult` > Use a `BoundedVec` for `upward_messages` and `horizontal_messages` in order to > limit the number of individual messages/memory allocations right at decoding > time. The reason for this is that the `ValidationResult` may contain a code > upgrade (including a full PVF binary), so the total size limit can't be set > too low and this limit will still allow several millions of upward messages, > which will (due to the memory allocator overhead) already have a > non-negligible memory footprint in decoded form. * List all fields when hashing so we don't miss one * Define types for `BoundedVec`s of messages * Fix test compile errors * Depend on `bounded-collections` 0.1.4 (fixes allocation issue) * Fix compilation issue * Derive `Hash` instead of manual `impl` * Avoid use of unwrap
This commit is contained in:
@@ -21,6 +21,7 @@ use crate::{
|
||||
use frame_support::{pallet_prelude::*, traits::ReservableCurrency};
|
||||
use frame_system::pallet_prelude::*;
|
||||
use parity_scale_codec::{Decode, Encode};
|
||||
use polkadot_parachain::primitives::HorizontalMessages;
|
||||
use primitives::{
|
||||
Balance, Hash, HrmpChannelId, Id as ParaId, InboundHrmpMessage, OutboundHrmpMessage,
|
||||
SessionIndex,
|
||||
@@ -1057,10 +1058,7 @@ impl<T: Config> Pallet<T> {
|
||||
/// Process the outbound HRMP messages by putting them into the appropriate recipient queues.
|
||||
///
|
||||
/// Returns the amount of weight consumed.
|
||||
pub(crate) fn queue_outbound_hrmp(
|
||||
sender: ParaId,
|
||||
out_hrmp_msgs: Vec<OutboundHrmpMessage<ParaId>>,
|
||||
) -> Weight {
|
||||
pub(crate) fn queue_outbound_hrmp(sender: ParaId, out_hrmp_msgs: HorizontalMessages) -> Weight {
|
||||
let mut weight = Weight::zero();
|
||||
let now = <frame_system::Pallet<T>>::block_number();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user