mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-22 16:05:41 +00:00
8b3bf39ab8
Currently the xcm-executor returns an `Unimplemented` error if it receives any HRMP-related instruction. What I propose here, which is what we are currently doing in our forked executor at polimec, is to introduce a trait implemented by the executor which will handle those instructions. This way, if parachains want to keep the default behavior, they just use `()` and it will return unimplemented, but they can also implement their own logic to establish HRMP channels with other chains in an automated fashion, without requiring to go through governance. Our implementation is mentioned in the [polkadot HRMP docs](https://arc.net/l/quote/hduiivbu), and it was suggested to us to submit a PR to add these changes to polkadot-sdk. --------- Co-authored-by: Branislav Kontur <bkontur@gmail.com> Co-authored-by: command-bot <>
68 lines
2.6 KiB
Rust
68 lines
2.6 KiB
Rust
// Copyright (C) Parity Technologies (UK) Ltd.
|
|
// This file is part of Polkadot.
|
|
|
|
// Polkadot is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// Polkadot is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
//! Various traits used in configuring the executor.
|
|
|
|
mod conversion;
|
|
pub use conversion::{CallDispatcher, ConvertLocation, ConvertOrigin, WithOriginFilter};
|
|
mod drop_assets;
|
|
pub use drop_assets::{ClaimAssets, DropAssets};
|
|
mod asset_exchange;
|
|
pub use asset_exchange::AssetExchange;
|
|
mod asset_lock;
|
|
pub use asset_lock::{AssetLock, Enact, LockError};
|
|
mod asset_transfer;
|
|
pub use asset_transfer::{Error as AssetTransferError, TransferType, XcmAssetTransfers};
|
|
mod export;
|
|
pub use export::{export_xcm, validate_export, ExportXcm};
|
|
mod fee_manager;
|
|
pub use fee_manager::{FeeManager, FeeReason};
|
|
mod filter_asset_location;
|
|
#[allow(deprecated)]
|
|
pub use filter_asset_location::FilterAssetLocation;
|
|
mod token_matching;
|
|
pub use token_matching::{
|
|
Error, MatchesFungible, MatchesFungibles, MatchesNonFungible, MatchesNonFungibles,
|
|
};
|
|
mod on_response;
|
|
pub use on_response::{OnResponse, QueryHandler, QueryResponseStatus, VersionChangeNotifier};
|
|
mod process_transaction;
|
|
pub use process_transaction::ProcessTransaction;
|
|
mod should_execute;
|
|
pub use should_execute::{CheckSuspension, Properties, ShouldExecute};
|
|
mod transact_asset;
|
|
pub use transact_asset::TransactAsset;
|
|
mod hrmp;
|
|
pub use hrmp::{
|
|
HandleHrmpChannelAccepted, HandleHrmpChannelClosing, HandleHrmpNewChannelOpenRequest,
|
|
};
|
|
mod weight;
|
|
#[deprecated = "Use `sp_runtime::traits::` instead"]
|
|
pub use sp_runtime::traits::{Identity, TryConvertInto as JustTry};
|
|
pub use weight::{WeightBounds, WeightTrader};
|
|
|
|
pub mod prelude {
|
|
pub use super::{
|
|
export_xcm, validate_export, AssetExchange, AssetLock, ClaimAssets, ConvertOrigin,
|
|
DropAssets, Enact, Error, ExportXcm, FeeManager, FeeReason, LockError, MatchesFungible,
|
|
MatchesFungibles, MatchesNonFungible, MatchesNonFungibles, OnResponse, ProcessTransaction,
|
|
ShouldExecute, TransactAsset, VersionChangeNotifier, WeightBounds, WeightTrader,
|
|
WithOriginFilter,
|
|
};
|
|
#[allow(deprecated)]
|
|
pub use super::{Identity, JustTry};
|
|
}
|