mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 23:21:02 +00:00
fix send_message_worst_case (#571)
This commit is contained in:
committed by
Bastian Köcher
parent
0ff8c2437c
commit
2a0f7c7d17
@@ -830,7 +830,7 @@ impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn prepare_message(
|
fn prepare_message(
|
||||||
params: MessageLaneMessageParams,
|
params: MessageLaneMessageParams<Self::AccountId>,
|
||||||
) -> (millau_messages::ToMillauMessagePayload, Balance) {
|
) -> (millau_messages::ToMillauMessagePayload, Balance) {
|
||||||
use crate::millau_messages::{ToMillauMessagePayload, WithMillauMessageBridge};
|
use crate::millau_messages::{ToMillauMessagePayload, WithMillauMessageBridge};
|
||||||
use bridge_runtime_common::messages;
|
use bridge_runtime_common::messages;
|
||||||
@@ -843,7 +843,9 @@ impl_runtime_apis! {
|
|||||||
* sp_std::cmp::min(factor, WORST_MESSAGE_SIZE_FACTOR),
|
* sp_std::cmp::min(factor, WORST_MESSAGE_SIZE_FACTOR),
|
||||||
};
|
};
|
||||||
let message_payload = vec![0; message_size as usize];
|
let message_payload = vec![0; message_size as usize];
|
||||||
let dispatch_origin = pallet_bridge_call_dispatch::CallOrigin::SourceAccount(Default::default());
|
let dispatch_origin = pallet_bridge_call_dispatch::CallOrigin::SourceAccount(
|
||||||
|
params.sender_account,
|
||||||
|
);
|
||||||
|
|
||||||
let message = ToMillauMessagePayload {
|
let message = ToMillauMessagePayload {
|
||||||
spec_version: 0,
|
spec_version: 0,
|
||||||
|
|||||||
@@ -34,11 +34,13 @@ const SEED: u32 = 0;
|
|||||||
pub struct Module<T: Trait<I>, I: crate::Instance>(crate::Module<T, I>);
|
pub struct Module<T: Trait<I>, I: crate::Instance>(crate::Module<T, I>);
|
||||||
|
|
||||||
/// Benchmark-specific message parameters.
|
/// Benchmark-specific message parameters.
|
||||||
pub struct MessageParams {
|
pub struct MessageParams<ThisAccountId> {
|
||||||
/// Size factor of the message payload. Message payload grows with every factor
|
/// Size factor of the message payload. Message payload grows with every factor
|
||||||
/// increment. Zero is the smallest possible message and the `WORST_MESSAGE_SIZE_FACTOR` is
|
/// increment. Zero is the smallest possible message and the `WORST_MESSAGE_SIZE_FACTOR` is
|
||||||
/// largest possible message.
|
/// largest possible message.
|
||||||
pub size_factor: u32,
|
pub size_factor: u32,
|
||||||
|
/// Message sender account.
|
||||||
|
pub sender_account: ThisAccountId,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Trait that must be implemented by runtime.
|
/// Trait that must be implemented by runtime.
|
||||||
@@ -46,7 +48,7 @@ pub trait Trait<I: Instance>: crate::Trait<I> {
|
|||||||
/// Create given account and give it enough balance for test purposes.
|
/// Create given account and give it enough balance for test purposes.
|
||||||
fn endow_account(account: &Self::AccountId);
|
fn endow_account(account: &Self::AccountId);
|
||||||
/// Prepare message to send over lane.
|
/// Prepare message to send over lane.
|
||||||
fn prepare_message(params: MessageParams) -> (Self::OutboundPayload, Self::OutboundMessageFee);
|
fn prepare_message(params: MessageParams<Self::AccountId>) -> (Self::OutboundPayload, Self::OutboundMessageFee);
|
||||||
}
|
}
|
||||||
|
|
||||||
benchmarks_instance! {
|
benchmarks_instance! {
|
||||||
@@ -70,7 +72,10 @@ benchmarks_instance! {
|
|||||||
}
|
}
|
||||||
confirm_message_delivery::<T, I>(T::MaxMessagesToPruneAtOnce::get());
|
confirm_message_delivery::<T, I>(T::MaxMessagesToPruneAtOnce::get());
|
||||||
|
|
||||||
let (payload, fee) = T::prepare_message(MessageParams { size_factor: WORST_MESSAGE_SIZE_FACTOR });
|
let (payload, fee) = T::prepare_message(MessageParams {
|
||||||
|
size_factor: WORST_MESSAGE_SIZE_FACTOR,
|
||||||
|
sender_account: sender.clone(),
|
||||||
|
});
|
||||||
}: send_message(RawOrigin::Signed(sender), lane_id, payload, fee)
|
}: send_message(RawOrigin::Signed(sender), lane_id, payload, fee)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user