pub type BridgeWestendParachains = Pallet<Runtime, Instance3>;
Aliased Type§
struct BridgeWestendParachains(/* 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 submit_parachain_heads(
origin: <T as Config>::RuntimeOrigin,
at_relay_block: (u32, <BlakeTwo256 as Hasher>::Out),
parachains: Vec<(ParaId, <BlakeTwo256 as Hasher>::Out)>,
parachain_heads_proof: ParaHeadsProof,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn submit_parachain_heads( origin: <T as Config>::RuntimeOrigin, at_relay_block: (u32, <BlakeTwo256 as Hasher>::Out), parachains: Vec<(ParaId, <BlakeTwo256 as Hasher>::Out)>, parachain_heads_proof: ParaHeadsProof, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Submit proof of one or several parachain heads.
The proof is supposed to be proof of some Heads
entries from the
polkadot-runtime-parachains::paras
pallet instance, deployed at the bridged chain.
The proof is supposed to be crafted at the relay_header_hash
that must already be
imported by corresponding GRANDPA pallet at this chain.
The call fails if:
-
the pallet is halted;
-
the relay chain block
at_relay_block
is not imported by the associated bridge GRANDPA pallet.
The call may succeed, but some heads may not be updated e.g. because pallet knows better head or it isn’t tracked by the pallet.
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: BasicOperatingMode,
) -> Result<(), DispatchError>
pub fn set_operating_mode( origin: <T as Config>::RuntimeOrigin, operating_mode: BasicOperatingMode, ) -> Result<(), DispatchError>
Halt or resume all pallet operations.
May only be called either by root, or by PalletOwner
.
Sourcepub fn submit_parachain_heads_ex(
origin: <T as Config>::RuntimeOrigin,
at_relay_block: (u32, <BlakeTwo256 as Hasher>::Out),
parachains: Vec<(ParaId, <BlakeTwo256 as Hasher>::Out)>,
parachain_heads_proof: ParaHeadsProof,
_is_free_execution_expected: bool,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn submit_parachain_heads_ex( origin: <T as Config>::RuntimeOrigin, at_relay_block: (u32, <BlakeTwo256 as Hasher>::Out), parachains: Vec<(ParaId, <BlakeTwo256 as Hasher>::Out)>, parachain_heads_proof: ParaHeadsProof, _is_free_execution_expected: bool, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
Submit proof of one or several parachain heads.
The proof is supposed to be proof of some Heads
entries from the
polkadot-runtime-parachains::paras
pallet instance, deployed at the bridged chain.
The proof is supposed to be crafted at the relay_header_hash
that must already be
imported by corresponding GRANDPA pallet at this chain.
The call fails if:
-
the pallet is halted;
-
the relay chain block
at_relay_block
is not imported by the associated bridge GRANDPA pallet.
The call may succeed, but some heads may not be updated e.g. because pallet knows better head or it isn’t tracked by the pallet.
The is_free_execution_expected
parameter is not really used inside the call. It is
used by the transaction extension, which should be registered at the runtime level. If
this parameter is true
, the transaction will be treated as invalid, if the call won’t
be executed for free. If transaction extension is not used by the runtime, this
parameter is not used at all.
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 best_parachain_info(parachain: ParaId) -> Option<ParaInfo>
pub fn best_parachain_info(parachain: ParaId) -> Option<ParaInfo>
Get stored parachain info.
Sourcepub fn best_parachain_head(parachain: ParaId) -> Option<ParaStoredHeaderData>
pub fn best_parachain_head(parachain: ParaId) -> Option<ParaStoredHeaderData>
Get best finalized head data of the given parachain.
Sourcepub fn best_parachain_head_hash(
parachain: ParaId,
) -> Option<<BlakeTwo256 as Hasher>::Out>
pub fn best_parachain_head_hash( parachain: ParaId, ) -> Option<<BlakeTwo256 as Hasher>::Out>
Get best finalized head hash of the given parachain.
Sourcepub fn best_parachain_head_id<C>() -> Result<Option<HeaderId<<C as Chain>::Hash, <C as Chain>::BlockNumber>>, Error>
pub fn best_parachain_head_id<C>() -> Result<Option<HeaderId<<C as Chain>::Hash, <C as Chain>::BlockNumber>>, Error>
Get best finalized head id of the given parachain.
Sourcepub fn parachain_head(
parachain: ParaId,
hash: <BlakeTwo256 as Hasher>::Out,
) -> Option<ParaStoredHeaderData>
pub fn parachain_head( parachain: ParaId, hash: <BlakeTwo256 as Hasher>::Out, ) -> Option<ParaStoredHeaderData>
Get parachain head data with given hash.
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§type ToPostDispatch = ()
type ToPostDispatch = ()
post_dispatch
.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>)
who
is valid. Transactions not signed are not validated.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 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 try_state(_n: BlockNumber) -> Result<(), DispatchError>
fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
Source§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> 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 = BasicOperatingMode
type OperatingMode = BasicOperatingMode
Source§type OperatingModeStorage = StorageValue<_GeneratedPrefixForStoragePalletOperatingMode<T, I>, BasicOperatingMode, ValueQuery>
type OperatingModeStorage = StorageValue<_GeneratedPrefixForStoragePalletOperatingMode<T, I>, BasicOperatingMode, 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.