End-to-end encrypted messaging pallet with citizenship and trust score
verification. Integrated into People Chain runtime as pallet index 55.
spec_version bumped to 1_020_009.
- Replace thiserror::Error derive with manual Display + core::error::Error
impl in pezkuwi-subxt-metadata TryFromError, fixing no_std compilation
(thiserror v1 does not support no_std)
- Add pezsp-test-primitives as dev-dependency to pezsp-api, fixing 3
failing doc-tests that import pezsp_test_primitives::Block
- Revert unnecessary features=["std"] on workspace pezkuwi-subxt-metadata dep
- Apply taplo formatting to changed Cargo.toml files
- Add GenesisConfig to pezpallet-tiki that creates NFT Collection 0 and mints
NFT #0 for the founding citizen at genesis, solving the chicken-egg problem
where Collection 0 must exist before any citizenship NFTs can be minted
- Wire founding_citizen parameter through all People Chain genesis presets
(genesis, local_testnet, dev)
- Add create_nft_collection.rs XCM script for creating Collection 0 on live
chain via sudo XCM Transact from Relay Chain
- Add comprehensive_test.rs for post-upgrade chain testing
- Fix clippy warnings (map().flatten() -> and_then()) and apply taplo formatting
- Add CachedStakingDetails storage and receive_staking_details extrinsic
to staking-score pallet for Asset Hub XCM data reception
- Add TrustScoreUpdater triggers to referral, tiki, and perwerde pallets
so component score changes propagate to trust pallet
- Wire runtime hooks (OnKycApproved, OnCitizenshipRevoked) to Referral
and CitizenNftProvider to Tiki in people.rs
- Fix PerwerdeScoreSource and ReferralScoreSource to read actual pallet data
- Fix EnsureOrigin trait feature unification issue by removing cfg gate
from try_successful_origin and adding default Err(()) implementation
- Fix workspace Cargo.toml default-features for pezkuwi-subxt dependencies
- Update taplo.toml exclude patterns to use glob patterns for zombienet files
- Add StakingConfig to genesis_config_presets for proper era initialization
- Fix cargo fmt issues in identity-kyc pallet and pezkuwichain runtime
- Set num_cores to 2 for system teyrchains (Asset Hub + People Chain)
This commit fixes CI failures caused by curl-sys requiring OpenSSL 3.0.0+
which is not available in the CI container image (Debian bullseye).
Changes:
- Replace isahc with reqwest (rustls-tls feature) in relay-utils
- Remove isahc from workspace dependencies
- Update reqwest to use rustls-tls and json features
- Update Cargo.lock (removes curl, curl-sys, isahc, openssl-sys, native-tls)
Benefits:
- Pure Rust TLS implementation (no OpenSSL dependency)
- More portable across different Linux distributions
- Eliminates C compilation requirements for TLS
- Better security (memory-safe TLS implementation)
Affected workflows:
- Checks / cargo-clippy
- Checks / check-try-runtime
- Docs / test-doc, build-rustdoc
- Build and push images
- tests linux stable
- tests misc
- New CLI binary for network orchestration
- Spawn command with native/docker/k8s providers
- Backward compatibility: parachains -> teyrchains alias
- Backward compatibility: onboard_as_parachain alias
Successfully tested with 21-validator mainnet simulation:
- 21/21 GRANDPA votes
- Block production and finality working
- Asset Hub and People Chain teyrchains running
- Add [patch.crates-io] for serde and serde_core pointing to pezkuwichain/serde fix-wasm32v1-none branch
- Pin alloy crate versions to prevent conflicts
- Update serde to 1.0.228
The serde patch adds target_os=none checks to handle Cargo feature unification where std feature gets enabled even on no_std targets like wasm32v1-none.
Uncomment dev-dependencies that were previously commented out to break
circular dependencies. These dependencies are needed for tests to compile
when running clippy with --all-targets --all-features.
Changes include:
- pezkuwi/node/*: Add pezkuwi-node-subsystem-test-helpers, pezkuwi-primitives-test-helpers
- pezkuwi/xcm/*: Add pezpallet-xcm, xcm-pez-simulator
- pezcumulus/client/*: Add test client, runtime, and sproof builder deps
- bizinikiwi/pezframe/*: Add bizinikiwi-test-utils, pezframe-support-test,
pezpallet-transaction-payment, pezpallet-example-basic, etc.
- vendor/pezkuwi-zombienet-sdk: Fix imports from zombienet_sdk to pezkuwi_zombienet_sdk
All runtime-benchmarks feature flags have been updated accordingly.
cargo clippy --all-targets --all-features --workspace now passes.
- Update CRATES_PUBLISH_PLAN.md with Level 0-2 completion status
- Fix binary-merkle-tree and related dependencies
- Add runtime_logger_tests.rs
- Update various Cargo.toml files
- Update libp2p from 0.54.1 to 0.56.0 in Cargo.toml
- Update libp2p-kad from 0.46.2 to 0.48.0 for compatibility
- Remove deprecated bandwidth logging (removed in libp2p 0.56)
- transport.rs: Remove with_bandwidth_logging(), use websocket::Config
- service.rs: Add NoBandwidthSink stub for bandwidth metrics
- Fix NetworkBehaviour derive macro changes:
- behaviour.rs: Add From<Infallible> implementation for BehaviourOut
- Update pattern matching for new libp2p-swarm event fields:
- request_responses.rs: Add connection_id to patterns
- service.rs: Fix DialError::WrongPeerId field rename (endpoint → address)
- service.rs: Add peer_id to IncomingConnectionError pattern
- Fix test file for new transport return type:
- conformance.rs: Update transport usage
This eliminates the ring 0.16.20 security vulnerability (RUSTSEC-2024-0006)
by upgrading to ring 0.17.14 via the libp2p dependency chain.
- Add workspace exclude for vendor/pezkuwi-subxt to prevent
workspace inheritance conflicts
- Update pezkuwi-subxt codegen to use ::pezsp_runtime::DispatchError
directly instead of runtime_types path that doesn't exist due to
substitute_type
- Add From implementations for various pezkuwi_subxt error types
(EventsError, ExtrinsicError, BlockError, BackendError,
RuntimeApiError, ConstantError, OnlineClientError)
- Update StorageApi to use StorageClientAt with new try_fetch API
- Fix RuntimeApiError pattern matching for error handling
- Update substitute_type entries to use pezkuwi_subxt paths
- Rename migration table from eth_to_substrate_blocks to
eth_to_bizinikiwi_blocks for consistency
- Regenerate SQLX query cache for bizinikiwi table names
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.