mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-utils.git
synced 2026-11-02 07:31:08 +00:00
* 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.