referrerpolicy=no-referrer-when-downgrade
bridge_hub_rococo_runtime

Type Alias XcmOverBridgeHubWestend

Source
pub type XcmOverBridgeHubWestend = Pallet<Runtime, Instance1>;

Aliased Type§

struct XcmOverBridgeHubWestend(/* private fields */);

Implementations

Source§

impl<T, I> Pallet<T, I>
where T: Config<I>, I: 'static,

Source

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.

Source

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.

Source§

impl<T, I> Pallet<T, I>
where T: Config<I>, I: 'static,

Source

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.

Source§

impl<T, I> Pallet<T, I>
where T: Config<I>, I: 'static,

Source

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.

Source

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).

Source

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

Source

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

Source§

impl<T, I> Pallet<T, I>
where T: Config<I>, I: 'static,

Source

pub fn do_try_state() -> Result<(), DispatchError>

Ensure the correctness of the state of this pallet.

Source

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.

Source

pub fn do_try_state_for_messages() -> Result<(), DispatchError>

Ensure the correctness of the state of the connected pallet_bridge_messages instance.

Trait Implementations

Source§

impl<T, I> BeforeAllRuntimeMigrations for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
Source§

impl<T, I> Callable<T> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

impl<T, I> Clone for Pallet<T, I>

Source§

fn clone(&self) -> Pallet<T, I>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T, I> Debug for Pallet<T, I>

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<T, I> DispatchViewFunction for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn dispatch_view_function<O>( id: &ViewFunctionId, input: &mut &[u8], output: &mut O, ) -> Result<(), ViewFunctionDispatchError>
where O: Output,

Source§

impl<T, I> ExportXcm for Pallet<T, I>
where T: Config<I, OutboundPayload = Vec<u8>> + Config<<T as Config<I>>::BridgeMessagesPalletInstance>, I: 'static,

Source§

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])

Intermediate value which connects the two phases of the export operation.
Source§

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>

Check whether the given 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
Source§

fn deliver( _: <Pallet<T, I> as ExportXcm>::Ticket, ) -> Result<[u8; 32], SendError>

Actually carry out the delivery operation for a previously validated message sending. Read more
Source§

impl<T, I> GetStorageVersion for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

type InCodeStorageVersion = StorageVersion

This type is generated by the pallet macro. Read more
Source§

fn in_code_storage_version() -> <Pallet<T, I> as GetStorageVersion>::InCodeStorageVersion

Returns the in-code storage version as specified in the storage_version attribute, or NoStorageVersionSet if the attribute is missing.
Source§

fn on_chain_storage_version() -> StorageVersion

Returns the storage version of the pallet as last set in the actual on-chain storage.
Source§

fn current_storage_version() -> Self::InCodeStorageVersion

👎Deprecated: This method has been renamed to in_code_storage_version and will be removed after March 2024.
DEPRECATED: Use Self::current_storage_version instead. Read more
Source§

impl<T, I> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
Source§

fn try_state( _n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), DispatchError>

Execute the sanity checks of this pallet, per block. Read more
Source§

fn on_initialize(_n: BlockNumber) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
Source§

fn on_finalize(_n: BlockNumber)

Block finalization hook. This is called at the very end of block execution. Read more
Source§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before Hooks::on_finalize). Read more
Source§

fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)

A hook to run logic after inherent application. Read more
Source§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by the FRAME Executive pallet. Read more
Source§

fn pre_upgrade() -> Result<Vec<u8>, DispatchError>

Execute some pre-checks prior to a runtime upgrade. Read more
Source§

fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>

Execute some post-checks after a runtime upgrade. Read more
Source§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main blockchain execution. Read more
Source§

impl<T, I> IntegrityTest for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

impl<T, I> MessageDispatch for Pallet<T, I>
where T: Config<I, InboundPayload = Vec<u8>> + Config<<T as Config<I>>::BridgeMessagesPalletInstance>, I: 'static,

Source§

type DispatchPayload = Vec<u8>

Decoded message payload type. Valid message may contain invalid payload. In this case message is delivered, but dispatch fails. Therefore, two separate types of payload (opaque MessagePayload used in delivery and this DispatchPayload used in dispatch).
Source§

type DispatchLevelResult = XcmBlobMessageDispatchResult

Fine-grained result of single message dispatch (for better diagnostic purposes)
Source§

type LaneId = <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId

Lane identifier type.
Source§

fn is_active(lane: <Pallet<T, I> as MessageDispatch>::LaneId) -> bool

Returns 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
Source§

fn dispatch_weight( message: &mut DispatchMessage<<Pallet<T, I> as MessageDispatch>::DispatchPayload, <Pallet<T, I> as MessageDispatch>::LaneId>, ) -> Weight

Estimate dispatch weight. Read more
Source§

fn dispatch( message: DispatchMessage<<Pallet<T, I> as MessageDispatch>::DispatchPayload, <Pallet<T, I> as MessageDispatch>::LaneId>, ) -> MessageDispatchResult<<Pallet<T, I> as MessageDispatch>::DispatchLevelResult>

Called when inbound message is received. Read more
Source§

impl<T, I> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn offchain_worker( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, )

This function is being called after every block import (when fully synced). Read more
Source§

impl<T, I> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_finalize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, )

Source§

impl<T, I> OnGenesis for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_genesis()

Something that should happen at genesis.
Source§

impl<T, I> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_idle( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, remaining_weight: Weight, ) -> Weight

Source§

impl<T, I> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_initialize( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Weight

Source§

impl<T, I> OnMessagesDelivered<<T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_messages_delivered( lane_id: <T as Config<<T as Config<I>>::BridgeMessagesPalletInstance>>::LaneId, enqueued_messages: u64, )

New messages delivery has been confirmed. Read more
Source§

impl<T, I> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_poll( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, weight: &mut WeightMeter, )

Code to execute every now and then at the beginning of the block after inherent application. Read more
Source§

impl<T, I> OnRuntimeUpgrade for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn on_runtime_upgrade() -> Weight

Source§

fn pre_upgrade() -> Result<Vec<u8>, DispatchError>

Source§

fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>

Source§

fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>

The expected and default behavior of this method is to handle executing pre_upgrade -> on_runtime_upgrade -> post_upgrade hooks for a migration. Read more
Source§

impl<T, I> PalletInfoAccess for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn index() -> usize

Index of the pallet as configured in the runtime.
Source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
Source§

fn name_hash() -> [u8; 16]

Two128 hash of name.
Source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
Source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
Source§

impl<T, I> PalletsInfoAccess for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
Source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
Source§

impl<T, I> PartialEq for Pallet<T, I>

Source§

fn eq(&self, other: &Pallet<T, I>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T, I> StorageInfoTrait for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

impl<T, I> TryDecodeEntireStorage for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>

Decode the entire data under the given storage, returning Ok(bytes_decoded) if success.
Source§

impl<T, I> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn try_state( n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, _s: Select, ) -> Result<(), DispatchError>

Execute the state checks.
Source§

impl<T, I> ViewFunctionIdPrefix for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn prefix() -> [u8; 16]

Source§

impl<T, I> WhitelistedStorageKeys for Pallet<T, I>
where T: Config<I>, I: 'static,

Source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a 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.
Source§

impl<T, I> Eq for Pallet<T, I>