* feat(config): sign the served config files signed/targets.json gives the sha256 of every JSON file the wallet may fetch, signed with an Ed25519 targets key. signed/root.json names that key and three sr25519 root keys (wallet accounts), two of which can replace it; the wallet will ship this first root. scripts/signed_config.py writes the root, signs the targets list and checks it. Code Quality now refuses a tree whose served files do not match the signed list, and runs weekly so an expiring signature shows a month ahead. * fix(config): sign the test fixtures and follow published roots The wallet refuses any JSON file from this repository that the signed list does not give, and its instrumented tests read tests/, so those files are signed too. A root after the first is written to signed/root.N.json, where the wallet looks for it; sign and check use the newest published root. * Purge changed files from jsDelivr after promoting to master When raw.githubusercontent.com is unreachable the wallet reads the same paths from jsDelivr, which caches a branch file for up to 12 hours and expires each file on its own. A stale chains.json next to a fresh signed/targets.json fails the wallet's hash check, so the wallet keeps its old config until both expire. After master moves, purge every JSON file that changed, and fail the job if any CDN behind jsDelivr did not purge, or throttled, a path.
Pezkuwi Wallet Utils
Configuration repository for Pezkuwi Wallet - next generation mobile wallet for Pezkuwichain and the Polkadot ecosystem.
Overview
This repository contains chain configurations, staking metadata, dApp listings, and other utility files used by Pezkuwi Wallet applications.
Structure
pezkuwi-wallet-utils/
├── chains/ # Chain configurations for all supported networks
│ ├── pezkuwichain/ # Pezkuwichain (Relay + Asset Hub + People Chain)
│ ├── polkadot/ # Polkadot ecosystem chains
│ ├── kusama/ # Kusama ecosystem chains
│ └── ... # Other ecosystem chains
├── staking/ # Staking metadata (validators, pools, etc.)
├── dapps/ # DApp configurations and metadata
├── xcm/ # XCM (Cross-Chain Messaging) configurations
├── governance/ # Governance dApps and proposals
├── banners/ # Promotional banners and announcements
├── migrations/ # Chain migration configurations
├── assets/ # Asset metadata and icons
├── icons/ # Chain and network icons
└── global/ # Global configuration files
Native Tokens
| Token | Network | Description |
|---|---|---|
| HEZ | Pezkuwi Relay Chain | Native token for fees and staking |
| PEZ | Asset Hub | Governance token |
| USDT | Asset Hub | Tether USD stablecoin |
Supported Networks
Pezkuwichain Ecosystem
- Pezkuwi Relay Chain - Main relay chain with HEZ token
- Asset Hub - System teyrchain for assets (PEZ, USDT, wHEZ)
- People Chain - Identity and people management
Polkadot Ecosystem
Full support for Polkadot and all major parachains.
Kusama Ecosystem
Full support for Kusama and all major parachains.
Usage
These configurations are fetched by Pezkuwi Wallet at runtime from GitHub raw URLs:
https://raw.githubusercontent.com/pezkuwichain/pezkuwi-wallet-utils/master/chains/{network}/chains.json
Signed config
signed/targets.json gives the sha256 of every JSON file the wallet may fetch, signed with the targets
key; signed/root.json names that key and the three root keys, two of which can replace it. The wallet
carries the first root and refuses a file whose hash the signed list does not give, so a change to any
served JSON file is re-signed in the same pull request:
python3 scripts/signed_config.py sign --key <targets seed>
Code Quality refuses a tree whose files do not match the signed list, and its weekly run fails a month before a signature expires.
Contributing
- Fork this repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Related Projects
License
Apache 2.0
Resources
- Website: https://pezkuwichain.io
- Documentation: https://docs.pezkuwichain.io
- Telegram: https://t.me/pezkuwichain
- Twitter: https://twitter.com/pezkuwichain
Based on Nova Utils - Extended with Pezkuwichain support
© Dijital Kurdistan Tech Institute 2026