Skip to content

Commit d70f450

Browse files
committed
Messags benchmarks
1 parent 0e4448d commit d70f450

File tree

5 files changed

+269
-302
lines changed

5 files changed

+269
-302
lines changed

runtimes/bulletin-polkadot/src/lib.rs

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -643,14 +643,13 @@ mod benches {
643643

644644
[pallet_bridge_grandpa, BridgePolkadotGrandpa]
645645
[pallet_bridge_parachains, PolkadotParachains]
646-
// [pallet_bridge_messages, BridgeMessagesBench::<Runtime, bridge_config::WithPeoplePolkadotMessagesInstance>]
646+
[pallet_bridge_messages, PolkadotMessages]
647647
);
648648

649649
pub use frame_benchmarking::{baseline::Pallet as Baseline, BenchmarkBatch, BenchmarkList};
650650
pub use frame_system_benchmarking::Pallet as SystemBench;
651651

652652
pub use frame_support::traits::{StorageInfoTrait, WhitelistedStorageKeys};
653-
pub use pallet_bridge_messages::benchmarking::Pallet as BridgeMessagesBench;
654653
pub use sp_storage::TrackedStorageKey;
655654

656655
impl frame_system_benchmarking::Config for Runtime {}
@@ -684,10 +683,69 @@ mod benches {
684683
}
685684
}
686685

686+
use bridge_runtime_common::messages_benchmarking::{
687+
generate_xcm_builder_bridge_message_sample, prepare_message_delivery_proof_from_parachain,
688+
prepare_message_proof_from_parachain,
689+
};
690+
use pallet_bridge_messages::{
691+
benchmarking::{
692+
Config as BridgeMessagesConfig, MessageDeliveryProofParams, MessageProofParams,
693+
},
694+
LaneIdOf,
695+
};
696+
697+
impl BridgeMessagesConfig<bridge_config::WithPeoplePolkadotMessagesInstance> for Runtime {
698+
fn is_relayer_rewarded(_relayer: &Self::AccountId) -> bool {
699+
// TODO:
700+
// no rewards, so we don't care
701+
true
702+
}
703+
704+
fn prepare_message_proof(
705+
params: MessageProofParams<
706+
LaneIdOf<Runtime, bridge_config::WithPeoplePolkadotMessagesInstance>,
707+
>,
708+
) -> (bridge_config::benchmarking::FromPeoplePolkadotMessagesProof, Weight) {
709+
prepare_message_proof_from_parachain::<
710+
Runtime,
711+
bridge_config::WithPolkadotBridgeGrandpaInstance,
712+
bridge_config::WithPeoplePolkadotMessagesInstance,
713+
>(
714+
params,
715+
generate_xcm_builder_bridge_message_sample(
716+
bridge_config::PeoplePolkadotLocation::get().interior().clone(),
717+
),
718+
)
719+
}
720+
721+
fn prepare_message_delivery_proof(
722+
params: MessageDeliveryProofParams<
723+
AccountId,
724+
LaneIdOf<Runtime, bridge_config::WithPeoplePolkadotMessagesInstance>,
725+
>,
726+
) -> bridge_config::benchmarking::ToPeoplePolkadotMessagesDeliveryProof {
727+
prepare_message_delivery_proof_from_parachain::<
728+
Runtime,
729+
bridge_config::WithPolkadotBridgeGrandpaInstance,
730+
bridge_config::WithPeoplePolkadotMessagesInstance,
731+
>(params)
732+
}
733+
734+
fn is_message_successfully_dispatched(_nonce: bp_messages::MessageNonce) -> bool {
735+
// TODO:
736+
// currently we have no means to detect that
737+
true
738+
}
739+
}
740+
687741
pub type PolkadotParachains = pallet_bridge_parachains::benchmarking::Pallet<
688742
Runtime,
689743
bridge_config::WithPolkadotBridgeParachainsInstance,
690744
>;
745+
pub type PolkadotMessages = pallet_bridge_messages::benchmarking::Pallet<
746+
Runtime,
747+
bridge_config::WithPeoplePolkadotMessagesInstance,
748+
>;
691749
}
692750

693751
#[cfg(feature = "runtime-benchmarks")]

runtimes/bulletin-polkadot/src/polkadot_bridge_config.rs

