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 = Location>;
type XcmRouter: SendXcm;
type ExecuteXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = Location>;
type XcmExecuteFilter: Contains<(Location, Xcm<<Self as Config>::RuntimeCall>)>;
type XcmExecutor: ExecuteXcm<<Self as Config>::RuntimeCall> + XcmAssetTransfers + FeeManager;
type XcmTeleportFilter: Contains<(Location, Vec<Asset>)>;
type XcmReserveTransferFilter: Contains<(Location, Vec<Asset>)>;
type Weigher: WeightBounds<<Self as Config>::RuntimeCall>;
type UniversalLocation: Get<InteriorLocation>;
type RuntimeOrigin: From<Origin> + From<<Self as SysConfig>::RuntimeOrigin>;
type RuntimeCall: Parameter + GetDispatchInfo + Dispatchable<RuntimeOrigin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>;
type AdvertisedXcmVersion: Get<XcmVersion>;
type AdminOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin>;
type TrustedLockers: ContainsPair<Location, Asset>;
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§
sourcetype RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>
type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>
The overarching event type.
sourcetype Currency: LockableCurrency<Self::AccountId, Moment = BlockNumberFor<Self>>
type Currency: LockableCurrency<Self::AccountId, Moment = BlockNumberFor<Self>>
A lockable currency.
sourcetype CurrencyMatcher: MatchesFungible<BalanceOf<Self>>
type CurrencyMatcher: MatchesFungible<BalanceOf<Self>>
The Asset
matcher for Currency
.
sourcetype SendXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = Location>
type SendXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = Location>
Required origin for sending XCM messages. If successful, it resolves to Location
which exists as an interior location within this chain’s XCM context.
sourcetype ExecuteXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = Location>
type ExecuteXcmOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin, Success = Location>
Required origin for executing XCM messages, including the teleport functionality. If
successful, then it resolves to Location
which exists as an interior location
within this chain’s XCM context.
sourcetype XcmExecuteFilter: Contains<(Location, Xcm<<Self as Config>::RuntimeCall>)>
type XcmExecuteFilter: Contains<(Location, Xcm<<Self as Config>::RuntimeCall>)>
Our XCM filter which messages to be executed using XcmExecutor
must pass.
sourcetype XcmExecutor: ExecuteXcm<<Self as Config>::RuntimeCall> + XcmAssetTransfers + FeeManager
type XcmExecutor: ExecuteXcm<<Self as Config>::RuntimeCall> + XcmAssetTransfers + FeeManager
Something to execute an XCM message.
sourcetype XcmTeleportFilter: Contains<(Location, Vec<Asset>)>
type XcmTeleportFilter: Contains<(Location, Vec<Asset>)>
Our XCM filter which messages to be teleported using the dedicated extrinsic must pass.
sourcetype XcmReserveTransferFilter: Contains<(Location, Vec<Asset>)>
type XcmReserveTransferFilter: Contains<(Location, Vec<Asset>)>
Our XCM filter which messages to be reserve-transferred using the dedicated extrinsic must pass.
sourcetype Weigher: WeightBounds<<Self as Config>::RuntimeCall>
type Weigher: WeightBounds<<Self as Config>::RuntimeCall>
Means of measuring the weight consumed by an XCM message locally.
sourcetype UniversalLocation: Get<InteriorLocation>
type UniversalLocation: Get<InteriorLocation>
This chain’s Universal Location.
sourcetype RuntimeOrigin: From<Origin> + From<<Self as SysConfig>::RuntimeOrigin>
type RuntimeOrigin: From<Origin> + From<<Self as SysConfig>::RuntimeOrigin>
The runtime Origin
type.
sourcetype RuntimeCall: Parameter + GetDispatchInfo + Dispatchable<RuntimeOrigin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>
type RuntimeCall: Parameter + GetDispatchInfo + Dispatchable<RuntimeOrigin = <Self as Config>::RuntimeOrigin, PostInfo = PostDispatchInfo>
The runtime Call
type.
sourcetype AdvertisedXcmVersion: Get<XcmVersion>
type AdvertisedXcmVersion: Get<XcmVersion>
The latest supported version that we advertise. Generally just set it to
pallet_xcm::CurrentXcmVersion
.
sourcetype AdminOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin>
type AdminOrigin: EnsureOrigin<<Self as SysConfig>::RuntimeOrigin>
The origin that is allowed to call privileged operations on the XCM pallet
sourcetype TrustedLockers: ContainsPair<Location, Asset>
type TrustedLockers: ContainsPair<Location, Asset>
The assets which we consider a given origin is trusted if they claim to have placed a lock.
sourcetype SovereignAccountOf: ConvertLocation<Self::AccountId>
type SovereignAccountOf: ConvertLocation<Self::AccountId>
How to get an AccountId
value from a Location
, useful for handling asset locks.
sourcetype MaxLockers: Get<u32>
type MaxLockers: Get<u32>
The maximum number of local XCM locks that a single account may have.
sourcetype MaxRemoteLockConsumers: Get<u32>
type MaxRemoteLockConsumers: Get<u32>
The maximum number of consumers a single remote lock may have.
sourcetype RemoteLockConsumerIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy
type RemoteLockConsumerIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy
The ID type for local consumers of remote locks.
sourcetype WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for extrinsics in this pallet.