pub trait Parachain: Chain {
type XcmpMessageHandler: XcmpMessageHandler;
type LocationToAccountId: ConvertLocation<AccountIdOf<Self::Runtime>>;
type ParachainInfo: Get<ParaId>;
type ParachainSystem;
type MessageProcessor: ProcessMessage + ServiceQueues;
type DigestProvider: Convert<BlockNumberFor<Self::Runtime>, Digest>;
// Required methods
fn init();
fn new_block();
fn finalize_block();
fn set_last_head();
// Provided methods
fn para_id() -> ParaId { ... }
fn parent_location() -> Location { ... }
fn sibling_location_of(para_id: ParaId) -> Location { ... }
fn sovereign_account_id_of(location: Location) -> AccountIdOf<Self::Runtime> { ... }
}
Required Associated Types§
type XcmpMessageHandler: XcmpMessageHandler
type LocationToAccountId: ConvertLocation<AccountIdOf<Self::Runtime>>
type ParachainInfo: Get<ParaId>
type ParachainSystem
type MessageProcessor: ProcessMessage + ServiceQueues
type DigestProvider: Convert<BlockNumberFor<Self::Runtime>, Digest>
Required Methods§
Provided Methods§
fn para_id() -> ParaId
fn parent_location() -> Location
fn sibling_location_of(para_id: ParaId) -> Location
fn sovereign_account_id_of(location: Location) -> AccountIdOf<Self::Runtime>
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.