Type Alias moonriver_runtime::BridgeXcmOverMoonbeam
source · pub type BridgeXcmOverMoonbeam = Pallet<Runtime, Instance1>;
Aliased Type§
struct BridgeXcmOverMoonbeam(/* private fields */);
Implementations
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
pub fn bridge_locations_from_origin(
origin: <T as Config>::RuntimeOrigin,
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
) -> Result<Box<BridgeLocations>, DispatchError>
pub fn bridge_locations_from_origin( origin: <T as Config>::RuntimeOrigin, bridge_destination_universal_location: Box<VersionedInteriorLocation>, ) -> Result<Box<BridgeLocations>, DispatchError>
Return bridge endpoint locations and dedicated lane identifier. This method converts
runtime origin
argument to relative Location
using the T::OpenBridgeOrigin
converter.
pub fn bridge_locations(
bridge_origin_relative_location: Location,
bridge_destination_universal_location: Junctions,
) -> Result<Box<BridgeLocations>, DispatchError>
pub fn bridge_locations( bridge_origin_relative_location: Location, bridge_destination_universal_location: Junctions, ) -> Result<Box<BridgeLocations>, DispatchError>
Return bridge endpoint locations and dedicated bridge identifier (BridgeId
).
pub fn bridge(
bridge_id: &BridgeId,
) -> Option<Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>>
pub fn bridge( bridge_id: &BridgeId, ) -> Option<Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>>
Return bridge metadata by bridge_id
pub fn bridge_by_lane_id(
lane_id: &<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId,
) -> Option<(BridgeId, Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>)>
pub fn bridge_by_lane_id( lane_id: &<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId, ) -> Option<(BridgeId, Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>)>
Return bridge metadata by lane_id
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
pub fn do_open_bridge(
locations: Box<BridgeLocations>,
lane_id: <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId,
create_lanes: bool,
) -> Result<(), DispatchError>
pub fn do_open_bridge( locations: Box<BridgeLocations>, lane_id: <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId, create_lanes: bool, ) -> Result<(), DispatchError>
Open bridge for lane.
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
pub fn do_try_state() -> Result<(), DispatchError>
pub fn do_try_state() -> Result<(), DispatchError>
Ensure the correctness of the state of this pallet.
pub fn do_try_state_for_bridge(
bridge_id: BridgeId,
bridge: Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>,
) -> Result<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId, DispatchError>
pub fn do_try_state_for_bridge( bridge_id: BridgeId, bridge: Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>, ) -> Result<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId, DispatchError>
Ensure the correctness of the state of the bridge.
pub fn do_try_state_for_messages() -> Result<(), DispatchError>
pub fn do_try_state_for_messages() -> Result<(), DispatchError>
Ensure the correctness of the state of the connected pallet_bridge_messages
instance.
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
pub fn open_bridge(
origin: <T as Config>::RuntimeOrigin,
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
) -> Result<(), DispatchError>
pub fn open_bridge( origin: <T as Config>::RuntimeOrigin, bridge_destination_universal_location: Box<VersionedInteriorLocation>, ) -> Result<(), DispatchError>
Open a bridge between two locations.
The caller must be within the T::OpenBridgeOrigin
filter (presumably: a sibling
parachain or a parent relay chain). The bridge_destination_universal_location
must be
a destination within the consensus of the T::BridgedNetwork
network.
The BridgeDeposit
amount is reserved on the caller account. This deposit
is unreserved after bridge is closed.
The states after this call: bridge is Opened
, outbound lane is Opened
, inbound lane
is Opened
.
pub fn close_bridge(
origin: <T as Config>::RuntimeOrigin,
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
may_prune_messages: u64,
) -> Result<(), DispatchError>
pub fn close_bridge( origin: <T as Config>::RuntimeOrigin, bridge_destination_universal_location: Box<VersionedInteriorLocation>, may_prune_messages: u64, ) -> Result<(), DispatchError>
Try to close the bridge.
Can only be called by the “owner” of this side of the bridge, meaning that the inbound XCM channel with the local origin chain is working.
Closed bridge is a bridge without any traces in the runtime storage. So this method first tries to prune all queued messages at the outbound lane. When there are no outbound messages left, outbound and inbound lanes are purged. After that, funds are returned back to the owner of this side of the bridge.
The number of messages that we may prune in a single call is limited by the
may_prune_messages
argument. If there are more messages in the queue, the method
prunes exactly may_prune_messages
and exits early. The caller may call it again
until outbound queue is depleted and get his funds back.
The states after this call: everything is either Closed
, or purged from the
runtime storage.
Trait Implementations
§impl<T, I> BeforeAllRuntimeMigrations for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> BeforeAllRuntimeMigrations for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
§impl<T, I> Callable<T> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Callable<T> for Pallet<T, I>where
T: Config<I>,
I: 'static,
type RuntimeCall = Call<T, I>
§impl<T, I> ExportXcm for Pallet<T, I>
impl<T, I> ExportXcm for Pallet<T, I>
§type Ticket = (BridgeId, Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>, <Pallet<T, <T as Config<I>>::BridgeMessagesPalletInstance> as MessagesBridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::OutboundPayload, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>>::SendMessageArgs, [u8; 32])
type Ticket = (BridgeId, Bridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::ThisChain, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>, <Pallet<T, <T as Config<I>>::BridgeMessagesPalletInstance> as MessagesBridge<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::OutboundPayload, <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId>>::SendMessageArgs, [u8; 32])
§fn validate(
network: NetworkId,
channel: u32,
universal_source: &mut Option<Junctions>,
destination: &mut Option<Junctions>,
message: &mut Option<Xcm<()>>,
) -> Result<(<Pallet<T, I> as ExportXcm>::Ticket, Assets), SendError>
fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<Junctions>, destination: &mut Option<Junctions>, message: &mut Option<Xcm<()>>, ) -> Result<(<Pallet<T, I> as ExportXcm>::Ticket, Assets), SendError>
message
is deliverable to the given destination
on network
,
spoofing its source as universal_source
and if so determine the cost which will be paid by
this chain to do so, returning a Ticket
token which can be used to enact delivery. Read more§impl<T, I> GetStorageVersion for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> GetStorageVersion for Pallet<T, I>where
T: Config<I>,
I: 'static,
§type InCodeStorageVersion = StorageVersion
type InCodeStorageVersion = StorageVersion
§fn in_code_storage_version() -> <Pallet<T, I> as GetStorageVersion>::InCodeStorageVersion
fn in_code_storage_version() -> <Pallet<T, I> as GetStorageVersion>::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
§fn current_storage_version() -> Self::InCodeStorageVersion
fn current_storage_version() -> Self::InCodeStorageVersion
in_code_storage_version
and will be removed after March 2024.Self::current_storage_version
] instead. Read more§impl<T, I> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn integrity_test()
fn integrity_test()
§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
]). Read more§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read more§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§impl<T, I> IntegrityTest for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> IntegrityTest for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].§impl<T, I> MessageDispatch for Pallet<T, I>
impl<T, I> MessageDispatch for Pallet<T, I>
§type DispatchPayload = Vec<u8>
type DispatchPayload = Vec<u8>
MessagePayload
used in delivery and this DispatchPayload
used in dispatch).§type DispatchLevelResult = XcmBlobMessageDispatchResult
type DispatchLevelResult = XcmBlobMessageDispatchResult
§type LaneId = <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId
type LaneId = <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId
§fn is_active(lane: <Pallet<T, I> as MessageDispatch>::LaneId) -> bool
fn is_active(lane: <Pallet<T, I> as MessageDispatch>::LaneId) -> bool
true
if dispatcher is ready to accept additional messages. The false
should
be treated as a hint by both dispatcher and its consumers - i.e. dispatcher shall not
simply drop messages if it returns false
. The consumer may still call the dispatch
if dispatcher has returned false
. Read more§fn dispatch_weight(
message: &mut DispatchMessage<<Pallet<T, I> as MessageDispatch>::DispatchPayload, <Pallet<T, I> as MessageDispatch>::LaneId>,
) -> Weight
fn dispatch_weight( message: &mut DispatchMessage<<Pallet<T, I> as MessageDispatch>::DispatchPayload, <Pallet<T, I> as MessageDispatch>::LaneId>, ) -> Weight
§impl<T, I> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn offchain_worker(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
)
fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, )
§impl<T, I> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_finalize(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
)
fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, )
Hooks::on_finalize
].§impl<T, I> OnGenesis for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnGenesis for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_genesis()
fn on_genesis()
§impl<T, I> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§impl<T, I> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_initialize(
n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
) -> Weight
fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Weight
Hooks::on_initialize
].§impl<T, I> OnMessagesDelivered<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnMessagesDelivered<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_messages_delivered(
lane_id: <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId,
enqueued_messages: u64,
)
fn on_messages_delivered( lane_id: <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId, enqueued_messages: u64, )
§impl<T, I> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§impl<T, I> OnRuntimeUpgrade for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OnRuntimeUpgrade for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].§impl<T, I> PalletInfoAccess for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> PalletInfoAccess for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn module_name() -> &'static str
fn module_name() -> &'static str
§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
§impl<T, I> PalletsInfoAccess for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> PalletsInfoAccess for Pallet<T, I>where
T: Config<I>,
I: 'static,
§impl<T, I> PartialEq for Pallet<T, I>
impl<T, I> PartialEq for Pallet<T, I>
§impl<T, I> StorageInfoTrait for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> StorageInfoTrait for Pallet<T, I>where
T: Config<I>,
I: 'static,
fn storage_info() -> Vec<StorageInfo>
§impl<T, I> WhitelistedStorageKeys for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> WhitelistedStorageKeys for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.