pub type BridgeRococoMessages = Pallet<Runtime, Instance1>;
Aliased Type§
struct BridgeRococoMessages(/* private fields */);
Implementations
Source§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
Sourcepub fn set_owner(
origin: <T as Config>::RuntimeOrigin,
new_owner: Option<<T as Config>::AccountId>,
) -> Result<(), DispatchError>
pub fn set_owner( origin: <T as Config>::RuntimeOrigin, new_owner: Option<<T as Config>::AccountId>, ) -> Result<(), DispatchError>
Change PalletOwner
.
May only be called either by root, or by PalletOwner
.
Sourcepub fn set_operating_mode(
origin: <T as Config>::RuntimeOrigin,
operating_mode: MessagesOperatingMode,
) -> Result<(), DispatchError>
pub fn set_operating_mode( origin: <T as Config>::RuntimeOrigin, operating_mode: MessagesOperatingMode, ) -> Result<(), DispatchError>
Halt or resume all/some pallet operations.
May only be called either by root, or by PalletOwner
.
Sourcepub fn receive_messages_proof(
origin: <T as Config>::RuntimeOrigin,
relayer_id_at_bridged_chain: <<T as Config<I>>::BridgedChain as Chain>::AccountId,
proof: Box<FromBridgedChainMessagesProof<<<T as Config<I>>::BridgedChain as Chain>::Hash, <T as Config<I>>::LaneId>>,
messages_count: u32,
dispatch_weight: Weight,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn receive_messages_proof( origin: <T as Config>::RuntimeOrigin, relayer_id_at_bridged_chain: <<T as Config<I>>::BridgedChain as Chain>::AccountId, proof: Box<FromBridgedChainMessagesProof<<<T as Config<I>>::BridgedChain as Chain>::Hash, <T as Config<I>>::LaneId>>, messages_count: u32, dispatch_weight: Weight, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Receive messages proof from bridged chain.
The weight of the call assumes that the transaction always brings outbound lane state update. Because of that, the submitter (relayer) has no benefit of not including this data in the transaction, so reward confirmations lags should be minimal.
The call fails if:
-
the pallet is halted;
-
the call origin is not
Signed(_)
; -
there are too many messages in the proof;
-
the proof verification procedure returns an error - e.g. because header used to craft proof is not imported by the associated finality pallet;
-
the
dispatch_weight
argument is not sufficient to dispatch all bundled messages.
The call may succeed, but some messages may not be delivered e.g. if they are not fit into the unrewarded relayers vector.
Sourcepub fn receive_messages_delivery_proof(
origin: <T as Config>::RuntimeOrigin,
proof: FromBridgedChainMessagesDeliveryProof<<<T as Config<I>>::BridgedChain as Chain>::Hash, <T as Config<I>>::LaneId>,
relayers_state: UnrewardedRelayersState,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn receive_messages_delivery_proof( origin: <T as Config>::RuntimeOrigin, proof: FromBridgedChainMessagesDeliveryProof<<<T as Config<I>>::BridgedChain as Chain>::Hash, <T as Config<I>>::LaneId>, relayers_state: UnrewardedRelayersState, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Receive messages delivery proof from bridged chain.
Source§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
Sourcepub fn outbound_message_data(
lane: <T as Config<I>>::LaneId,
nonce: u64,
) -> Option<Vec<u8>>
pub fn outbound_message_data( lane: <T as Config<I>>::LaneId, nonce: u64, ) -> Option<Vec<u8>>
Get stored data of the outbound message with given nonce.
Sourcepub fn inbound_message_data(
lane: <T as Config<I>>::LaneId,
payload: Vec<u8>,
outbound_details: OutboundMessageDetails,
) -> InboundMessageDetails
pub fn inbound_message_data( lane: <T as Config<I>>::LaneId, payload: Vec<u8>, outbound_details: OutboundMessageDetails, ) -> InboundMessageDetails
Prepare data, related to given inbound message.
Sourcepub fn outbound_lane_data(
lane: <T as Config<I>>::LaneId,
) -> Option<OutboundLaneData>
pub fn outbound_lane_data( lane: <T as Config<I>>::LaneId, ) -> Option<OutboundLaneData>
Return outbound lane data.
Sourcepub fn inbound_lane_data(
lane: <T as Config<I>>::LaneId,
) -> Option<InboundLaneData<<<T as Config<I>>::BridgedChain as Chain>::AccountId>>
pub fn inbound_lane_data( lane: <T as Config<I>>::LaneId, ) -> Option<InboundLaneData<<<T as Config<I>>::BridgedChain as Chain>::AccountId>>
Return inbound lane data.
Source§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
Sourcepub fn do_try_state() -> Result<(), DispatchError>
pub fn do_try_state() -> Result<(), DispatchError>
Ensure the correctness of the state of this pallet.
Sourcepub fn do_try_state_for_outbound_lanes() -> Result<(), DispatchError>
pub fn do_try_state_for_outbound_lanes() -> Result<(), DispatchError>
Ensure the correctness of the state of outbound lanes.
Trait Implementations
Source§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,
Source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Source§impl<T, I> BridgeRuntimeFilterCall<<T as Config>::AccountId, <T as Config>::RuntimeCall> for Pallet<T, I>
impl<T, I> BridgeRuntimeFilterCall<<T as Config>::AccountId, <T as Config>::RuntimeCall> for Pallet<T, I>
Source§fn validate(
_who: &<T as Config>::AccountId,
call: &<T as Config>::RuntimeCall,
) -> ((), Result<ValidTransaction, TransactionValidityError>)
fn validate( _who: &<T as Config>::AccountId, call: &<T as Config>::RuntimeCall, ) -> ((), Result<ValidTransaction, TransactionValidityError>)
Validate messages in order to avoid “mining” messages delivery and delivery confirmation transactions, that are delivering outdated messages/confirmations. Without this validation, even honest relayers may lose their funds if there are multiple relays running and submitting the same messages/confirmations.
Source§type ToPostDispatch = ()
type ToPostDispatch = ()
post_dispatch
.Source§fn post_dispatch(
_who: &AccountId,
_has_failed: bool,
_to_post_dispatch: Self::ToPostDispatch,
)
fn post_dispatch( _who: &AccountId, _has_failed: bool, _to_post_dispatch: Self::ToPostDispatch, )
Source§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>
Source§impl<T, I> DispatchViewFunction for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> DispatchViewFunction for Pallet<T, I>where
T: Config<I>,
I: 'static,
fn dispatch_view_function<O>(
id: &ViewFunctionId,
input: &mut &[u8],
output: &mut O,
) -> Result<(), ViewFunctionDispatchError>where
O: Output,
Source§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,
Source§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.Source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
Source§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 moreSource§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,
Source§fn try_state(
_n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number,
) -> Result<(), DispatchError>
fn try_state( _n: <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, ) -> Result<(), DispatchError>
Source§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
Source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
Source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
). Read moreSource§fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Executive
pallet. Read moreSource§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
Source§fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
Source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
Source§fn integrity_test()
fn integrity_test()
Source§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,
Source§impl<T, I> MessagesBridge<<T as Config<I>>::OutboundPayload, <T as Config<I>>::LaneId> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> MessagesBridge<<T as Config<I>>::OutboundPayload, <T as Config<I>>::LaneId> for Pallet<T, I>where
T: Config<I>,
I: 'static,
Source§type SendMessageArgs = SendMessageArgs<T, I>
type SendMessageArgs = SendMessageArgs<T, I>
validate_message()
. Read moreSource§fn validate_message(
lane_id: <T as Config<I>>::LaneId,
message: &<T as Config<I>>::OutboundPayload,
) -> Result<SendMessageArgs<T, I>, <Pallet<T, I> as MessagesBridge<<T as Config<I>>::OutboundPayload, <T as Config<I>>::LaneId>>::Error>
fn validate_message( lane_id: <T as Config<I>>::LaneId, message: &<T as Config<I>>::OutboundPayload, ) -> Result<SendMessageArgs<T, I>, <Pallet<T, I> as MessagesBridge<<T as Config<I>>::OutboundPayload, <T as Config<I>>::LaneId>>::Error>
Source§fn send_message(args: SendMessageArgs<T, I>) -> SendMessageArtifacts
fn send_message(args: SendMessageArgs<T, I>) -> SendMessageArtifacts
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,
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§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,
Source§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
.Source§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,
Source§fn on_genesis()
fn on_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,
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§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,
Source§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
.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,
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§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,
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Source§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
Hooks::pre_upgrade
.Source§fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(state: Vec<u8>) -> Result<(), DispatchError>
Hooks::post_upgrade
.Source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moreSource§impl<T, I> OwnedBridgeModule<T> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> OwnedBridgeModule<T> for Pallet<T, I>where
T: Config<I>,
I: 'static,
Source§const LOG_TARGET: &'static str = LOG_TARGET
const LOG_TARGET: &'static str = LOG_TARGET
Source§type OwnerStorage = StorageValue<_GeneratedPrefixForStoragePalletOwner<T, I>, <T as Config>::AccountId>
type OwnerStorage = StorageValue<_GeneratedPrefixForStoragePalletOwner<T, I>, <T as Config>::AccountId>
Owner
account.Source§type OperatingMode = MessagesOperatingMode
type OperatingMode = MessagesOperatingMode
Source§type OperatingModeStorage = StorageValue<_GeneratedPrefixForStoragePalletOperatingMode<T, I>, MessagesOperatingMode, ValueQuery>
type OperatingModeStorage = StorageValue<_GeneratedPrefixForStoragePalletOperatingMode<T, I>, MessagesOperatingMode, ValueQuery>
Source§fn ensure_owner_or_root(
origin: <T as Config>::RuntimeOrigin,
) -> Result<(), BadOrigin>
fn ensure_owner_or_root( origin: <T as Config>::RuntimeOrigin, ) -> Result<(), BadOrigin>
PalletOwner
.Source§fn ensure_not_halted() -> Result<(), OwnedBridgeModuleError>
fn ensure_not_halted() -> Result<(), OwnedBridgeModuleError>
Source§fn set_owner(
origin: <T as Config>::RuntimeOrigin,
maybe_owner: Option<<T as Config>::AccountId>,
) -> Result<(), DispatchError>
fn set_owner( origin: <T as Config>::RuntimeOrigin, maybe_owner: Option<<T as Config>::AccountId>, ) -> Result<(), DispatchError>
Source§fn set_operating_mode(
origin: <T as Config>::RuntimeOrigin,
operating_mode: Self::OperatingMode,
) -> Result<(), DispatchError>
fn set_operating_mode( origin: <T as Config>::RuntimeOrigin, operating_mode: Self::OperatingMode, ) -> Result<(), DispatchError>
Source§fn module_owner() -> Option<<T as Config>::AccountId>
fn module_owner() -> Option<<T as Config>::AccountId>
None
,
then there are no direct ways to halt/resume module operations, but other runtime methods
may still be used to do that (i.e. democracy::referendum to update halt flag directly
or call the set_operating_mode
).Source§fn operating_mode() -> Self::OperatingMode
fn operating_mode() -> Self::OperatingMode
Source§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,
Source§fn module_name() -> &'static str
fn module_name() -> &'static str
Source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
Source§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,
Source§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>
Source§impl<T, I> TryDecodeEntireStorage for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> TryDecodeEntireStorage for Pallet<T, I>where
T: Config<I>,
I: 'static,
Source§fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>
fn try_decode_entire_state() -> Result<usize, Vec<TryDecodeEntireStorageError>>
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,
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§impl<T, I> ViewFunctionIdPrefix for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> ViewFunctionIdPrefix for Pallet<T, I>where
T: Config<I>,
I: 'static,
Source§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,
Source§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.