Commit Graph
6 Commits
Author SHA1 Message Date
SatoshiQaziMuhammed 6864b8c0aa Root signing page and a root chain check for replacing the root keys (#81)
- signed_config.py root drafts a later root in docs/root-signing/proposals/,
  where wallets never look, and keeps the current targets key by default.
- docs/root-signing/: a page for the Pezkuwi Wallet DApp browser that shows
  the proposal and its fingerprint, has the holder's wallet sign
  <Bytes>payload</Bytes>, checks every signature as the wallet will, collects
  signature codes and offers root.N.json once two current and two new holders
  have signed. Crypto bundles are served beside it.
- scripts/root/verify_root.mjs checks every published signed/root.N.json the
  way installed wallets do; Code Quality runs it. Wallet 1.3.0 accepts sr25519
  only under the substrate signing context, and a root it cannot verify stops
  its config refresh, so such a root must never reach master.
- Draft root 2: three new holder accounts, threshold 2, five years.
2026-11-04 23:58:11 +04:00
SatoshiQaziMuhammed 35feb5afe0 Fail the weekly run when the light client checkpoint is stale (#79)
The wallet now refreshes its light client specifications from this repository through the signed
config, so a wallet that never fell back no longer starts from the checkpoint its APK was built with.
That only helps if the checkpoint here is kept fresh.

light_client_specs.py --check-age DAYS reads the relay checkpoint's block number from light-client/,
compares it with the live head, and fails past DAYS. Code Quality runs it weekly with 60 days. The
README asks for the specifications to be regenerated before signing.
2026-11-03 08:09:44 +04:00
SatoshiQaziMuhammed c84494c22f Sign the served config files (#76)
* 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.
2026-11-01 04:41:22 +04:00
Satoshi Qazi Muhammed e5339235ad revert: temporarily restore content to the last Play-Store-compatible state
The live Play Store release (wallet-android 85bde7e, published 2026-06-15)
was built against whatever was on this branch's HEAD at the time - which,
since master had received no commits between 2026-03-02 and this week, was
commit 7a087cf. This week's changes (nova-base sync, Tron config/icons,
balance test fixtures, etc.) are real and wanted, but they've made master
incompatible with that still-live app version, and live users installing
fresh right now get a completely empty tokens list because of it (the app's
chain sync silently fails whole-hog on any single malformed/incompatible
chain entry, leaving new installs with zero locally-cached chains).

This makes master's served content match 7a087cf exactly, stopping the
bleeding for current live users without needing an emergency app release.
None of this week's work is lost - it's all preserved on
pending/post-fix-release and will come back once wallet-android's Tron
send feature is complete and both repos can ship together in one
coordinated release.
2026-07-11 08:23:48 -07:00
Satoshi Qazi Muhammed 45cbb72e1c Add Tron chain to Pezkuwi overlay; regenerate merged configs
- pezkuwi-overlay/chains/pezkuwi-chains.json: add Tron mainnet
  (native TRX + USDT-TRC20) chain entry, plus new TRX/Tron icons
  under pezkuwi-overlay/icons/ (the correct source location - synced
  into the top-level icons/ output by sync_from_nova.py).
- Regenerate all chains/*, xcm/*, staking/* merged output via
  sync_from_nova.py against the current nova-base submodule state.
- Also picks up previously-uncommitted local fixes: canonical
  Telegram/Twitter links (t.me/kurdishmedya, x.com/bizinikiwi) in
  README/docs/banners, and Pezkuwi mainnet + People chain SubQuery
  staking overrides.
2026-07-07 11:02:08 -07:00
Kurdistan Tech Ministry 46297339b1 Initial commit: Pezkuwi Wallet Utils
- Chain configurations for Polkadot, Kusama and all major parachains
- Pezkuwichain ecosystem (Relay Chain, Asset Hub, People Chain)
- Staking metadata and validator lists
- DApp configurations
- XCM cross-chain messaging configs
- Governance dApp listings
- Promotional banners
- Chain migration configurations
- Asset metadata and icons

Based on Nova Utils with Pezkuwichain extensions
2026-01-23 00:29:48 +03:00