Complete terminology rebrand to Pezkuwi ecosystem

Applied global changes: Polkadot->Pezkuwi, Parachain->TeyrChain, pallet->pezpallet, frame->pezframe.

Updated authors in Cargo.toml to include Kurdistan Tech Institute and pezkuwichain team.

Used Cargo aliases to maintain SDK compatibility while using rebranded names in source code.
This commit is contained in:
2025-12-22 09:03:43 +03:00
parent a52909422a
commit d839cbd92b
180 changed files with 3537 additions and 2889 deletions
@@ -0,0 +1,108 @@
mod xcm_config;
use core::marker::PhantomData;
use pezframe_support::{
construct_runtime, derive_impl, parameter_types,
traits::{ConstU128, ContainsPair, Disabled, Everything, Nothing},
weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight},
};
use pezframe_system::EnsureRoot;
use sp_core::ConstU32;
use sp_runtime::{
traits::{Get, IdentityLookup},
AccountId32,
};
use xcm::latest::prelude::*;
use xcm_builder::{EnsureXcmOrigin, SignedToAccountId32};
pub use xcm_config::*;
use xcm_executor::XcmExecutor;
use xcm_simulator::mock_message_queue;
pub type AccountId = AccountId32;
pub type Balance = u128;
parameter_types! {
pub const BlockHashCount: u64 = 250;
}
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for Runtime {
type AccountData = pezpallet_balances::AccountData<Balance>;
type AccountId = AccountId;
type Block = Block;
type Lookup = IdentityLookup<Self::AccountId>;
}
#[derive_impl(pezpallet_balances::config_preludes::TestDefaultConfig)]
impl pezpallet_balances::Config for Runtime {
type AccountStore = System;
type Balance = Balance;
type ExistentialDeposit = ConstU128<1>;
}
parameter_types! {
pub const ReservedXcmpWeight: Weight = Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4), 0);
pub const ReservedDmpWeight: Weight = Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND.saturating_div(4), 0);
}
impl mock_message_queue::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type XcmExecutor = XcmExecutor<XcmConfig>;
}
pub type LocalOriginToLocation =
SignedToAccountId32<RuntimeOrigin, AccountId, constants::RelayNetwork>;
pub struct TrustedLockerCase<T>(PhantomData<T>);
impl<T: Get<(Location, AssetFilter)>> ContainsPair<Location, Asset> for TrustedLockerCase<T> {
fn contains(origin: &Location, asset: &Asset) -> bool {
let (o, a) = T::get();
a.matches(asset) && &o == origin
}
}
parameter_types! {
pub RelayTokenForRelay: (Location, AssetFilter) = (Parent.into(), Wild(AllOf { id: AssetId(Parent.into()), fun: WildFungible }));
}
pub type TrustedLockers = TrustedLockerCase<RelayTokenForRelay>;
impl pezpallet_xcm::Config for Runtime {
type AdminOrigin = EnsureRoot<AccountId>;
type AdvertisedXcmVersion = pezpallet_xcm::CurrentXcmVersion;
// Aliasing is disabled: xcm_executor::Config::Aliasers is set to `Nothing`.
type AuthorizedAliasConsideration = Disabled;
type Currency = Balances;
type CurrencyMatcher = ();
type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type MaxLockers = ConstU32<8>;
type MaxRemoteLockConsumers = ConstU32<0>;
type RemoteLockConsumerIdentifier = ();
type RuntimeCall = RuntimeCall;
type RuntimeEvent = RuntimeEvent;
type RuntimeOrigin = RuntimeOrigin;
type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type SovereignAccountOf = location_converter::LocationConverter;
type TrustedLockers = TrustedLockers;
type UniversalLocation = constants::UniversalLocation;
type Weigher = weigher::Weigher;
type WeightInfo = pezpallet_xcm::TestWeightInfo;
type XcmExecuteFilter = Everything;
type XcmExecutor = XcmExecutor<XcmConfig>;
type XcmReserveTransferFilter = Everything;
type XcmRouter = XcmRouter;
type XcmTeleportFilter = Nothing;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
}
type Block = pezframe_system::mocking::MockBlock<Runtime>;
construct_runtime!(
pub struct Runtime {
System: pezframe_system,
Balances: pezpallet_balances,
MsgQueue: mock_message_queue,
PezkuwiXcm: pezpallet_xcm,
}
);
@@ -0,0 +1,8 @@
use xcm_builder::{FungibleAdapter, IsConcrete};
use crate::teyrchain::{
constants::KsmLocation, location_converter::LocationConverter, AccountId, Balances,
};
pub type AssetTransactor =
FungibleAdapter<Balances, IsConcrete<KsmLocation>, LocationConverter, AccountId, ()>;
@@ -0,0 +1,4 @@
use pezframe_support::traits::Everything;
use xcm_builder::AllowUnpaidExecutionFrom;
pub type Barrier = AllowUnpaidExecutionFrom<Everything>;
@@ -0,0 +1,16 @@
use pezframe_support::parameter_types;
use xcm::latest::prelude::*;
use xcm_simulator::mock_message_queue::TeyrChainId;
use crate::xcm_mock::teyrchain::Runtime;
parameter_types! {
pub KsmPerSecondPerByte: (AssetId, u128, u128) = (AssetId(Parent.into()), 1, 1);
pub const MaxAssetsIntoHolding: u32 = 64;
}
parameter_types! {
pub const KsmLocation: Location = Location::parent();
pub const RelayNetwork: NetworkId = NetworkId::Kusama;
pub UniversalLocation: InteriorLocation = [GlobalConsensus(RelayNetwork::get()), TeyrChain(TeyrChainId::<Runtime>::get().into())].into();
}
@@ -0,0 +1,10 @@
use xcm_builder::{AccountId32Aliases, DescribeAllTerminal, DescribeFamily, HashedDescription};
use crate::xcm_mock::teyrchain::{constants::RelayNetwork, AccountId};
type LocationToAccountId = (
HashedDescription<AccountId, DescribeFamily<DescribeAllTerminal>>,
AccountId32Aliases<RelayNetwork, AccountId>,
);
pub type LocationConverter = LocationToAccountId;
@@ -0,0 +1,48 @@
pub mod asset_transactor;
pub mod barrier;
pub mod constants;
pub mod location_converter;
pub mod origin_converter;
pub mod weigher;
use pezframe_support::traits::{Everything, Nothing};
use xcm_builder::{EnsureDecodableXcm, FixedRateOfFungible, PezframeTransactionalProcessor};
use crate::xcm_mock::teyrchain::{MsgQueue, PezkuwiXcm, RuntimeCall};
// Generated from `decl_test_network!`
pub type XcmRouter = EnsureDecodableXcm<crate::xcm_mock::TeyrChainXcmRouter<MsgQueue>>;
pub struct XcmConfig;
impl xcm_executor::Config for XcmConfig {
type Aliasers = Nothing;
type AssetClaims = ();
type AssetExchanger = ();
type AssetLocker = PezkuwiXcm;
type AssetTransactor = asset_transactor::AssetTransactor;
type AssetTrap = ();
type Barrier = barrier::Barrier;
type CallDispatcher = RuntimeCall;
type FeeManager = ();
type HrmpChannelAcceptedHandler = ();
type HrmpChannelClosingHandler = ();
type HrmpNewChannelOpenRequestHandler = ();
type IsReserve = ();
type IsTeleporter = ();
type MaxAssetsIntoHolding = constants::MaxAssetsIntoHolding;
type MessageExporter = ();
type OriginConverter = origin_converter::OriginConverter;
type PezpalletInstancesInfo = ();
type ResponseHandler = ();
type RuntimeCall = RuntimeCall;
type SafeCallFilter = Everything;
type SubscriptionService = ();
type Trader = FixedRateOfFungible<constants::KsmPerSecondPerByte, ()>;
type TransactionalProcessor = PezframeTransactionalProcessor;
type UniversalAliases = Nothing;
type UniversalLocation = constants::UniversalLocation;
type Weigher = weigher::Weigher;
type XcmEventEmitter = PezkuwiXcm;
type XcmRecorder = PezkuwiXcm;
type XcmSender = XcmRouter;
}
@@ -0,0 +1,14 @@
use pezpallet_xcm::XcmPassthrough;
use xcm_builder::{SignedAccountId32AsNative, SovereignSignedViaLocation};
use crate::xcm_mock::teyrchain::{
constants::RelayNetwork, location_converter::LocationConverter, RuntimeOrigin,
};
type XcmOriginToCallOrigin = (
SovereignSignedViaLocation<LocationConverter, RuntimeOrigin>,
SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
XcmPassthrough<RuntimeOrigin>,
);
pub type OriginConverter = XcmOriginToCallOrigin;
@@ -0,0 +1,12 @@
use pezframe_support::parameter_types;
use xcm::latest::prelude::*;
use xcm_builder::FixedWeightBounds;
use crate::xcm_mock::teyrchain::RuntimeCall;
parameter_types! {
pub const UnitWeightCost: Weight = Weight::from_parts(1, 1);
pub const MaxInstructions: u32 = 100;
}
pub type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;