mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-23 22:25:42 +00:00
Remove deprecated code from bridge-runtime-common (#1983)
* removed FromBridgedChainMessageDispatch in favor of XcmBlobMessageDispatch * use HaulBlobExporter/HaulBlobExporterAdapter instead of XcmBridge/XcmBridgeAdapter * tests for sending/dispatching messages * use new schema in testnet bridges + some cleanup * clippy * spelling + added TODO * cleanup some checks * benchmarks compilation * all is XCM * updated README.md * ref issue from TODO
This commit is contained in:
committed by
Bastian Köcher
parent
2407228972
commit
a75c28d5b2
@@ -28,13 +28,43 @@ use bp_messages::{
|
||||
};
|
||||
use bp_runtime::{messages::MessageDispatchResult, AccountIdOf, Chain};
|
||||
use codec::{Decode, Encode};
|
||||
use frame_support::{dispatch::Weight, traits::Get, CloneNoBound, EqNoBound, PartialEqNoBound};
|
||||
use frame_support::{
|
||||
dispatch::Weight, traits::Get, weights::RuntimeDbWeight, CloneNoBound, EqNoBound,
|
||||
PartialEqNoBound,
|
||||
};
|
||||
use scale_info::TypeInfo;
|
||||
use sp_std::marker::PhantomData;
|
||||
use xcm_builder::{DispatchBlob, DispatchBlobError, HaulBlob, HaulBlobError};
|
||||
|
||||
/// Plain "XCM" payload, which we transfer through bridge
|
||||
pub type XcmAsPlainPayload = sp_std::prelude::Vec<u8>;
|
||||
|
||||
// TODO: below are just rough estimations. Other things also happen there (including hashing and so
|
||||
// on). Shall we do some benchmarking??? TODO: add proof_size component here
|
||||
// https://github.com/paritytech/parity-bridges-common/issues/1986
|
||||
|
||||
/// Simple weigher for incoming XCM dispatch at **bridge hubs** to use with
|
||||
/// `XcmBlobMessageDispatch`.
|
||||
///
|
||||
/// By our design, message at bridge hub is simply pushed to some other queue. This implementation
|
||||
/// is for this case only. If your runtime performs some other actions with incoming XCM messages,
|
||||
/// you shall use your own implementation.
|
||||
///
|
||||
/// If message is redirected to the relay chain, then `ParentAsUmp` is used and it roughly does
|
||||
/// 1 db read and 1 db write (in its `send_upward_message` method).
|
||||
///
|
||||
/// If message is redirected to some sibling parachain, then `XcmpQueue` is used and
|
||||
/// it roughly does 2 db reads and 2 db writes (in its `SendXcm` implementation).
|
||||
///
|
||||
/// The difference is not that big, so let's choose maximal.
|
||||
pub struct XcmRouterWeigher<T>(PhantomData<T>);
|
||||
|
||||
impl<T: Get<RuntimeDbWeight>> Get<Weight> for XcmRouterWeigher<T> {
|
||||
fn get() -> Weight {
|
||||
T::get().reads_writes(2, 2)
|
||||
}
|
||||
}
|
||||
|
||||
/// Message dispatch result type for single message
|
||||
#[derive(CloneNoBound, EqNoBound, PartialEqNoBound, Encode, Decode, Debug, TypeInfo)]
|
||||
pub enum XcmBlobMessageDispatchResult {
|
||||
|
||||
Reference in New Issue
Block a user