Files
pezkuwi-sdk/pezkuwi/runtime/zagros/bridge-primitives/src/lib.rs
T
pezkuwichain cf463fe8ee FAZ 1 Complete: Workspace compile fixes, warning cleanup, version bumps
- Fixed is_using_frame_crate() macro to check for pezframe/pezkuwi_sdk
- Removed disable_pezframe_system_supertrait_check temporary bypasses
- Feature-gated storage-benchmark and teyrchain-benchmarks code
- Fixed dead_code warnings with underscore prefix (_Header)
- Removed unused imports and shadowing use statements
- Version bumps: procedural-tools 10.0.1, benchmarking-cli 32.0.1,
  docs 0.0.2, minimal-runtime 0.0.1, yet-another-teyrchain 0.6.1, umbrella 0.1.2
- Updated MAINNET_ROADMAP.md with FAZ 1 completion status
2026-01-02 11:41:09 +03:00

82 lines
2.8 KiB
Rust

// Copyright (C) Parity Technologies (UK) Ltd. and Dijital Kurdistan Tech Institute
// 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.
//! Bridge-related primitives of the Zagros chain.
#![warn(missing_docs)]
#![cfg_attr(not(feature = "std"), no_std)]
pub use pezbp_pezkuwi_core::*;
use pezbp_header_pez_chain::ChainWithGrandpa;
use pezbp_runtime::{decl_bridge_finality_runtime_apis, Chain, ChainId};
use pezframe_support::{pezsp_runtime::StateVersion, weights::Weight};
/// Zagros Chain
pub struct Zagros;
impl Chain for Zagros {
const ID: ChainId = *b"wend";
type BlockNumber = BlockNumber;
type Hash = Hash;
type Hasher = Hasher;
type Header = Header;
type AccountId = AccountId;
type Balance = Balance;
type Nonce = Nonce;
type Signature = Signature;
const STATE_VERSION: StateVersion = StateVersion::V1;
fn max_extrinsic_size() -> u32 {
max_extrinsic_size()
}
fn max_extrinsic_weight() -> Weight {
max_extrinsic_weight()
}
}
impl ChainWithGrandpa for Zagros {
const WITH_CHAIN_GRANDPA_PALLET_NAME: &'static str = WITH_ZAGROS_GRANDPA_PALLET_NAME;
const MAX_AUTHORITIES_COUNT: u32 = MAX_AUTHORITIES_COUNT;
const REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY: u32 =
REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY;
const MAX_MANDATORY_HEADER_SIZE: u32 = MAX_MANDATORY_HEADER_SIZE;
const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
}
// The TransactionExtension used by Zagros.
pub use pezbp_pezkuwi_core::CommonTransactionExtension as TransactionExtension;
/// Name of the teyrchains pezpallet in the Pezkuwichain runtime.
pub const PARAS_PALLET_NAME: &str = "Paras";
/// Name of the With-Zagros GRANDPA pezpallet instance that is deployed at bridged chains.
pub const WITH_ZAGROS_GRANDPA_PALLET_NAME: &str = "BridgeZagrosGrandpa";
/// Name of the With-Zagros teyrchains pezpallet instance that is deployed at bridged chains.
pub const WITH_ZAGROS_BRIDGE_TEYRCHAINS_PALLET_NAME: &str = "BridgeZagrosTeyrchains";
/// Maximal size of encoded `pezbp_teyrchains::ParaStoredHeaderData` structure among all Zagros
/// teyrchains.
///
/// It includes the block number and state root, so it shall be near 40 bytes, but let's have some
/// reserve.
pub const MAX_NESTED_TEYRCHAIN_HEAD_DATA_SIZE: u32 = 128;
decl_bridge_finality_runtime_apis!(zagros, grandpa);