mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 05:51:02 +00:00
Expose MMR root through runtime API - use it in BEEFY client (#11183)
* beefy-gadget: allow custom runtime api provider * beefy-gadget: use mock runtime api in tests * pallet-mmr: expose mmr root from state through runtime API * beefy-gadget: get mmr root from runtime state * pallet-beefy-mmr: remove MmrRoot from header digests * frame/mmr: move mmr primitives out of frame * frame/mmr: completely move primitives out of frame * address review comments * beefy-mmr: bring back mmr root from header digest * clippy fixes for rustc 1.60 * address review comments
This commit is contained in:
@@ -18,7 +18,6 @@ serde = { version = "1.0.136", optional = true }
|
||||
frame-support = { version = "4.0.0-dev", path = "../support", default-features = false }
|
||||
frame-system = { version = "4.0.0-dev", path = "../system", default-features = false }
|
||||
pallet-mmr = { version = "4.0.0-dev", path = "../merkle-mountain-range", default-features = false }
|
||||
pallet-mmr-primitives = { version = "4.0.0-dev", path = "../merkle-mountain-range/primitives", default-features = false }
|
||||
pallet-session = { version = "4.0.0-dev", path = "../session", default-features = false }
|
||||
|
||||
sp-core = { version = "6.0.0", path = "../../primitives/core", default-features = false }
|
||||
@@ -46,7 +45,6 @@ std = [
|
||||
"k256/std",
|
||||
"log/std",
|
||||
"pallet-beefy/std",
|
||||
"pallet-mmr-primitives/std",
|
||||
"pallet-mmr/std",
|
||||
"pallet-session/std",
|
||||
"serde",
|
||||
|
||||
@@ -37,7 +37,7 @@ use sp_runtime::traits::{Convert, Hash, Member};
|
||||
use sp_std::prelude::*;
|
||||
|
||||
use beefy_primitives::mmr::{BeefyDataProvider, BeefyNextAuthoritySet, MmrLeaf, MmrLeafVersion};
|
||||
use pallet_mmr::primitives::LeafDataProvider;
|
||||
use pallet_mmr::{LeafDataProvider, ParentNumberAndHash};
|
||||
|
||||
use frame_support::traits::Get;
|
||||
|
||||
@@ -150,7 +150,7 @@ where
|
||||
fn leaf_data() -> Self::LeafData {
|
||||
MmrLeaf {
|
||||
version: T::LeafVersion::get(),
|
||||
parent_number_and_hash: frame_system::Pallet::<T>::leaf_data(),
|
||||
parent_number_and_hash: ParentNumberAndHash::<T>::leaf_data(),
|
||||
leaf_extra: T::BeefyDataProvider::extra_data(),
|
||||
beefy_next_authority_set: Pallet::<T>::update_beefy_next_authority_set(),
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ fn offchain_key(pos: usize) -> Vec<u8> {
|
||||
}
|
||||
|
||||
fn read_mmr_leaf(ext: &mut TestExternalities, index: usize) -> MmrLeaf {
|
||||
type Node = pallet_mmr_primitives::DataOrHash<Keccak256, MmrLeaf>;
|
||||
type Node = pallet_mmr::primitives::DataOrHash<Keccak256, MmrLeaf>;
|
||||
ext.persist_offchain_overlay();
|
||||
let offchain_db = ext.offchain_db();
|
||||
offchain_db
|
||||
|
||||
Reference in New Issue
Block a user