pallet_messenger

Trait Config

source
pub trait Config: Config {
Show 16 associated items type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>; type SelfChainId: Get<ChainId>; type Currency: Mutate<Self::AccountId> + InspectHold<Self::AccountId> + MutateHold<Self::AccountId>; type WeightInfo: WeightInfo; type WeightToFee: WeightToFee<Balance = <<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>; type OnXDMRewards: OnXDMRewards<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>; type MmrHash: Parameter + Member + Default + Clone; type MmrProofVerifier: MmrProofVerifier<Self::MmrHash, BlockNumberFor<Self>, <<Self as Config>::Hashing as Hash>::Output>; type StorageKeys: StorageKeys; type DomainOwner: DomainOwner<Self::AccountId>; type HoldIdentifier: HoldIdentifier<Self>; type ChannelReserveFee: Get<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>; type ChannelInitReservePortion: Get<Perbill>; type DomainRegistration: DomainRegistration; type ChannelFeeModel: Get<FeeModel<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>>; // Required method fn get_endpoint_handler( endpoint: &Endpoint, ) -> Option<Box<dyn EndpointHandler<MessageId>>>;
}
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.

Required Associated Types§

source

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

source

type SelfChainId: Get<ChainId>

Gets the chain_id that is treated as src_chain_id for outgoing messages.

source

type Currency: Mutate<Self::AccountId> + InspectHold<Self::AccountId> + MutateHold<Self::AccountId>

Currency type pallet uses for fees and deposits.

source

type WeightInfo: WeightInfo

Weight information for extrinsics in this pallet.

source

type WeightToFee: WeightToFee<Balance = <<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>

Weight to fee conversion.

source

type OnXDMRewards: OnXDMRewards<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>

Handle XDM rewards.

source

type MmrHash: Parameter + Member + Default + Clone

Hash type of MMR

source

type MmrProofVerifier: MmrProofVerifier<Self::MmrHash, BlockNumberFor<Self>, <<Self as Config>::Hashing as Hash>::Output>

MMR proof verifier

source

type StorageKeys: StorageKeys

Storage key provider.

source

type DomainOwner: DomainOwner<Self::AccountId>

Domain owner provider.

source

type HoldIdentifier: HoldIdentifier<Self>

A variation of the Identifier used for holding the funds used for Messenger

source

type ChannelReserveFee: Get<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>

Channel reserve fee to open a channel.

source

type ChannelInitReservePortion: Get<Perbill>

Portion of Channel reserve taken by the protocol if the channel is in init state and is requested to be closed.

source

type DomainRegistration: DomainRegistration

Type to check if a given domain is registered on Consensus chain.

source

type ChannelFeeModel: Get<FeeModel<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>>

Channels fee model

Required Methods§

source

fn get_endpoint_handler( endpoint: &Endpoint, ) -> Option<Box<dyn EndpointHandler<MessageId>>>

function to fetch endpoint response handler by Endpoint.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§