Commit Graph

31 Commits

Author SHA1 Message Date
pezkuwichain 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
pezkuwichain 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
pezkuwichain d8ba574e7a fix: point new Tron icon URLs at master (main sync currently gated on approval) 2026-07-07 11:40:39 -07:00
pezkuwichain 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
pezkuwichain 0b5a963d09 Remove relay staking/staking-rewards externalApi (pallet removed in spec 1_020_006) 2026-02-21 01:55:56 +03:00
pezkuwichain 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
pezkuwichain 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
pezkuwichain 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
pezkuwichain 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
pezkuwichain 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
pezkuwichain dd4f115380 fix: update token icons to use circular SVGs 2026-02-12 04:40:59 +03:00
pezkuwichain 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
pezkuwichain 6eec6fa062 fix: remove staking from Pezkuwi Asset Hub HEZ (no API endpoint) 2026-02-11 10:28:53 +03:00
pezkuwichain 444c23f440 fix: remove Zagros Testnet (421MB runtime causes OOM) 2026-02-11 09:13:23 +03:00
pezkuwichain bdda67a02c fix: add more broken chains to blacklist (Crab, DeepBrain, Exosama) 2026-02-11 08:49:45 +03:00
pezkuwichain 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
pezkuwichain 645a93918a revert: restore relay chain HEZ to original config (staking null, name HEZkurd) 2026-02-10 23:45:21 +03:00
pezkuwichain ecac3644ce test: rename relay chain HEZ to Dicle Chain to verify staking dashboard 2026-02-10 23:41:26 +03:00
pezkuwichain c0591f9c28 fix: enable relaychain staking for Pezkuwi mainnet HEZ asset 2026-02-10 23:18:24 +03:00
pezkuwichain 0ab4554d47 Fix HEZ staking: single button on Asset Hub, rename to HEZkurd 2026-02-10 02:11:13 +03:00
pezkuwichain 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
pezkuwichain 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
pezkuwichain 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
pezkuwichain 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
pezkuwichain 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
pezkuwichain ec03500557 fix: add relaychainAsNative to Asset Hub for swap pool discovery 2026-02-09 07:30:51 +03:00
pezkuwichain 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
pezkuwichain 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
pezkuwichain 173f08a70b fix: correct Pezkuwi chain IDs and priceIds from app config 2026-02-09 05:03:41 +03:00
pezkuwichain 73a503d845 fix: add disabledCheckMetadataHash for Pezkuwi chains 2026-02-06 08:39:45 +03:00
pezkuwichain 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