Commit Graph
8 Commits
Author SHA1 Message Date
SatoshiQaziMuhammed 092dfc67a4 Add the licences page the wallet opens from Settings (#85)
The wallet passes ?commit=<sha>, the commit the installed build was made from, since releases are
not tagged. The page links the wallet source and the smoldot fork revision pinned at that commit
(the GPL-licensed light client), and lists the Rust crates and prebuilt native libraries the build
ships, read from the wallet repository at that commit. Without a valid commit it falls back to
main and says so. Kurmancî by default, English with ?lang=en.
2026-11-05 21:25:35 +04:00
SatoshiQaziMuhammed 9aacf5cdf8 Publish root 2: root keys move to three dedicated holders (#84)
signed/root.2.json carries the root drafted in docs/root-signing/proposals (threshold 2 of
3 new sr25519 holders, five years, targets key unchanged) with two signatures from the
previous root's keys and two from the new ones, all valid under the "substrate" context
that installed wallets check. Wallets already follow signed/root.N.json, so they move to
the new root on their next config refresh.

The consumed proposal is removed; the CI check runs with no proposals present.
2026-11-05 05:14:37 +04:00
SatoshiQaziMuhammed c3bc55d37c Sign the root over WalletConnect (#83)
* Sign the root over WalletConnect

Wallet 1.3.0's DApp browser never delivers injected-provider requests, so the page could
not get a signature from any installed wallet. WalletConnect is the route installed
wallets answer: on the phone the page opens the wallet by its pezkuwiwallet://wc link,
elsewhere it shows a code for the wallet to scan, then asks for polkadot_signMessage on
<Bytes>payload</Bytes>. Measured over a real session on the 1.3.0 signing code: the
signature verifies under the "substrate" context, which is what the thresholds count.

The injected provider stays as a second button for wallets where it works. The
WalletConnect bundle is built from scripts/root/wc (pinned versions, node build.mjs).

* Open the wallet by a fixed link, not the peer's redirect

The redirect in a WalletConnect session's peer metadata is supplied by whichever wallet
connects, so following it let a connecting peer navigate the signing page anywhere,
javascript: included.
2026-11-05 04:25:23 +04:00
SatoshiQaziMuhammed 306c65532e Name each wallet step on the root signing page (#82)
The wallet answers DApp requests one at a time and waits without limit for each, so a
tap that reaches a stalled wallet showed nothing. The page now names the step it is
waiting on, says after 45 s that the wallet is not answering and how to reset it, and
disables the button while a request is pending so repeated taps do not queue more.
2026-11-05 03:21:41 +04:00
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
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 8cb532113f feat: add terms and privacy policy pages 2026-02-09 05:18:27 +03:00