pub type Module<T, I = ()> = Pallet<T, I>;
Pallet
insteadExpand description
Type alias to Pallet
, to be used by construct_runtime
.
Generated by pallet
attribute macro.
Aliased Type§
struct Module<T, I = ()>(/* private fields */);
Implementations
Source§impl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
Sourcepub fn submit_finality_proof(
origin: OriginFor<T>,
finality_target: Box<BridgedHeader<T, I>>,
justification: GrandpaJustification<BridgedHeader<T, I>>,
) -> DispatchResultWithPostInfo
👎Deprecated: submit_finality_proof
will be removed in May 2024. Use submit_finality_proof_ex
instead.
pub fn submit_finality_proof( origin: OriginFor<T>, finality_target: Box<BridgedHeader<T, I>>, justification: GrandpaJustification<BridgedHeader<T, I>>, ) -> DispatchResultWithPostInfo
submit_finality_proof
will be removed in May 2024. Use submit_finality_proof_ex
instead.This call is deprecated and will be removed around May 2024. Use the
submit_finality_proof_ex
instead. Semantically, this call is an equivalent of the
submit_finality_proof_ex
call without current authority set id check.
Sourcepub fn initialize(
origin: OriginFor<T>,
init_data: InitializationData<BridgedHeader<T, I>>,
) -> DispatchResultWithPostInfo
pub fn initialize( origin: OriginFor<T>, init_data: InitializationData<BridgedHeader<T, I>>, ) -> DispatchResultWithPostInfo
Bootstrap the bridge pallet with an initial header and authority set from which to sync.
The initial configuration provided does not need to be the genesis header of the bridged chain, it can be any arbitrary header. You can also provide the next scheduled set change if it is already know.
This function is only allowed to be called from a trusted origin and writes to storage with practically no checks in terms of the validity of the data. It is important that you ensure that valid data is being passed in.
Sourcepub fn set_owner(
origin: OriginFor<T>,
new_owner: Option<T::AccountId>,
) -> DispatchResult
pub fn set_owner( origin: OriginFor<T>, new_owner: Option<T::AccountId>, ) -> DispatchResult
Change PalletOwner
.
May only be called either by root, or by PalletOwner
.
Sourcepub fn set_operating_mode(
origin: OriginFor<T>,
operating_mode: BasicOperatingMode,
) -> DispatchResult
pub fn set_operating_mode( origin: OriginFor<T>, operating_mode: BasicOperatingMode, ) -> DispatchResult
Halt or resume all pallet operations.
May only be called either by root, or by PalletOwner
.
Sourcepub fn submit_finality_proof_ex(
origin: OriginFor<T>,
finality_target: Box<BridgedHeader<T, I>>,
justification: GrandpaJustification<BridgedHeader<T, I>>,
current_set_id: SetId,
_is_free_execution_expected: bool,
) -> DispatchResultWithPostInfo
pub fn submit_finality_proof_ex( origin: OriginFor<T>, finality_target: Box<BridgedHeader<T, I>>, justification: GrandpaJustification<BridgedHeader<T, I>>, current_set_id: SetId, _is_free_execution_expected: bool, ) -> DispatchResultWithPostInfo
Verify a target header is finalized according to the given finality proof. The proof
is assumed to be signed by GRANDPA authorities set with current_set_id
id.
It will use the underlying storage pallet to fetch information about the current authorities and best finalized header in order to verify that the header is finalized.
If successful in verification, it will write the target header to the underlying storage pallet.
The call fails if:
-
the pallet is halted;
-
the pallet knows better header than the
finality_target
; -
the id of best GRANDPA authority set, known to the pallet is not equal to the
current_set_id
; -
verification is not optimized or invalid;
-
header contains forced authorities set change or change with non-zero delay.
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.
Sourcepub fn force_set_pallet_state(
origin: OriginFor<T>,
new_current_set_id: SetId,
new_authorities: AuthorityList,
new_best_header: Box<BridgedHeader<T, I>>,
) -> DispatchResult
pub fn force_set_pallet_state( origin: OriginFor<T>, new_current_set_id: SetId, new_authorities: AuthorityList, new_best_header: Box<BridgedHeader<T, I>>, ) -> DispatchResult
Set current authorities set and best finalized bridged header to given values (almost) without any checks. This call can fail only if:
-
the call origin is not a root or a pallet owner;
-
there are too many authorities in the new set.
No other checks are made. Previously imported headers stay in the storage and are still accessible after the call.
Source§impl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
Sourcepub fn synced_headers_grandpa_info() -> Vec<StoredHeaderGrandpaInfo<BridgedHeader<T, I>>>
pub fn synced_headers_grandpa_info() -> Vec<StoredHeaderGrandpaInfo<BridgedHeader<T, I>>>
Get the GRANDPA justifications accepted in the current block.
Source§impl<T: Config<I>, I: 'static> Pallet<T, I>
impl<T: Config<I>, I: 'static> Pallet<T, I>
Sourcepub fn best_finalized() -> Option<BridgedBlockId<T, I>>
pub fn best_finalized() -> Option<BridgedBlockId<T, I>>
Returns the hash of the best finalized header.
Trait Implementations
Source§impl<T: Config<I>, I: 'static> BeforeAllRuntimeMigrations for Pallet<T, I>
impl<T: Config<I>, I: 'static> BeforeAllRuntimeMigrations for Pallet<T, I>
Source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
Source§impl<T, I: 'static> Benchmarking for Pallet<T, I>where
T: Config + Config<I>,
impl<T, I: 'static> Benchmarking for Pallet<T, I>where
T: Config + Config<I>,
Source§impl<T: Config<I>, I: 'static> Callable<T> for Pallet<T, I>
impl<T: Config<I>, I: 'static> Callable<T> for Pallet<T, I>
type RuntimeCall = Call<T, I>
Source§impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>
Source§type InCodeStorageVersion = NoStorageVersionSet
type InCodeStorageVersion = NoStorageVersionSet
Source§fn in_code_storage_version() -> Self::InCodeStorageVersion
fn in_code_storage_version() -> Self::InCodeStorageVersion
storage_version
attribute, or
[NoStorageVersionSet
] if the attribute is missing.Source§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 moreSource§impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§fn on_initialize(_n: BlockNumberFor<T>) -> Weight
fn on_initialize(_n: BlockNumberFor<T>) -> Weight
Source§fn on_finalize(_n: BlockNumberFor<T>)
fn on_finalize(_n: BlockNumberFor<T>)
§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 try_state(_n: BlockNumber) -> Result<(), DispatchError>
fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
§fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8>, DispatchError>
§fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8>) -> Result<(), DispatchError>
§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
Source§impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>
Source§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].Source§impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
Source§impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
].Source§impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>
Source§fn on_genesis()
fn on_genesis()
Source§impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
].Source§impl<T: Config<I>, I: 'static> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>
Source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].§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: Config<I>, I: 'static> OwnedBridgeModule<T> for Pallet<T, I>
impl<T: Config<I>, I: 'static> OwnedBridgeModule<T> for Pallet<T, I>
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>
§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
.§fn ensure_not_halted() -> Result<(), OwnedBridgeModuleError>
fn ensure_not_halted() -> Result<(), OwnedBridgeModuleError>
§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>
§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>
§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
).§fn operating_mode() -> Self::OperatingMode
fn operating_mode() -> Self::OperatingMode
Source§impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>
Source§fn module_name() -> &'static str
fn module_name() -> &'static str
Source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
Source§impl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>
impl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>
fn storage_info() -> Vec<StorageInfo>
Source§impl<T: Config<I>, I: 'static> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
impl<T: Config<I>, I: 'static> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>
Source§impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>
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.