Commit Graph
100 Commits
Author SHA1 Message Date
Satoshi Qazi Muhammed 331ed61a39 rename: Pezkuwi P2P -> Pezkuwi Exchange, point at pex.network 2026-07-11 14:22:33 -07:00
Satoshi Qazi Muhammed d02970d8e8 fix: restore missing Tron chain gradient icons (lost in the compat revert)
icons/chains/gradient/Tron.svg is what NetworkFlowRvItem actually renders
per-row (chain.icon, not the token icon) - missed this one when restoring
the token-level TRX.svg earlier. Also restoring the pezkuwi-overlay copy
for consistency. Both are static assets, unrelated to the chains.json
parsing incompatibility that forced master back to 7a087cf.
2026-07-11 14:01:18 -07:00
Satoshi Qazi Muhammed a7d0092cce fix: restore corrected TRX icon file (lost in the compat revert)
Static asset, unrelated to the chains.json schema/parsing incompatibility
that forced master back to 7a087cf - the live app's chains.json doesn't
reference this file right now (no Tron chain config), so it's inert for
production, but pending/post-fix-release's config (and the eventual
coordinated release) already points at this exact path.
2026-07-11 13:58:03 -07: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 1b49b149d0 fix: auto-merge only waited on Code Quality, never retried after Security
auto-merge.yml only listened for the "Code Quality" workflow_run event.
Whenever "Security" (CodeQL etc., usually the slower of the two) finished
after Code Quality, the merge attempt fired too early, failed against the
still-pending required check, and nothing ever re-triggered it - the PR sat
open until someone noticed and merged it by hand. This is the actual cause
behind the recurring "master->main sync PR stuck" issue, not a one-off fluke.

Now listens for both workflows, and verifies every required check is
actually green (via `gh pr checks --required`) before merging rather than
trusting that the one workflow which fired us means everything is done -
whichever of the two finishes last will now successfully trigger the merge.
2026-07-11 08:12:47 -07:00
Satoshi Qazi Muhammed 1b54fb3896 fix: TRX icon frame + carry over the HEZ/PEZ sharpening from main
TRX.svg used a full-bleed r=24 circle (no margin) instead of the r=18
padded-circle frame every other token icon uses, making it visually
inconsistent in the token list. Scaled its icon path down to fit the
standard frame instead of redrawing it.

