Files
pezkuwi-wallet-utils/.github/workflows
SatoshiQaziMuhammed 07aa8b3dd0 Purge changed files from jsDelivr after promoting to master (#77)
* 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.
2026-11-01 11:40:55 +04:00
..