Type Alias moonriver_runtime::BridgePolkadotGrandpa
source · pub type BridgePolkadotGrandpa = Pallet<Runtime, Instance1>;
Aliased Type§
struct BridgePolkadotGrandpa(/* 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 best_finalized() -> Option<HeaderId<<<T as Config<I>>::BridgedChain as Chain>::Hash, <<T as Config<I>>::BridgedChain as Chain>::BlockNumber>>
pub fn best_finalized() -> Option<HeaderId<<<T as Config<I>>::BridgedChain as Chain>::Hash, <<T as Config<I>>::BridgedChain as Chain>::BlockNumber>>
An auto-generated getter for [BestFinalized
].
§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 submit_finality_proof(
origin: <T as Config>::RuntimeOrigin,
finality_target: Box<<<T as Config<I>>::BridgedChain as Chain>::Header>,
justification: GrandpaJustification<<<T as Config<I>>::BridgedChain as Chain>::Header>,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
👎Deprecated: submit_finality_proof
will be removed in May 2024. Use submit_finality_proof_ex
instead.
pub fn submit_finality_proof( origin: <T as Config>::RuntimeOrigin, finality_target: Box<<<T as Config<I>>::BridgedChain as Chain>::Header>, justification: GrandpaJustification<<<T as Config<I>>::BridgedChain as Chain>::Header>, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
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.
pub fn initialize(
origin: <T as Config>::RuntimeOrigin,
init_data: InitializationData<<<T as Config<I>>::BridgedChain as Chain>::Header>,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn initialize( origin: <T as Config>::RuntimeOrigin, init_data: InitializationData<<<T as Config<I>>::BridgedChain as Chain>::Header>, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
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.
pub 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
.
pub 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
.
pub fn submit_finality_proof_ex(
origin: <T as Config>::RuntimeOrigin,
finality_target: Box<<<T as Config<I>>::BridgedChain as Chain>::Header>,
justification: GrandpaJustification<<<T as Config<I>>::BridgedChain as Chain>::Header>,
current_set_id: u64,
_is_free_execution_expected: bool,
) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
pub fn submit_finality_proof_ex( origin: <T as Config>::RuntimeOrigin, finality_target: Box<<<T as Config<I>>::BridgedChain as Chain>::Header>, justification: GrandpaJustification<<<T as Config<I>>::BridgedChain as Chain>::Header>, current_set_id: u64, _is_free_execution_expected: bool, ) -> Result<PostDispatchInfo, DispatchErrorWithPostInfo<PostDispatchInfo>>
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.
pub fn force_set_pallet_state(
origin: <T as Config>::RuntimeOrigin,
new_current_set_id: u64,
new_authorities: Vec<(Public, u64)>,
new_best_header: Box<<<T as Config<I>>::BridgedChain as Chain>::Header>,
) -> Result<(), DispatchError>
pub fn force_set_pallet_state( origin: <T as Config>::RuntimeOrigin, new_current_set_id: u64, new_authorities: Vec<(Public, u64)>, new_best_header: Box<<<T as Config<I>>::BridgedChain as Chain>::Header>, ) -> Result<(), DispatchError>
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.
§impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
<T as Config>::RuntimeEvent: TryInto<Event<T, I>>,
impl<T, I> Pallet<T, I>where
T: Config<I>,
I: 'static,
<T as Config>::RuntimeEvent: TryInto<Event<T, I>>,
pub fn synced_headers_grandpa_info() -> Vec<HeaderFinalityInfo<GrandpaJustification<<<T as Config<I>>::BridgedChain as Chain>::Header>, AuthoritySet>>
pub fn synced_headers_grandpa_info() -> Vec<HeaderFinalityInfo<GrandpaJustification<<<T as Config<I>>::BridgedChain as Chain>::Header>, AuthoritySet>>
Get the GRANDPA justifications accepted in the current block.
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> BridgeRuntimeFilterCall<<T as Config>::AccountId, <T as Config>::RuntimeCall> for Pallet<T, I>where
I: 'static,
T: Config<I>,
<T as Config>::RuntimeCall: CallSubType<T, I>,
impl<T, I> BridgeRuntimeFilterCall<<T as Config>::AccountId, <T as Config>::RuntimeCall> for Pallet<T, I>where
I: 'static,
T: Config<I>,
<T as Config>::RuntimeCall: CallSubType<T, I>,
§type ToPostDispatch = ()
type ToPostDispatch = ()
post_dispatch
.§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.§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, )
§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> 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 = NoStorageVersionSet
type InCodeStorageVersion = NoStorageVersionSet
§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> HeaderChain<<T as Config<I>>::BridgedChain> for Pallet<T, I>where
T: Config<I>,
I: 'static,
impl<T, I> HeaderChain<<T as Config<I>>::BridgedChain> for Pallet<T, I>where
T: Config<I>,
I: 'static,
§fn finalized_header_state_root(
header_hash: <<T as Config<I>>::BridgedChain as Chain>::Hash,
) -> Option<<<T as Config<I>>::BridgedChain as Chain>::Hash>
fn finalized_header_state_root( header_hash: <<T as Config<I>>::BridgedChain as Chain>::Hash, ) -> Option<<<T as Config<I>>::BridgedChain as Chain>::Hash>
§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 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
§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, )
§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)
§fn integrity_test()
fn integrity_test()
§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> 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> 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> 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,
§const LOG_TARGET: &'static str = LOG_TARGET
const LOG_TARGET: &'static str = LOG_TARGET
§type OwnerStorage = StorageValue<_GeneratedPrefixForStoragePalletOwner<T, I>, <T as Config>::AccountId>
type OwnerStorage = StorageValue<_GeneratedPrefixForStoragePalletOwner<T, I>, <T as Config>::AccountId>
Owner
account.§type OperatingMode = BasicOperatingMode
type OperatingMode = BasicOperatingMode
§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>
§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.