Files
pezkuwi-wallet-utils/pezkuwi-overlay/chains/blocked-chains.json
T
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

41 lines
1.4 KiB
JSON

{
"description": "Chains with broken/unreachable RPC endpoints - will be excluded",
"mode": "blacklist",
"reason": "DNS resolution failures or unreachable nodes",
"last_updated": "2026-07-08",
"chains": [
{
"name": "Aleph Zero EVM",
"reason": "rpc.alephzero.raas.gelato.cloud / ws.alephzero.raas.gelato.cloud unreachable"
},
{
"name": "InvArch",
"reason": "invarch.ibp.network, invarch.dotters.network unreachable"
},
{
"name": "Quartz",
"reason": "quartz.unique.network, eu-ws-quartz.unique.network, us-ws-quartz.unique.network unreachable"
},
{
"name": "3DPass",
"reason": "rpc.3dpass.org returns 502, rpc.p3d.top unreachable - confirmed live 2026-07-08"
},
{
"name": "Curio",
"reason": "archive.parachain.curioinvest.com and parachain.curioinvest.com unreachable - confirmed live 2026-07-08"
},
{
"name": "Subsocial",
"reason": "para.subsocial.network SSL handshake failure, para.f3joule.space unreachable - confirmed live 2026-07-08"
}
],
"chain_ids": [
"eip155:41455",
"31a7d8914fb31c249b972f18c115f1e22b4b039abbcb03c73b6774c5642f9efe",
"cd4d732201ebe5d6b014edda071c4203e16867305332301dc8d092044b28e554",
"6c5894837ad89b6d92b114a2fb3eafa8fe3d26a54848e3447015442cd6ef4e66",
"1d73b9f5dc392744e0dee00a6d6254fcfa2305386cceba60315894fa4807053a",
"4a12be580bb959937a1c7a61d5cf24428ed67fa571974b4007645d1886e7c89f"
]
}