mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-01 02:11:01 +00:00
[testnet] Remove Wococo stuff from BridgeHubRococo/AssetHubRococo (#2300)
Rococo<>Wococo bridge is replaced by Rococo<Westend bridge, so this PR removes unneeded code. - [x] update bridges subtree after https://github.com/paritytech/parity-bridges-common/pull/2692 --------- Co-authored-by: command-bot <> Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
This commit is contained in:
@@ -16,14 +16,7 @@
|
||||
|
||||
//! # Bridge Hub Rococo Runtime
|
||||
//!
|
||||
//! This runtime is also used for Bridge Hub Wococo. We dont want to create
|
||||
//! another exact copy of Bridge Hub Rococo, so we injected some tweaks backed by `RuntimeFlavor`
|
||||
//! and `pub storage Flavor: RuntimeFlavor`. (For example this is needed for successful asset
|
||||
//! transfer between Asset Hub Rococo and Asset Hub Wococo, where we need to have correct
|
||||
//! `xcm_config::UniversalLocation` with correct `GlobalConsensus`.
|
||||
//!
|
||||
//! This runtime currently supports bridging between:
|
||||
//! - Rococo <> Wococo
|
||||
//! - Rococo <> Westend
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
@@ -35,13 +28,10 @@
|
||||
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
|
||||
|
||||
pub mod bridge_common_config;
|
||||
pub mod bridge_to_rococo_config;
|
||||
pub mod bridge_to_westend_config;
|
||||
pub mod bridge_to_wococo_config;
|
||||
mod weights;
|
||||
pub mod xcm_config;
|
||||
|
||||
use codec::{Decode, Encode};
|
||||
use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases;
|
||||
use sp_api::impl_runtime_apis;
|
||||
use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
|
||||
@@ -93,15 +83,6 @@ use parachains_common::{
|
||||
HOURS, MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO, SLOT_DURATION,
|
||||
};
|
||||
|
||||
/// Enum for handling differences in the runtime configuration for BridgeHubRococo vs
|
||||
/// BridgeHubWococo.
|
||||
#[derive(Default, Eq, PartialEq, Debug, Clone, Copy, Decode, Encode)]
|
||||
pub enum RuntimeFlavor {
|
||||
#[default]
|
||||
Rococo,
|
||||
Wococo,
|
||||
}
|
||||
|
||||
/// The address format for describing accounts.
|
||||
pub type Address = MultiAddress<AccountId, ()>;
|
||||
|
||||
@@ -125,11 +106,7 @@ pub type SignedExtra = (
|
||||
frame_system::CheckWeight<Runtime>,
|
||||
pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
|
||||
BridgeRejectObsoleteHeadersAndMessages,
|
||||
(
|
||||
bridge_to_wococo_config::OnBridgeHubRococoRefundBridgeHubWococoMessages,
|
||||
bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages,
|
||||
bridge_to_rococo_config::OnBridgeHubWococoRefundBridgeHubRococoMessages,
|
||||
),
|
||||
(bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages,),
|
||||
);
|
||||
|
||||
/// Unchecked extrinsic type as expected by this runtime.
|
||||
@@ -529,37 +506,19 @@ construct_runtime!(
|
||||
Utility: pallet_utility::{Pallet, Call, Event} = 40,
|
||||
Multisig: pallet_multisig::{Pallet, Call, Storage, Event<T>} = 36,
|
||||
|
||||
// Rococo, Wococo and Westend BridgeHubs are sharing the runtime, so this runtime has several sets of
|
||||
// bridge pallets.
|
||||
//
|
||||
// BridgeHubRococo uses:
|
||||
// - BridgeWococoGrandpa
|
||||
// - BridgeWestendGrandpa
|
||||
// - BridgeWococoParachains
|
||||
// - BridgeWestendParachains
|
||||
// - BridgeWococoMessages
|
||||
// - BridgeWestendMessages
|
||||
// - BridgeRelayers
|
||||
//
|
||||
// BridgeHubWococo uses:
|
||||
// - BridgeRococoGrandpa
|
||||
// - BridgeRococoParachains
|
||||
// - BridgeRococoMessages
|
||||
// - BridgeRelayers
|
||||
|
||||
// GRANDPA bridge modules.
|
||||
BridgeWococoGrandpa: pallet_bridge_grandpa::<Instance1>::{Pallet, Call, Storage, Event<T>, Config<T>} = 41,
|
||||
BridgeRococoGrandpa: pallet_bridge_grandpa::<Instance2>::{Pallet, Call, Storage, Event<T>, Config<T>} = 43,
|
||||
BridgeWestendGrandpa: pallet_bridge_grandpa::<Instance3>::{Pallet, Call, Storage, Event<T>, Config<T>} = 48,
|
||||
|
||||
// Parachain bridge modules.
|
||||
BridgeWococoParachains: pallet_bridge_parachains::<Instance1>::{Pallet, Call, Storage, Event<T>} = 42,
|
||||
BridgeRococoParachains: pallet_bridge_parachains::<Instance2>::{Pallet, Call, Storage, Event<T>} = 44,
|
||||
BridgeWestendParachains: pallet_bridge_parachains::<Instance3>::{Pallet, Call, Storage, Event<T>} = 49,
|
||||
|
||||
// Messaging bridge modules.
|
||||
BridgeWococoMessages: pallet_bridge_messages::<Instance1>::{Pallet, Call, Storage, Event<T>, Config<T>} = 46,
|
||||
BridgeRococoMessages: pallet_bridge_messages::<Instance2>::{Pallet, Call, Storage, Event<T>, Config<T>} = 45,
|
||||
BridgeWestendMessages: pallet_bridge_messages::<Instance3>::{Pallet, Call, Storage, Event<T>, Config<T>} = 51,
|
||||
|
||||
BridgeRelayers: pallet_bridge_relayers::{Pallet, Call, Storage, Event<T>} = 47,
|
||||
@@ -573,11 +532,11 @@ construct_runtime!(
|
||||
bridge_runtime_common::generate_bridge_reject_obsolete_headers_and_messages! {
|
||||
RuntimeCall, AccountId,
|
||||
// Grandpa
|
||||
BridgeRococoGrandpa, BridgeWococoGrandpa, BridgeWestendGrandpa,
|
||||
BridgeWestendGrandpa,
|
||||
// Parachains
|
||||
BridgeRococoParachains, BridgeWococoParachains, BridgeWestendParachains,
|
||||
BridgeWestendParachains,
|
||||
// Messages
|
||||
BridgeRococoMessages, BridgeWococoMessages, BridgeWestendMessages
|
||||
BridgeWestendMessages
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
@@ -600,15 +559,9 @@ mod benches {
|
||||
[pallet_xcm_benchmarks::fungible, XcmBalances]
|
||||
[pallet_xcm_benchmarks::generic, XcmGeneric]
|
||||
// Bridge pallets
|
||||
[pallet_bridge_grandpa, WococoFinality]
|
||||
[pallet_bridge_grandpa, WestendFinality]
|
||||
[pallet_bridge_grandpa, RococoFinality]
|
||||
[pallet_bridge_parachains, WithinWococo]
|
||||
[pallet_bridge_parachains, WithinWestend]
|
||||
[pallet_bridge_parachains, WithinRococo]
|
||||
[pallet_bridge_messages, RococoToWococo]
|
||||
[pallet_bridge_messages, RococoToWestend]
|
||||
[pallet_bridge_messages, WococoToRococo]
|
||||
[pallet_bridge_relayers, BridgeRelayersBench::<Runtime>]
|
||||
);
|
||||
}
|
||||
@@ -757,26 +710,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl bp_rococo::RococoFinalityApi<Block> for Runtime {
|
||||
fn best_finalized() -> Option<HeaderId<bp_rococo::Hash, bp_rococo::BlockNumber>> {
|
||||
BridgeRococoGrandpa::best_finalized()
|
||||
}
|
||||
fn synced_headers_grandpa_info(
|
||||
) -> Vec<bp_header_chain::StoredHeaderGrandpaInfo<bp_rococo::Header>> {
|
||||
BridgeRococoGrandpa::synced_headers_grandpa_info()
|
||||
}
|
||||
}
|
||||
|
||||
impl bp_wococo::WococoFinalityApi<Block> for Runtime {
|
||||
fn best_finalized() -> Option<HeaderId<bp_wococo::Hash, bp_wococo::BlockNumber>> {
|
||||
BridgeWococoGrandpa::best_finalized()
|
||||
}
|
||||
fn synced_headers_grandpa_info(
|
||||
) -> Vec<bp_header_chain::StoredHeaderGrandpaInfo<bp_wococo::Header>> {
|
||||
BridgeWococoGrandpa::synced_headers_grandpa_info()
|
||||
}
|
||||
}
|
||||
|
||||
impl bp_westend::WestendFinalityApi<Block> for Runtime {
|
||||
fn best_finalized() -> Option<HeaderId<bp_westend::Hash, bp_westend::BlockNumber>> {
|
||||
BridgeWestendGrandpa::best_finalized()
|
||||
@@ -787,22 +720,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl bp_bridge_hub_rococo::BridgeHubRococoFinalityApi<Block> for Runtime {
|
||||
fn best_finalized() -> Option<HeaderId<Hash, BlockNumber>> {
|
||||
BridgeRococoParachains::best_parachain_head_id::<
|
||||
bp_bridge_hub_rococo::BridgeHubRococo
|
||||
>().unwrap_or(None)
|
||||
}
|
||||
}
|
||||
|
||||
impl bp_bridge_hub_wococo::BridgeHubWococoFinalityApi<Block> for Runtime {
|
||||
fn best_finalized() -> Option<HeaderId<Hash, BlockNumber>> {
|
||||
BridgeWococoParachains::best_parachain_head_id::<
|
||||
bp_bridge_hub_wococo::BridgeHubWococo
|
||||
>().unwrap_or(None)
|
||||
}
|
||||
}
|
||||
|
||||
impl bp_bridge_hub_westend::BridgeHubWestendFinalityApi<Block> for Runtime {
|
||||
fn best_finalized() -> Option<HeaderId<Hash, BlockNumber>> {
|
||||
BridgeWestendParachains::best_parachain_head_id::<
|
||||
@@ -811,33 +728,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
// This is exposed by BridgeHubRococo
|
||||
impl bp_bridge_hub_wococo::FromBridgeHubWococoInboundLaneApi<Block> for Runtime {
|
||||
fn message_details(
|
||||
lane: bp_messages::LaneId,
|
||||
messages: Vec<(bp_messages::MessagePayload, bp_messages::OutboundMessageDetails)>,
|
||||
) -> Vec<bp_messages::InboundMessageDetails> {
|
||||
bridge_runtime_common::messages_api::inbound_message_details::<
|
||||
Runtime,
|
||||
bridge_to_wococo_config::WithBridgeHubWococoMessagesInstance,
|
||||
>(lane, messages)
|
||||
}
|
||||
}
|
||||
|
||||
// This is exposed by BridgeHubRococo
|
||||
impl bp_bridge_hub_wococo::ToBridgeHubWococoOutboundLaneApi<Block> for Runtime {
|
||||
fn message_details(
|
||||
lane: bp_messages::LaneId,
|
||||
begin: bp_messages::MessageNonce,
|
||||
end: bp_messages::MessageNonce,
|
||||
) -> Vec<bp_messages::OutboundMessageDetails> {
|
||||
bridge_runtime_common::messages_api::outbound_message_details::<
|
||||
Runtime,
|
||||
bridge_to_wococo_config::WithBridgeHubWococoMessagesInstance,
|
||||
>(lane, begin, end)
|
||||
}
|
||||
}
|
||||
|
||||
// This is exposed by BridgeHubRococo
|
||||
impl bp_bridge_hub_westend::FromBridgeHubWestendInboundLaneApi<Block> for Runtime {
|
||||
fn message_details(
|
||||
@@ -865,45 +755,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
// This is exposed by BridgeHubWococo
|
||||
impl bp_bridge_hub_rococo::FromBridgeHubRococoInboundLaneApi<Block> for Runtime {
|
||||
fn message_details(
|
||||
lane: bp_messages::LaneId,
|
||||
messages: Vec<(bp_messages::MessagePayload, bp_messages::OutboundMessageDetails)>,
|
||||
) -> Vec<bp_messages::InboundMessageDetails> {
|
||||
// use different instance according to flavor
|
||||
match xcm_config::Flavor::get() {
|
||||
RuntimeFlavor::Wococo => {
|
||||
bridge_runtime_common::messages_api::inbound_message_details::<
|
||||
Runtime,
|
||||
bridge_to_rococo_config::WithBridgeHubRococoMessagesInstance,
|
||||
>(lane, messages)
|
||||
},
|
||||
flavor @ _ => unimplemented!("Unsupported `FromBridgeHubRococoInboundLaneApi` for flavor: {:?}", flavor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This is exposed by BridgeHubWococo and BridgeHubWestend
|
||||
impl bp_bridge_hub_rococo::ToBridgeHubRococoOutboundLaneApi<Block> for Runtime {
|
||||
fn message_details(
|
||||
lane: bp_messages::LaneId,
|
||||
begin: bp_messages::MessageNonce,
|
||||
end: bp_messages::MessageNonce,
|
||||
) -> Vec<bp_messages::OutboundMessageDetails> {
|
||||
// use different instance according to flavor
|
||||
match xcm_config::Flavor::get() {
|
||||
RuntimeFlavor::Wococo => {
|
||||
bridge_runtime_common::messages_api::outbound_message_details::<
|
||||
Runtime,
|
||||
bridge_to_rococo_config::WithBridgeHubRococoMessagesInstance,
|
||||
>(lane, begin, end)
|
||||
},
|
||||
flavor @ _ => unimplemented!("Unsupported `ToBridgeHubRococoOutboundLaneApi` for flavor: {:?}", flavor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "try-runtime")]
|
||||
impl frame_try_runtime::TryRuntime<Block> for Runtime {
|
||||
fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) {
|
||||
@@ -943,15 +794,9 @@ impl_runtime_apis! {
|
||||
|
||||
use pallet_bridge_relayers::benchmarking::Pallet as BridgeRelayersBench;
|
||||
// Change weight file names.
|
||||
type WococoFinality = BridgeWococoGrandpa;
|
||||
type WestendFinality = BridgeWestendGrandpa;
|
||||
type RococoFinality = BridgeRococoGrandpa;
|
||||
type WithinWococo = pallet_bridge_parachains::benchmarking::Pallet::<Runtime, bridge_common_config::BridgeParachainWococoInstance>;
|
||||
type WithinWestend = pallet_bridge_parachains::benchmarking::Pallet::<Runtime, bridge_common_config::BridgeParachainWestendInstance>;
|
||||
type WithinRococo = pallet_bridge_parachains::benchmarking::Pallet::<Runtime, bridge_common_config::BridgeParachainRococoInstance>;
|
||||
type RococoToWococo = pallet_bridge_messages::benchmarking::Pallet ::<Runtime, bridge_to_wococo_config::WithBridgeHubWococoMessagesInstance>;
|
||||
type RococoToWestend = pallet_bridge_messages::benchmarking::Pallet ::<Runtime, bridge_to_westend_config::WithBridgeHubWestendMessagesInstance>;
|
||||
type WococoToRococo = pallet_bridge_messages::benchmarking::Pallet ::<Runtime, bridge_to_rococo_config::WithBridgeHubRococoMessagesInstance>;
|
||||
|
||||
let mut list = Vec::<BenchmarkList>::new();
|
||||
list_benchmarks!(list, extra);
|
||||
@@ -1098,7 +943,7 @@ impl_runtime_apis! {
|
||||
|
||||
fn export_message_origin_and_destination(
|
||||
) -> Result<(MultiLocation, NetworkId, InteriorMultiLocation), BenchmarkError> {
|
||||
Ok((TokenLocation::get(), NetworkId::Wococo, X1(Parachain(100))))
|
||||
Ok((TokenLocation::get(), NetworkId::Westend, X1(Parachain(100))))
|
||||
}
|
||||
|
||||
fn alias_origin() -> Result<(MultiLocation, MultiLocation), BenchmarkError> {
|
||||
@@ -1109,15 +954,9 @@ impl_runtime_apis! {
|
||||
type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::<Runtime>;
|
||||
type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::<Runtime>;
|
||||
|
||||
type WococoFinality = BridgeWococoGrandpa;
|
||||
type WestendFinality = BridgeWestendGrandpa;
|
||||
type RococoFinality = BridgeRococoGrandpa;
|
||||
type WithinWococo = pallet_bridge_parachains::benchmarking::Pallet::<Runtime, bridge_common_config::BridgeParachainWococoInstance>;
|
||||
type WithinWestend = pallet_bridge_parachains::benchmarking::Pallet::<Runtime, bridge_common_config::BridgeParachainWestendInstance>;
|
||||
type WithinRococo = pallet_bridge_parachains::benchmarking::Pallet::<Runtime, bridge_common_config::BridgeParachainRococoInstance>;
|
||||
type RococoToWococo = pallet_bridge_messages::benchmarking::Pallet ::<Runtime, bridge_to_wococo_config::WithBridgeHubWococoMessagesInstance>;
|
||||
type RococoToWestend = pallet_bridge_messages::benchmarking::Pallet ::<Runtime, bridge_to_westend_config::WithBridgeHubWestendMessagesInstance>;
|
||||
type WococoToRococo = pallet_bridge_messages::benchmarking::Pallet ::<Runtime, bridge_to_rococo_config::WithBridgeHubRococoMessagesInstance>;
|
||||
|
||||
use bridge_runtime_common::messages_benchmarking::{
|
||||
prepare_message_delivery_proof_from_parachain,
|
||||
@@ -1130,49 +969,6 @@ impl_runtime_apis! {
|
||||
MessageProofParams,
|
||||
};
|
||||
|
||||
impl BridgeMessagesConfig<bridge_to_wococo_config::WithBridgeHubWococoMessagesInstance> for Runtime {
|
||||
fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool {
|
||||
let bench_lane_id = <Self as BridgeMessagesConfig<bridge_to_wococo_config::WithBridgeHubWococoMessagesInstance>>::bench_lane_id();
|
||||
let bridged_chain_id = bp_runtime::BRIDGE_HUB_WOCOCO_CHAIN_ID;
|
||||
pallet_bridge_relayers::Pallet::<Runtime>::relayer_reward(
|
||||
relayer,
|
||||
bp_relayers::RewardsAccountParams::new(
|
||||
bench_lane_id,
|
||||
bridged_chain_id,
|
||||
bp_relayers::RewardsAccountOwner::BridgedChain
|
||||
)
|
||||
).is_some()
|
||||
}
|
||||
|
||||
fn prepare_message_proof(
|
||||
params: MessageProofParams,
|
||||
) -> (bridge_to_wococo_config::FromWococoBridgeHubMessagesProof, Weight) {
|
||||
use cumulus_primitives_core::XcmpMessageSource;
|
||||
assert!(XcmpQueue::take_outbound_messages(usize::MAX).is_empty());
|
||||
ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(42.into());
|
||||
prepare_message_proof_from_parachain::<
|
||||
Runtime,
|
||||
bridge_common_config::BridgeGrandpaWococoInstance,
|
||||
bridge_to_wococo_config::WithBridgeHubWococoMessageBridge,
|
||||
>(params, generate_xcm_builder_bridge_message_sample(X2(GlobalConsensus(Rococo), Parachain(42))))
|
||||
}
|
||||
|
||||
fn prepare_message_delivery_proof(
|
||||
params: MessageDeliveryProofParams<AccountId>,
|
||||
) -> bridge_to_wococo_config::ToWococoBridgeHubMessagesDeliveryProof {
|
||||
prepare_message_delivery_proof_from_parachain::<
|
||||
Runtime,
|
||||
bridge_common_config::BridgeGrandpaWococoInstance,
|
||||
bridge_to_wococo_config::WithBridgeHubWococoMessageBridge,
|
||||
>(params)
|
||||
}
|
||||
|
||||
fn is_message_successfully_dispatched(_nonce: bp_messages::MessageNonce) -> bool {
|
||||
use cumulus_primitives_core::XcmpMessageSource;
|
||||
!XcmpQueue::take_outbound_messages(usize::MAX).is_empty()
|
||||
}
|
||||
}
|
||||
|
||||
impl BridgeMessagesConfig<bridge_to_westend_config::WithBridgeHubWestendMessagesInstance> for Runtime {
|
||||
fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool {
|
||||
let bench_lane_id = <Self as BridgeMessagesConfig<bridge_to_westend_config::WithBridgeHubWestendMessagesInstance>>::bench_lane_id();
|
||||
@@ -1216,49 +1012,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl BridgeMessagesConfig<bridge_to_rococo_config::WithBridgeHubRococoMessagesInstance> for Runtime {
|
||||
fn is_relayer_rewarded(relayer: &Self::AccountId) -> bool {
|
||||
let bench_lane_id = <Self as BridgeMessagesConfig<bridge_to_rococo_config::WithBridgeHubRococoMessagesInstance>>::bench_lane_id();
|
||||
let bridged_chain_id = bp_runtime::BRIDGE_HUB_ROCOCO_CHAIN_ID;
|
||||
pallet_bridge_relayers::Pallet::<Runtime>::relayer_reward(
|
||||
relayer,
|
||||
bp_relayers::RewardsAccountParams::new(
|
||||
bench_lane_id,
|
||||
bridged_chain_id,
|
||||
bp_relayers::RewardsAccountOwner::BridgedChain
|
||||
)
|
||||
).is_some()
|
||||
}
|
||||
|
||||
fn prepare_message_proof(
|
||||
params: MessageProofParams,
|
||||
) -> (bridge_to_rococo_config::FromRococoBridgeHubMessagesProof, Weight) {
|
||||
use cumulus_primitives_core::XcmpMessageSource;
|
||||
assert!(XcmpQueue::take_outbound_messages(usize::MAX).is_empty());
|
||||
ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(42.into());
|
||||
prepare_message_proof_from_parachain::<
|
||||
Runtime,
|
||||
bridge_common_config::BridgeGrandpaRococoInstance,
|
||||
bridge_to_rococo_config::WithBridgeHubRococoMessageBridge,
|
||||
>(params, generate_xcm_builder_bridge_message_sample(X2(GlobalConsensus(Wococo), Parachain(42))))
|
||||
}
|
||||
|
||||
fn prepare_message_delivery_proof(
|
||||
params: MessageDeliveryProofParams<AccountId>,
|
||||
) -> bridge_to_rococo_config::ToRococoBridgeHubMessagesDeliveryProof {
|
||||
prepare_message_delivery_proof_from_parachain::<
|
||||
Runtime,
|
||||
bridge_common_config::BridgeGrandpaRococoInstance,
|
||||
bridge_to_rococo_config::WithBridgeHubRococoMessageBridge,
|
||||
>(params)
|
||||
}
|
||||
|
||||
fn is_message_successfully_dispatched(_nonce: bp_messages::MessageNonce) -> bool {
|
||||
use cumulus_primitives_core::XcmpMessageSource;
|
||||
!XcmpQueue::take_outbound_messages(usize::MAX).is_empty()
|
||||
}
|
||||
}
|
||||
|
||||
use bridge_runtime_common::parachains_benchmarking::prepare_parachain_heads_proof;
|
||||
use pallet_bridge_parachains::benchmarking::Config as BridgeParachainsConfig;
|
||||
use pallet_bridge_relayers::benchmarking::{
|
||||
@@ -1266,30 +1019,6 @@ impl_runtime_apis! {
|
||||
Config as BridgeRelayersConfig,
|
||||
};
|
||||
|
||||
impl BridgeParachainsConfig<bridge_common_config::BridgeParachainWococoInstance> for Runtime {
|
||||
fn parachains() -> Vec<bp_polkadot_core::parachains::ParaId> {
|
||||
use bp_runtime::Parachain;
|
||||
vec![bp_polkadot_core::parachains::ParaId(bp_bridge_hub_wococo::BridgeHubWococo::PARACHAIN_ID)]
|
||||
}
|
||||
|
||||
fn prepare_parachain_heads_proof(
|
||||
parachains: &[bp_polkadot_core::parachains::ParaId],
|
||||
parachain_head_size: u32,
|
||||
proof_size: bp_runtime::StorageProofSize,
|
||||
) -> (
|
||||
pallet_bridge_parachains::RelayBlockNumber,
|
||||
pallet_bridge_parachains::RelayBlockHash,
|
||||
bp_polkadot_core::parachains::ParaHeadsProof,
|
||||
Vec<(bp_polkadot_core::parachains::ParaId, bp_polkadot_core::parachains::ParaHash)>,
|
||||
) {
|
||||
prepare_parachain_heads_proof::<Runtime, bridge_common_config::BridgeParachainWococoInstance>(
|
||||
parachains,
|
||||
parachain_head_size,
|
||||
proof_size,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl BridgeParachainsConfig<bridge_common_config::BridgeParachainWestendInstance> for Runtime {
|
||||
fn parachains() -> Vec<bp_polkadot_core::parachains::ParaId> {
|
||||
use bp_runtime::Parachain;
|
||||
@@ -1314,30 +1043,6 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl BridgeParachainsConfig<bridge_common_config::BridgeParachainRococoInstance> for Runtime {
|
||||
fn parachains() -> Vec<bp_polkadot_core::parachains::ParaId> {
|
||||
use bp_runtime::Parachain;
|
||||
vec![bp_polkadot_core::parachains::ParaId(bp_bridge_hub_rococo::BridgeHubRococo::PARACHAIN_ID)]
|
||||
}
|
||||
|
||||
fn prepare_parachain_heads_proof(
|
||||
parachains: &[bp_polkadot_core::parachains::ParaId],
|
||||
parachain_head_size: u32,
|
||||
proof_size: bp_runtime::StorageProofSize,
|
||||
) -> (
|
||||
pallet_bridge_parachains::RelayBlockNumber,
|
||||
pallet_bridge_parachains::RelayBlockHash,
|
||||
bp_polkadot_core::parachains::ParaHeadsProof,
|
||||
Vec<(bp_polkadot_core::parachains::ParaId, bp_polkadot_core::parachains::ParaHash)>,
|
||||
) {
|
||||
prepare_parachain_heads_proof::<Runtime, bridge_common_config::BridgeParachainRococoInstance>(
|
||||
parachains,
|
||||
parachain_head_size,
|
||||
proof_size,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl BridgeRelayersConfig for Runtime {
|
||||
fn prepare_rewards_account(
|
||||
account_params: bp_relayers::RewardsAccountParams,
|
||||
@@ -1418,11 +1123,7 @@ mod tests {
|
||||
frame_system::CheckWeight::new(),
|
||||
pallet_transaction_payment::ChargeTransactionPayment::from(10),
|
||||
BridgeRejectObsoleteHeadersAndMessages,
|
||||
(
|
||||
bridge_to_wococo_config::OnBridgeHubRococoRefundBridgeHubWococoMessages::default(),
|
||||
bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages::default(),
|
||||
bridge_to_rococo_config::OnBridgeHubWococoRefundBridgeHubRococoMessages::default(),
|
||||
),
|
||||
(bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages::default(),)
|
||||
);
|
||||
|
||||
// for BridgeHubRococo
|
||||
@@ -1442,24 +1143,6 @@ mod tests {
|
||||
bhr_indirect_payload.additional_signed().unwrap().encode()
|
||||
)
|
||||
}
|
||||
|
||||
// for BridgeHubWococo
|
||||
{
|
||||
let bhw_indirect_payload = bp_bridge_hub_wococo::SignedExtension::from_params(
|
||||
VERSION.spec_version,
|
||||
VERSION.transaction_version,
|
||||
bp_runtime::TransactionEra::Immortal,
|
||||
System::block_hash(BlockNumber::zero()),
|
||||
10,
|
||||
10,
|
||||
(((), ()), ((), ())),
|
||||
);
|
||||
assert_eq!(payload.encode(), bhw_indirect_payload.encode());
|
||||
assert_eq!(
|
||||
payload.additional_signed().unwrap().encode(),
|
||||
bhw_indirect_payload.additional_signed().unwrap().encode()
|
||||
)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user