mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 09:21:04 +00:00
BridgeHub subtree update (#2820)
* BH subtree master -> polkadot-staging by default * Squashed 'bridges/' changes from c9dd8b9dfc..0417308a48 0417308a48 Update docs (#2242) 1a0d3b55f3 Nits for subtree (#2241) 18fca2e122 Ensure that the origin is signed for submit_parachain_heads and submit_finality_proof calls (#2239) fab51067e7 minor doc fix (#2207) 4feb721d32 backport cumulus changes to polkadot-staging (#2167) 433741942a fix testnet argocd deploy (#2151) (#2152) ff9eadc7dc Updated BHR/W version + codegen (#2148) git-subtree-dir: bridges git-subtree-split: 0417308a489096979ed3e08d0f8caafbfca6e7e9 * Fix deps
This commit is contained in:
@@ -307,12 +307,13 @@ pub mod pallet {
|
||||
parachains.len() as _,
|
||||
))]
|
||||
pub fn submit_parachain_heads(
|
||||
_origin: OriginFor<T>,
|
||||
origin: OriginFor<T>,
|
||||
at_relay_block: (RelayBlockNumber, RelayBlockHash),
|
||||
parachains: Vec<(ParaId, ParaHash)>,
|
||||
parachain_heads_proof: ParaHeadsProof,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
Self::ensure_not_halted().map_err(Error::<T, I>::BridgeModule)?;
|
||||
ensure_signed(origin)?;
|
||||
|
||||
// we'll need relay chain header to verify that parachains heads are always increasing.
|
||||
let (relay_block_number, relay_block_hash) = at_relay_block;
|
||||
@@ -417,7 +418,7 @@ pub mod pallet {
|
||||
});
|
||||
|
||||
// we're refunding weight if update has not happened and if pruning has not happened
|
||||
let is_update_happened = matches!(update_result, Ok(_));
|
||||
let is_update_happened = update_result.is_ok();
|
||||
if !is_update_happened {
|
||||
actual_weight = actual_weight.saturating_sub(
|
||||
WeightInfoOf::<T, I>::parachain_head_storage_write_weight(
|
||||
@@ -1579,4 +1580,25 @@ pub(crate) mod tests {
|
||||
Some(mock::TOTAL_PARACHAINS * mock::HeadsToKeep::get()),
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn submit_finality_proof_requires_signed_origin() {
|
||||
run_test(|| {
|
||||
let (state_root, proof, parachains) =
|
||||
prepare_parachain_heads_proof::<RegularParachainHeader>(vec![(1, head_data(1, 0))]);
|
||||
|
||||
initialize(state_root);
|
||||
|
||||
// `submit_parachain_heads()` should fail when the pallet is halted.
|
||||
assert_noop!(
|
||||
Pallet::<TestRuntime>::submit_parachain_heads(
|
||||
RuntimeOrigin::root(),
|
||||
(0, test_relay_header(0, state_root).hash()),
|
||||
parachains,
|
||||
proof,
|
||||
),
|
||||
DispatchError::BadOrigin
|
||||
);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user