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,106 @@
|
||||
// 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.
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
|
||||
extern crate alloc;
|
||||
|
||||
// generated file that tells us where to find the fixtures
|
||||
include!(concat!(env!("OUT_DIR"), "/fixture_location.rs"));
|
||||
|
||||
/// Enum for different fixture types
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum FixtureType {
|
||||
/// Polkavm (compiled Rust contracts)
|
||||
Rust,
|
||||
/// Resolc (compiled Solidity contracts to Polkavm)
|
||||
Resolc,
|
||||
/// Solc (compiled Solidity contracts to EVM bytecode)
|
||||
Solc,
|
||||
/// Solc Runtime (compiled Solidity contracts to EVM runtime bytecode)
|
||||
SolcRuntime,
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
impl FixtureType {
|
||||
fn file_extension(&self) -> &'static str {
|
||||
match self {
|
||||
Self::Rust => ".polkavm",
|
||||
Self::Resolc => ".resolc.polkavm",
|
||||
Self::Solc => ".sol.bin",
|
||||
Self::SolcRuntime => ".sol.runtime.bin",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Load a fixture module with the specified type and return binary contents along with its hash.
|
||||
#[cfg(feature = "std")]
|
||||
pub fn compile_module_with_type(
|
||||
fixture_name: &str,
|
||||
fixture_type: FixtureType,
|
||||
) -> anyhow::Result<(Vec<u8>, pezsp_core::H256)> {
|
||||
use anyhow::Context;
|
||||
let out_dir: std::path::PathBuf = FIXTURE_DIR.into();
|
||||
let fixture_path = out_dir.join(format!("{fixture_name}{}", fixture_type.file_extension()));
|
||||
let binary = std::fs::read(&fixture_path)
|
||||
.with_context(|| format!("Failed to load fixture {fixture_path:?}"))?;
|
||||
let code_hash = pezsp_io::hashing::keccak_256(&binary);
|
||||
Ok((binary, pezsp_core::H256(code_hash)))
|
||||
}
|
||||
|
||||
/// Load a given polkavm module and returns a polkavm binary contents along with its hash.
|
||||
#[cfg(feature = "std")]
|
||||
pub fn compile_module(fixture_name: &str) -> anyhow::Result<(Vec<u8>, pezsp_core::H256)> {
|
||||
compile_module_with_type(fixture_name, FixtureType::Rust)
|
||||
}
|
||||
|
||||
/// Fixtures used in runtime benchmarks.
|
||||
///
|
||||
/// We explicitly include those fixtures into the binary to make them
|
||||
/// available in no-std environments (runtime benchmarks).
|
||||
pub mod bench {
|
||||
use alloc::vec::Vec;
|
||||
pub const DUMMY: Option<&[u8]> = fixture!("dummy");
|
||||
pub const NOOP: Option<&[u8]> = fixture!("noop");
|
||||
|
||||
pub fn dummy() -> &'static [u8] {
|
||||
DUMMY.expect("`DUMMY` fixture not available, remove `SKIP_PALLET_REVIVE_FIXTURES` env variable to compile them.")
|
||||
}
|
||||
|
||||
pub fn noop() -> &'static [u8] {
|
||||
NOOP.expect("`NOOP` fixture not available, remove `SKIP_PALLET_REVIVE_FIXTURES` env variable to compile them.")
|
||||
}
|
||||
|
||||
pub fn dummy_unique(replace_with: u32) -> Vec<u8> {
|
||||
let mut dummy = dummy().to_vec();
|
||||
let idx = dummy
|
||||
.windows(4)
|
||||
.position(|w| w == &[0xDE, 0xAD, 0xBE, 0xEF])
|
||||
.expect("Benchmark fixture contains this pattern; qed");
|
||||
dummy[idx..idx + 4].copy_from_slice(&replace_with.to_le_bytes());
|
||||
dummy
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
#[test]
|
||||
fn out_dir_should_have_compiled_mocks() {
|
||||
let out_dir: std::path::PathBuf = crate::FIXTURE_DIR.into();
|
||||
assert!(out_dir.join("dummy.polkavm").exists());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user