Also brings HEZ/PEZ's sharper re-render (already pushed to main in 962daf7)
onto master, since master and main currently serve different assets to the
app (main/master divergence is a known, separately-tracked issue) and this
keeps both consistent for now.
2026-07-11 07:49:39 -07:00
Satoshi Qazi Muhammed 7b2a68f3d4 chore: retrigger CI (action_required gate) 2026-07-09 22:24:26 -07:00
Satoshi Qazi Muhammed 94bacf6e8a fix: target master (not GitHub default branch) in Nova Base sync PRs
sync-nova-base.yml checked out and PR'd against whatever branch GitHub
considers the repo default - which is 'main', a read-only mirror kept in
sync FROM master (auto-pr.yml/auto-merge.yml only flow master -> main,
never the reverse). master is what the live app actually fetches configs
from (see wallet-android's CHAINS_URL etc. all pointing at .../master/...).

Net effect: every one of the 29 accumulated 'Sync from Nova Base' PRs
(#1 through #36, 2026-02-09 through 2026-07-09) landed on a branch nothing
downstream ever reads, so 5 months of upstream Nova chain/RPC/asset
maintenance never reached production regardless of whether those PRs got
merged. Explicit ref/base: master makes future runs target the branch that
actually matters; the 29 stale main-targeted PRs are being closed as
superseded now that #36's content has been applied to master directly (see
next commit).
2026-07-09 22:23:51 -07:00
SatoshiQaziMuhammed e4b9ea062f test: verify Polkadot AH USDT sync too, not just Pezkuwi's own chains (#47)
The FullSyncPaymentUpdater ordering-bug fix isn't Pezkuwi-specific - it
affects any chain's assets on a busy shared subscription connection.
'USDT on Polkadot Asset Hub not showing' was one of the 3 original
symptoms reported at the start of this investigation, alongside Tron
being disabled and Pezkuwi's own tokens missing. Add it to the fixture
so the fix's coverage is actually verified end to end, not assumed.
2026-07-09 17:29:31 -07:00
SatoshiQaziMuhammed 6f87826b23 fix: remove DOT/ETH/BTC from Pezkuwi Asset Hub - never created on-chain (#46)
These 3 assetIds (1001/1002/1003) were added in 173f08a with icons
pointing at novasamatech/nova-utils (Nova's own repo, not Pezkuwi's)
and generic names/priceIds - clearly copied from a template rather than
verified against Pezkuwi's actual chain state.

Verified live via @pezkuwi/api against wss://asset-hub-rpc.pezkuwichain.io:
  api.query.assets.asset(1)    -> Live, real supply   (PEZ, correct)
  api.query.assets.asset(1000) -> Live, real supply   (USDT, correct)
  api.query.assets.asset(1001) -> None                (DOT, does not exist)
  api.query.assets.asset(1002) -> None                (ETH, does not exist)
  api.query.assets.asset(1003) -> None                (BTC, does not exist)

This is what caused wallet-android's StatemineAssetBalance to silently
never complete a sync for these 3 assets - it was fetching details for
assets that were never created in pallet-assets, not a wallet bug. Also
removes them from the new pezkuwi_assets_for_testBalance.json fixture
so the test doesn't assert on assets that were never real.
2026-07-09 16:02:39 -07:00
SatoshiQaziMuhammed 1529de750f test: add per-asset balance fixture covering full Pezkuwi ecosystem (#44)
chains_for_testBalance.json only has one entry per chain (native balance
via a raw RPC query, bypassing the app's real sync pipeline entirely -
this is why it couldn't catch the 2026-07-09 HEZ-on-Asset-Hub silent
sync failure). This new fixture covers individual assets (HEZ/PEZ/USDT/
DOT/ETH/BTC across Pezkuwi's 3 chains) and is meant to drive a test that
goes through the real BalancesUpdateSystem -> AssetCache pipeline, which
is what actually caught that bug.
2026-07-09 12:12:12 -07:00
SatoshiQaziMuhammed be8a3bccbc restore: re-add Tron after diagnostic test cleared it as the cause (#42)
The diagnostic (temporarily-remove-tron) didn't fix the live app -
confirmed the real cause was stale local app data on a specific test
device (large 98->68 chain diff against old cached state), resolved by
a clean reinstall on that device, and unrelated to Tron entirely.

Also fixes a real inconsistency found while restoring: Tron's USDT icon
pointed at the "main" branch while every other icon URL in this file
(including Tron's own chain icon and TRX's icon) points at "master" -
now consistent.
2026-07-09 05:04:01 -07:00
SatoshiQaziMuhammed 513145ce38 test: add Pezkuwi's own chains to the balance test fixture (#37)
* test: add Pezkuwi's own chains to the balance test fixture

Nova's upstream fixture only covers chains it knows about - Pezkuwi (relay),
Pezkuwi Asset Hub, and Pezkuwi People never had test coverage at all, since
they don't exist in Nova's world. This adds them as a pure addition on top
of the existing filter+override pipeline, so the published
chains_for_testBalance.json now covers exactly what our merged chains.json
actually contains: Nova-inherited chains + our own ecosystem.

Test account is the mainnet Founder key, verified live via @pezkuwi/api on
2026-07-09 against all three chains: substantial non-zero, non-frozen free
balance and a high nonce (actively used) on each - not a guessed or reaped
account. See pezkuwi-overlay/tests/pezkuwi_chains_for_testBalance.json for
the exact verified figures.

* chore: retrigger CI now that master triggers are fixed
2026-07-09 04:34:21 -07:00
SatoshiQaziMuhammed 3328c83612 diagnostic: temporarily remove Tron to test live-app breakage hypothesis (#38)
* diagnostic: temporarily remove Tron from published chains.json

Hypothesis: the live (already-published) Play Store app - unrelated to
any of today's wallet-android code changes, compiled months before Tron
support was ever added - stopped showing any tokens/networks around the
same time Tron was added to this shared chains.json (2026-07-07).

Tron's chainId ("tron:0x2b6653dc") is a third, previously-unseen format -
neither a 32-byte substrate genesis hash nor an "eip155:N" EVM id. If the
live app's pre-Tron code has any hardcoded assumption about chainId shape,
encountering this one malformed-from-its-perspective entry could throw
while processing the shared chain list - and per a related bug already
fixed on the wallet-android side today, a single chain's processing
failure can permanently kill sync for every chain, matching the observed
"completely empty" symptom.

This removes Tron from the published feed as a live, falsifiable test: if
the already-installed live app recovers after this goes out, the
hypothesis is confirmed and Tron needs a compatibility fix (in wallet-utils
and/or wallet-android) before being reintroduced. If it does NOT recover,
the hypothesis is wrong and the real cause is elsewhere.

Tron entry preserved for restoration once the compatibility issue (if
confirmed) is fixed - see pezkuwi-overlay/chains/pezkuwi-chains.json git
history (this commit's parent) for the full entry.

* chore: retrigger CI now that master triggers are fixed
2026-07-09 04:33:10 -07:00
SatoshiQaziMuhammed 35c1ed3d38 fix: trigger CI workflows on master, not just main (#39)
master is where real development happens and gets pushed to directly
(main is the auto-synced mirror) - branch protection was just added to
master requiring these exact check contexts, but the workflows only
fired for PRs/pushes targeting main, so the required checks could never
actually run for a master PR, permanently blocking every future merge.
2026-07-09 04:31:39 -07:00
Satoshi Qazi Muhammed 38c84f901f chore: retrigger CI (action_required gate) 2026-07-08 10:40:57 -07:00
Satoshi Qazi Muhammed 9485e41e62 Fix: re-add Crab to blacklist, mistakenly dropped in earlier cleanup
Real user hit a stuck "Connecting..." state on the Crab chain on a
live build. Root cause: the ORIGINAL blacklist (before today's
cleanup) correctly listed this chain as "Darwinia Crab" with chain_id
86e49c...c3a - I dropped that entry during the 2026-07-08 blacklist ID
correction, having concluded it "no longer exists upstream" based on
a name search for "darwinia"/"crab" that didn't match because the
chain's actual name field is just "Crab", not "Darwinia Crab" - a
search-term miss, not evidence the chain or its chain_id had changed.
It's been in chains.json all along with the same id and the same dead
RPC (crab-rpc.darwinia.network, confirmed unreachable again live
2026-07-08).

Re-verified against live chains.json before re-adding - it's really
there, and the RPC is really dead.
2026-07-08 10:27:28 -07:00
Satoshi Qazi Muhammed 7a89c902a8 chore: retrigger CI (action_required gate again) 2026-07-08 10:09:17 -07:00
Satoshi Qazi Muhammed a4e2038aac fix: exclude "account" field from hardcoded-private-key scan (false positive)
Every account_overrides.json/chains_for_testBalance.json entry has a
32-byte hex "account" field - a public AccountId32 (Substrate's public
account identifier), not a private key. The two share the same byte
length/hex format, but are fundamentally different: one is meant to be
public (it's literally how you address a chain account), the other
must stay secret. The scanner's regex can't tell them apart and flags
every single one, which just triggered a false "Possible private key
found" failure on PR #33 (the master->main sync).

This isn't a one-off - it'll fire on every future sync PR too, since
chains_for_testBalance.json always has these fields. Left as "FAILURE"
long-term, it trains reviewers to ignore this specific check, which is
exactly the alarm-fatigue failure mode that would let a real leaked
secret slip through unnoticed.
2026-07-08 09:46:58 -07:00
Satoshi Qazi Muhammed 8ba9821532 chore: retrigger CI (previous run stuck in action_required) 2026-07-08 09:39:57 -07:00
Satoshi Qazi Muhammed 8f74172a1b Fix reaped Polkadot/Kusama test accounts via verified Treasury pallet account
Last remaining balances-test failures (2 of 112): both Polkadot and
Kusama's fixture account (inherited from upstream nova-utils) had
zero balance - reaped since the fixture was last updated, causing
"Balance was null" assertion failures. Not a CI/infra bug, not
related to Tron - genuinely stale test data.

Replaced with the Treasury pallet account (py/trsry) for both chains
- protocol-owned, continuously replenished from fees/inflation, never
reaped. This matches the fixture's own existing pattern (Moonbeam and
Moonriver both already use their crowdloan pallet account, not a
personal wallet).

The account (0x6d6f646c70792f74727372790000000000000000000000000000000000000000)
was independently verified two ways before use: derived by hand
(modl + py/trsry + zero padding) and cross-checked against
@polkadot/api's own derivation - both matched exactly - then its
balance was queried live against wss://rpc.polkadot.io (22,527,885,189,670
free) and wss://kusama-rpc.polkadot.io (25,368,610,181,623 free) to
confirm it's genuinely funded, not just plausible-looking.

Applied via a new pezkuwi-overlay/tests/account_overrides.json,
applied by sync_from_nova.py after the existing chain-filtering step,
rather than hand-editing the generated fixture output (which would be
overwritten on the next sync).
2026-07-08 07:20:51 -07:00
Satoshi Qazi Muhammed 534479d57b Filter test fixture to chains actually present in current merged output
Latest CI run confirmed all remaining balances-test failures (50 of
160) were java.util.NoSuchElementException for chain ids no longer in
the app's config - both newly-blacklisted chains and a handful of
retired testnets (Westmint, Moonbase Alpha/Relay, Aleph Zero Testnet,
an old Xode id, RegionX) that the raw Nova fixture still references.
None were real balance/fee assertion failures - the app itself is
working correctly for every chain it actually has configured.

sync_tests() now filters chains_for_testBalance.json down to entries
whose chainId exists in the latest merged chains.json (v22, 80 -> 56
entries) instead of publishing Nova's fixture verbatim, so the test
only ever exercises chains the app can actually resolve - and stays
correct automatically as chains.json changes, instead of needing
separate manual upkeep alongside blocked-chains.json.
2026-07-08 05:03:40 -07:00
Satoshi Qazi Muhammed a346514a04 Extend chain blacklist with 27 more confirmed-dead RPC endpoints
Follow-up to the previous stale-blacklist fix: with that fix live,
Android's balances_test.yml CI job progressed much further but still
hung for the full 25-minute job timeout. Live logcat + a full-log
retry analysis (grouping by host, comparing first/last timestamp
against the ~23 minute test window) showed 27 more chains whose nodes
were retried continuously for the ENTIRE run duration with zero
successful connections - as opposed to the ~90 other chains, which
connect once (or retry once or twice in the first ~2 minutes) and
then go quiet, i.e. genuinely healthy.

Every one of these 27 is a real, currently-dead third-party RPC
(Kusama Asset Hub, KILT, Crust Shadow, Phala, Mangata X, Joystream,
Mythos, Base, and 19 others) - not anything related to Tron or this
session's other changes. Each was matched to its current chain_id by
node URL against live chains.json, not guessed.

sync_from_nova.py's new stale-blacklist warning confirms all 33
entries (6 previous + 27 new) now match something in Nova's current
chain data - zero silently-ineffective entries this time.

This is inherently a moving target (third-party community RPC uptime
changes over time) - the warning added in the previous commit is what
makes that maintainable going forward instead of silently rotting for
another five months.
2026-07-08 03:18:42 -07:00
Satoshi Qazi Muhammed 2efab72f83 Fix stale blacklist chain_ids, add stale-blacklist warning to sync script
Root cause of the balances-test hang in pezkuwi-wallet-android (silent
for over an hour, cancelled multiple times before finding this):
every single chain_id in blocked-chains.json was stale - none matched
anything in Nova's current chains.json (last_updated 2026-02-11, ~5
months of upstream chain-id drift since). The blacklist mechanism
silently no-opped for all 6 entries, so none of the chains it was
meant to exclude were actually excluded.

With the blacklist ineffective, several chains with genuinely dead RPC
endpoints (confirmed live 2026-07-08: 3DPass, Curio, Quartz, Subsocial
- 502s, timeouts, SSL failures) stayed in the merged output. The
Android app's ChainConnection/NodeAutobalancer has no backoff/circuit
breaker for dead endpoints, so it retried them in an extremely tight
loop (~1 attempt/second, 1500-1800+ attempts observed in a 25 minute
window per chain) - burning resources indefinitely and starving the
app's actual chain-sync/test work, which is what made the Android CI
job hang for over an hour with zero progress.

Fix: re-verified and corrected all chain_ids (matching by current
name against live chains.json), added 3DPass/Curio/Subsocial which
weren't blacklisted before, dropped entries for chains no longer
present upstream at all (Passet Hub Testnet, Darwinia Crab, DeepBrain,
Exosama - nothing to block, kept them as historical noise otherwise).

Also added a stale-blacklist warning to sync_from_nova.py: it now
tracks which blocked chain_ids actually matched something in Nova's
current chains across all versions, and prints a warning listing any
that didn't - so this exact silent drift is caught at sync time going
forward instead of rotting unnoticed for another five months.
2026-07-08 02:04:47 -07:00
Satoshi Qazi Muhammed 95939ab8a2 Publish tests/chains_for_testBalance.json, sync it from nova-base
Android's BalancesIntegrationTest CI fetches this fixture directly
from raw.githubusercontent.com/.../master/tests/chains_for_testBalance.json,
but it never existed in this repo's output - only chains/, xcm/,
icons/, and staking/ were ever synced from nova-base by
sync_from_nova.py. This is why "Run balances tests" in
pezkuwi-wallet-android has been failing (FileNotFoundException) even
after fixing its CI infra and instrumentation-runner issues.

Only this one fixture is published from nova-base/tests/, not the
rest of that directory (upstream's own pytest suite for validating
its chains.json output, unused by anything in this repo or its
consumers).
2026-07-07 15:58:42 -07:00
Satoshi Qazi Muhammed d8ba574e7a fix: point new Tron icon URLs at master (main sync currently gated on approval) 2026-07-07 11:40:39 -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 7a087cfa14 Fix auto-pr to not fail when branches are already in sync 2026-03-02 15:08:14 +03:00
Kurdistan Tech Ministry 20c5fd20cc Replace force-push sync with PR-based auto-merge workflow 2026-03-02 14:21:07 +03:00
Kurdistan Tech Ministry 1880440dee Move staking config from Relay Chain to Asset Hub
Staking pallet lives on Asset Hub, not Relay Chain.
- RC HEZ staking set to null
- AH HEZ staking enabled with relaychain and nomination-pools
- AH externalApi staking subquery URL added
- Removed RC staking override from global configs
2026-02-26 20:12:45 +03:00
Kurdistan Tech Ministry dd794cd87f Fix Pezkuwi P2P URL in dapps config
Update URL from telegram.pezkuwichain.io/p2p to app.pezkuwichain.io/p2p
2026-02-22 22:05:47 +03:00
Kurdistan Tech Ministry 04ed36b835 fix: correct HEZstaking DApp URL to app.pezkuwichain.io 2026-02-22 00:36:25 +03:00
Kurdistan Tech Ministry 0b5a963d09 Remove relay staking/staking-rewards externalApi (pallet removed in spec 1_020_006) 2026-02-21 01:55:56 +03:00
Kurdistan Tech Ministry 87eca4435b fix: route AH staking stats to AH SubQuery endpoint
The staking dashboard was showing INACTIVE because all Pezkuwi chains
(including Asset Hub) were routed to the relay chain SubQuery for
staking stats. The relay SubQuery only has relay chain activeStakers,
not AH pool stash accounts. Split the override so Asset Hub queries
its own SubQuery endpoint which has the pool stash data.
2026-02-19 16:53:29 +03:00
Kurdistan Tech Ministry c6a992c4e6 fix: exclude currencyIdScale from hardcoded secrets scan 2026-02-19 06:21:20 +03:00
Kurdistan Tech Ministry 0aeec6b566 ci: add Code Quality and Security workflows (Python lint, JSON validation, chain integrity, secret scan) 2026-02-19 05:56:31 +03:00
Kurdistan Tech Ministry 09c89b073d feat: add governance-delegations SubQuery endpoint for Pezkuwi relay chain
Enable PezWallet OpenGov delegation stats via SubQuery governance indexer.
2026-02-19 01:43:12 +03:00
Kurdistan Tech Ministry b053eb76ae feat: route AH staking queries to /assethub SubQuery endpoint 2026-02-18 06:01:06 +03:00
Kurdistan Tech Ministry a9d03eddfb revert: keep all Pezkuwi chains on single SubQuery endpoint 2026-02-18 05:55:09 +03:00
Kurdistan Tech Ministry 9e0b27f496 feat: separate SubQuery endpoint for Asset Hub
AH staking/history/rewards queries now use /assethub path
to route to dedicated AH GraphQL engine
2026-02-18 04:08:27 +03:00
Kurdistan Tech Ministry 4d7d55dc8c Apply blacklist filtering to chain merge
Sync script now reads blocked-chains.json and excludes
chains with broken/unreachable RPC endpoints from output.
102 → 98 chains (7 blocked removed)
2026-02-17 18:24:55 +03:00
Kurdistan Tech Ministry c098e4991d Add global config to A+B→C merge pipeline
- Created pezkuwi-overlay/config/global_config_overlay.json (source B)
  with stakingApiOverrides for Pezkuwi SubQuery + prod API URLs
- Updated sync_from_nova.py with sync_config() function
  Merges: nova-base/global + nova-base/staking (A) + overlay (B) → staking/ (C)
- Same merge pattern as chains, XCM, and icons
2026-02-17 17:22:21 +03:00
Kurdistan Tech Ministry 3f91aa103e fix: split staking API endpoints per ecosystem
multiStakingApiUrl reverted to Nova's SubQuery for Polkadot ecosystem.
Pezkuwi chains routed to self-hosted SubQuery via stakingApiOverrides.
2026-02-16 06:14:54 +03:00
Kurdistan Tech Ministry b8320ab9ff Add missing config fields to global_config files
multisigsApiUrl and proxyApiUrl were missing, causing
GlobalConfigRemote deserialization to fail when fetched
from GitHub.
2026-02-16 02:55:08 +03:00
Kurdistan Tech Ministry af663e24b7 Point dev multiStakingApiUrl to self-hosted SubQuery
Dev config was still pointing to Nova staging API which has no
Pezkuwi data. Now matches production config.
2026-02-15 22:18:26 +03:00
Kurdistan Tech Ministry 2b64253e7e update genesis hashes, xcm config and dapps for mainnet relaunch
- Update Pezkuwi chain genesis hashes (relay, asset hub, people)
- Update XCM transfer configs with new chain IDs
- Reorganize DApps: HEZstaking, Pezsnowbridge, Social-KURD
- Update allowed-chains whitelist
2026-02-15 12:20:02 +03:00
Kurdistan Tech Ministry 1d9161b181 fix: update HEZ and PEZ token icons with circular logos 2026-02-14 13:00:20 +03:00
Kurdistan Tech Ministry f43a3e6729 Point multiStakingApiUrl to self-hosted SubQuery 2026-02-14 02:38:39 +03:00
Kurdistan Tech Ministry 89f062183d feat: add subquery endpoints, staking config and identity chain references
- Add staking, staking-rewards, history externalApi endpoints (subquery.pezkuwichain.io)
  for both Pezkuwi Relay and Asset Hub
- Add identityChain reference to People chain on Relay and Asset Hub
- Add stakingWiki link to wiki.pezkuwichain.io/staking
- Add pushSupport option to Asset Hub
- Add defaultBlockTime to Asset Hub additional config
- Regenerate all merged chain versions via sync script
2026-02-13 06:43:08 +03:00
Kurdistan Tech Ministry a0c5c4994f fix: update generated chains.json with circular SVG icons 2026-02-12 04:42:39 +03:00
Kurdistan Tech Ministry dd4f115380 fix: update token icons to use circular SVGs 2026-02-12 04:40:59 +03:00
Kurdistan Tech Ministry cb7abce673 Replace icons with circular PNG versions 2026-02-12 04:20:00 +03:00
Kurdistan Tech Ministry 8d72594774 Add circular SVG icons for PEZ and HEZ tokens 2026-02-12 03:52:10 +03:00
Kurdistan Tech Ministry 34db056597 Add Pezkuwi ecosystem token icons to colored/white folders 2026-02-12 03:44:54 +03:00
Kurdistan Tech Ministry 916ea48594 feat: add Turkish localization for banners 2026-02-12 02:48:59 +03:00
Kurdistan Tech Ministry f31579ee79 Revert "fix: remove staking from Pezkuwi Asset Hub HEZ (no API endpoint)"
This reverts commit 6eec6fa062.
2026-02-11 10:32:01 +03:00
Kurdistan Tech Ministry 6eec6fa062 fix: remove staking from Pezkuwi Asset Hub HEZ (no API endpoint) 2026-02-11 10:28:53 +03:00
Kurdistan Tech Ministry cf79ad8f64 merge: filtered Pezkuwi + Nova (83 chains) 2026-02-11 10:15:21 +03:00
Kurdistan Tech Ministry eb5c272d16 merge: Pezkuwi + Nova unfiltered (102 chains) 2026-02-11 10:06:14 +03:00
Kurdistan Tech Ministry de6a7c0492 Filter broken chains (DNS failures) from Nova config 2026-02-11 09:30:52 +03:00
Kurdistan Tech Ministry 19f8588b94 Revert to original Nova chains.json for staking test 2026-02-11 09:28:26 +03:00
Kurdistan Tech Ministry 444c23f440 fix: remove Zagros Testnet (421MB runtime causes OOM) 2026-02-11 09:13:23 +03:00
Kurdistan Tech Ministry f217106145 fix: update Nova submodule and regenerate chains 2026-02-11 09:05:22 +03:00
Kurdistan Tech Ministry bdda67a02c fix: add more broken chains to blacklist (Crab, DeepBrain, Exosama) 2026-02-11 08:49:45 +03:00
Kurdistan Tech Ministry b816294af9 fix: merge script now outputs to android directory 2026-02-11 08:03:17 +03:00
Kurdistan Tech Ministry 378605416a fix: update android chains.json with blacklist-filtered config 2026-02-11 08:02:55 +03:00
Kurdistan Tech Ministry 2bb9bad68c fix: implement blacklist filtering for broken RPC chains
- Add blocked-chains.json with DNS-failing endpoints (AlephZero, InvArch, Quartz, Passet Hub Testnet)
- Update merge-chains.py to filter PAUSED chains, testnets (except Pezkuwi), and broken RPCs
- Reduce chain count from 102 to 86 (4 Pezkuwi + 82 working Nova chains)
- This fixes staking page not loading due to DNS resolution failures
2026-02-11 07:56:54 +03:00
Kurdistan Tech Ministry 645a93918a revert: restore relay chain HEZ to original config (staking null, name HEZkurd) 2026-02-10 23:45:21 +03:00
Kurdistan Tech Ministry ecac3644ce test: rename relay chain HEZ to Dicle Chain to verify staking dashboard 2026-02-10 23:41:26 +03:00
Kurdistan Tech Ministry c0591f9c28 fix: enable relaychain staking for Pezkuwi mainnet HEZ asset 2026-02-10 23:18:24 +03:00
Kurdistan Tech Ministry 90fe0e2348 Fix DApps links: apps.pezkuwichain.io -> pezkuwichain.io
- Update Pezkuwi link to pezkuwichain.io
- Update Pezkuwi Staking link to pezkuwichain.io
- Update Pezsnowbridge link to pezkuwichain.io
- Add Pezkuwi P2P for DEX category (telegram.pezkuwichain.io/p2p)
2026-02-10 06:48:31 +03:00
Kurdistan Tech Ministry 0ab4554d47 Fix HEZ staking: single button on Asset Hub, rename to HEZkurd 2026-02-10 02:11:13 +03:00
Kurdistan Tech Ministry 238cb91a47 Fix Pezkuwi staking configuration to match Polkadot pattern
Source changes (pezkuwi-overlay/chains/pezkuwi-chains.json):
- Pezkuwi Relay Chain: Add stakingMaxElectingVoters: 22500
- Pezkuwi Asset Hub HEZ: Change staking from ["nomination-pools"] to ["relaychain"]
- Pezkuwi Asset Hub: Add stakingMaxElectingVoters: 22500

This fixes the "Loading staking info" issue where findStakingTypeBackingNominationPools()
was failing because nomination-pools had no backing staking type.

Regenerated all chain versions via sync_from_nova.py
2026-02-10 00:06:56 +03:00
Kurdistan Tech Ministry 1df45ae371 Revert "Fix Pezkuwi staking configuration to match Polkadot pattern"
This reverts commit 5a917511cc.
2026-02-10 00:05:06 +03:00
Kurdistan Tech Ministry 5a917511cc Fix Pezkuwi staking configuration to match Polkadot pattern
- Pezkuwi Relay Chain: Add stakingMaxElectingVoters: 22500
- Pezkuwi Asset Hub HEZ: Change staking from ["nomination-pools"] to ["relaychain"]
- Pezkuwi Asset Hub: Add stakingMaxElectingVoters: 22500

This fixes the "Loading staking info" issue where findStakingTypeBackingNominationPools()
was failing because nomination-pools had no backing staking type.
2026-02-10 00:02:15 +03:00
Kurdistan Tech Ministry c805a4a9ee Add timelineChain config for Asset Hub nomination pools
Asset Hub uses parent relay chain for era calculations since
it doesn't have Babe consensus module (uses Aura instead).
This fixes the crash when accessing nomination pools staking.
2026-02-09 19:57:14 +03:00
Kurdistan Tech Ministry f7dee872d9 feat(staking): enable nomination-pools on Asset Hub
Pezkuwi 2.0 architecture:
- Relay Chain: relaychain staking (validators)
- Asset Hub: nomination-pools (NominationPools pallet index 81)
2026-02-09 09:16:07 +03:00
Kurdistan Tech Ministry 92d5edfaec fix(staking): disable Asset Hub nomination-pools until wallet supports Polkadot 2.0
- Asset Hub HEZ staking set to null (was nomination-pools)
- Relay chain HEZ keeps relaychain staking only
- Wallet code prepared for Polkadot 2.0 but config disabled for now
2026-02-09 08:47:15 +03:00
Kurdistan Tech Ministry 704085ad0b fix(staking): move nomination-pools from relay chain to Asset Hub
- Relay chain HEZ: only relaychain staking (validator staking)
- Asset Hub HEZ: nomination-pools staking
- Matches actual Pezkuwi runtime configuration where NominationPools pallet is on Asset Hub
2026-02-09 08:40:23 +03:00
Kurdistan Tech Ministry ec03500557 fix: add relaychainAsNative to Asset Hub for swap pool discovery 2026-02-09 07:30:51 +03:00
Kurdistan Tech Ministry 39ca67dab8 fix: complete Pezkuwi overlay + proper Nova merge
Pezkuwi overlay (B source):
- pezkuwi-chains.json: 4 chains (Relay, Zagros, Asset Hub, People)
- pezkuwi-xcm.json: full XCM config with networkDeliveryFee, networkBaseWeight
- pezkuwi-xcm-dynamic.json: dynamic XCM config

Merge script:
- Takes Nova as base (A source)
- Adds Pezkuwi entries to ALL XCM sections
- Pezkuwi chains appear first
- Nothing gets deleted

All chains have disabledCheckMetadataHash: true
2026-02-09 06:56:35 +03:00
Kurdistan Tech Ministry 5f6b6471f9 fix: proper Nova + Pezkuwi merge architecture
Architecture:
- pezkuwi-overlay/xcm/ : Standalone Pezkuwi XCM config (3 chains)
- nova-base/ : Git submodule with Nova's Polkadot ecosystem
- sync_from_nova.py : Merges both ecosystems, nothing gets deleted

Merge rules:
- Chains: Pezkuwi first, then Nova
- XCM: Pezkuwi assetsLocation + chains merged with Nova (Pezkuwi priority)
- Icons: Pezkuwi overrides Nova

This fixes the broken XCM sync that was overwriting Pezkuwi configs.
2026-02-09 05:44:35 +03:00
Kurdistan Tech Ministry 8cb532113f feat: add terms and privacy policy pages 2026-02-09 05:18:27 +03:00
Kurdistan Tech Ministry c0f3152035 fix: improve branch sync workflow with force push and better error handling 2026-02-09 05:07:56 +03:00
Kurdistan Tech Ministry 173f08a70b fix: correct Pezkuwi chain IDs and priceIds from app config 2026-02-09 05:03:41 +03:00
Kurdistan Tech Ministry e8045a4b75 fix: bidirectional sync between main and master branches 2026-02-09 04:50:08 +03:00
Kurdistan Tech Ministry 71d14b884a feat: add Nova-base sync mechanism
- Add sync_from_nova.py script to merge Nova chains with Pezkuwi overlay
- Add GitHub Action for daily auto-sync
- Sync all chains from nova-base (includes Polkadot Coretime and other missing chains)
- Pezkuwi chains appear first and take priority

This fixes DOT swap crash caused by missing Polkadot Coretime chain.
2026-02-09 04:39:23 +03:00
Kurdistan Tech Ministry aa5a457ae2 feat: add Pezkuwi token and chain icons
- HEZ token icon (512px)
- PEZ token icon (512px)
- wUSDT token icon
- Updated chain icons for Relay, Asset Hub, People
2026-02-08 16:46:35 +03:00
Kurdistan Tech Ministry 09e4fb2c47 Fix Zagros Testnet: update RPC URL and remove fullSyncByDefault
- Changed RPC URL from testnet-rpc.pezkuwichain.io to zagros-rpc.pezkuwichain.io
- Removed fullSyncByDefault option to prevent auto-connection on app startup
2026-02-08 14:27:29 +03:00
Kurdistan Tech Ministry 73a503d845 fix: add disabledCheckMetadataHash for Pezkuwi chains 2026-02-06 08:39:45 +03:00
Kurdistan Tech Ministry 249a060e8e feat: implement Nova Base + Pezkuwi Overlay architecture
- Add Nova utils as git submodule (nova-base/)
- Create pezkuwi-overlay/ for Pezkuwi-specific configs
- Add merge-chains.py script to combine Nova + Pezkuwi
- Add update-all.sh for easy syncing
- Add ARCHITECTURE.md documentation

This architecture allows automatic sync with Nova's Polkadot
ecosystem updates while maintaining Pezkuwi customizations.

Pezkuwi chains: 3 (priority)
Nova chains: 98 (auto-synced)
2026-02-06 07:37:57 +03:00
Kurdistan Tech Ministry 94a94ae09e Add disabledCheckMetadataHash for all Pezkuwi chains 2026-02-05 07:04:59 +03:00
Kurdistan Tech Ministry 869a8913f2 Add Pezkuwi XCM configs to dev files 2026-02-04 19:03:23 +03:00
Kurdistan Tech Ministry f86921f71a Add Pezkuwi XCM transfer configurations
- Add HEZ teleport support between Pezkuwi Mainnet, Asset Hub, and People Chain
- Configure networkBaseWeight and networkDeliveryFee for all Pezkuwi chains
- Enable cross-chain HEZ transfers via xcmpallet-teleport
2026-02-04 18:55:52 +03:00
Kurdistan Tech Ministry f044826635 Remove types config from Pezkuwi chains to use TypesUsage.NONE 2026-02-04 09:25:36 +03:00
Kurdistan Tech Ministry b550b109b6 Add GitHub Actions workflow to sync master to main 2026-02-04 08:55:22 +03:00
Kurdistan Tech Ministry b6e2d4d753 fix: remove cyclic type aliases causing CyclicAliasingException 2026-02-04 08:41:26 +03:00
Kurdistan Tech Ministry 62fec59cb3 Simplify types to use direct references 2026-02-03 21:56:13 +03:00
Kurdistan Tech Ministry befef36a28 Fix typesAlias to use dots instead of double colons 2026-02-03 21:30:11 +03:00
Kurdistan Tech Ministry 1530584609 Fix types URL to use master branch 2026-02-03 21:07:28 +03:00