mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-utils.git
synced 2026-07-09 05:57:30 +00:00
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.
This commit is contained in:
@@ -1996,58 +1996,6 @@
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/white/Calamari.svg",
|
||||
"addressPrefix": 78
|
||||
},
|
||||
{
|
||||
"chainId": "cd4d732201ebe5d6b014edda071c4203e16867305332301dc8d092044b28e554",
|
||||
"parentId": "b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",
|
||||
"name": "QUARTZ",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "QTZ",
|
||||
"priceId": "quartz",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://quartz.unique.network",
|
||||
"name": "Unique node"
|
||||
},
|
||||
{
|
||||
"url": "wss://eu-ws-quartz.unique.network",
|
||||
"name": "Unique Europe node"
|
||||
},
|
||||
{
|
||||
"url": "wss://us-ws-quartz.unique.network",
|
||||
"name": "Unique US node"
|
||||
}
|
||||
],
|
||||
"types": {
|
||||
"url": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/chains/v2/types/quartz.json",
|
||||
"overridesCommon": true
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Subscan",
|
||||
"extrinsic": "https://quartz.subscan.io/extrinsic/{hash}",
|
||||
"account": "https://quartz.subscan.io/account/{address}",
|
||||
"event": null
|
||||
},
|
||||
{
|
||||
"name": "Sub.ID",
|
||||
"account": "https://sub.id/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": {
|
||||
"type": "subquery",
|
||||
"url": "https://api.subquery.network/sq/nova-wallet/nova-wallet-quartz__bm92Y"
|
||||
}
|
||||
},
|
||||
"color": "linear-gradient(315deg, #CB2E41 0%, #ED5B6D 100%)",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/white/Quartz.svg",
|
||||
"addressPrefix": 255
|
||||
},
|
||||
{
|
||||
"chainId": "f22b7850cdd5a7657bbfd90ac86441275bbc57ace3d2698a740c7b0ec4de5ec3",
|
||||
"parentId": "b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",
|
||||
@@ -2746,44 +2694,6 @@
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/white/Crab.svg",
|
||||
"addressPrefix": 42
|
||||
},
|
||||
{
|
||||
"chainId": "4a12be580bb959937a1c7a61d5cf24428ed67fa571974b4007645d1886e7c89f",
|
||||
"parentId": "b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",
|
||||
"name": "Subsocial Parachain",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "SUB",
|
||||
"precision": 11,
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/white/Subsocial.svg"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://para.subsocial.network",
|
||||
"name": "Dappforce node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Sub.ID",
|
||||
"account": "https://sub.id/{address}"
|
||||
}
|
||||
],
|
||||
"types": {
|
||||
"url": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/chains/v2/types/subsocial.json",
|
||||
"overridesCommon": true
|
||||
},
|
||||
"externalApi": {
|
||||
"history": {
|
||||
"type": "subquery",
|
||||
"url": "https://api.subquery.network/sq/nova-wallet/nova-wallet-subsocial__bm92Y"
|
||||
}
|
||||
},
|
||||
"color": "linear-gradient(315deg, #0C0011 0%, #681391 75%, #3F3F3F 75.01%)",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/white/Subsocial.svg",
|
||||
"addressPrefix": 28
|
||||
},
|
||||
{
|
||||
"chainId": "d4c0c08ca49dc7c680c3dac71a7c0703e5b222f4b6c03fe4c5219bb8f22c18dc",
|
||||
"parentId": "b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",
|
||||
|
||||
Reference in New Issue
Block a user