Lines changed: 19 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ impl<BlobDispatcher: DispatchBlob, Weights: pallet_bridge_messages::WeightInfoEx
324324
pub type WithPeoplePolkadotMessagesInstance = ();
325325
impl pallet_bridge_messages::Config<WithPeoplePolkadotMessagesInstance> for Runtime {
326326
type RuntimeEvent = RuntimeEvent;
327-
type WeightInfo = crate::weights::bridge_polkadot_messages::WeightInfo<Runtime>;
327+
type WeightInfo = crate::weights::pallet_bridge_messages::WeightInfo<Runtime>;
328328

329329
type ThisChain = bp_polkadot_bulletin::PolkadotBulletin;
330330
type BridgedChain = bp_people_polkadot::PeoplePolkadot;
@@ -439,67 +439,24 @@ pub type ToBridgeHaulBlobExporter = HaulBlobExporter<
439439
(),
440440
>;
441441

442-
// #[cfg(feature = "runtime-benchmarks")]
443-
// pub mod benchmarking {
444-
// use super::*;
445-
//
446-
// /// Proof of messages, coming from BridgeHubPolkadot.
447-
// pub type FromBridgeHubPolkadotMessagesProof =
448-
// bridge_runtime_common::messages::target::FromBridgedChainMessagesProof<
449-
// bp_people_polkadot::Hash,
450-
// >;
451-
//
452-
// /// Message delivery proof for `BridgeHubPolkadot` messages.
453-
// pub type ToBridgeHubPolkadotMessagesDeliveryProof =
454-
// bridge_runtime_common::messages::source::FromBridgedChainMessagesDeliveryProof<
455-
// bp_people_polkadot::Hash,
456-
// >;
457-
//
458-
// use bridge_runtime_common::messages_benchmarking::{
459-
// generate_xcm_builder_bridge_message_sample, prepare_message_delivery_proof_from_parachain,
460-
// prepare_message_proof_from_parachain,
461-
// };
462-
// use pallet_bridge_messages::benchmarking::{
463-
// Config as BridgeMessagesConfig, MessageDeliveryProofParams, MessageProofParams,
464-
// };
465-
//
466-
// impl BridgeMessagesConfig<WithBridgeHubPolkadotMessagesInstance> for Runtime {
467-
// fn is_relayer_rewarded(_relayer: &Self::AccountId) -> bool {
468-
// // no rewards, so we don't care
469-
// true
470-
// }
471-
//
472-
// fn prepare_message_proof(
473-
// params: MessageProofParams,
474-
// ) -> (FromBridgeHubPolkadotMessagesProof, Weight) {
475-
// prepare_message_proof_from_parachain::<
476-
// Runtime,
477-
// WithPolkadotBridgeGrandpaInstance,
478-
// WithBridgeHubPolkadotMessageBridge,
479-
// >(
480-
// params,
481-
// generate_xcm_builder_bridge_message_sample(
482-
// *crate::xcm_config::KawabungaLocation::get().interior(),
483-
// ),
484-
// )
485-
// }
486-
//
487-
// fn prepare_message_delivery_proof(
488-
// params: MessageDeliveryProofParams<AccountId>,
489-
// ) -> ToBridgeHubPolkadotMessagesDeliveryProof {
490-
// prepare_message_delivery_proof_from_parachain::<
491-
// Runtime,
492-
// WithPolkadotBridgeGrandpaInstance,
493-
// WithBridgeHubPolkadotMessageBridge,
494-
// >(params)
495-
// }
496-
//
497-
// fn is_message_successfully_dispatched(_nonce: bp_messages::MessageNonce) -> bool {
498-
// // currently we have no means to detect that
499-
// true
500-
// }
501-
// }
502-
// }
442+
#[cfg(feature = "runtime-benchmarks")]
443+
pub mod benchmarking {
444+
use super::*;
445+
446+
/// Proof of messages, coming from PeoplePolkadot.
447+
pub type FromPeoplePolkadotMessagesProof =
448+
bp_messages::target_chain::FromBridgedChainMessagesProof<
449+
bp_people_polkadot::Hash,
450+
pallet_bridge_messages::LaneIdOf<Runtime, WithPeoplePolkadotMessagesInstance>,
451+
>;
452+
453+
/// Message delivery proof for `PeoplePolkadot` messages.
454+
pub type ToPeoplePolkadotMessagesDeliveryProof =
455+
bp_messages::source_chain::FromBridgedChainMessagesDeliveryProof<
456+
bp_people_polkadot::Hash,
457+
pallet_bridge_messages::LaneIdOf<Runtime, WithPeoplePolkadotMessagesInstance>,
458+
>;
459+
}
503460
//
504461
// #[cfg(test)]
505462
// pub(crate) mod tests {

0 commit comments

Comments
 (0)