Trait pallet_xcm::pallet::Config

source ·
pub trait Config: Config {
Show 23 associated items type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>; type Currency: LockableCurrency<Self::AccountId, Moment = BlockNumberFor<Self>>; type CurrencyMatcher: MatchesFungible<BalanceOf<Self>>; type SendXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = MultiLocation>; type XcmRouter: SendXcm; type ExecuteXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = MultiLocation>; type XcmExecuteFilter: Contains<(MultiLocation, Xcm<<Self as SysConfig>::RuntimeCall>)>; type XcmExecutor: ExecuteXcm<<Self as SysConfig>::RuntimeCall>; type XcmTeleportFilter: Contains<(MultiLocation, Vec<MultiAsset>)>; type XcmReserveTransferFilter: Contains<(MultiLocation, Vec<MultiAsset>)>; type Weigher: WeightBounds<<Self as SysConfig>::RuntimeCall>; type UniversalLocation: Get<InteriorMultiLocation>; type RuntimeOrigin: From<Origin> + From<<Self as SysConfig>::RuntimeOrigin>; type RuntimeCall: Parameter + GetDispatchInfo + IsType<<Self as Config>::RuntimeCall> + Dispatchable<RuntimeOrigin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>; type AdvertisedXcmVersion: Get<XcmVersion>; type AdminOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin>; type TrustedLockers: ContainsPair<MultiLocation, MultiAsset>; type SovereignAccountOf: ConvertLocation<Self::AccountId>; type MaxLockers: Get<u32>; type MaxRemoteLockConsumers: Get<u32>; type RemoteLockConsumerIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy; type WeightInfo: WeightInfo; const VERSION_DISCOVERY_QUEUE_SIZE: u32;
}
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.

Consequently, a runtime that wants to include this pallet must implement this trait. The module configuration trait.

Required Associated Types§

source

type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>

The overarching event type.

source

type Currency: LockableCurrency<Self::AccountId, Moment = BlockNumberFor<Self>>

A lockable currency.

source

type CurrencyMatcher: MatchesFungible<BalanceOf<Self>>

The MultiAsset matcher for Currency.

source

type SendXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = MultiLocation>

Required origin for sending XCM messages. If successful, it resolves to MultiLocation which exists as an interior location within this chain’s XCM context.

source

type XcmRouter: SendXcm

The type used to actually dispatch an XCM to its destination.

source

type ExecuteXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = MultiLocation>

Required origin for executing XCM messages, including the teleport functionality. If successful, then it resolves to MultiLocation which exists as an interior location within this chain’s XCM context.

source

type XcmExecuteFilter: Contains<(MultiLocation, Xcm<<Self as SysConfig>::RuntimeCall>)>

Our XCM filter which messages to be executed using XcmExecutor must pass.

source

type XcmExecutor: ExecuteXcm<<Self as SysConfig>::RuntimeCall>

Something to execute an XCM message.

source

type XcmTeleportFilter: Contains<(MultiLocation, Vec<MultiAsset>)>

Our XCM filter which messages to be teleported using the dedicated extrinsic must pass.

source

type XcmReserveTransferFilter: Contains<(MultiLocation, Vec<MultiAsset>)>

Our XCM filter which messages to be reserve-transferred using the dedicated extrinsic must pass.

source

type Weigher: WeightBounds<<Self as SysConfig>::RuntimeCall>

Means of measuring the weight consumed by an XCM message locally.

source

type UniversalLocation: Get<InteriorMultiLocation>

This chain’s Universal Location.

source

type RuntimeOrigin: From<Origin> + From<<Self as SysConfig>::RuntimeOrigin>

The runtime Origin type.

source

type RuntimeCall: Parameter + GetDispatchInfo + IsType<<Self as Config>::RuntimeCall> + Dispatchable<RuntimeOrigin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>

The runtime Call type.

source

type AdvertisedXcmVersion: Get<XcmVersion>

The latest supported version that we advertise. Generally just set it to pallet_xcm::CurrentXcmVersion.

source

type AdminOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin>

The origin that is allowed to call privileged operations on the XCM pallet

source

type TrustedLockers: ContainsPair<MultiLocation, MultiAsset>

The assets which we consider a given origin is trusted if they claim to have placed a lock.

source

type SovereignAccountOf: ConvertLocation<Self::AccountId>

How to get an AccountId value from a MultiLocation, useful for handling asset locks.

source

type MaxLockers: Get<u32>

The maximum number of local XCM locks that a single account may have.

source

type MaxRemoteLockConsumers: Get<u32>

The maximum number of consumers a single remote lock may have.

source

type RemoteLockConsumerIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy

The ID type for local consumers of remote locks.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

Required Associated Constants§

Implementors§