mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-29 17:15:43 +00:00
feee773d15
`execute` and `send` try to decode the xcm in the parameters before reaching the filter line. The new extrinsics decode only after the filter line. These should be used instead of the old ones. ## TODO - [x] Tests - [x] Generate weights - [x] Deprecation issue -> https://github.com/paritytech/polkadot-sdk/issues/3771 - [x] PRDoc - [x] Handle error in pallet-contracts This would make writing XCMs in PJS Apps more difficult, but here's the fix for that: https://github.com/polkadot-js/apps/pull/10350. Already deployed! https://polkadot.js.org/apps/#/utilities/xcm Supersedes https://github.com/paritytech/polkadot-sdk/pull/1798/ --------- Co-authored-by: PG Herveou <pgherveou@gmail.com> Co-authored-by: command-bot <> Co-authored-by: Adrian Catangiu <adrian@parity.io>
136 lines
4.6 KiB
Rust
136 lines
4.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/>.
|
|
|
|
//! # XCM-Builder
|
|
//!
|
|
//! Types and helpers for *building* XCM configuration.
|
|
|
|
#![cfg_attr(not(feature = "std"), no_std)]
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
#[cfg(feature = "std")]
|
|
pub mod test_utils;
|
|
|
|
mod asset_conversion;
|
|
#[allow(deprecated)]
|
|
pub use asset_conversion::ConvertedConcreteAssetId;
|
|
pub use asset_conversion::{
|
|
AsPrefixedGeneralIndex, ConvertedConcreteId, MatchedConvertedConcreteId, V4V3LocationConverter,
|
|
};
|
|
|
|
mod barriers;
|
|
pub use barriers::{
|
|
AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses, AllowSubscriptionsFrom,
|
|
AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, DenyReserveTransferToRelayChain,
|
|
DenyThenTry, IsChildSystemParachain, RespectSuspension, TakeWeightCredit, TrailingSetTopicAsId,
|
|
WithComputedOrigin,
|
|
};
|
|
|
|
mod controller;
|
|
pub use controller::{
|
|
Controller, ExecuteController, ExecuteControllerWeightInfo, MaxXcmEncodedSize, QueryController,
|
|
QueryControllerWeightInfo, QueryHandler, SendController, SendControllerWeightInfo,
|
|
};
|
|
|
|
mod currency_adapter;
|
|
#[allow(deprecated)]
|
|
pub use currency_adapter::CurrencyAdapter;
|
|
|
|
mod fee_handling;
|
|
pub use fee_handling::{
|
|
deposit_or_burn_fee, HandleFee, XcmFeeManagerFromComponents, XcmFeeToAccount,
|
|
};
|
|
|
|
mod filter_asset_location;
|
|
pub use filter_asset_location::{AllAssets, Case, LocationWithAssetFilters, NativeAsset};
|
|
|
|
mod fungible_adapter;
|
|
pub use fungible_adapter::{FungibleAdapter, FungibleMutateAdapter, FungibleTransferAdapter};
|
|
|
|
mod fungibles_adapter;
|
|
pub use fungibles_adapter::{
|
|
AssetChecking, DualMint, FungiblesAdapter, FungiblesMutateAdapter, FungiblesTransferAdapter,
|
|
LocalMint, MintLocation, NoChecking, NonLocalMint,
|
|
};
|
|
|
|
mod location_conversion;
|
|
#[allow(deprecated)]
|
|
pub use location_conversion::ForeignChainAliasAccount;
|
|
pub use location_conversion::{
|
|
Account32Hash, AccountId32Aliases, AccountKey20Aliases, AliasesIntoAccountId32,
|
|
ChildParachainConvertsVia, DescribeAccountId32Terminal, DescribeAccountIdTerminal,
|
|
DescribeAccountKey20Terminal, DescribeAllTerminal, DescribeBodyTerminal, DescribeFamily,
|
|
DescribeLocation, DescribePalletTerminal, DescribeTerminus, DescribeTreasuryVoiceTerminal,
|
|
GlobalConsensusConvertsFor, GlobalConsensusParachainConvertsFor, HashedDescription,
|
|
LocalTreasuryVoiceConvertsVia, ParentIsPreset, SiblingParachainConvertsVia,
|
|
};
|
|
|
|
mod matches_location;
|
|
pub use matches_location::{StartsWith, StartsWithExplicitGlobalConsensus};
|
|
|
|
mod matches_token;
|
|
pub use matches_token::IsConcrete;
|
|
|
|
mod matcher;
|
|
pub use matcher::{CreateMatcher, MatchXcm, Matcher};
|
|
|
|
mod nonfungibles_adapter;
|
|
pub use nonfungibles_adapter::{
|
|
NonFungiblesAdapter, NonFungiblesMutateAdapter, NonFungiblesTransferAdapter,
|
|
};
|
|
|
|
mod nonfungible_adapter;
|
|
pub use nonfungible_adapter::{
|
|
NonFungibleAdapter, NonFungibleMutateAdapter, NonFungibleTransferAdapter,
|
|
};
|
|
|
|
mod origin_aliases;
|
|
pub use origin_aliases::AliasForeignAccountId32;
|
|
|
|
mod origin_conversion;
|
|
pub use origin_conversion::{
|
|
BackingToPlurality, ChildParachainAsNative, ChildSystemParachainAsSuperuser, EnsureXcmOrigin,
|
|
OriginToPluralityVoice, ParentAsSuperuser, RelayChainAsNative, SiblingParachainAsNative,
|
|
SiblingSystemParachainAsSuperuser, SignedAccountId32AsNative, SignedAccountKey20AsNative,
|
|
SignedToAccountId32, SovereignSignedViaLocation,
|
|
};
|
|
|
|
mod pay;
|
|
pub use pay::{FixedLocation, LocatableAssetId, PayAccountId32OnChainOverXcm, PayOverXcm};
|
|
|
|
mod process_xcm_message;
|
|
pub use process_xcm_message::ProcessXcmMessage;
|
|
|
|
mod routing;
|
|
pub use routing::{EnsureDelivery, WithTopicSource, WithUniqueTopic};
|
|
|
|
mod transactional;
|
|
pub use transactional::FrameTransactionalProcessor;
|
|
|
|
mod universal_exports;
|
|
pub use universal_exports::{
|
|
ensure_is_remote, BridgeBlobDispatcher, BridgeMessage, DispatchBlob, DispatchBlobError,
|
|
ExporterFor, HaulBlob, HaulBlobError, HaulBlobExporter, NetworkExportTable,
|
|
NetworkExportTableItem, SovereignPaidRemoteExporter, UnpaidLocalExporter, UnpaidRemoteExporter,
|
|
};
|
|
|
|
mod weight;
|
|
pub use weight::{
|
|
FixedRateOfFungible, FixedWeightBounds, TakeRevenue, UsingComponents, WeightInfoBounds,
|
|
};
|