feat: Rebrand Polkadot/Substrate references to PezkuwiChain
This commit systematically rebrands various references from Parity Technologies' Polkadot/Substrate ecosystem to PezkuwiChain within the kurdistan-sdk. Key changes include: - Updated external repository URLs (zombienet-sdk, parity-db, parity-scale-codec, wasm-instrument) to point to pezkuwichain forks. - Modified internal documentation and code comments to reflect PezkuwiChain naming and structure. - Replaced direct references to with or specific paths within the for XCM, Pezkuwi, and other modules. - Cleaned up deprecated issue and PR references in various and files, particularly in and modules. - Adjusted image and logo URLs in documentation to point to PezkuwiChain assets. - Removed or rephrased comments related to external Polkadot/Substrate PRs and issues. This is a significant step towards fully customizing the SDK for the PezkuwiChain ecosystem.
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
// This file is part of Bizinikiwi.
|
||||
|
||||
// Copyright (C) Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Beefy pallet benchmarking.
|
||||
|
||||
#![cfg(feature = "runtime-benchmarks")]
|
||||
|
||||
use super::*;
|
||||
use crate::Pallet as BeefyMmr;
|
||||
use codec::Encode;
|
||||
use pezframe_benchmarking::v2::*;
|
||||
use pezframe_support::traits::Hooks;
|
||||
use pezframe_system::{Config as SystemConfig, Pallet as System};
|
||||
use pezpallet_mmr::{Nodes, Pallet as Mmr};
|
||||
use pezsp_consensus_beefy::Payload;
|
||||
use pezsp_runtime::traits::One;
|
||||
|
||||
pub trait Config:
|
||||
pezpallet_mmr::Config<Hashing = pezsp_consensus_beefy::MmrHashing> + crate::Config
|
||||
{
|
||||
}
|
||||
|
||||
impl<T> Config for T where
|
||||
T: pezpallet_mmr::Config<Hashing = pezsp_consensus_beefy::MmrHashing> + crate::Config
|
||||
{
|
||||
}
|
||||
|
||||
fn init_block<T: Config>(block_num: u32) {
|
||||
let block_num = block_num.into();
|
||||
System::<T>::initialize(&block_num, &<T as SystemConfig>::Hash::default(), &Default::default());
|
||||
Mmr::<T>::on_initialize(block_num);
|
||||
}
|
||||
|
||||
#[benchmarks]
|
||||
mod benchmarks {
|
||||
use super::*;
|
||||
|
||||
/// Generate ancestry proofs with `n` leafs and benchmark the logic that checks
|
||||
/// if the proof is optimal.
|
||||
#[benchmark]
|
||||
fn n_leafs_proof_is_optimal(n: Linear<2, 512>) {
|
||||
pezpallet_mmr::UseLocalStorage::<T>::set(true);
|
||||
|
||||
for block_num in 1..=n {
|
||||
init_block::<T>(block_num);
|
||||
}
|
||||
let proof = Mmr::<T>::generate_mock_ancestry_proof().unwrap();
|
||||
assert_eq!(proof.leaf_count, n as u64);
|
||||
|
||||
#[block]
|
||||
{
|
||||
<BeefyMmr<T> as AncestryHelper<HeaderFor<T>>>::is_proof_optimal(&proof);
|
||||
};
|
||||
}
|
||||
|
||||
#[benchmark]
|
||||
fn extract_validation_context() {
|
||||
pezpallet_mmr::UseLocalStorage::<T>::set(true);
|
||||
|
||||
init_block::<T>(1);
|
||||
let header = System::<T>::finalize();
|
||||
pezframe_system::BlockHash::<T>::insert(BlockNumberFor::<T>::one(), header.hash());
|
||||
|
||||
let validation_context;
|
||||
#[block]
|
||||
{
|
||||
validation_context =
|
||||
<BeefyMmr<T> as AncestryHelper<HeaderFor<T>>>::extract_validation_context(header);
|
||||
}
|
||||
|
||||
assert!(validation_context.is_some());
|
||||
}
|
||||
|
||||
#[benchmark]
|
||||
fn read_peak() {
|
||||
pezpallet_mmr::UseLocalStorage::<T>::set(true);
|
||||
|
||||
init_block::<T>(1);
|
||||
|
||||
let peak;
|
||||
#[block]
|
||||
{
|
||||
peak = Nodes::<T>::get(0)
|
||||
}
|
||||
|
||||
assert!(peak.is_some());
|
||||
}
|
||||
|
||||
/// Generate ancestry proofs with `n` nodes and benchmark the verification logic.
|
||||
/// These proofs are inflated, containing all the leafs, so we won't read any peak during
|
||||
/// the verification. We need to account for the peaks separately.
|
||||
#[benchmark]
|
||||
fn n_items_proof_is_non_canonical(n: Linear<2, 512>) {
|
||||
pezpallet_mmr::UseLocalStorage::<T>::set(true);
|
||||
|
||||
for block_num in 1..=n {
|
||||
init_block::<T>(block_num);
|
||||
}
|
||||
let proof = Mmr::<T>::generate_mock_ancestry_proof().unwrap();
|
||||
assert_eq!(proof.items.len(), n as usize);
|
||||
|
||||
let is_non_canonical;
|
||||
#[block]
|
||||
{
|
||||
is_non_canonical = <BeefyMmr<T> as AncestryHelper<HeaderFor<T>>>::is_non_canonical(
|
||||
&Commitment {
|
||||
payload: Payload::from_single_entry(
|
||||
known_payloads::MMR_ROOT_ID,
|
||||
MerkleRootOf::<T>::default().encode(),
|
||||
),
|
||||
block_number: n.into(),
|
||||
validator_set_id: 0,
|
||||
},
|
||||
proof,
|
||||
Mmr::<T>::mmr_root(),
|
||||
);
|
||||
};
|
||||
|
||||
assert_eq!(is_non_canonical, true);
|
||||
}
|
||||
|
||||
impl_benchmark_test_suite!(
|
||||
Pallet,
|
||||
crate::mock::new_test_ext(Default::default()),
|
||||
crate::mock::Test
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user