SatoshiQaziMuhammed 5ca2661eb2 fix(chains): drop node URLs that embed Nova's provider keys (#72)
* fix(chains): drop node URLs that embed Nova's Infura keys

Nova's configs carry Nova's own Infura project keys inside node URLs, and
every sync copied them into ours: Ethereum had four keyed Infura nodes and
Base one, across 43 published files. Our Android build already fills
`{INFURA_API_KEY}` from our own secret; the keyed URLs used another
organisation's quota and would break for every user when Nova rotates them.

- sync_from_nova.py strips nodes whose URL embeds an Infura key, and drops a
  chain left with no node (only Ethereum - Goerli, a retired testnet, in the
  dev files); merge-chains.py applies the same filter
- the published chain files are rewritten with that filter; nothing else in
  them changes (each file round-trips byte for byte through json.dump)
- check_pezkuwi_integrity.py refuses a keyed Infura URL under chains/

* fix(chains): strip every keyed provider URL, and make the gate fail closed

The first pass matched only `infura.io/.../v3/<lowercase hex>`, so it missed
`https://...infura.io/v3/<key>`, upper-case keys and hosts, and Nova's
OnFinality `?apikey=` URLs (Moonriver, and the Hades testnet in v20/v21
preConfigured). preConfigured was copied from Nova without the filter, and the
integrity check passed if grep itself failed.

- one predicate, is_keyed(), in sync_from_nova.py: Infura /v3/ ids and
  apikey/api_key/key/token query values, case-insensitive; {PLACEHOLDER}
  values are allowed
- preConfigured details are filtered after the copy; a chain left with no
  node loses its details file and its index entry (Hades, v20/v21 only)
- rewritten files keep their own indent, so the diff is the data change only
- check 5 imports is_keyed() and checks every string in every JSON file
  under chains/; an unreadable file or an empty tree is an error
- check 3 reports a grep error instead of passing on it
2026-10-17 20:55:00 +04:00
2026-01-23 00:29:48 +03:00

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

Contributing

  1. Fork this repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

Apache 2.0

Resources


Based on Nova Utils - Extended with Pezkuwichain support

© Dijital Kurdistan Tech Institute 2026

S
Description
No description provided
Readme
23 MiB
1 Watchers 0 Forks
Languages
Python 95.7%
Shell 4.3%